Blog (page 8)

Relative Date Formatting in JavaScript

Did you know those behemothic JavaScript date libraries are basically obsolete? A few weeks ago I learnt how to use the Internationalization API for natural alphanumeric sorting. This week I’ve been using the DateTimeFormat and RelativeTimeFormat APIs. Like all native APIs they’re a little verbose and unintuitive, but also extremely powerful. Browser support has caught up […]

Natural Alphanumeric Sorting in JavaScript

I’m building a progressive web app (PWA, aka website) to play audiobooks. It’s a side project that is teaching me a lot. The seemingly simple features are some of the hardest to implement. Natural alphanumeric sorting is one problem that took me half a day to solve. It’s reminiscent of an issue I debugged in […]

Cloudflare Pages and Workers

I use both GitHub Pages and Netlify for static web hosting. GitHub Pages are great for project documentation. Netlify allows more control. Cloudflare Pages is a new contender to the game offering a similar build and deploy process. I have a new side project in the works. A good opportunity to try out Cloudflare Pages. The […]

CSS Focus State

One big and easy win for website accessibility is focus state. Unfortunately this is too often ignored, and worse, actively regressed. Early in my career I was guilty of: This removes the default browser style and makes keyboard navigation practically impossible. Later I would learn the error of my ways and allow the browser to do […]

Built with Deno

Things are moving fast over in Denoland. When I last checked in Deno was decidedly beta. Revisiting this month I see words like “stabilization” in the release notes. If there’s one thing a JavaScript fiend like myself revels in it’s dropping reliable and proven code for a shiny new replacement. Deno is just that; a […]

Web Browsers in Docker

Last week I wrote about my new Docker strategy for build tools. Following that I wondered if I could containerise browser testing too. Not just headless automation, but real click around, inspector tools usage. Admittedly I thought this was a silly idea from the get-go. The results, however, have surprised me. The Setup Docker containers are usually […]

macOS Big Reinstall

Sometimes you have to take the nuclear option. After two years of coding on my Mac Mini I had littered the thing with so much developer cruft that getting work done had become a real struggle. Build tools were fighting for dominance in my $PATH. My day job is all Node.js but sometime I get bored. […]

Buy me a coffee! Support me on Ko-fi