The Future for Trees

Like many people a few years ago I realized that not only is climate change happening but that human beings as a species are doing next to nothing to prevent its escalation. I do believe that the worst excesses of climate change are still preventable. I just see very little evidence that we are making the changes necessary to stop global heating, or even slow our ever increasing rush towards Maps Mania… more →
Posted in: Interactive Maps

Using PDF Content with Google Gemini

Back in February Google announced Gemini 1.5, their latest, most powerful language model, and while access has been open via AI Studio, API access has only been available in the past few days. I thought I’d try out the new model and specifically make use of the larger context window to do prompts on PDF documents. I discussed something similar earlier this year(("Using AI and PDF Services to Automate Document Summaries")[https://www.raymondcamden.com/2024/01/08/using-ai-and-pdf-services-to-automate-document-summaries]) which made use of Diffbot, so I thought it would be interesting to build a similar experience with the Gemini API. At a high level, it’s not too difficult: Begin... more →
Posted in: JavaScript

The Sea Trade Monitor

PortWatch is a new platform which monitors disruptions to global maritime trade. The platform uses real-time data on ship traffic and maritime trade to provide an alert system on trade disruptions likely to impact shipping trade routes. Recent attacks by Houthi rebels on ships traversing the Red Sea have helped to highlight how marine trade is vulnerable to geopolitical instability.. Maps Mania… more →
Posted in: Interactive Maps

Three Cool (to me) Node.js Features

I’ve been using Node.js on the regular now for probably over a decade, but one thing I’ve never done well is keep up to date with its features and new additions. In general, my brain just thinks "use javascript" and that’s all. The last time I really cared about what precisely was supported was when I was using fetch in client-side JavaScript and it wasn’t supported natively in Node. Luckily I could just use node-fetch and be done with it. That being said, I recognize I’ve not done a great job of keeping track of updates to Node itself so I try to notice it when folks mention it. Over the past week or so I’ve encountered not one, not two, but three... more →
Posted in: JavaScript

I’m So Old: Web Edition

Time can be a funny thing. I still remember discovering HTML, CSS, and JavaScript coding. I still remember my first college programming course. I still remember my first day at my first coding job, then my first day at my second coding job, and then my first day at Mozilla. I still remember my first day coding for MetaMask. This year marks my 20th year as a professional software engineer and it’s happened in the blink of an eye. Every once in a while I will make an old programming reference to a much younger engineer and then realize they have no idea what I’m talking about. I’m so old… Webpage layouts were being done with <table>s and this new “CSS float”... more →
Posted in: JavaScript

Mapping the History of the Railway

Martin Brake has created a number of interactive maps which visualize the historical development of transport networks in Germany, London, Paris and Barcelona. His Timemap Timelines project provides an animated map for each featured city which shows how its transit network has grown over time. For example the screenshot above shows the development of the London Underground between 1858 and 1947. Maps Mania… more →
Posted in: Interactive Maps

The 100 Most Segregated School Districts in America

In the United States school district boundaries drawn onto economically and racially segregated neighborhoods ensure that most poor and non-white students receive a much worse education than students in the more affluent school districts.Back in 2016 NPR examined how school funding in the USA is used to ensure that the rich get the best schools. They created an interactive map which visualized Maps Mania… more →
Posted in: Interactive Maps

Responding to HTML Changes in a Web Component

While driving my kids to school this morning, I had an interesting thought. Is it possible for a web component to recognize, and respond, when its inner DOM contents have changed? Turns out of course it is, and the answer isn’t really depenedant on web components, but is a baked-in part of the web platform, the MutationObserver. Here’s what I built as a way to test it out. The Initial Web Component # I began with a simple web component that had the following simple feature – count the number of images inside it and report. So we can start with this HTML: <img-counter> <p> <img src="https://placehold.co/60x40"> </p> <div> <img src="https://placehold.co/40x40"> </div> <img... more →
Posted in: JavaScript
1 24 25 26 27 28 193