Reading notes on consensus, fault tolerance, and the everyday weirdness of distributed systems. Mostly for personal reference — published in case any of it is useful to you.
Building intuition for gossip protocols
How an algorithm that looks like rumor-spreading ends up being the most boring, most reliable membership layer you can ship.
CRDTs are easier than they sound
The hard part of CRDTs is not the math. It is convincing yourself the math is doing what you want.
Why I keep coming back to vector clocks
Vector clocks are not a data structure. They are a way of asking the right question about events in a distributed system.
Re-reading the Raft paper
Things I noticed on the third pass through Ongaro & Ousterhout that I missed the first two times.