Latest

One small part per post: a probe, a daily job, a trick, a trap that cost an afternoon.

All posts

launchd, not cron, on a Mac

Scheduled jobs on a Mac belong in a launchd plist: they survive reboots, run as your user, and log where you can find them. One minimal plist, the commands to load it, and the privacy gotcha that makes a job under Documents fail with Operation not permitted.

Christian Drexler

kickstart does not reload your plist

launchctl kickstart -k restarts a launchd job with the configuration it already has in memory. Edit the plist, kickstart, and the service comes back running the old settings while looking freshly restarted. How it bites and the two lines that fix it.

Christian Drexler

SES sandbox: the gotcha nobody reads

A fresh AWS account can send mail through SES only to addresses you have verified yourself. Your test to your own inbox works, the first real recipient fails, and the error is easy to miss. How to spot it and how to get out.

Christian Drexler