Automating Movie Recommendations with Generative AI and Pipedream

For the past few months or so, I've started tracking my movie watching with Letterboxd. I'm not doing a lot of reviews, mostly just logging, but I find it neat to look back and remind myself of what I've watched recently. You can see my profile if you're curious, or check out my … | Continue reading


@raymondcamden.com | 1 day ago

JSON Results with Google Gemini Generative AI API Calls

Forgive the somewhat alliterative title there, but today's post covers something that's been on my mind since I started playing with Google Gemini, specifically, how to get the results of your API calls in JSON. To be clear, the REST API returns a result in JSON, but I'm talking … | Continue reading


@raymondcamden.com | 10 days ago

Links For You

Good day my fabulous readers and I hope all is well with you. I just got back from speaking at the excellent Devnexus event and despite some travel issues (thank you storms, really), I had a great time. I got to see not one, not two, but three very old friends of mine and attende … | Continue reading


@raymondcamden.com | 13 days ago

Using GenAI to Help Pick Your D & D Class

A few weeks back I wrote up my experience with generative AI as a dungeon master. That post ended up being really popular and got me thinking about other ways I could integrate D & D, or other games, with Generative AI. With Gemini 1.5 now available via API, I thought it would be … | Continue reading


@raymondcamden.com | 16 days ago

Using Netlify Edge and Blob Support to Investigate Website Traffic

For some time now, I've relied on my Netlify Analytics report to keep track of how well my site is doing, what content is popular, and so forth. I was a Google Analytics user for over ten years, but when they updated the UI, I saw red every time I tried to use it. Netlify Analyti … | Continue reading


@raymondcamden.com | 21 days ago

A Quick First Look at Amazon Bedrock (with Node.js)

My regular readers (hello, yall rock!) know I've been playing with generative AI the past few months. I'm still a bit skeptical about the amount of hype involved around the space, but I'm slowly getting more excited as I see some of the interesting possibilities available with th … | Continue reading


@raymondcamden.com | 23 days ago

All Your Dragons Are Belong To Us

Forgive the somewhat silly title, but it's not like I haven't been silly here before. Almost four years ago I wrote a little post about a random text-generated app called the "Queen Maker": Let's Make Everyone a Queen!. The idea for that app (which lives on at queenof.netlify.app … | Continue reading


@raymondcamden.com | 25 days ago

Links For You

For those who celebrate, happy Easter. For me, this is more 'second day after the Shingles shot recovery' day. Here are some links to start off your week. I almost wish today was tomorrow so I could sprinkle in some April Fool's jokes, but I'm sure there will be plenty of that ar … | Continue reading


@raymondcamden.com | 27 days ago

Using Generative AI to Check for Spam

A few days ago I wrote up an exploration I did in Spam APIs, "Spam APIs in 2024". After working on those demos and writing up my findings, I thought it might be interesting to see how a generative AI tool, like Googele's Gemini would handle such a task. Initial Tests # So - once … | Continue reading


@raymondcamden.com | 1 month ago

Automating Blog Post Headers with Firefly Services

Yesterday I introduced you to Adobe's new offering, Firefly Services, and demonstrated a simple example of how to generate images from prompt using the REST APIs. Today I thought I'd share one of the little demos I've made with the API, and one specifically built to help out with … | Continue reading


@raymondcamden.com | 1 month ago

Automate Generative Image APIs with Firefly Services

Adobe Summit is currently happening in Vegas and while there's a lot of cool stuff being announced, I'm most excited about the launch of Firefly Services. This suite of APIs encompasses the Photoshop and Lightroom APIs I've discussed before, as well as a whole new suite of APIs f … | Continue reading


@raymondcamden.com | 1 month ago

Spam APIs in 2024

I enjoy building API demos so I generally keep an eye out for interesting APIs to play with. A few weeks ago it occurred to me that I had not seen anyone talking about or sharing information about Spam APIs. I may be showing my age a bit, but it feels like spam was a much larger … | Continue reading


@raymondcamden.com | 1 month ago

Using PDF Content with Google Gemini

Back in February Google announced Gemini 1.5, their latest, most powerful language model, and while access has been open via AI Studio, API access has only been available in the past few days. I thought I'd try out the new model and specifically make use of the larger context win … | Continue reading


@raymondcamden.com | 1 month ago

Three Cool (to me) Node.js Features

I've been using Node.js on the regular now for probably over a decade, but one thing I've never done well is keep up to date with its features and new additions. In general, my brain just thinks "use javascript" and that's all. The last time I really cared about what precisely wa … | Continue reading


@raymondcamden.com | 1 month ago

Alpine.js Workshop this Friday

This is somewhat last minute but it just came together in the past 24 hours. This Friday, at 4 PM CST, I'll be giving a free, online workshop on Alpine.js: Web Development with Alpine.js. Thank you to the Ontario Tech University Google Developer Student Club (whew, that's a long … | Continue reading


@raymondcamden.com | 1 month ago

