Every Mac app I make now ships two ways from the same code. There’s a direct build that I sell on the app’s own website, signed with Developer ID, notarized, packed in a DMG and kept up to date with Sparkle. There’s also a Mac App Store build. Read more of Selling A Mac App Directly And On The Mac App Store →
A lot of the people reading this blog now aren’t people. They’re agents: Claude, ChatGPT, Perplexity and friends, fetching a page because somebody asked them a question. This week I spent an evening making Deallocated Objects nice to read for them (and for search engines while I was in there). Read more of Making My Blog Readable By AI Agents →
This blog has been sitting on the same Linode server for a very long time. Deallocated Objects started on WordPress in 2010, moved to a little Rails app I wrote around 2014, and that Rails app has been quietly running ever since on a box I’ve been paying for since 2012. Read more of Moving Out Of Ubuntu 10.04 →
Yesterday (Wednesday, October 21st) was one of the strangest days in security I can remember. By lunchtime TechCrunch was running a story titled “The internet is having a very bad cybersecurity day”. None of these incidents are connected to each other. Read more of Everything That Broke On October 21st →
Every few days the music on my Mac starts crackling. Pops, little dropouts, sometimes a robotic buzz over everything. The fix has always been the same: open Terminal, type sudo killall coreaudiod, type my password, and wait a second for sound to come back. Read more of AudioKick, One Click To Fix Crackling Mac Audio →
A lot of the code running in my apps now was written by an agent. When that code throws in production, the usual path back to a fix goes through me: an alert email, a dashboard, a stack trace I copy into a terminal, and then an explanation of what I think happened. Read more of Runheed, Error Tracking My Agent Can Read →
I type a lot of the same things over and over. My mailing address, a “thanks, got it, I’ll take a look” reply for support email, the git command I can never remember for undoing the last commit, a meeting link, a prompt I like for proofreading. Read more of Refrain, A Snippets App For The Mac →
Most days I have a few coding agents going at once, each in a different repo. For a long time the list of what they should do next lived in my head, in scratch files and in whatever I typed into each terminal. Read more of Taskhold, One Task List For Me And My Agents →
There’s a whole category of errand my agent couldn’t touch: anything that needs a phone call. Getting a brake quote, booking a table at the place that doesn’t do online reservations, sitting on hold with an airline. Read more of CallForMe, Phone Calls For Your Agent →