Reconstructing the Ancient Trade Routes

Voyage with a Tail Wind: Chronicles of Ancient Maritime Journeys uses an ancient 15th Century book to reconstruct the trade routes used by Chinese spice traders during the Ming Dynasty. The Voyage with a Tail Wind or Shun Feng Xiang Song is a Chinese manuscript, dating from around 1403, which documents the maritime routes, coastal landmarks, and navigational hazards encountered by Chinese Maps Mania… more →
Posted in: Interactive Maps

Mapping Conflicts Around the World

At the beginning of 2024 the specter of military conflicts haunts the world. Israel is engaged in conflict in Gaza, Russia continues its illegal invasion of Ukraine and the Syrian civil war is now in its thirteenth year. In response to the spreading threat of global conflicts a number of organizations have now released interactive maps dedicated to tracking the progress of military action around Maps Mania… more →
Posted in: Interactive Maps

Using AI and PDF Services to Automate Document Summaries

I first discovered Diffbot way back in 2021 when I built a demo of their APIs for the Adobe Developer blog ("Natural Language Processing, Adobe PDF Extract, and Deep PDF Intelligence"). At that time, I was impressed with how easy Diffbot’s API was and also how quickly it responded. I had not looked at their API in a while, but a few days ago they announced new support for summarizing text. I thought this would be a great thing to combine with the Adobe PDF Extract API. Here’s what I found. First off, if you want to try this yourself, you’ll need: Adobe PDF Services credentials. These are free and you get 500 transactions per month for free. For folks who may not know,... more →
Posted in: JavaScript

The Bike Map

Biking directions are very difficult. There are a few factors which are important to cyclists which most route planners tend to avoid. When I’m planning a bike route I usually consider the amount of road traffic (e.g. are there bike lanes available), elevation, and road surface (e.g. avoiding cobbles). I actually have a little test route which I use for previewing route planning maps for Maps Mania… more →
Posted in: Interactive Maps

The Return of the Comment(s)

In the twenty plus years this blog has been around, I’ve had various different comment systems. Initially, I simply stored them in a database (this blog used to be powered by ColdFusion), but eventually moved to Disqus. I had a pretty huge amount of comments and was generally OK with the service, but eventually, folks simply stopped commenting. I then made the decision to simply kill off the integration. I wrote some scripts to get my data, stored them as flat files, and you can still see the old comments on posts that had them. About a year or so I added in Webmentions, which works ok, but doesn’t really feel the same. After some time thinking about it, I decided maybe its time to... more →
Posted in: JavaScript

The Daily Explorer

Oison Carroll’s Travle is a fun daily puzzle which requires players to travel between two different countries on an interactive map in the least possible moves. Every day Travle publishes a new map, which is blank except for two highlighted countries. All you have to do is journey from one of the highlighted countries to the other by typing in the names of the countries you could travel Maps Mania… more →
Posted in: Interactive Maps

Function Calling and GenAI

I love when I work on one demo, hit an issue, discover something else and get joyfully distracted into learning something completely different. In this case, it was a suggestion to help with an issue I was having with output from a prompt, and while it wasn’t a good solution for what I was doing, it was an eye-opening look at a really cool feature of Generative AI – Function Calling. Now, I’m new to GenAI, and new to this particular feature having been introduced to it a bit less than twenty-four hours ago. I know it’s supported by Google AI APIs as well as OpenAI and a quick search around other offerings seems to imply it’s a universal thing. I want to give a quick... more →
Posted in: JavaScript

My 2023

Happy New Year (well almost) my fabulous readers. Typically at the end of the year, I like to take stock of what I accomplished through the year and share it in one last blog post. I honestly don’t expect anyone to actually read these summaries, but they help me determine what I did well and what I didn’t accomplish over the year while figuring out what I want to adjust for next year. So here’s how I did in 2023. Writing # My goal for the blog is consistent, useful, helpful, and fun posts. My publishing ‘plan’ is one post a week for 52 posts a year. Counting this post, I published 118 posts which I’ll take as a big ole win. My traffic, according to Netlify,... more →
Posted in: JavaScript
1 27 28 29 30 31 190