Blog (page 6)

Goodbye GPG, Hello SSH Key Signing

I was using a GPG key to sign Git commits but I’ve now swiched to an SSH key. GPG keys are a pain to manage on macOS. Going full SSH is one less concern to remember. GitHub added support for SSH signing back in August last year. My process was to generate a new key called […]

iOS Web Apps and Media Session API

I’ve been rewriting my podcast/audiobook PWA (progressive web app). More about that soon. For now I’m excited about one feature. PWA support on iOS has been lacklustre compared to Android. At least that was true when I switched back to iOS a couple of years ago. At times critical features like background audio playback and IndexedDB […]

Tail Lines in Deno

Reading lines from a text file is easy with Deno: At least, if you’re reading from the first line to the last. To implement this you basically have to read one byte at a time until you find a newline character. That is 0x0A in hexadecimal and \n escaped in a string. Windows uses the \r\n sequence […]

Promise Error Handling in JavaScript

I’ve been neck deep in asynchronous JavaScript. Here is a quick test (for my future self). Consider the following code. The URL is purposefully invalid to throw a fetch error. What do you think the output will be? Note: all examples are using the Deno runtime. Other JavaScript environments may not support top-level await. The general principles […]

Scripting Apple Music

Hey. I’ve been busy! Last year I started coding my own Stream Deck software to support plugins via WebSocket. I’ve also been giving Apple Music a listen (over Spotify). The Music apps on macOS and iOS are rubbish. The macOS app is woefully slow. So the less time spent using it the better. I’ve also found the […]

Deno Stream Deck

The Stream Deck is a rather pricey keyboard. Each key is a programmable LCD at ~72×72 pixels depending on device. Like all Elgato products, the Stream Deck is designed for broadcasting but can be repurposed for general use. The official Stream Deck software is a drag & drop UI with extensions. For non-techy users it’s well […]

Let me type my ******* password!

Did I miss the “user experience” memo about passwords? I’ve noticed a growing trend in website design that is driving me crazy. It’s actually far from a new trend. It has insideously crept across the web for years and has basically ruined everything. Call me melodramatic but I’m writing this on a Monday and I hate […]

Buy me a coffee! Support me on Ko-fi