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 →
Software Developer at Adobe building Photoshop. Writing about macOS tools, systems programming, and creative software.
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 →