The Global News Map / / No Comments Over the years, there have been many attempts to map the news. With the advent of AI and its ability to automatically detect locations mentioned in news articles, we’re now seeing a resurgence in News Maps.The latest of these is Needle, which uses a large language model (LLM) to “best estimate general locations of stories posted in the past day, and pin them on the map.” Using the map, you Maps Mania… more → Posted in: Interactive Maps Tagged with: global, News
Links For You (7/13/25) / / No Comments My goal for this series of posts is to share interesting links every two weeks, and I’ve noticed that sometimes it feels like a split second between when these posts go out. I’m actually a week or so late on this one, which is fine, but dang does time go by quickly. Usually summer is pretty slow, but with the new job, new product launch, and lots of camps for the kids, I don’t feel like it’s ever let up. Despite that, I’ve managed to put in near ten hours of Star Wars Outlaws this weekend, so I’m still getting a chance to catch my breath. I put the controller down for a bit so I can share these fun links with yall. Enjoy! Using Transformers.js to Find Related... more → Posted in: JavaScript Tagged with: 7/13/25, links
Simple Charting with BoxLang / / No Comments Building a BoxLang and want to know how to do charting with it? The answer is simple… don’t! I kid! Sorry, but for many, far too many, years now I’ve argued that ColdFusion should not include a charting library. It’s a server-side language, and in my (definitely not) humble opinion, client-side code doesn’t belong there. (I’m fine not worrying about that though – I trust that team knows their clients better than I do and knows what they’re doing.) The good news (again, imo) is that BoxLang doesn’t ship with an embedded client-side charting library. That being, I can absolutely see cases where you may be building a web app in BoxLang and want... more → Posted in: JavaScript Tagged with: BoxLang, Charting, simple
The Map of Nazi Camps & Ghettos / / No Comments The USHMM Encyclopedia of Camps and Ghettos is an interactive map documenting camps, ghettos, and Nazi-run sites of persecution across Europe and North Africa. This powerful digital tool brings to life one of the most staggering realities of the Holocaust: the sheer number and geographic reach of sites where millions were imprisoned, enslaved, and murdered between 1933 and 1945. Created by Maps Mania… more → Posted in: Interactive Maps Tagged with: Camps, Ghettos, Nazi
Extracting Data from Web Pages with AgentQL and BoxLang / / No Comments I discovered AgentQL a few weeks ago and have been thinking about it quite a bit. In a nutshell, it lets you perform queries against a web page. They’ve got a simple query language that kinda reminds me of GraphQL, but simpler. So for example, consider the page you are on right now – if I wanted to get the tags, I could use this query: { tags[] } And it would return: { "tags": [ "#development", "#boxlang" ] } What if I wanted the links? I could change my query to express this: { tags[] { label url } } And then get: { "tags": [ { "label": "#development", "url":... more → Posted in: JavaScript Tagged with: AgentQL, BoxLang, data, Extracting, from, Pages
The Death of Local News / / No Comments One in three U.S. counties now has no full-time local journalist – a staggering 75% decline over the past 23 years. This collapse means communities across the country lack “even one full-time reporter to cover all of the schools, the town councils, the economic development projects, basketball games, environmental decisions, local businesses, and local events.”To document this crisis, Rebuild Maps Mania… more → Posted in: Interactive Maps Tagged with: Death, local, News
Cleaning Up My Print View with CSS Media Queries / / No Comments I don’t know why this popped into my head today, but I was thinking about the print version of this page, and others, and what steps could be done to improve the result. Specifically, I was thinking a lot about what should be hidden from the print version as it has no real meaning on paper, or in PDF. With that in mind, I did a quick test – just how well do my pages print now? You can see the result below: Honestly, I think that’s just fine! And I give a lot of credit for that to the blog design I paid for and implemented years ago. That being said, note that on page 6, the real content ends and the entire rest of the page, and all of page 7, isn’t really important.... more → Posted in: JavaScript Tagged with: Cleaning, Media, print, Queries, View
Using GenAI to Create a SDK from Sample Code / / No Comments I’ve been experimenting more and more with AI-assisted coding (not gonna call it vibe coding, even when I do), and the results have been incredibly interesting. Today, I decided to try something interesting – generating a SDK for an API. There are multiple tools out there that can convert an OpenAPI specification to an SDK (and those tools I’ve seen are pretty darn cool), but I wanted to attempt another route. Earlier this month I blogged about the new Foxit PDF APIs I’m working with. These APIs are all really simple, which is good of course, but when prepping for the release, I wanted to build code samples for every possible operation. I did so, and they’re up in... more → Posted in: JavaScript Tagged with: code, create, from, GenAI, Sample, using