ffmpeg can produce pseudo-corrupt audio when ‘copy’ing to an MP4 container

I’ve been using ffmpeg to trim clips from a trail camera, as most of the time there’s only a few seconds of anything interesting in frame out of the 30+ seconds of video it records each time, but I don’t want to re-encode them and lose video quality as a result (or balloon file sizes… Read more

Creating a Fusion Drive from an existing disk, without erasing it

Photo of Phil Schiller on stage presenting Apple's Fusion Drive technology, at Apple's iPad Mini event on October 23rd, 2012.

Note: this guide was written circa macOS 10.13 High Sierra, in 2018. Its accuracy has not been verified for newer macOS releases. Curiously there’s very little information out on the web (at time of writing) on how to create (or expand) a Fusion Drive without erasing its contents first.  It’s entirely possible to do so… Read more

Better is the enemy of best

A vintage Mechanical Horse Patent Drawing From 1893 on Dark grunge background.

You might have heard the aphorism “Perfect is the enemy of good“.  If you’re in a technical field, you’ve probably used it, or had it used against you, to shut down a conversation.  It’s an effective way to do so because it insinuates that the target is thinking impractically, not focused on the problem at… Read more

Apple Mail crashes on launch if connection logging is enabled

This was a fun one.  Mail started crashing on launch for absolutely no apparent reason – nothing had changed to its config or similar in a long time.  The crash logs were all fingering an identical culprit – -[IMAPTaskManager secondaryIdleMailboxName] called on the wrong GCD queue: Process: Mail [19884] Path: /Applications/Mail.app/Contents/MacOS/Mail Identifier: com.apple.mail Version: 11.3… Read more

‘Fake error’ about immutable values when using popFirst() on Array

It’s been a while since I wrote any meaningful Swift.  How I didn’t miss the Swift compiler’s bullshit error messages. That yields, on the popFirst() method: Cannot use mutating member on immutable value: ‘someArray’ is immutable. No it’s not.  It’s simply not. For whatever reason, if you instead call popFirst() on ArraySlice – ostensibly indistinguishable from… Read more