Incremental adoption of types
The tools we reach for shape our thinking. I've spent the last decade in terminals and shells, and it's changed how I approach problem-solving in subtle ways.
The tools we reach for shape our thinking. I've spent the last decade in terminals and shells, and it's changed how I approach problem-solving in subtle ways.
Distributed systems fail in ways that are hard to predict. After years of debugging production incidents, certain patterns keep recurring. This post explores a few.
Most codebases grow in directions their authors never anticipated. The pressure to optimize early is real, but constraints often produce more elegant solutions than freedom ever could.
I write about software architecture, distributed systems, and the craft of programming. Posts are infrequent but hopefully worth the wait.
Thoughts on systems. Updated sporadically.
Occasional notes on design topics. Archives here.