One of the things I try to encourage here is for my readers to reach out with their questions. That rarely happens, but when it does, I try my best to answer as soon as possible. In this case, I got a great question from a reader back in May and then... life happened. Sorry, Nich … | Continue reading
Hey folks, earlier last month, I mentioned a tweak to my schedule, and originally I was going to have one today, but that has been pushed out to August 6th. You can find out more here: Hacking Arduino Hardware as a Noob Pt. 2 My plan is to continue showing Arduino/web integratio … | Continue reading
Here's a quick write-up of something I actually built a week or so ago... and forgot to share on the blog. Instead, I shared a way to integrate your Mastodon with Eleventy. In that post, I mentioned how the account Fedi.Tips was looking for ways to let people view their archived … | Continue reading
A little over a month ago, Google announced multiple updates to their GenAI platform. I made a note of it for research later and finally got time to look at one aspect - context caching. When you send prompts to a GenAI system, your input is tokenized for analysis. While not a "o … | Continue reading
Chalk this up to something that is probably not terribly useful, but was kind of fun to build. A few weeks ago I came across a site talking about the colors used in the Fallout TV show. I grabbed a screenshot of how they rendered it: Unfortunately, I didn't make note of the site … | Continue reading
Hello from the incredibly hot Pacific Northwest. This week I discovered that not every part of the PNW looks like Seattle. I'm in Bend, Oregon, which is incredibly beautiful, but also just as hot as back home. On the flip side, the humidity is basically zero and the mornings and … | Continue reading
A few weeks back I wrote up the process of building an API that looks for JSON-LD on a web page containing recipe information, parses it, and returns it as pure data. You can (and should before continuing on) find that post here: Scraping Recipes Using Node.js, Pipedream, and JSO … | Continue reading
I've been a fan of 'random text' for some time. "Random text" is a bit vague, but to me the idea of using code to generate random stories, or even snippets, is fascinating. Back in April, I blogged about how I created short dragon-based stories. It took a generic string: A #adjec … | Continue reading
It's been a few weeks since I blogged about Cat Herder, my latest web game, but over the holiday break I plugged up the last few features missing and decided it was time to "release" it, and by release, I mean set the version number to 1 and see what happens next. Since my last p … | Continue reading
So yesterday I wrote up the process of adding the Squirrelly template language to Eleventy. It was, essentially, five minutes of work due to how well Eleventy supports adding custom languages. After writing it up, publishing it, and running some errands, a really bad and silly id … | Continue reading
I'm supposed to be on vacation but writing about Eleventy two days ago has got it fresh on my mind, also, I can't pass up an opportunity to use "squirrelly" in a blog title. I subscribe to three or four different email newsletters related to web development. It's fairly normal to … | Continue reading
A couple of days ago Fedi.Tips, an account that shares Mastodon tips, asked about how non-technical users could make use of their Mastodon archive. Mastodon makes this fairly easy (see this guide for more information), and spurred by that, I actually started work on a simple(ish) … | Continue reading
This began as me wanting to build an Alpine.js application that handled pasted input, but I realized before I looked into handling this with Alpine, it made sense to start with basic vanilla JavaScript at first. I've worked with the clipboard before, mainly storing information to … | Continue reading
Technically I'm on vacation, but I love these link-sharing posts and decided I could tear myself away from... doing nothing. As a quick reminder, if you enjoy these posts, and this blog, please consider visiting my Amazon wishlist or buying me a coffee, which, to be clear, isn't … | Continue reading
I'm probably worrying too much about this, but as the schedule is changing slightly for in July, I just wanted to let folks know. Normally the next session would be Tuesday, July 2nd, but with Adobe being shut down that week I'm doing nothing. Absolutely nothing. Well, ok, that' … | Continue reading
The last two sessions of my show, , were taken up talking about one of my favorite web platform features, IndexedDB. This is a topic I've covered many years on the blog (I even wrote a book on it back in 2016) so I thought it would be a good topic for the show. (I will include li … | Continue reading
One of the use cases for generative AI that I've discussed before is the idea of using the tool to aid in the writing process. I'm not talking about creating content so much as creating suggestions and providing feedback about the content you yourself have created. This past week … | Continue reading
Earlier this month, after being motivated by Thomas Steiner, I went through the not-really-a-hassle process of publishing to NPM. (Table-Sorter Available Via NPM) Today I've done the same for another web component, . This component wraps Adobe's PDF Embed API, which, honestly, i … | Continue reading
I've been using Buttondown for almost a full year now (I blogged about the setup here). After having a few issues with Mailchimp and my newsletter, I was pleasantly surprised by how easy Buttondown was and how quick it was to set up. I ended up paying for it as I knew I'd end up … | Continue reading
Happy Saturday to everyone, especially those who like me, skipped yard work and finished a video game instead. Tomorrow is Father's Day and I hope every Father, Step-Father, Not a "Real" Father but Does the Dang Job Father, and so forth have a wonderful day. I'm the proud father … | Continue reading
It's pretty well known now that most, if not all, recipes on the internet are 90% crap and 10% actual recipe, at best. Obviously, there are outliers of course and obviously, if you are sharing your recipes online you are free to do so as you see fit, but speaking for myself, when … | Continue reading
Back about a month ago, I wrote up a post on how to generate JSON results using Google Gemini, "JSON Results with Google Gemini Generative AI API Calls". While you should read that post first, the process basically boiled down to: Setting the response type of the result to JSON. … | Continue reading
This is just a quick post to say my web component is now available via npm! My thanks go to Thomas Steiner who suggested I take my little CodePen demo and actually publish it. You can find it at NPM here, https://www.npmjs.com/package/@raymondcamden/table-sorter, and install it … | Continue reading
Welcome to my second game diary for [Cat Herder, which I'm subtitling - "Rise of the Machines". This update is all about the 'machine' aspect of the game. Let me explain. Right now each cat (well, you can only have one unless you cheat) has three needs you must manually take care … | Continue reading
Over a year ago, I released my first "idle clicker" game, IdleFleet. IdleFleet is a simple "space merchant" game built with Alpine.js. I've worked on it off and on since the initial release (which was in Vue.js by the way) and still have updates I want to add, but a few weeks ago … | Continue reading
Hello from what feels like a rainforest down in Louisiana. We've had what feels like weeks now of not just rain, but strong rain and storms, and the hurricane season has only officially just begun. Thankfully we've got a whole home generator but I'm not looking forward to this ye … | Continue reading
APIs, tools, consumer features, and heck, pretty much every aspect, of generative AI is changing at an incredibly rapid pace. I mostly focus on just Google Gemini and even that is pretty difficult to keep up with. Recently, Linda Lawton shared that she actually uses an automation … | Continue reading
Just a quick note. Last year, I blogged a demo of a web component that lets you wrap an existing HTML table and progressively add table sorting. I'm rather proud of that demo and was actually planning on doing a quick video about it, but while testing I encountered two small bugs … | Continue reading
I've been using Algolia for my site's search functionality for a few years now and it works great, especially once the free tier expanded to cover the size of my content somewhat better. In that time, I've mainly just stuck to basic search functionality and haven't really touched … | Continue reading
Earlier this week, I blogged about a cool Postman feature where you could use scripting to take the result of one API call and use it as a variable that is then used by a second call. For APIs that first require you to exchange credentials for an access token, this is a super use … | Continue reading
This may come as a shock to you, but sometimes, I don't read the documentation for the tools I use. Sometimes, I don't even look at all the various menu items and UI stuff for the tools I use. I know I'm probably the only one who does that and I apologize for letting down my fait … | Continue reading
Using media in your prompts (what's called 'multimodal') with the Gemini API is fairly simple in small cases. You can encode your input with base64 and pass it along with your prompt. While this works well, it's got limitations that may be quickly hit - most specifically a file s … | Continue reading
I'm currently at Google I/O waiting for the next session to start and decided to take a quick look at the latest Gemini model to be released, Flash 1.5. As the name implies, this is a 'speedier' model built to return responses quicker than other models, with the tradeoff that the … | Continue reading
Yes, yes, I know it's not the weekend and that's when these posts are supposed to go out, but I was super busy being lazy and didn't even realize it had been two weeks since my last post. It happens. Today I'm (weather permitting) hopping on a plane to attend my first Google I/O … | Continue reading
This will be my third ColdFusion post in the past year. I'm not saying I'm going to continue the trend, but as I find interesting use cases, I'm going to share. Today, that involves the tag that I recently had a chance to play with. About two weeks ago, an old client of mine rea … | Continue reading
I don't normally blog about upcoming conference talks, but I'm really excited to announce my first talk on generative AI, specifically Google's Gemini will be in a few weeks at the F/ND Tech Conference. This is a free, online conference covering a wide range of topics. My talk, " … | Continue reading
Forgive the samewhat lame title, and this will be a quick little post, but I've recently been using such an incredibly helpful npm module I wanted to share it with others. open by Sindre Sorhus (you must click that link and look at their incredible GitHub profile) is a simple, bu … | Continue reading
It's been on my queue to investigate how to use Generative AI in a 'chat' interface versus "one prompt and answer" mode for some time and today I finally got a chance to check it out. I'll share my thoughts below, but once again I want to thank Allen Firstenberg for his help whil … | Continue reading
Good afternoon, readers, I hope you are having as good a day as I am. Today I started playing "Midnight Suns" (PS5) and so far, it's a heck of a lot of fun. Yesterday was one of those days that was so good, I almost got a bit paranoid that something bad was going to happen. (It d … | Continue reading
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
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
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
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
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
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
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
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
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