Latest writing

On writing code that lasts

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.

Read more →

Design debt we never talk about

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.

Read more →

From the archive

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.

About this site

I write about software architecture, distributed systems, and the craft of programming. Posts are infrequent but hopefully worth the wait.

Thoughts on craft. Updated monthly.

Elsewhere

Occasional notes on design topics. Archives here.