Lessons from legacy codebases
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.
Naming is one of the hardest problems in software, yet we spend less time on it than we should. Let's talk about why it matters and how to get better at it.
Performance optimization is a tempting distraction. Every line of code that exists to optimize one specific case is a line that must be maintained and understood forever.
A technical writer exploring systems thinking, code design, and the intersection of tools and thought.
Thoughts on systems. Updated weekly.
Occasional notes on systems topics. Past essays here.