Geographical Overlords

This morning I listened to the song Geographical Overlord by MastaMic and Titus Chan. What immediately grabbed my attention was that the song’s lyrics are a series of questions and statements that might be found in a school geography exam about Hong Kong, e.g.,”Is Lion Rock higher than Fei Ngo Shan?Is Tai Mo Shan higher than Phoenix Mountain?…Gascoigne Road to Hung Hom Tunnel is incredibly Maps Mania… more →
Posted in: Interactive Maps

Use AI to not use AI (as much)

This squarely falls into the "everyone probably knows this but it didn’t click with me right away" category so please feel free to laugh at my ignorance, but it’s something I realized over the past few months, and as I just used this technique this morning, I figured I’d share it on the blog. The idea is simple – it’s trivial to ask a Gen AI tool to do something for you – and depending on the ask, may work great. But what I realized a few months back, especially in regards to having AI parse data, is that you can also use the opportunity to generate a tool (like a Python or Node script) so you don’t need to return to the AI tool again. This... more →
Posted in: JavaScript

This is Not Normal

In the UK, the hottest June day on record has been broken three days in a row. And it’s not just the UK experiencing unprecedented levels of heat. France, Switzerland, Spain, Germany, Belgium and the Netherlands have also recorded their highest-ever June temperatures in the past week.You can get a sense of the scale of the heat dome currently sitting over Europe with the European Heat Maps Mania… more →
Posted in: Interactive Maps

Decoding VINs with an API

Today’s post took a bit of a pivot. I decided to work on a demo idea I had created way back in March. As I worked on it, I ran into multiple roadblocks, and while that original idea for a demo may still see the light of the day, I figured I’d at least share something that did work. What’s a VIN? A VIN is a vehicle identification number. It’s a standard that dates back to 1954 and identifies a particular car by manufacturer, make, model, year, and a heck of a lot more. A VIN is 17 characters avoiding the letters O, I, U, and Q to avoid confusion with some numbers. You can break down a VIN into various components if you want – but would still need to know various lookup... more →
Posted in: JavaScript

Parsing Arbitrary Dates in Strings with Chrono and a Web Component

Yesterday I had an idea for a possible experiment using Chrome’s built-in AI support – looking for "date" references in strings. So for example: "I will have my new job in 12 days". Could the AI model recognize "12 days" as a date and determine what the actual date is, assuming a reference date of now? I was about to start working on a simple POC when I thought… wait… is there already a JavaScript library for this? Of course there is. The aptly named Chrono library does just that. It can parse a string with one assumed date and return the date, so for example: import * as chrono from 'chrono-node'; chrono.parseDate('An appointment on Sep... more →
Posted in: JavaScript

Bending the Chart to Fit the Road

Mapping Collision Density Along the A1 More than 350 years ago, cartographer John Ogilby transformed the way travellers navigated Britain. His famous strip maps turned the nation’s principal highways into continuous journeys on the page, allowing travellers to follow routes such as the Great North Road stage by stage across the country. Today’s A1 follows much of that same historic Maps Mania… more →
Posted in: Interactive Maps

Metro Music Maps

Over a decade ago, Alexander Chen’s iconic MTA.me turned Massimo Vignelli’s 1972 New York subway map into a live, plucking string instrument. On this map every time an MTA train crosses the track of another line, it twangs like a musical string, transforming the frantic energy of New York’s transit grid into a delicate, real-time composition.The itch to turn transit data into music has recently Maps Mania… more →
Posted in: Interactive Maps

Links For You (6/21/26)

Greetings and salutations, readers. It’s been a few weeks since I shared one of these, mostly due to the job search being somewhat exhausting, but I’ve got a backup of links so it’s time to get back in the habit. And of course, it’s Father’s Day and I want to wish all the dads out there (myself included) a very happy father’s day. This weekend I got to officiate my first wedding (for my brother-in-law and his fiance) so my plan today is to do… nothing. Enjoy your links! Mastodon and Translation with Chrome AI First up is a presentation by Thomas Steiner demonstrating Chrome built-in AI APIs doing language detection and translation for Mastodon. I’m... more →
Posted in: JavaScript
1 2 3 240