Links For You

Good morning. I managed to tear myself away from Assasin's Creed Valhalla a bit to get out a "Links For You" post. I was supposed to do this last week (my schedule is every two weeks), but I must have forgotten. Or just been busy. Life happens, amiright??!?! Next month will be pr … | Continue reading


@raymondcamden.com | 1 month ago

Responding to HTML Changes in a Web Component

While driving my kids to school this morning, I had an interesting thought. Is it possible for a web component to recognize, and respond, when its inner DOM contents have changed? Turns out of course it is, and the answer isn't really depenedant on web components, but is a baked- … | Continue reading


@raymondcamden.com | 1 month ago

Using Intl.RelativeTimeFormat for Localized Relative Timings

I've been singing the praises of the web platform's Intl object for years now, but it still continues to impress me. While I've seen it before, today I came across the RelativeTimeFormat API which looks absolutely fabulous. I played with it a bit and thought I'd share some tips.T … | Continue reading


@raymondcamden.com | 1 month ago

Converting a Vue 2 App to Alpine.js

A little over two years ago I published an "idle clicker game" built in Vue.js. I called it "IdleFleet" and was heavily inspired by games like A Dark Room, where I relied on simple text graphics and game mechanics that would change as you played. In my last session, I walked thr … | Continue reading


@raymondcamden.com | 1 month ago

TIL - submit() versus requestSubmit()

Today I learned (well, technically, a few days ago, the week has been a lot), that the web platform supports a requestSubmit method. Since the beginning of time (or the beginning of JavaScript), we've been able to submit forms like so:var myForm = document.getElementById('theform … | Continue reading


@raymondcamden.com | 1 month ago

Testing Multiple Variations of Generative AI Prompts

In nearly all of my recent explorations of Generative AI, I've come to realize how important prompts are. That hasn't necessarily translated me into writing better prompts all the time, but being aware of the problem is at least one step towards correcting it, right? One of the t … | Continue reading


@raymondcamden.com | 2 months ago

Links For You

Good morning programs. Before I get started with the three links I want to share with yall, some personal notes.Tomorrow I'm giving a free online presentation at the Adobe ColdFusion Online Summit where I'll be talking about how to use Adobe Acrobat PDF Services with ColdFusion. … | Continue reading


@raymondcamden.com | 2 months ago

Adding a Guestbook to Your Jamstack Site (Yes, Seriously)

Don't do this. I'm serious. Or do it, I certainly don't listen to reason when it comes to building demos. I've been in web development for a very, very long time, and I've seen many trends come and go. Guestbooks were a way for folks to leave a comment on your site as a whole. I … | Continue reading


@raymondcamden.com | 2 months ago

Using Generative AI to Organize Video Game Screenshots

Way back in January (remember January), I wrote a blog post describing how to use gen ai to improve image filenames. This worked by uploading the image to Google Gemini, asking for a short description, and using that description for a new filename. Recently I was thinking about t … | Continue reading


@raymondcamden.com | 2 months ago

Google Gemini as Your Dungeon Master

So this is absolutely just another example of me playing around too much, but I had to share. As I mentioned in my post yesterday, Google's AI Studio now supports uploading files and working with them in your prompt. Today I decided to give the Chat interface a try as I hadn't ye … | Continue reading


@raymondcamden.com | 2 months ago

Google Gemini 1.5 Announced (and more new features)

In general I don't tend to blog about stuff that isn't quite out yet, but as I've got early access (and permission to share), and as it's pretty darn cool, I thought I'd share. Plus, some of the new stuff is available to everyone, so you can try it out as well! Today, Google intr … | Continue reading


@raymondcamden.com | 2 months ago

Testing Temperature Settings with Generative AI

So far most of my playing with Generative AI has been on the prompt side, with no real look at the various settings you can tweak in your calls. As I'm still very new to this, I'm trying my best to take things slowly. But every time I open Google AI Studio and see the settings on … | Continue reading


@raymondcamden.com | 2 months ago

Come Build/Play a Game with Me Next Week

Next week I'll be hosting my second episode of the show, "Shall we play a game?" In this session I'm going to talk about, and build, a simple web-based game. An hour is not a lot of time to do this so it will be a bit of a race, but I think this could be really fun. Check it out … | Continue reading


@raymondcamden.com | 2 months ago

Looking at the JavaScript Promise Collection Methods

Let me begin by saying that "Promise Collection Methods" is not something I've seen mentioned elsewhere, but is my own way of referring to the various methods of the Promise API that work with multiple promises. They are:Promise.allPromise.allSettledPromise.anyPromise.raceI've us … | Continue reading


@raymondcamden.com | 2 months ago

Links For You

Happy Super Bowl Day for those who celebrate, oh wait, sorry, I mean "The Big Game". I'm looking forward to both the game and the commercials this year, and I managed to avoid every single commercial preview so they should all be new to me. This week was incredibly hard at work ( … | Continue reading


