Latest Writing
Essay·May 20, 2026·~10 min read
The Engineer's Marathon: How to Stay Sharp When the Job Wants You to Sprint ForeverA career in software is long, but every individual quarter wants to feel like a startup. Here's how I think about saying no, splitting time, owning a calendar, and protecting the version of yourself that has to keep doing this for thirty more years.
Read →Notes·May 19, 2026·~9 min read
What's Actually in a C++ Object: vtables, vptrs, and the Cost of InheritanceThe moment you write the word virtual, the compiler quietly adds an invisible pointer to every instance of your class. Here's what it looks like, why it's there, and how the bill grows when inheritance gets complicated.
Read →Notes·May 18, 2026·~7 min read
Why a Gaussian Can't Model Faces, But Can Model DiffusionIt seems like a contradiction. The same distribution that's hopelessly inadequate for generating images is at the heart of the most powerful image generators we have. The resolution is in what we're asking it to do.
Read →Notes·May 17, 2026·~8 min read
Type Erasure in C++: Polymorphism Without the Inheritance TaxA pattern for treating unrelated types as if they shared a common interface, without making them inherit from anything. The same trick behind std::function, std::any, and a lot of modern C++ APIs.
Read →Notes·May 16, 2026·~6 min read
Copy-on-Write: How One Pattern Quietly Saves Your Undo StackA short look at why naive history implementations corrupt their own past, and how a 50-year-old trick fixes it without paying the cost of copying everything.
Read →Essay·May 16, 2026·~10 min read
The Real Problem for Creative Software Isn't AI. It's Distribution.Building software has become trivial. The moat has moved. Creative software companies that don't figure out where it went are going to find themselves outflanked by every enterprise that decides to just build their own.
Read →Essay·May 15, 2026·~9 min read
The Quiet Coder is Disappearing. And I'm One of Them.For decades, software was a refuge for people who'd rather talk to a computer than a person. AI just took that conversation away, asking us to find our voices in a room full of humans instead.
Read →Essay·May 14, 2026·~10 min read
The Tool Tax: How Complex Software Quietly Kills CreativityThe more powerful our tools become, the more they cost us in something we don't measure: the slow, frustrating, essential work of learning.
Read →macOS Tools·May 11, 2026·~9 min read
BetterTouchTool Just Got a Launcher — And It's Giving Raycast a Run for Its MoneyI've been a Raycast loyalist for years. Then BetterTouchTool 6.493 shipped a full SwiftUI launcher, and in one weekend I rebuilt three plugins that outperformed what I had in Raycast.
Read →