Writing.
Short-form insights that grow into essays. Notes on algorithms, distributed systems, and the patterns I keep noticing between technical work and everything else.
- 2026-07Systems21 min
I wanted to cache a query. Every answer created a new question
One question leads to another. One optimization exposes a new limitation. Along the way: caching, TTLs, stampedes, coalescing, Redis, and shared failure—not as a tech checklist, but as the natural consequence of the same constraints.
- 2024-03Algorithms2 min
Why Greedy Algorithms Feel Like Common Sense
Greedy algorithms make locally optimal choices at each step. They work when the problem has optimal substructure and the greedy choice property—when choosing the best option now doesn't prevent you from finding the global optimum. Most of life doesn't work this way, which is why intuition fails us in complex systems.
- 2024-02Systems1 min
The CAP Theorem as a Life Metaphor
You can't have Consistency, Availability, and Partition Tolerance all at once. Pick two. In distributed systems, as in relationships, you're always trading off between staying in sync, being present, and handling disconnection gracefully.
- 2024-01Language1 min
Does the Language You Code In Shape Your Thinking?
Sapir-Whorf for programmers: writing Haskell makes you think in types and transformations. Writing Python makes you reach for pragmatic solutions. The patterns you internalize become the lens through which you see problems.