In Apple’s TN2206, “macOS Code Signing in Depth”, there’s a section about “Checking Gatekeeper Compliance”.

  • Package your program the way you ship it, such as in a disk image.

  • Download it from its website, or mail it to yourself, or send it to yourself using AirDrop or Message. This will quarantine the downloaded copy. This is necessary to trigger the Gatekeeper check as Gatekeeper only checks quarantined files the first time they’re opened.

  • Drag-install your app and launch it.

I figured jumping through a “download” or “send” step was overkill. Surely there’s a way to get the same effect programmatically, right?

Keyboard Adventures

The best utility for making custom keyboard layouts on Mac OS X has long been Ukelele (sic). Sure, Apple came up with an XML format for keyboard layouts, but when you want a variant of an existing keyboard, it’s a lot easier to just copy the existing keyboard in Ukelele and modify the keys you want to change.

A few years ago I took a class on Phonetics and Phonology, and found myself needing to type in IPA quite often. So I fired up Ukelele and made a copy of the standard Dvorak keyboard and got to work. I didn’t…

rm vs. Time Machine

Public Service Announcement: if a Time Machine backup fails, it will leave behind a file with an extension of inprogress. (It’s actually a folder.) If you have a hard time deleting it, do not use rm! It will erase files from all backups, instead of just the one in progress. Instead, trash the inprogress file from the Finder and Empty Trash as usual. It might take a while, but it will Do The Right Thing.

You could also leave the file alone and just try to backup again; Time Machine will clear out the failed inprogress file when the next backup succeeds.