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

Building a General Purpose GeoJSON Viewer with Leaflet

Last week I shared my initial experiences with Leaflet and I thought I’d share a small demo I built with it – a general purpose GeoJSON viewer. GeoJSON and Leaflet As I mentioned at the end of my last post, GeoJSON is a specification for encoding ad hoc geographic data. Here’s an example: { "type": "FeatureCollection", "features": [ { "type": "Feature", "id": 0, "properties": { "Code": "FRLA", "Name": "Frederick Law Olmsted National Historic Site" }, "geometry":... more →
Posted in: JavaScript

Quick Example using Azure’s Node.js SDK for Signed URLs

Way back in June (wait, that’s only two months ago?) I wrote up a blog post showing how to use the AWS SDK for Signed URLs: "Quick example using AWS Node.js SDK V3 for Signed URLs". The idea for this was to cover a very specific set of functionality I needed to use along with Adobe’s Firefly Services. Specifically my needs are: Create a readable URL for a cloud storage asset Create a writable URL for a cloud storage asset And on top of that – also I needed to upload directly to cloud storage. I worked with Azure Storage Blob SDK and came up with the following functions. Honestly, use this with a grain of salt as it "worked for me", but I can’t make... more →
Posted in: JavaScript

Mapping with Leaflet

If you missed my <Code><Br> episode earlier this week you missed (imo) a great episode. I’ll share a link to the video at the end, but I spent the session raving about how great the Leaflet JavaScript library is for maps. I had it on my list to look into for a few months now and while having a layover recently I took the time to dig into it. I was – blown away. I’ve got a lot of experience over the years working with maps on the web. I really dig Google Maps, both the JavaScript library and APIs, and I spent some time as a developer evangelist for HERE helping others learn about their offerings. I’m obviously a bit biased but I really dug their offerings as... more →
Posted in: JavaScript

Real-Time Sentiment Analysis on Device with AI in Chrome

Last week, I took a look at Chrome’s GenAI implementation in the browser. What I found was interesting, and rough, but possibly something that could be incredibly useful in the future. I’ve been thinking about it more the last few days. First off, if this feature interests you, there is an early preview program you can sign up for that gives you access to a mailing list containing docs, announcements, and more information. I’ve done that and it was a relatively quick process. There are already cool things I’ve seen there that I want to dig into soon, but today I wanted to share a little experiment. This too does not work terribly well yet, but I think the idea has merit... more →
Posted in: JavaScript

Another Web Component – Table Compressor

Earlier this week I was browsing a site that showed a tabular list of data. It initially showed something like ten rows and had a clickable item that showed the rest of the data. I thought I’d whip up a quick web component that mimicked this functionality. My thinking was that you would wrap a regular HTML table (much like my table sorting component) and the component would truncate and add the ‘click to expand’ logic. Now, to be clear, this still means the user is downloading the entire set of data, but visually it would take up less space until the user selects to show the rest of the data. Let me share the component here and then I’ll explain how it works: class CompressTable... more →
Posted in: JavaScript
1 21 22 23 24 25 105