@raymondcamden.com | 2 months ago

Using the Bluesky API

Social media has always been... addicting and kinda gross/dangerous/etc, but lately, I'm not even sure what to think anymore. As I mentioned in my first episode of , I segregate all of my social media to the Firefox browser so it doesn't get in the way of my regular, work/researc … | Continue reading


@raymondcamden.com | 2 months ago

- First Episode

Just a quick note to share that today I did my first episode of the show. I had a great audience with some great questions and comments. My next show will be in two weeks and I hope to see you there! | Continue reading


@raymondcamden.com | 2 months ago

Using Generative AI as Your Content Assistant

Last week I had the honor of presenting one at TheJam.dev. This was my first presentation on generative AI and I got to share what I thought was an interesting use case - helping with the writing process.Now to be clear, I don't mean using GenAI to write blog posts, that would be … | Continue reading


@raymondcamden.com | 2 months ago

Links For You

Good morning, friends. I'm enjoying a lazy Sunday morning before I head out to my first (in-person) conference of the year, THAT Conference Texas. I'll be speaking on web components and can't wait to see the other great sessions as well. If you're a reader and will be there, plea … | Continue reading


@raymondcamden.com | 3 months ago

Using Generative AI to Improve Image Filenames

Last night I had an interesting thought. Many times I work with images that have vague filenames. For example, screenshot_1_24_12_23.jpg. Given that there are many APIs out there that can look at an image and provide a summary, what if we could use that to provide a better file n … | Continue reading


@raymondcamden.com | 3 months ago

Working with Google Gemini and ColdFusion

Most of my recent work with generative AI has been with Google Gemini lately as I find it really simple to use. With most of the complexity being on the prompt side, I appreciate that the code doesn't get in the way. I thought it would be interesting to see how difficult it would … | Continue reading


@raymondcamden.com | 3 months ago

My New Show -

For a while now I've been kicking around the idea of doing a live stream. I've done a good job this past year of working on my YouTube channel and I've enjoyed getting (slightly) better with that process. In general, though, my Youtube videos tend to "how to do X" type short walk … | Continue reading


@raymondcamden.com | 3 months ago

Using GenAI to Classify an Image as a Photo, Screenshot, or Meme

File this under the "I wasn't sure if it would work and it did" category. Recently, a friend on Facebook wondered if there was some way to take a collection of photos and figure out which were 'real' photos versus memes. I thought it could possibly be a good exercise for GenAI an … | Continue reading


@raymondcamden.com | 3 months ago

You Should Attend theJam.dev 2024!

Next week, a very cool, and very free, online event is being held by the fine folks at Certified Fresh Events, theJam.dev 2024. This is a two-day online conference covering web development, AI, serverless, frameworks, and certainly more than just the Jamstack.Speakers include Cas … | Continue reading


@raymondcamden.com | 3 months ago

Using Drag/Drop in Alpine.js with PDF Embed

Drag and drop support in JavaScript is probably two to three hundred years old now (plus or minus a few years), but I use it rarely enough such that when I need it, I run over to MDN's article on it as a quick refresher. I thought it might be fun to combine the web's drag and dro … | Continue reading


@raymondcamden.com | 3 months ago

Links For You

Hello friends. This week has been absolute hell as I've been sick since Wednesday. I'm on the mend, but it's taking its sweet ole time moving out of my system. I feel like I can barely put two words together but I somehow managed to do some work, give and record a presentation, a … | Continue reading


@raymondcamden.com | 3 months ago

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 … | Continue reading


@raymondcamden.com | 3 months ago

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 … | Continue reading


@raymondcamden.com | 3 months ago

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 … | Continue reading


@raymondcamden.com | 3 months ago

Links For You

Welcome to the last links I'll share ever... in 2023. As I said when I started this series, my goal was to share cool and interesting stuff with my readers, and I think it's been a great success so far. Plus, when I get excited about something, I just love to share it. I hope the … | Continue reading


@raymondcamden.com | 4 months ago

Using Generative AI to Detect Cat Breeds

Let's be honest, what other use is there for generative AI than working with cats? If you read my previous post on Google's Gemini AI launch, you may have seen my test prompts asking it to identify the kind of cat shown in a picture. I decided to turn this into a proper web appli … | Continue reading


@raymondcamden.com | 4 months ago

Google Gemini and AI Studio Launch

While it feels like just yesterday I first blogged about Google's PaLM APIs and MakerSuite, it was actually over two months ago, and of course, GenAI offerings are iterating and improving at lightning speed. In the past week, Google has announced Gemini, their new generative AI m … | Continue reading


@raymondcamden.com | 4 months ago

An Image Dialog Web Component

A lot of the talk (well, on Mastodon at least) lately concerning web components has been on "HTML Web Components". The idea is that web components can progressively enhance "regular" HTML in the DOM instead of completely blowing it away with the Shadow DOM. (You can find a deeper … | Continue reading


@raymondcamden.com | 4 months ago