Writing
Notes from what I'm reading, building, and figuring out.
Recent
- Latency Numbers and Throughput Ceilings: The Constants Behind Capacity Estimation Part 2 of the napkin-math series — the latency numbers every programmer should know, from L1 cache to cross-region round trips, plus the per-node throughput ceilings of Postgres, Redis, Kafka, and WebSocket servers, and how to derive ceilings you never memorized.
- The Trouble with new — Factories, Builder, and Singleton The creational patterns are really one question: who is allowed to run new, and how much do they have to know to do it? Factories, Builder, and the honest story of Singleton in the dependency-injection era.
- Everything Looks Like a Wrapper — Decorator, Chain of Responsibility, Adapter, Facade, Proxy Five patterns that are all "an object standing in front of another object" — and the one question that tells them apart: what does the wrapper change?
- Patterns Are Intents, Not Shapes — Strategy, State, Command, Observer, Visitor The behavioral design patterns industry actually runs on — starting with why nearly every GoF pattern is mechanically the same thing, and what actually distinguishes them.
- Anatomy of a Real-Time Ad Bidder: What Happens in the 50 Milliseconds After You Open a Webpage The ecosystem, the auction, and the architecture of a real-time ad bidder built in Rust for 100K campaigns, 100M users, and a 50 ms p99.
From the archive