What Sourdough Taught Me About Race Conditions
·Alex Rivera
BakingDistributed Systems
A starter doesn't care what time your clock says it is — it cares about temperature, hydration, and how much time has actually passed. Distributed systems have the same problem: two nodes can disagree about "now," and if your logic assumes a shared clock, you get bugs that only show up under load, just like a loaf that only collapses on the one day your kitchen is warmer than usual.
The fix in both cases is the same shape: stop trusting wall-clock time as your source of truth, and build in your own signal for "has this actually happened yet" — a vector clock for one, a poke test for the other.