There's a certain kind of conference talk that goes: we had a monolith, we broke it into microservices,
2 min read
16
Jul
Memory models and why they matter for concurrent code
Concurrent code fails in ways that are hard to reproduce and hard to reason about. A lot of those failures
3 min read
08
May
When to build vs buy: a framework I actually use
Engineering teams relitigate this question constantly: should we build it ourselves or use an existing solution? The debate usually goes
2 min read
10
Mar
Distributed consensus without the PhD
Distributed consensus gets treated like graduate-level material. The Paxos paper is famously hard to read. Raft was explicitly designed to
3 min read
22
Jan
Self-hosting everything: what I learned running my own stack
About a year ago I stopped paying for most of the SaaS tools I'd accumulated and started running
2 min read
14
Nov
Write-ahead logs: the idea behind most durable systems
If you've worked with Postgres, SQLite, or pretty much any serious storage system, you've encountered the
2 min read
06
Sep
Latency vs throughput: they're not the same thing
These two get conflated constantly, including by people who should know better. They're related but they measure fundamentally
2 min read
18
Jul
Using Aeron Cluster as a source of truth
Most teams reaching for a consensus system are looking for coordination, leader election, distributed locks, configuration management. Aeron Cluster handles
3 min read
12
May
Consistent hashing: how distributed systems route without a coordinator
When you need to distribute data across multiple nodes, the first instinct is to use a hash function: take a
2 min read
08
Mar
Why performance isn't always the north star
I spend a lot of time thinking about performance. I use Cap'n Proto over Protobuf because parsing overhead