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

What was that song, the one with the words?

My wife and I are both big music lovers, and I’m happy to have influenced her listening habits a bit and have loved what she’s introduced me to. Given we both love music, we’ve also been known to sing along at times. (You can take a guess as to how well that goes.) She normally gets the lyrics right. I’m normally a bit more… loose in terms of how well I remember the lyrics. I was thinking about this and was curious how well AI could be used to identity lyrics and match them to a song, especially when the lyrics may not be exactly right. I spent some time hacking on it and here’s what I built. Strike One I meant to type take one, accidentally wrote strike one,... more →
Posted in: JavaScript

My First AI Skill for My Blog

I’ve been a professional writer now for thirty plus years, and honestly, it’s one of the things I’m most proud about. When generative AI first exploded on the scene, a lot of people used it to help them write, and frankly, that wasn’t for me. I’m not the best writer, but I damn well know how to write and damn well know my own voice. That being said, I’ve been really interested in how GenAI can help with the process. I first wrote about this over two years ago: Using Generative AI as Your Content Assistant. In that post I talked about using GenAI for two very specific tasks: Helping with my titles Writing the description (which is part of the metadata for a... more →
Posted in: JavaScript

Dang good Office parsing on the web with officeParser

A few weeks ago I wrote about using Chrome’s built-in AI support to summarize documents – "Summarizing Docs with Built-in AI". This was a followup on an earlier post that was PDF only and made use of an excellent library, officeParser, to work with Microsoft Office files. This library worked well, but had one issue that made it a bit harder to use. Parsing a doc itself was super easy: const getAST = async (file, config) => (await OfficeParser.parseOffice(file, config)); But the issue I ran into was taking that result and turning it into something meaningful for Chrome’s model to analyze. PDFs supported a toText() method but for other formats I had to do a bit of... more →
Posted in: JavaScript

Links For You (5/17/26)

Happy Sunday, and I hope your Sunday is going better than mine. One of my kids just went to use the dryer and sparks flew. I don’t mean metaphorically. Nothing like the thought of replacing another major appliance to brighten up your day, amiright?!?! Find Your (Tech) Community First up is a new endeavour by Brian Rinaldi to help fill the gap left behind by Meetup.com (which is still a thing just not a good thing lately) and the lack of smaller and more affordable community conferences. DevRel(ish) is a community site supporting tech groups of all sizes and nature who need help organizing IRL meetups. According to the launch announcement, this is not meant to be a replacement for larger... more →
Posted in: JavaScript

Is it hotter or colder this year?

Where I live could generously be called "warm", but is usually closer to the surface of the sun, especially in late summer. That’s why when the weather is not oppressively hot, I try my best to enjoy it. We’re mid-May now and honestly, this spring has been… pleasant. Suspiciously pleasant but I’ll take what I can get. The last few weeks I’ve been telling myself that the weather must be a good bit cooler than last year, and I finally decided to do something about it. I worked with Claude and created a little web app that: Lets you enter a free form address and then use Geocoding to convert it to a proper longitude and latitude. This is a super simple geocoding... more →
Posted in: JavaScript
1 2 3 112