Later this month, I'll be speaking at Into the Box 2025 in Washington, DC and online. I've spoken at Into the Box in the past and the Ortus team puts on a great show, so I'd absolutely suggest checking it out if you can. In person tickets are available, although close to selling … | Continue reading
Last month I blogged about Gemini's new image generation support. Previously they had one model, Imagen 3, but recently they added support to the Gemini Flash model as well. It's been on my to do list for a while now to do a proper comparison. While what follows isn't exhaustive … | Continue reading
Not going to lie, this has been a long week. I gave two presentations at Arc of AI, one of which needed to big updates as Chrome changed their API a day before my presentation. To be fair, the browser AI stuff is in development and the changes were good, but I had to scramble a b … | Continue reading
While I was busy getting utterly overwhelmed by deep AI talks at Arc of AI this week, BoxLang released it's third release candidate, and while there's multiple goodies in there, the schedular is the one that interests me the most. Currently the only docs are in the release notes, … | Continue reading
Welcome to another BoxLang Quick Tip! As with my other quick tips, I'll end this blog post with a link to the video version so feel free to skip down to it, or read, or both if you prefer! Today's quick tip is a look at how BoxLang supports sending email, and as with my previous … | Continue reading
Happy Saturday folks. I just spent an hour or two playing "Avowed" (great game) and eventually need to get off my butt and start some bread I want to bake today, so I thought I'd put it off a few minutes more with a quick blog post. As always, these links are meant to be informat … | Continue reading
I'm not sure how useful this will be, but as I recently built it in another language (I plan on blogging that soon as well), I thought I'd take a stab at building it in Python. Given a folder of images, can I use Python to grab the Exif information and then using that, figure out … | Continue reading
Last week, I blogged about updates to Google's Gemini APIs in regards to image generation. That post detailed how there are now two models for generating images with the experimental Gemini Flash model having a nice free tier. One of the interesting features of the API is the abi … | Continue reading
Today's BoxLang quick tip is one near and dear to my heart, generating PDFs. Creating dynamic, expressive PDFs is fairly easy. Let me show you how. As before, I've got a video version as well so you would rather watch that, just skip to the end. Step One - The Module By default, … | Continue reading
So my last Code Break was... painful. My experience trying to learn React did not go well. Because of that I thought strongly about giving up, but what fun would that be? Join me tomorrow (March 18th) at 12PM CST where I'll, once again, try to learn some basic React features and … | Continue reading
Back in January of this year, I wrote up my experience testing out Google's Imagen 3 APIs to generate dynamic images. A few days ago, Google updated their support with new experimental support in Flash. I've been playing with this the last few days and have some code and samples … | Continue reading
Developers seem to have a love/hate (or perhaps hate/despise) relationship with Jira. I've never minded it, but the biggest issue for me is that if I haven't used it in a while, it can be overwhelming. Yesterday I was thinking about this and wondering if perhaps I could build my … | Continue reading
Today I'm kicking off a new blog/video series of quick tips for people interested in BoxLang. These 'quick tips' are just that, a look at how BoxLang can simplify working with the JVM and building CLI scripts, web apps, and serverless applications. Each of these posts will includ … | Continue reading
Diffbot's Knowledge Graph has a simple purpose - bring the sum total of all knowledge to your fingertips via a search that emphasis data and relations over a simple text based search engine experience. Sourced by the entire web, Knowledge Graph lets you perform complex queries ag … | Continue reading
Happy afternoon, programs. I just got back one of my kid's soccer games (unlike last season, the weather is pleasant and not scorching hot) and I've got a Saturday now that is 100% open! Which means I'll get a lot done! (Or, more likely, play video games.) So that I can more quic … | Continue reading
As I've recently become somewhat familiar with job application sites (sigh, thanks Adobe), I've noticed an interesting feature some sites use. After selecting your resume to upload, they will parse the resume and either offer to, or automatically, fill in some of the form fields … | Continue reading
Ok, so if you attended my last Code Break session you know I was hinting that I was really excited for my next one. For years now I've wanted to give React a fair shake and actually try to build something with it. Finally I'm making time to do so. This Thursday at 12PM CST, my ne … | Continue reading
Last week I gave a presentation on Chrome's new built-in AI support (I'll link the video at the end) and it's gotten me inspired to consider new and different ways these APIs can be used to enhance the user experience. These APIs still aren't quite ready for production use, and i … | Continue reading
One of the aspects that makes BoxLang compelling is that it runs on top of the Java Virtual Machine which means you get access to any Java library out there. This is something ColdFusion has as well and in the past, I've integrated Java libraries into my web apps to make use of o … | Continue reading
Last week I wrote about converting a Python file search script to BoxLang. In that post (and the original Python version) I mentioned how the utility wasn't terribly efficient as it needed to recreate an index every time it ran. Despite this, the performance was pretty good, taki … | Continue reading
Happy Link Day... oh wait, that isn't a thing? Well, let's pretend it is. Those of us in Louisiana are in Mardi Gras season with the holiday itself coming up on March 4th. If the weather holds out, we'll be outside catching beads and listening to marching bands. It can be a lot o … | Continue reading
My initial blog post on BoxLang used a simple script example to demonstrate how the language can be used to build shell script type utilities and it got me thinking about other ways I could use BoxLang for my own personal tools. A little over three years ago, I blogged about a Py … | Continue reading
I've blogged a few times recently about Google's AI on Chrome initiative to bring AI features to the browser itself. Yesterday, my Code Break episode was specifically on this topic: Play Video In that session, I talk specifically about the Summarizer API, which does... wait for i … | Continue reading
I've been building web apps for thirty years now, which frankly is kind of scary to see explicitly spelled out. For a large chunk of that time I built web apps using an application server, ColdFusion, where my templates would dynamically output HTML (or other formats like JSON) t … | Continue reading
I've been a fan of serverless for quite some time. My introduction to it was OpenWhisk, way back in 2016. It's been appealing to me for a long time as an easy way to deploy lightweight services quickly. As much as I've been a fan of the technology, I've yet to really embrace Amaz … | Continue reading
Last year I had the opportunity to give a talk on the web platform's Intl specification. This made me incredibly happy because in preparing for the presentation, I discovered so many cool features and capabilities of the spec that I had no idea existed. Almost a year ago, I wrote … | Continue reading
The last week or so I've been playing with a new language, which honestly is one of the most fun things I get to do. BoxLang is a dynamic scripting language that runs on the JVM although you don't really need to know a thing about Java to make use of it. It's currently in beta an … | Continue reading
In my last Links For You post, there was snow outside from a completely unusual snow storm down here in Louisiana. Two weeks later, my AC is running and I'm near back to wearing shorts again. Sigh. I've said it before and will say it again, I cannot wait to get out of the south. … | Continue reading
Let me preface this blog post with a very clear and direct message. Do not do what I did. This is a bad use of generative AI. This is pure silliness with no real practical value whatsoever. This is a really, really, bad idea. But it was fun as hell, so here goes. Last year I did … | Continue reading
The last two sessions of my live stream, Code Break, have been really interesting, at least to me anyway. I've been discussing generative AI with Google Gemini and building a relatively simple example while doing so - a resume review and revisement system. This started off pretty … | Continue reading
Earlier this year, no, wait, last year (time is kinda crazy), I wrote up the process of automating background removal using Adobe's Firefly Services. This post described a Pipedream workflow that monitored a Dropbox folder and... On a new file detected, generated a readable link … | Continue reading
Greetings, programs! This is just a quick reminder that my installment of will be tomorrow, February 4th, at 12PM CST. You can find details and RSVP below: https://cfe.dev/talkshows/codebreak-02042025/ I plan on continuing my look at generative AI with Google Gemini. If you didn … | Continue reading
I've been waiting for this to launch for a few days now, and while technically this isn't quite yet available in Gemini, only Vertex, it should be testable in Gemini in the very short term. You can now use Google's APIs to generate really high quality images via their Imagen 3 te … | Continue reading
Ok, before I begin, let me be absolutely clear. I do not think AI can replace customer support. I do think it can supplement and help customer support however, and I'd like to share an example of what this could look like. Imagine your service has a customer service form or email … | Continue reading
Last week I took a look at Cloudinary GenAI transformations to demonstrate quickly creating different versions of media, including multiple sizes and text copy. While taking a look at other parts of the Cloudinary docs I discovered that they had not one, but four different ways t … | Continue reading
Greetings, programs. I'm writing this from the deep, deep south where my kids were all off school this week because of... snow. I kid you not. On Tuesday we got around ten inches of snow, more than the area's ever seen in recorded history I believe. I grew up in Saint Louis so I' … | Continue reading
I've been happily using Cloudinary on my blog for a few years now, but it's been quite some time since I've blogged about them. For folks who don't know, CLoudinary provides media APIs (image, video) that work via URLs. So for example, I can craft a Cloudinary URL that transforms … | Continue reading
Yesterday I blogged about Pinecone's excellent RAG as a service system for quickly building generative AI systems: "Checkout Pinecone for Serverless RAG". It was so easy, I decided to take a look into what it would take to build a "real" application around their service. With tha … | Continue reading
In my quest this year to expand my AI knowledge outside of Gemini, I was recently introduced to Pinecone. Pinecone provides the ability to create and setup a vector database via serverless, which by itself is darn handy, but it also provides a super convenient wrapper called thei … | Continue reading
I was struggling to get some real, productive work done (I just got back from a trip in Europe) and I thought I'd tackle something that's been in my queue for a little while now. This is, yet again, one of my "bad ideas" that you should probably not ever use in production, but it … | Continue reading
Hey folks! One of the things I promised to do better with the Code Break show was scheduling. With that being said, I'm here to announce the next event and I've got about 4 already on the calendar after that. Hopefully this year I can get a bit more consistent with schedule. That … | Continue reading
As part of my efforts to improve my Python knowledge, I've been looking at the Flask framework for a way to build Python-backed web apps. I've only been looking at it for a short time, but I'm really impressed with how simple it is. In some ways, it reminds me a lot of when I fir … | Continue reading
Welcome to the first Links For You of 2025. I'm currently writing this from, I kid you not, the Danube in Austria. My wife and I are a bit over halfway through a European vacation (one we planned before Adobe decided to give me an early Christmas gift of a layoff). So far, it's b … | Continue reading
As the "Great Social Network Wars" carry on (my term, not anyone else), I'm finding myself more and more enjoying Bluesky. I do more posting on Mastodon, but Bluesky reminds me a lot more of early Twitter. Threads is... ok, but has felt too corporate. I can't even remember the la … | Continue reading
For a while now I've had a tradition here where I end my "blog year" with a wrap up post looking back at how the year went and figuring out what I want for the upcoming year. This is, honestly, a post just for myself, but as usual, I'm always open to what people think, so feel fr … | Continue reading
Welcome to the last Links For You for 2024. Believe it or not, I started this series way back in April of 2022, and I don't know about you, but it's been one of my favorite features of my blog. I love sharing cool links (and music videos!) with readers, and I hope yall have enjoy … | Continue reading
For my last technical post of the year (although I can't promise I'll stop blogging!), I wanted to share an interesting workflow I built using Google Gemini and Pipedream. The idea was somewhat simple - how difficult would it be to build a "general purpose" workflow to look for o … | Continue reading
Earlier this month I took my first look at using Transformers.js, a JavaScript SDK around multiple different models hosted by Hugging Face. My initial experiments worked pretty OK I think. The sentiment analysis felt pretty good, and the object detection (with a cat demo of cours … | Continue reading