Reading
Notes on things I've read and learned from. This is a selective
list — each entry is something that changed how I think about a
topic, not just something I skimmed. For the full archive of what
I've studied, see the blog, where each post
documents a specific thing I worked through.
— systems and operating systems —
- What the double-fork is for — why daemons fork twice in POSIX: process groups, sessions, controlling terminals. (wrote it up: the double-fork)
- Plan 9 from Bell Labs — "everything is a file" taken seriously: namespaces, per-process views of the filesystem, the 9P protocol.
- A 1000-line operating system — a minimal OS that boots and runs, as a way to understand what an OS actually does. (wrote it up: reading a 1000-line OS)
- Git's database internals — packfiles, delta compression, why git stores snapshots at the object level and diffs at the packfile level. (wrote it up: what's inside a git bundle)
— databases —
- Hosting SQLite on GitHub Pages — sql.js + HTTP range requests to query a read-only database on a static host, downloading only the chunks a query needs.
- SQLite Wasm with OPFS — the browser's local file system as a persistence backend for SQLite; the official Web SQL replacement.
- Modern garbage collection — how today's collectors handle allocation, mutation, and pause times.
— software engineering —
- Compiler correctness methodology — how compiler writers test compilers (differential testing, fuzzing, formal methods). (wrote it up: compiler correctness methodology)
- The data-oriented design of Krabby — a Pokémon engine restructured for cache locality; storing data the way the CPU wants it.
- The economics of static hosting — what happens when a free static host bills you $104k for a DDoS'd site. (wrote it up: the economics of a free static site)
— the indie web —
- Hardcore IndieWeb — own your content, on your own domain, in your own format.
- Microformats — h-card, h-entry, and why machine-readable HTML matters. (wrote it up: adding IndieWeb microformats)
- Webrings — the 90s discovery mechanism revived for independent sites. (wrote it up: joining a webring in 2026)
— protocols —
- JMAP — the JSON-over-HTTP email protocol: single endpoint, batch calls, instant push.
- Lore — Epic's centralized version control for game-sized binary assets, and what it says about git's limits.
I don't read to accumulate — I read to understand, and then to
write down what I understood in my own words. That's why the blog
posts above exist: they're the evidence that the reading happened.