Happy birthday to me ♬, sings this blog. 11 years!

Updated my Mac Setup page to reflect how my usage of tools has changed. I’ve since replaced Alfred with Raycast, and Backblaze with Arq. And I’ve stopped using Dropbox, mosh, and, you-were-great-at-the-time-but-I-really-do-not-miss-you, Carthage.

Second public beta for the upcoming Mac version of Longplay is ready.

  • 🆕 Track list in the Mini Player
  • 🆕 Control AirPlay from the Mini Player
  • 🐛 Better handling of albums where some tracks are playable and others are DRM-protected

Any feedback is highlight appreciated.

One of my favourite uses of Maparoni is visualising live data and analysing it with the various formulas. Over on the Maparoni blog, I’ve written up a post about improvements that the latest beta brings to that. Turns out, writing formula autocompletion that feels right, is tricky!

Submitted the iOS 15 update for Longplay. I really like how the dynamic sizing of albums by different metrics turned out. See what else is new in 1.2 in the changelog.

Always concerning when you google a crash and get zero results. Let’s make this a 1: If you hit an exception in [NSURL URLByAppendingPathExtension:] coming from [UIDocument saveToURL:forSaveOperation:completionHandler:], double check that you’re exporting or importing the UTI of the file you’re saving.

Updated my “Carthage and Catalyst” post from last year with further instructions to get it working on Xcode 12. Shame that this is still such a pain with Carthage. (Works so well with SPM.)

Black Friday/Cyber Monday sale of Longplay – it’s $1.99 until the end of November.

I updated the Longplay page to reflect the latest updates, including Home Screen widgets for iOS 14, and added a couple testimonials1. Really appreciate all the kind words and it’s great to hear from the people who love the app.

  1. That took longer than I thought as I’m rather rusty on my CSS, but these tutorials helped. Flexslider is nice. 

It’s launch day, and I’m both super-thrilled and humbled by the congratulations, thanks, feedback and screenshots that I have received so far. Couldn’t be happier. I especially love seeing screenshots from everyone’s music collection!

Very impressed with Apple’s free and online-only WWDC this year. The 1-on-1 labs are fantastic! The session videos are to the point and with direct access to the code samples. Hope WWDC will remain online-first from now on.

Excited to see that Swift 5.3 will bring support for resources to Swift Package Manager!

I’ve turned a note on how I’m setting up my Mac(s) with my essential apps and command line tools into a page. It’s come in very handy to myself in the past and maybe there’s something in it for you, too.

I wrote up a few things that I learned while setting up a simple CI/CD for an API written in Vapor 4 and dealing with data files. Swift-on-the-Server has some rough edges, but I find it utterly enjoyable.

Do you use Apple Music or iTunes, enjoy listening to entire albums but struggle to find them in your library? Then join the beta of my upcoming app, Longplay. It’s quite pretty, too!

2019: ‘The Shining’ starring Jim Carrey

2025: Facebook lets you watch your favourite movie with a cast of your friends.

With the upcoming custom inputs and outputs in Shortcuts on iOS, I hope that someone will make HTTPie and jq for iOS. That would make working with APIs in Shortcuts a lot easier.

Kudos to Becky Hansmeyer for the timely reminder that this year will likely be the first year for many iOS developers that they will want to run macOS betas. Be prepared, backup and keep a stable install handy.

Micromobility or: Maybe the solution to all those people driving (or being driven) around by themselves is not to put someone else in the car with them, but to put them on small vehicles.

Swift’s tooling for non-app work still has some way to go. I attempted to write a script for analysing API data, but ended up fighting swift-sh, Marathon, Xcode’s integration of those, and cryptic compiler errors. Switched to Jupyter and it was fine. Might try again in 2020.

🎉 Just published my first Ruby gem: A simple agent for Huginn to filter events based on time. I’m using it to filter ISS flyover alerts to times I’m awake and it’s dark.

Bad Apple Support: Called them as my iPad stopped uploading changes to iCloud Drive1. Support told me to do an iCloud Backup and restore the iPad, saying everything will be backed up. Guess what, it didn’t. Good thing I expected that and copied the files to Dropbox first.

  1. Just kept saying “Waiting to upload”. Restart didn’t help. It still received changes from other devices, and new (empty) folders did get uploaded, too. 

After a while corespeechd is constantly using 100% of one CPU core on my new Mac Mini. Annoying. Haven’t found another way than to kill it on a schedule.

Just came across Mirrorshades which is as minimalist as web analytics can get. Adorable simplicity!

I very much enjoyed this mathematical and easy to follow explanation of the benefits of vaccinations to the community – including those who don’t or can’t get vaccinated themselves: “How Math (and Vaccines) Keep You Safe From the Flu” by Patrick Honner

Nick Bilton on Vanity Fair:

As a society, we feel like we’re at war with a computer algorithm, and the only winning move is not to play.

This is in a nutshell why privacy matters, even if you don’t have anything to hide.

iOS 11 tip: Enjoy a web focussed on content by making reader mode in Safari opt-out rather than opt-in. Long press the reader icon & select “use on all sites”.

Enjoying the challenge to easily post from my iPad to my microblog that’s backed by Jekyll.

@manton, the “New…” menu on micro.blog says the cross-posting bot works with any RSS feed. Does it also work with JSON feed?

A self-hosted microblog. Hooray.

subscribe via JSON