Links For You (9/15/2024)

Happy Half Way Through September… which isn’t a thing I guess, but, I’m just in awe at how much faster time goes in the fall compared to summer. With the kids in school, and activities, time just seems to fly by. In roughly two weeks I’ll (and my wife) will be in Vegas for the Adobe ColdFusion Summit. If you’ll be there too be sure to say hi. Before then I’ll be speaking online at the JavaScript Global Summit next week. All of these upcoming conferences is just enough to make me forget I got a rejection today. 😉 Lets focus on the positive, right, like some fun links for your enjoyment! CSS One Liners First up is a great collection of CSS one liners by Alvaro... more →
Posted in: JavaScript

Using AI to Roast Your Photos

Chalk this up as another of my "this is probably not a good idea, but it’s fun" blog posts. A few weeks back my buddy and ColdFusion Evangelist Mark Takata shared a fun little thing he did with GenAI – using it to roast himself. That immediately set me off on a quest to see just how much fun I could have with the idea. Now, to be clear, I do not like mean people. But having a disembodied set of code routines roast me? Sounds perfect. Back in December last year, I built an experiment where I used the device camera on a mobile web app and asked Google Gemini what kind of cat breed was in the picture: Using Generative AI to Detect Cat Breeds That experiment worked really well... more →
Posted in: JavaScript

Using the Chrome AI Summarizer (Early Look)

I’ve looked at Chrome’s on-device GenAI development a few times now, and as a feature it is moving pretty fast. In fact, that first post and my follow up both don’t work anymore due to the API changing. I’m fine with that as I knew it was a bleeding edge feature, but I just want to warn folks ahead of time that everything you see here may, no, will change, probably a lot. As before though, I’m keep getting more and more excited about the possibilities here. I’m still not certain this will see the light of day (in mainline Chrome) or expand out to other browsers, but it’s quite interesting. Most recently, Google has added three new APIs to the feature: A... more →
Posted in: JavaScript

How to Download a YouTube Video or Channel

The ability to download media on the internet almost feels like a lost art. When I was in my teens, piracy of mp3s, movies, and just about everything else via torrents and apps like Kazaa, LimeWire, Napster, etc. was in full swing. These days sites use blob URLs and other means to prevent downloads. Luckily we have tools like yt-dlp to download individual YouTube videos or entire channels of content. To download an entire channel, you can use yt-dlp: yt-dlp https://www.youtube.com/@beetlejuicearchives3490 If you’re like me and only care for the audio, you can use a few more arguments: yt-dlp -x --audio-format mp3 https://www.youtube.com/@beetlejuicearchives3490 youtube-dl used to be... more →
Posted in: JavaScript

Let’s Map Traffic Incidents… Again

This blog has been around for a while (twenty one years currently) so it isn’t too uncommon for me to revisit old topics and demos and rebuild them. I think today’s post may be something of an outlier though. Way back in 2010, early 2010, I built a Proof of Content 911 Viewer that wrapped a local police department’s web site, lafayette911.org. Note the cute disclaimer at the bottom of the site saying you have to ask permission to link to it. Tell me you don’t know how the internet works without telling me you don’t know how it works. Anyway, back in 2010 I used Yahoo Pipes (pour one out for a cool as heck web service) to scrape the data and store it in a database.... more →
Posted in: JavaScript

Using PDF Content with Google Gemini – An Update

Way back in March of this year, I took a look at using Google’s Gemini APIs to analyze PDF documents ("Using PDF Content with Google Gemini"). At the time, the Gemini API didn’t support PDF documents, so I made use of our (Adobe) PDF Extract service to get the text content out from the document. This "worked" but was possibly less than ideal as my "glom all the text together" approach didn’t really represent the PDF well. The PDF Extract API returns information about text context (like if it is a header for example), but my method ignored that. I’m happy to share that Gemini now supports PDF files natively. Let’s take a look at how this... more →
Posted in: JavaScript

Using CSV Data with Leaflet

As I continue to play with, and really freaking enjoy Leaflet, I thought it would be interesting to show a demo of using CSV data with it. This also coincides with an interesting dataset I got from the Data is Plural newsletter, a collection of datasets covering just about any topic you can imagine. A few weeks back, they shared ancient shipwrecks covering the years from 1500 BC to 1500 AD. I know, that’s a bit random, but I thought it was kinda cool. The dataset covers near two thousand unique shipwrecks and includes information, at times, about the cargo that was being carried. I thought this would be fun to map, and here’s how I did it. Working with CVS Disregarding the map, the... more →
Posted in: JavaScript

Links For You (8/31/2024)

For my American readers, I hope you are able to enjoy a relaxing three day weekend. I’ve got big plans to do absolutely nothing and do quite a bit of it. My September is going to be busy so I’d like to try my best not to think about that for the next few days. Let’s get to the links! One Million Checkboxes – You Won’t Believe This… I use a note app to keep track of the links I want to share in these posts and generally, I share in a FIFO manner – the oldest added links first. But this… this link comes from a post shared recently on Mastodon and frankly was way too cool to put off. I don’t even want to tell you about this link, I just want... more →
Posted in: JavaScript
1 30 31 32 33 34 114