-
Changelog: Giving Way
Two hundred and twenty-six releases across twenty-five apps since the last changelog, and most of them are about macOS 27. Several of my cleverest tricks stopped working on the day it shipped, and the fix, more often than not, was to stop being clever and let macOS do the job itself. Plus a newspaper that no longer needs a browser to show you an article, three screensavers that were arguing with themselves, and one thing you may need to do by hand.
-
Announcing Kairos: launchd Without the XML
macOS already ships an excellent scheduler. It survives reboots, handles missed runs, and needs no third-party daemon squatting in your menu bar — and the price of admission is hand-authored XML and a manual page that thinks Sunday is both 0 and 7. Kairos is the front end launchd never got.
-
The Shortcut I Never Meant to Press
There is a key combination on every Mac that toggles display mirroring, it sits one slip away from shortcuts you use all day, and I kept hitting it by accident at exactly the wrong moment. So I built a tiny app to swallow it. The build had a twist: the key I was trying to block turned out not to be the key I thought it was.
-
The OS Upgrade Tax
Two apps, three Tahoe regressions, one afternoon — the price of shipping a macOS suite through an OS upgrade.
-
Rainy Day Isn't a Screensaver
Rainy Day shipped this past weekend. The product page calls it a screensaver. The bundle on disk is a regular .app — no .saver in sight. This is the story of why. A run-down of the macOS frictions that ended my attempt to build it the orthodox way: WebContent suspended within seconds of activation, an Apple SPI that no longer works in macOS 26, a CARenderer that returns blank frames, ScreenCaptureKit edge cases when the saver occludes the screen it's trying to read, multi-instance lifecycle thrash from System Settings previews, and the way ad-hoc signing burns TCC grants on every rebuild. And then the architecture I ended up with — LSUIElement app, SMAppService login item, idle-driven fullscreen NSWindow at screenSaver level — which side-stepped every one of those frictions in an afternoon.
-
The Icons Behind The Notch
MenuTidy was the app I'd quietly filed away as 'done' — collapses your menu bar, cleans up clutter, ships. Today I added a feature I'd been trying to ignore for months: a way to actually click the status icons that the notch on MacBook Pros has politely hidden behind itself. I also fixed a position-memory bug that had been quietly lying to users for months.
-
When the Stars Align (Final Cut)(Maybe)
The latest version of ActiveSpace is shipped. Third and final post in the stars-align saga: the 640×480 virtual display from the Redux turned out to be a perfectly valid second monitor as far as macOS was concerned, with the Dock and cursor both happily wandering onto it. A drift reposition, a cursor fence, and the satisfying deletion of a self-restart mechanism the data showed wasn't needed.
-
When the Stars Align (Redux)
The instant space switching technique that worked on two monitors and broke on one. The twelve-hour debugging odyssey that followed. And the absurd, brilliant fix that saved it.
-
When the Stars Align
How two open-source projects, a handful of undocumented APIs, and a Thursday morning conspired to make macOS space switching instant.
-
The Accessibility API Is Underrated
Most macOS developers reach for AppleScript, browser extensions, or Electron when they need to interact with other apps. There's a better option sitting right there in ApplicationServices, and almost nobody talks about it.
-
Browser Commander: Because Backspace Should Go Back
A macOS menu bar app that brings keyboard-driven navigation to every browser — back, forward, and a searchable link navigator, all via the Accessibility API.
-
Browser Notes: The App That Nearly Injected JavaScript Into Your Web Pages
How a browser annotation tool went from injecting JavaScript into web pages to reading a single text field via the Accessibility API — and why deleting the clever code was the best decision.
-
Building WindowPin: Picture-in-Picture for Everything
How I built a macOS utility that pins any window as a floating overlay — and the surprisingly deep rabbit hole of window management on macOS.
-
Building ASCII Saver: Lessons from My First macOS Screensaver
What I learned building a two-process screensaver that renders live camera input as ASCII art — shared memory, Darwin notifications, and the legacyScreenSaver sandbox.
macOS internals
How macOS works underneath, and what happens when it changes. 14 notes.