Come Learn about BoxLang at Into the Box 2025

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


@raymondcamden.com | 6 hours ago

Comparing Google's Image Generation Models

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


@raymondcamden.com | 1 day ago

Links For You (4/5/25)

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


@raymondcamden.com | 4 days ago

Scheduling Code in BoxLang

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


@raymondcamden.com | 5 days ago

BoxLang Quick Tips - Sending Email

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


@raymondcamden.com | 13 days ago

Links For You (3/22/25)

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


@raymondcamden.com | 18 days ago

Geolocating a Folder of Images with Python

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


@raymondcamden.com | 20 days ago

Creating Images with Generative AI via Conversation

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


@raymondcamden.com | 21 days ago

BoxLang Quick Tips - PDF Generation

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


@raymondcamden.com | 22 days ago

Watch me suffer with React more in tomorrow's Code Break!

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


@raymondcamden.com | 23 days ago

Generative Images with Gemini (New Updates)

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


@raymondcamden.com | 26 days ago

Building a Jira Search Tool in BoxLang

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


@raymondcamden.com | 27 days ago

BoxLang Quick Tips - Database Access

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


@raymondcamden.com | 29 days ago

Automating and Responding to Sentiment Analysis with Diffbot's Knowledge Graph

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


@raymondcamden.com | 1 month ago

Links For You (3/8/25)

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


@raymondcamden.com | 1 month ago

Parsing Uploaded Resumes into Form Fields with Google Gemini

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


@raymondcamden.com | 1 month ago

Code Break this Thursday - Ray Finally Learns React

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


@raymondcamden.com | 1 month ago

Using AI in the Browser for Typo Rewriting

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


@raymondcamden.com | 1 month ago

Using Java Libraries in BoxLang

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


@raymondcamden.com | 1 month ago

Using Parallel Looping in BoxLang

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


@raymondcamden.com | 1 month ago

Links For You (2/22/25)

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


@raymondcamden.com | 1 month ago

Building a File Search Script in BoxLang

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


@raymondcamden.com | 1 month ago

Quick Demo of Chrome's Summarization GenAI (Upcoming) API

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


@raymondcamden.com | 1 month ago

Building a Web App with BoxLang

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


@raymondcamden.com | 1 month ago

Building Serverless Lambda Functions with BoxLang

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


@raymondcamden.com | 1 month ago

Using Intl.DurationFormat for Localized Durations

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


@raymondcamden.com | 1 month ago

Introducing BoxLang - Scripting for the JVM

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


@raymondcamden.com | 1 month ago

Links For You (2/8/25)

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


@raymondcamden.com | 2 months ago

Doing Evil Things with Generative AI and Recipes

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


@raymondcamden.com | 2 months ago

Building a Resume Review and Revise System with Generative AI and Flask

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


@raymondcamden.com | 2 months ago

Automating Image Improvement with Cloudinary

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


@raymondcamden.com | 2 months ago

Join Me for a Code Break Tomorrow

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


@raymondcamden.com | 2 months ago

Generative AI Images with Gemini and Imagen - an Introduction

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


@raymondcamden.com | 2 months ago

Using Generative AI to Help in Customer Service

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


@raymondcamden.com | 2 months ago

Testing Cloudinary Image Enhancements

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


@raymondcamden.com | 2 months ago

Links For You (1/25/25)

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


@raymondcamden.com | 2 months ago

Automating Media Asset Creation with Cloudinary's GenAI Transformations

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


@raymondcamden.com | 2 months ago

Let's Build a Web App for Pinecone

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


@raymondcamden.com | 2 months ago

Checkout Pinecone for Serverless RAG

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


@raymondcamden.com | 2 months ago

Turn Your Weather into Poetry with GenAI

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


@raymondcamden.com | 2 months ago

Next CodeBreak - Let's AI!

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


@raymondcamden.com | 2 months ago

Simple Blog Example in Flask

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


@raymondcamden.com | 2 months ago

Links For You (1/11/25)

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


@raymondcamden.com | 2 months ago

Building a Bluesky AI Sentiment Analysis Dashboard

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


@raymondcamden.com | 3 months ago

Onwards to 2025...

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


@raymondcamden.com | 3 months ago

Links For You (12/28/24)

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


@raymondcamden.com | 3 months ago

Automating Object Detection with Google Gemini GenAI and Pipedream

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


@raymondcamden.com | 3 months ago

Summarizing with Transformers.js

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


@raymondcamden.com | 3 months ago