Sync new purchases to iPod Classic

I recently refurbished an old iPod Classic, and purchased some albums in the iTunes Store (yes, it still exists!).

Once I found out that most iPod Classics are capable of playing Apple's lossless format, ALAC, I really wanted to sync them over to experience this heretofore unimaginable audio clarity.

However, even though I could download them, the albums refused to show up in the sync list. Switching back to AAC worked fine, but ALAC was not working.

VAT invoice generator

I needed an invoice generator to quickly produce some random test invoices while building Manano, as part of a feature letting tradesmen track receipts by sending photos to our WhatsApp number.

I tried a few invoice generators that showed up in Google results, but all of them were oddly slow, wouldn't remember details without signing up, and sometimes produced odd looking outputs.

Eventually I realized it would probably be straight forward enough to whip one up myself, and so here is my simple invoice generator!

Fixing a problem at 40 that stumped me as a 10 year old

A few months ago my parents gave me a box of my stuff they’ve had variously in attics and storage since I moved out in my early twenties.

One of the things in it was my Sega Mega Drive — boxed, and with games and accessories.

Unfortunately, I didn't have a TV that I could connect it to! The only connector packaged with it was designed to plug into the aerial socket of a CRT television.

In the last week however, I've gotten hold of a CRT television after a bit of digging around.

Traveling to Japan for three months because life's too short

I've been fascinated by Japan since I was a teenager. Thanks to Hayao Miyazaki (among others) the food, landscape, and architecture all exist in some dreamy, liminal space in my mind alongside wood sprites and lost civilizations.

Maybe it sounds daft, but the idea of actually visiting the country always seemed like it would break the spell somehow? Like anywhere, Japan has crime, social problems, bad weather, and if I go, me.

19897102270_7c4938cc49_k.jpg

Hacking together a Job Runner using Supabase Edge Functions

Supabase is a collection of backend services (Postgres, PostgREST auth service, S3 storage, function runtime) that you can develop against locally and then deploy to production.

They don't yet provide a fully integrated background job running system. This post shows a detailed example of how you might keep your stack slim and build a system like this for yourself in Supabase, rather than using a third party!

Ignoring good advice and building my own blog (again)

It's kind of a classic developer mistake to build a blog before they start writing. As Jeff Triplett writes:

"Write and publish before you write your own static site generator or perfect blogging platform. We have lost billions of good writers to this side quest because they spend all their time working on the platform instead of writing."

This is good advice. I am just preternaturally incapable of following it.