Pin-based commenting has been the default for collaborative review for over a decade. It has a structural problem: pins anchor to coordinates, not to the things people actually care about. Here's what a better model could look like.
Read →
Software Developer at Adobe building Photoshop. Writing about macOS tools, systems programming, and creative software.
Pin-based commenting has been the default for collaborative review for over a decade. It has a structural problem: pins anchor to coordinates, not to the things people actually care about. Here's what a better model could look like.
Read →A 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 →The 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 →It 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 →A 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 →A 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 →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 →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 →The more powerful our tools become, the more they cost us in something we don't measure: the slow, frustrating, essential work of learning.
Read →I'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 →