The case against premature abstraction
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.
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.
Occasional thoughts on engineering practices, tooling, and how we think about code. No sponsors, no tracking, no ads.
Thoughts on systems. Updated monthly.
Occasional thoughts on systems topics. Past essays here.