Using IndexedDB with Alpine.js / / No Comments 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. On one hand, Alpine.js is the formal name, but Alpine just feels simpler.) That being said, the impetus for this post was to get something basic done before I built something a bit more complex. So if you wish to TLDR – it just works, visit my CodePen for the full source, and come back for the next post. If you’re still curious, keep on reading. IndexedDB – Vanilla or Library?... more → Posted in: JavaScript Tagged with: Alpine.js, IndexedDB, using
Adding Simple Routing to Cloudflare Workers / / No Comments 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 have one function. If I had a need to get information about a cat based on an identifier, I’d probably build a second one. That being said, I recently came across an example Cloudflare function that did something cool – it used a router, specifically the very lightweight itty-router. Let me share an example of how it works. What is a Router? # So I kinda assume most folks know what... more → Posted in: JavaScript Tagged with: Adding, Cloudflare, Routing, simple, workers
A Tip for Properly Handling Loading States in Web Apps / / No Comments 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 by demonstrating the problem, and then the (hopefully) obvious solution. Loading Data # Here’s a super simple example of a web page that loads some data from the API. In this case, it’s the Star Wars API which, unfortunately, has been pretty slow recently. On the flip side, that helps illustrate that issue. The HTML is just an h2 and an empty ul and the JavaScript is fairly simple: document.addEventListener('DOMContentLoaded',... more → Posted in: JavaScript Tagged with: apps, handling, Loading, properly, States
Can GenAI help you win in Vegas? / / No Comments 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’s always the strong chance that it didn’t work out because I did something wrong!) Today’s demo is a perfect example of that I think. Earlier this year I built a Blackjack game using Alpine.js and the quite excellent Deck of Cards API. Yesterday I was thinking about the game and I wondered – what would happen if I used generative AI to ask for help when playing it? So for example,... more → Posted in: JavaScript Tagged with: GenAI, help, Vegas
Creating Human-Readable Summaries of Data with Google PaLM Generative AI / / No Comments 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 came up with an interesting use case for it. I’ve seen text summarization as a fairly common use case for gen AI, and I agree, it can be incredibly helpful when working with lots of text. However, I got to thinking today, would it be possible to use this as a way to summarize numerical, or other data? So given some process that returns a set of information, can we use gen AI to summarize it? Here’s... more → Posted in: JavaScript Tagged with: creating, data, Generative, Google, HumanReadable, palm, Summaries
Building a Generic RSS Parser Service with Cloudflare Workers / / No Comments 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 thought it would be kind of fun to build a serverless API via Cloudflare Workers to handle loading, parsing, and returning a RSS feed with CORS allowed. I figured this would be pretty easy, but I ran into a snag right away. Workers and NPM Modules # Cloudflare Workers is Node.js compatible… with some issues. Cloudflare has a documentation page on it addressing what you may run into, and for... more → Posted in: JavaScript Tagged with: building, Cloudflare, Generic, Parser, service, workers
How to Get the Current Branch Name with git / / No Comments Most developers spoil themselves with fun command line utilities to make their work easier and more efficient. One such command line helper allows developers to always show the git branch in the command line. How can you get the current branch? With this handy snippet: git branch --show-current It’s great to keep this snippet around for any automation you may create moving forward! The post How to Get the Current Branch Name with git appeared first on David Walsh Blog. David Walsh Blog… more → Posted in: JavaScript Tagged with: Branch, Current, name
Using Cloudflare’s AI Workers to Add Translations to PDFs / / No Comments 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 said in their announcement: "Usage is not currently recommended for production apps". So with that in mind, remember that what I’m sharing today may change in the future. The Demo # Before I get into the code, let me share what I’ve built. Now, at the time I wrote this, Cloudflare’s AI stuff was still in beta and there is no cost yet for using the features. This is, obviously, going... more → Posted in: JavaScript Tagged with: Cloudflare's, PDFs, Translations, using, workers