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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Welcome to - most likely - my last Links For You post of 2023. Who knows though, I'm off for nearly ten days at the end of the month so I'll probably have the time to keep on blogging. (If I can tear myself away from Assassin's Creed Odyssey.) I absolutely love this particular se … | Continue reading
I tend to have a lot of silly ideas. Not useful ideas. Not good ideas. Silly ideas. Randomly yesterday I was thinking about the Twelve Days of Christmas song. If you aren't familiar with it, it starts off with a gift for one day, then repeats and adds a second day, and so on and … | Continue reading
For about two months now I've had on my queue to write about some of the incredibly cool updates Netlify has released but I just didn't have the time. I've been hosting this blog on Netlify for a few years now and have been incredibly happy with the platform, but the updates the … | Continue reading
About two months or so ago I added a Now page to my site. It shows my current reading list, my last watched movies, my Untappd beer check-ins, and my most recent Spotify tracks. You can see that part here:When I built it, I used a Pipedream workflow to wrap calls to Spotify's API … | Continue reading
A lot of my "x with Alpine" blog posts end up being, well, nothing special. That's a good thing I suppose as it really helps highlight how simple Alpine.js is. (Note, I go back and forth between including the ".js" when referring to Alpine. I should be more consistent I suppose. … | Continue reading
Good morning, readers. These link posts are typically reserved for the weekend, but my weekend ended up busy as heck with, ok, more than a few hours of Diablo 4, but other stuff including the beginning of Christmas decorating. To say we've got a lot of decorations would be an und … | Continue reading
I've been "playing" with serverless for years now, but honestly still feel new to it. When it comes to organization in a project that uses serverless functions, I've typically tried to build one function per operation. So for example, if I had a need to get a list of cats, I'd ha … | Continue reading
This isn't something I was going to blog about, but after seeing the same issue a few times recently (although to be fair, last in a mobile game), I thought I'd share it with my audience. I apologize if the title isn't the best as it was a hard issue to describe, so let me begin … | Continue reading
No. Thank you and goodbye.Ok, first off, I apologize for the click-bait style title. Every now and then when I get an idea for a demo, it doesn't work. But sometimes, it doesn't work out in a fun and interesting way, and I figure it's a good idea to share it anyway. (Also, there' … | Continue reading
Like a lot of folks, I've been spending a lot of time thinking about generative AI, and AI, in general, and oddly (well for me), trying to focus on productive uses for it when working with APIs. A few weeks ago I shared my initial impressions of Google's PaLM 2 API, and today I c … | Continue reading
Happy Sunday, and as I'm currently watching the Saints lose (to be fair, I'm an hour behind, watching it recorded), I figured why not go ahead and share some links that will be more winning than my poor team. As of now, I'm completely done with presentations and travel for the re … | Continue reading
About once every three months I'll write a quick JavaScript demo and attempt to fetch someone's RSS feed... and then remember that the vast majority of RSS feeds don't specify a CORS header to allow remote scripts to load them. I know this - and yet I still tend to forget. I thou … | Continue reading
Late last month, Cloudflare announced new AI features in their (already quite stellar)Workers platform. I've been a big fan of their serverless feature (see my earlier posts) so I was quite excited to give this a try myself. Before I begin, I'll repeat what the Cloudflare folks s … | Continue reading
Hello friends and welcome to another post of links I hope you find interesting. In a few days, I'll be heading out to API World for my last trip of the year and my last in-person event. (I'll be giving the same talk for API World again later this month in their virtual event.) I … | Continue reading
I've really been enjoying working with Google's PaLM 2 AI API and this week I used it to build a pretty interesting demo I think. What if we could use the generative AI features of PaLM to determine the 'sentiment' or general health of a forum? I was able to do so and I think the … | Continue reading
Yesterday I shared my initial impressions of working with Google's PaLM 2 AI API. If you didn't read that article, the tldr is that it's incredibly easy to work with and I was able to get some Node.js code running in minutes. Exactly the kind of experience you want new developers … | Continue reading
Like, I assume, every single developer on the planet, I've been somewhat innudated with GenAI over the past year or so. I find it as fascinating as most folks (ask me about the number of times I've had cat-related conversions with ChatGPT) but while it's fun to play with, I've al … | Continue reading
I've had a lot of fun building Mastodon bots (see my list of super-important business critical bots as an example), typically using the Pipedream platform, and more recently, Cloudflare Workers. The Mastodon API is kinda stupid easy and with "The Other Network" going to hell in a … | Continue reading
Hello from lovely Las Vegas, where, believe it or not, it is actually cooler (temperature-wise) than where I flew in from. This week I'll be speaking at the Adobe ColdFusion Summit and I can't wait to see some old familiar faces. I've got a speaker dinner in a few minutes so this … | Continue reading
It's been a little while since I've blogged about Pipedream. I'm still a very happy user of the service, I just hadn't had anything to write about recently. That changed earlier this month when they announced GitHub support on thier blog. I decided to test it out and here's what … | Continue reading
Many years ago, I first wrote up my experience working with the Marvel API. I find myself returning to it again and again, and this weekend I built a fun little game I think you may enjoy. It's called "Guess the Decade".Marvel's art style has changed drastically over its long his … | Continue reading
A few weeks ago, I finally got around to looking at the official plugins Alpine.js supports and built a little demo that integrated the Intl spec with the Mask plugin. (You can read the post here: Integrating Intl with Alpine.js Mask). Today I thought I'd take a look at another p … | Continue reading
Another weekend and another set of links for yall to enjoy. Yesterday my wife and I drove our eldest to NOLA and the airport there as he begins a ten-month excursion teaching in Germany. I'm so incredibly excited for him and I know he is going to do incredible. Meanwhile, we're s … | Continue reading