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
Using Your Favicon for Monitoring Long Processes / / No Comments A week or so ago, I was doing some tests on Google Colab and noticed something interesting. The notebook I was using was one that took one to two minutes to process. Before I’d start the process, the favicon looked like so: After kicking off the workflow, the favicon changed like so: To be honest, I had not noticed it earlier, but I only fairly recently started using a somewhat ‘slow’ notebook so it’s possible I just didn’t need it before. Realizing how it’s being used now, I thought it was an excellent user experience feature and looked into how to use it in my own applications. Changing the Favicon Ok, so this part is stupid easy. Assuming you’ve... more → Posted in: JavaScript Tagged with: Favicon, long, Monitoring, Processes, using
Giant Dancing Virtual Geoglyphs / / No Comments @duncan77mccabe Strava art animation through the streets of Toronto! This took me 121 runs from January to October 2024. #strava #running #toronto #purplehat #active #run #Canada #motivation #madden25 #ncaa #purple #hat #sofitukker #sofi #tukker ♬ original sound – Duncan McCabe Accountant and avid runner Duncan McCabe has invented a new form of art – virtual animated geoglyphs. Using the Maps Mania… more → Posted in: Interactive Maps Tagged with: Dancing, Geoglyphs, Giant, Virtual
Bluesky Mapping / / No Comments Update: I got busy and created a second map. Social Media Locations (comment below with suggestions for a better name). This map allows you to search for real-time Bluesky mentions of locations around the world. To start a search you just need to click on a map label for a country, state, city, town or neighborhood. Once you click on a place name messages will (often very slowly) begin to Maps Mania… more → Posted in: Interactive Maps Tagged with: Bluesky, Mapping
Intl is your Superhero / / No Comments Last week I had the pleasure of presenting at the Mid-Michigan ColdFusion Users Group on the topic of Intl, the web platforms internationalization spec. I gave this presentation again this week at connect.tech as well. I greatly enjoyed working on this deck as I’ve been using Intl for a while, but had not had the opportunity to look into every nook and cranny. The slide deck may be found here https://github.com/cfjedimaster/intl-is-your-superhero/ and viewed online at https://cfjedimaster.github.io/intl-is-your-superhero/decks/main/. The demos are all up on CodePen within one collection, which you can peruse here: https://codepen.io/collection/oEKOwR And then finally, if you love hearing... more → Posted in: JavaScript Tagged with: Intl, Superhero
Counting Words with Intl.Segmenter / / No Comments Yesterday, I gave my presentation on Intl, the browser’s built-in support for internationalization. I’ve been using this for a while now, but while researching the spec for my presentation, I ran into multiple cool aspects of it I wasn’t aware of. One feature I thought was particularly interesting was the Segementer object. MDN’s description is nice and succinct: The Intl.Segmenter object enables locale-sensitive text segmentation, enabling you to get meaningful items (graphemes, words or sentences) from a string. In particular, I thought the ability to get words would be an interesting use case. In the past, I’ve either done a lame split on " ", or used... more → Posted in: JavaScript Tagged with: Counting, Intl.Segmenter, Words
Your Global Local Radio Map / / No Comments I’m currently listening to XEFO-AM from Mexico City, a radio station that seems to exclusively play classic, early 20th-century Spanish-language songs. The station is just one of about 100 local radio stations in Mexico City that appear on the Radiocast interactive map.Radiocast is an interactive globe featuring over 7,000 radio stations broadcasting from around the world—all of which can be Maps Mania… more → Posted in: Interactive Maps Tagged with: global, local, Radio
Links For You (11/11/2024) / / No Comments The last seven days have been… difficult. I don’t think I need to go into why (even for my non-American readers), but I am doing my best, as are a lot of people, to take things day by day. Honestly, as a white hetero man, I’m not so much worried for myself, but I’m deeply concerned about my family and friends who are LGBTQ+ and other minorities. I don’t talk a lot about my children here as I want to ensure their privacy is maintained, but seven of my kids are adopted and Asian and my usual worry for them has risen quite a bit. Normally, my links here are almost always tech-related, but today I’m going to do something different. The links below are resources... more → Posted in: JavaScript Tagged with: 11/11/2024, links