Exercises
# curated build projects that drill the system-administration concepts hands-on.
❯ cat documents/
-
Build a DNS resolver — subject
Subject
2026-08-09
The work statement for a from-scratch DNS resolver — header and QNAME wire layout, the name-compression pointer rules, the root-to-authoritative delegation walk, cache semantics, and the annotated-capture proof.
-
Build a DNS resolver
Exercise
2026-08-09
Build a recursive DNS resolver from raw UDP datagrams — hand-packed packets, name compression, a walk from the root servers to an authoritative answer — then prove it on the wire with annotated captures.
-
Build your own shell
Exercise
2026-08-08
Implement a Unix shell from fork/exec up — pipes, redirection, job control, and signals — the process model's syscalls learned by wielding them.
-
Build your own shell — subject
Subject
2026-08-08
The feature spec for an interactive Unix shell — REPL, exec with PATH search, builtins, quoting, N-stage pipelines, redirections, background jobs, and signal handling — precise enough to implement and test.
-
Write Yourself a Git
Exercise
2026-08-08
Reimplement Git's core from the object store up — blobs, trees, commits, and refs — until the content-addressed model is muscle memory.
-
Write Yourself a Git — subject
Subject
2026-08-08
The build spec for a Git-compatible tool — the zlib+SHA-1 object store on-disk layout, plumbing and porcelain commands to implement, and the two-way interop requirement with stock git.