The Atlas of American Gun Violence

The Trace’s An Atlas of American Gun Violence is an interactive map that uses data from the Gun Violence Archive to visualize gun homicides and assaults across the contiguous United States.The map has drawn a fair amount of criticism on the MapPorn subreddit, with many dismissing it as “just a population density map.” I think this criticism is somewhat unfair.  If you were to zoom Maps Mania… more →
Posted in: Interactive Maps

Building a Document Q&A System with Google Gemini

Document summarization is a powerful and pretty darn useful feature of generative AI, but a proper "question and answer" system can really enable users to interact with a document. This is why you see various document viewing apps, like Acrobat, adding these features to their programs. I thought I’d take a look at building such a system via a simple web app to see how difficult it would be, and honestly, it wasn’t that bad. Having this in your own web app, versus an external vendor, gives you more control over the experience as well. Here’s what I built. The Stack The web app lets you drag and drop a PDF into the page, it then renders a preview of the PDF on the left... more →
Posted in: JavaScript

Mapping the Housing Crisis in Portugal

The growth of short-term rental properties is a serious problem in Portugal and is contributing to a housing crisis that makes it increasingly difficult for residents to find affordable homes. des AL ojamento is a Mapbox story-map that vividly illustrates the proliferation of short-term rentals in Lisbon and Porto.Users can choose to explore the growth of ALs (Alojamento Local — Maps Mania… more →
Posted in: Interactive Maps

ColdFusion (2025)’s CFOAUTH Tag

Back in May of last year, I wrote up a blog post on ColdFusion’s oauth tag. This was based on a feature from way back in ColdFusion 11 that I thought I’d take a look at to see if it was useful. I’m not going to repeat the entire previous blog post, but in general… it was almost something I’d recommend. The tag did a good job of handling creating the right oauth link for you. So you could (after setting stuff up with your provider of course) drop the tag on a page, and when the user hit it, they would be prompted to login with the third party provider. When returned, the tag would handle getting the access token and such and giving you a nice little structure of data... more →
Posted in: JavaScript

The Musical Animated Train Map

Tokyo’s train stations are famous for their departure melodies – short musical jingles that play when a train leaves a station. Each station on the city’s extensive rail network has its own distinctive tune, creating a unique soundscape that signals the start of a journey. These melodies are designed to soothe passengers, catch attention, and add a touch of local character to the daily commute. Maps Mania… more →
Posted in: Interactive Maps

New Web Thing – Wander

I’ve built a few web games in the past (IdleFleet and Cat Herder are two examples), but what I’m sharing today doesn’t really fit into the category of a game. This is going to sound terribly pretentious and I apologize in advance, but what I’m sharing today is more an "experience" for lack of a better term. It’s part technical exploration, and part cathartic dumping, and just kinda weird. But honestly, the web needs more weird and I’m happy to contribute to that. As with most of the things I’ve built, I think it’s more interesting if you experience it first before taking a look at what’s behind it, so with that in mind, click this... more →
Posted in: JavaScript

Recognizing Abundant, Deficient, and Perfect Numbers

Ok, this post falls into the "I’ll never actually use this again" category, which frankly, my normal readers know happens all the time, but it was a fun little diversion and a reminder of why I used to love math so much. Yesterday I found out that one of my kids’ homework was to look at a set of numbers and determine if they were abundant, deficient, or perfect. Right now you are probably (at least I know I was) asking, "what in the actual heck is that???" A quick bit of Googling turned up this explainer that basically boils it down to a simple principal. Given a number, find all the divisors of that number, excluding the number itself, and add them up. If the... more →
Posted in: JavaScript

See Europe by Train, Hour by Hour

Chronotrains, pioneers of European train data visualization, are back with another superb tool. Their latest interactive map again reveals how far you can travel in Europe by train within set time periods – using an impressive animated isochrone layer.The original Old Chronotrains map features an amazing interactive isochrone layer that automatically moves around Europe to show you how Maps Mania… more →
Posted in: Interactive Maps
1 2 3 4 5 221