$ cat ~/blog/*

Notes from the workshop.

Paper notes, technical investigations, and lessons from building systems by hand.

Systems Jul 11, 2026 · 11 min read

Building a container runtime from raw syscalls in Go

There is no such thing as a container in the Linux kernel — only namespaces, cgroups, and a swapped-out root filesystem. Notes from building one by hand in Go, with zero dependencies.

go linux containers
Systems Jul 11, 2026 · 10 min read

Building an LSM-tree storage engine in Rust

Every database eventually faces the same fight: random writes are slow. Notes from rebuilding the LSM-tree — memtables, WAL, SSTables, bloom filters, and compaction — from first principles.

rust storage databases
Systems Jul 10, 2026 · 9 min read

Building an API gateway from scratch in Go

A reverse proxy is the easy part. The real work starts when traffic needs to be shared fairly, failures contained, and every request made explainable.

go networking reliability
Paper Notes Jun 14, 2026 · 12 min read

Raft, explained by building it

Reading the Raft paper is one thing. Watching your own leader election flap because of a heartbeat bug is another. Notes from implementing consensus in Go, section by section.

raft distributed-systems go
Systems May 2, 2026 · 8 min read

What a binary wire protocol taught me about API design

When every byte is yours to define, you start seeing REST APIs differently. Framing, versioning, and backwards compatibility — lessons from building Flume's protocol.

networking tcp protocols
Learning Notes Apr 11, 2026 · 6 min read

Learning notes: the log at the heart of every system

Kafka, Raft, write-ahead logs, event sourcing — the same data structure keeps showing up. Notes on Jay Kreps' essay and why the humble append-only log runs the world.

kafka storage papers