Skip to content

Commit 62bf0c6

Browse files
committed
add building a shell post
1 parent 4c4c5d6 commit 62bf0c6

4 files changed

Lines changed: 520 additions & 1 deletion

File tree

data/posts.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export const popularPosts = [
77

88
// Starred posts (not in any specific order)
99
export const postStars = [
10+
"building-a-shell",
1011
"solving-nyt-pips-puzzle",
1112
"compiling-a-forth",
1213
"counting-words-at-simd-speed",

data/projects.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ export default [
3838
desc: "A daily word-sliding puzzle game inspired by Wordle and Scrabble.",
3939
to: "/solving-queuedle",
4040
},
41+
{
42+
name: "andsh",
43+
link: "https://github.com/healeycodes/andsh",
44+
desc: "A tiny shell in C with pipes, cd, env var expansion, history, and tab completion.",
45+
to: "/building-a-shell",
46+
},
4147
{
4248
name: "llmfs",
4349
link: "https://github.com/healeycodes/llmfs",

pages/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export default function Home({ allPostsData, description, words }) {
6666
I wrote <Link href="/maybe-the-fastest-disk-usage-program-on-macos">one of the fastest disk-usage programs on macOS</Link> by
6767
using macOS-specific system calls, and then
6868
made it faster by <Link href="/optimizing-my-disk-usage-program">reducing thread scheduling overhead and lock contention</Link>. I
69-
also showed how to beat the performance of <code>grep</code> by just <Link href="/beating-grep-with-go">using goroutines</Link>. I like learning by building things from scratch; like <Link href="/a-fair-cancelable-semaphore-in-go">a fair, and cancelable semaphore in Go</Link>.
69+
also showed how to beat the performance of <code>grep</code> by just <Link href="/beating-grep-with-go">using goroutines</Link>. I like learning by building things from scratch; like <Link href="/building-a-shell">a tiny shell</Link>, and <Link href="/a-fair-cancelable-semaphore-in-go">a fair, and cancelable semaphore in Go</Link>.
7070
</p>
7171
<p>
7272
My <Link href="/installing-npm-packages-very-quickly">experimental package manager</Link> uses simple concurrency patterns to be faster than every package manager aside from Bun (mine is 11% slower) when cold-installing from a lockfile.

0 commit comments

Comments
 (0)