Links For You (6/21/26)

Greetings and salutations, readers. It’s been a few weeks since I shared one of these, mostly due to the job search being somewhat exhausting, but I’ve got a backup of links so it’s time to get back in the habit. And of course, it’s Father’s Day and I want to wish all the dads out there (myself included) a very happy father’s day. This weekend I got to officiate my first wedding (for my brother-in-law and his fiance) so my plan today is to do… nothing. Enjoy your links! Mastodon and Translation with Chrome AI First up is a presentation by Thomas Steiner demonstrating Chrome built-in AI APIs doing language detection and translation for Mastodon. I’m... more →
Posted in: JavaScript

Building a Form Handling Service in Val Town

Many years ago, I made the switch from building primarily app-server backed sites (using Node, ColdFusion, PHP, etc) to fully static sites using tools like Jekyll, Hugo, and Eleventy. For the most part, it was a great shift in how I build, but there were a few things I had to figure out in that new world – one of them was simple form handling. While I could have used serverless just fine, it felt like overkill. Luckily, there were a few services out there that catered to this need. You would simply use a unique action for your form and that service would handle collecting the form data, emailing it to you, and redirecting the user back to the site. A great example of this, and one I used... more →
Posted in: JavaScript

Creating a Dynamic Favicon with Cloudinary

Ok, chalk this up to something I may never actually use in production, but I was curious how well the browser would handle changing the favicon of a tab on the fly, and combining that with Cloudinary to dynamically modify the source. The inspiration for this was something simple – Google Calendar’s favicon is unique per day, so for example, right now I see this: As there is – at most – 31 days in a month – my assumption is that they simply generated all 31 at some point and in their code serving up the web page, they select the right one. To be honest, it’s subtle and I don’t always notice it, but it’s a nice effect. I decided to take a look... more →
Posted in: JavaScript

Testing Diffbot’s Web Search API

It’s hard to believe I first experimented with Diffbot nearly five years ago. You can see that first post up on the Adobe Medium account – Natural Language Processing, Adobe PDF Extract, and Deep PDF Intelligence. Since then I’ve tested out various APIs and features from them and was lucky enough to connect with them recently about a new initiative, a web search API. There’s multiple examples of this out in the wild already, but most just scrape/hack against Google. Google had an API, the Custom Search JSON API (I even covered it back when folks still talked about the JAMStack) but the API is now deprecated and officially turning off January 1, 2027. Diffbot’s API... more →
Posted in: JavaScript

Can GenAI help you win in Vegas? (2026)

No! Thanks for reading. Still here? Cool. So way back in 2023, I built a little demo that I thought was kinda cool. Early in 2023 I had used Alpine.js and the excellent Deck API to build a simple web-based Blackjack game: Creating a Blackjack Game with Alpine.js and the Deck of Cards API. I then took that demo and connected to Google’s GenAI API, which back then was named Palm: Can GenAI help you win in Vegas?. It’s been a few years and I thought I’d take a stab at it again, this time making use of Chrome’s Prompt API. Technically I’d have much better luck using a bleeding edge Gemini model via a serverless function, and I may still take a stab at that later, but... more →
Posted in: JavaScript

AI versus a Grue

"It is pitch dark. You are likely to be eaten by a grue." If you recognize that quote, congrats, you probably need to see your doctor about pain in your back. (Ok, pain everywhere.) For those of us of a certain age, or folks who like classic games, the Infocom series was a tremendous source of entertainment. Using plain text commands to navigate your environment, players had to use their minds to figure out puzzles and mazes in order to win the game. The IF (Interactive Fiction) community is still strong and of course, I’ve spoken before about my time playing and coding on MUDs, so with that in mind, I thought I’d try tackling something that I assumed probably wouldn’t... more →
Posted in: JavaScript

Creating a Heavy Rain Alert with RainDrop and Val Town

One of the "joys" of living in Louisiana is the rainy season, which is heavier in spring but honestly, feels like it lasts all year long. I can still remember being on a business trip in 2016, about to fly home, and hearing about some sort of ‘rain event’ back in Louisiana. This surprised me as there wasn’t a hurricane involved, just an incredible amount of rain (up to 2-3 inches per hour). You can read more about it on the Wikipedia page about the event, but it goes without saying – rain is a big deal down here. A while back I discovered RainDrop, which is an app and a web site that lets you check on rainfall totals. You can see my zipcode here, https://www.raindrop.farm/rainfall-totals/zipcode/70508#map,... more →
Posted in: JavaScript

Looking for My Next Role – Hire Me

Yep, I get to write this post again… Well, today I find myself in the same position I’ve been a few times over the past few years. Webflow went through a company-wide restructuring today and as part of that re-org, my role (and many others) were eliminated. So once again – I’m asking my faithful readers to help me find my next role. You can find my resume if you need the latest edition and feel free to contact me with any opportunities you may have! Raymond Camden… more →
Posted in: JavaScript
1 2 3 112