Getting Image Insights with Built-in Chrome AI and EXIF Data / / No Comments It’s been a busy few weeks for Chrome’s Built-in AI support. Since the last time I blogged about it, four features have gone GA (which still means they are Chrome only but not behind a flag anymore): Translator Summarizer Language Detector Prompt API (for extensions only) And while announced back at the end of May, Gemma 3n as a model is available in Canary, Dev, and Beta Chrome builds. To be clear, the percentage of folks who can use these new features is still really low, but all of these features also work really well in progressive enhancement, and can be backed up by server calls to an API if need be. I continue to be really excited about the possibilities these APIs unlock,... more → Posted in: JavaScript Tagged with: Builtin, Chrome, data, EXIF, Getting, Image, Insights
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
Using Generative AI to Parse Web Pages into Data / / No Comments A few months back, I took a look at using JSON-LD to turn a recipe web page into pure data: Scraping Recipes Using Node.js, Pipedream, and JSON-LD. This relied on a recipe actually using JSON-LD in the header to describe itself, which is pretty common for SEO purposes. Still, I was curious as to how well generative AI could solve this problem. In theory, this could be a good ‘backup’ in cases where a site wasn’t using JSON-LD and a general exploration of ‘parsing’ a web page into data. I’ll be using Google Gemini again, but in theory, this demo would work in other services as well. Here’s what I found. Converting a Web Page into Structured Data In order... more → Posted in: JavaScript Tagged with: data, Generative, into, Pages, Parse, using
Free Map Data Grabbers / / No Comments The Overture Maps Foundation, founded in 2022 by Microsoft, Meta (formerly Facebook), Amazon, and TomTom, aims to provide accessible, interoperable open map data. At the time of its launch I remarked that ‘hopefully in the future the Overture Maps Foundation will develop more user-friendly methods to access the data’. The Overture Maps Explorer (Beta) is exactly that. The Explorer allows Maps Mania… more → Posted in: Interactive Maps Tagged with: data, free, Grabbers
Adding AI Insights to Data with Google Gemini / / No Comments Yesterday, Elizabeth Siegle, a developer advocate for CLoudflare, showed off a really freaking cool demo making use of Cloudflare’s Workers AI support. Her demo made use of WNBA stats to create a beautiful dashboard that’s then enhanced with AI. You can find the demo here: https://wnba-analytics-ai-insights.streamlit.app/ I found this incredibly exciting. I last looked at Cloudflare’s AI stuff almost an entire year ago ("Using Cloudflare’s AI Workers to Add Translations to PDFs"), and I haven’t quite had a chance to try it again, mostly because I’ve been focused on Google Gemini for my Generative AI work. From an API/usage perspective, Cloudflare’s... more → Posted in: JavaScript Tagged with: Adding, data, Gemini, Google, Insights
Using CSV Data with Leaflet / / No Comments As I continue to play with, and really freaking enjoy Leaflet, I thought it would be interesting to show a demo of using CSV data with it. This also coincides with an interesting dataset I got from the Data is Plural newsletter, a collection of datasets covering just about any topic you can imagine. A few weeks back, they shared ancient shipwrecks covering the years from 1500 BC to 1500 AD. I know, that’s a bit random, but I thought it was kinda cool. The dataset covers near two thousand unique shipwrecks and includes information, at times, about the cargo that was being carried. I thought this would be fun to map, and here’s how I did it. Working with CVS Disregarding the map, the... more → Posted in: JavaScript Tagged with: data, Leaflet, using
Creating Human-Readable Summaries of Data with Google PaLM Generative AI / / No Comments Like a lot of folks, I’ve been spending a lot of time thinking about generative AI, and AI, in general, and oddly (well for me), trying to focus on productive uses for it when working with APIs. A few weeks ago I shared my initial impressions of Google’s PaLM 2 API, and today I came up with an interesting use case for it. I’ve seen text summarization as a fairly common use case for gen AI, and I agree, it can be incredibly helpful when working with lots of text. However, I got to thinking today, would it be possible to use this as a way to summarize numerical, or other data? So given some process that returns a set of information, can we use gen AI to summarize it? Here’s... more → Posted in: JavaScript Tagged with: creating, data, Generative, Google, HumanReadable, palm, Summaries
Using Goodreads Data in Eleventy / / No Comments I’ve been a Goodreads user for a few years now, and much like how I use other ‘tracking’ services, I’m not there for other folks’ reading lists or recommendations, but instead, as a way to track what I’ve read. I especially like looking back over the past year and being reminded of the books I really enjoyed. Recently, myself and others were talking on Mastodon about how to work with this kind of data, other services, and so forth. Goodreads does not have an API unfortunately (it used to, but it shut it down) but they do let you export your data. I decided to take a look at this and see if (and how) it could be used in Eleventy. Here’s what I found. Edit... more → Posted in: JavaScript Tagged with: data, Eleventy, Goodreads, using