Cleaning Up My Print View with CSS Media Queries / / No Comments I don’t know why this popped into my head today, but I was thinking about the print version of this page, and others, and what steps could be done to improve the result. Specifically, I was thinking a lot about what should be hidden from the print version as it has no real meaning on paper, or in PDF. With that in mind, I did a quick test – just how well do my pages print now? You can see the result below: Honestly, I think that’s just fine! And I give a lot of credit for that to the blog design I paid for and implemented years ago. That being said, note that on page 6, the real content ends and the entire rest of the page, and all of page 7, isn’t really important.... more → Posted in: JavaScript Tagged with: Cleaning, Media, print, Queries, View
Using GenAI to Create a SDK from Sample Code / / No Comments I’ve been experimenting more and more with AI-assisted coding (not gonna call it vibe coding, even when I do), and the results have been incredibly interesting. Today, I decided to try something interesting – generating a SDK for an API. There are multiple tools out there that can convert an OpenAPI specification to an SDK (and those tools I’ve seen are pretty darn cool), but I wanted to attempt another route. Earlier this month I blogged about the new Foxit PDF APIs I’m working with. These APIs are all really simple, which is good of course, but when prepping for the release, I wanted to build code samples for every possible operation. I did so, and they’re up in... more → Posted in: JavaScript Tagged with: code, create, from, GenAI, Sample, using
Creating a Calendar with BoxLang – Part Deux / / No Comments Earlier this week I posted a quick look at building a simple calendar with BoxLang, specifically an HTML one meant for a web page of course. This was a bit complex due to the needs of creating a proper HTML table, but generally I was… ok with the result. Yeah that’s nice and vague, but there’s some code I could state at and think of alternatives for nearly forever and it’s ok to just put it down and walk away. So obviously, I’m returning to it today. Specifically, how to get events on the calendar. Sample Data I started off with some sample data. Initially I thought about finding something online, perhaps a list of holidays, but I really wanted something good for... more → Posted in: JavaScript Tagged with: BoxLang, calendar, creating, Deux, part
Results from My Vibe Coding Live Stream / / No Comments Usually for my Code Break shows, I assume if folks miss it they’ll just check out the recordings, but while my earlier session is fresh in my mind, I thought I’d share a bit more about the session and a look at the code generated. It actually went a heck of a lot better than I anticipated to be honest, and was fun. To be clear, it wasn’t perfect, and I’ll touch a bit on what my tool of choice struggled with, but overall I’m really impressed with what I got built in an hour. What I Used and Why Constant readers here know I almost always use Google Gemini for anything AI related, but I’ve been trying to branch out a bit lately. Also, I found their Visual Studio... more → Posted in: JavaScript Tagged with: coding, from, live, results, stream, Vibe
Building a CSV Report CLI Tool in BoxLang / / No Comments Remember some time ago (yesterday) when I wrote about CSV parsing in BoxLang using the opencsv Java library and Maven? As I said then, my initial impetus for that post was to recreate my ColdFusion Hackathon project, but once I got it working, it turned out to be really useful for something completely different. The Data If you’re on a desktop machine and look down to your right, you’ll notice I’ve got an ad from from EthicalAds. I’ve been using them as an ad network for a bit over a year now. I’m not going to get rich anytime soon with the money I’ve earned, but it’s the first ad network in a while that felt low key and less "in your face".... more → Posted in: JavaScript Tagged with: BoxLang, building, Report, tool
Upcoming Code Break and Live Streams Next Week / / No Comments Hey folks. Next week I’ve got not one, not two, but three different presentations happening. Here’s what I’ve got going on. Code Break Episode 29 My next Code Break episode will be Tuesday, July 8th at 12PM CST. I’ll be doing some playing around with vibe coding, and yes, I still hate that term. But I’ve had some recent successes, and failures, with it and I thought it would be fun to explore. Whether you are pro, or anti, generating code with AI, I’d love to have you come in and share your feedback. The DevRel Show I’ll be on Frédéric Harper’s DevRel show on July 10th at 2PM CST, talking about APIs, specifically Foxit APIs. This is my first time... more → Posted in: JavaScript Tagged with: Break, code, live, Next, streams, Upcoming, Week
Parsing CSV in BoxLang – Maven Style / / No Comments I recently did some CSV parsing in ColdFusion while working on my ColdFusion 2025 Hackathon submission, and while I didn’t win, I really enjoyed the little utility I built. That tool made use of CSV parsing support in Adobe ColdFusion and I thought I’d take a look at what I’d need to use to support that in BoxLang. This led me to look for a Java tool and gave me a chance to try something new in BoxLang, Maven support. BoxLang runs on the JVM, but doesn’t really require you to know any Java. Which is good. I’ve been "casually" familiar with Java since it came out, but have never done any real work in it nor really spent any time learning the language. I... more → Posted in: JavaScript Tagged with: BoxLang, Maven, Parsing, Style
AI with BL / / No Comments Forgive the somewhat cutesy title. I hate vague titles that only serve to be clickbait, but given the subject, I couldn’t help it. This post is about AI, specifically Generative AI, with BL, AKA BoxLang. This has always been possible with BoxLang and any GenAI service that had a REST API, but recently the team released an impressive AI Module that makes this a lot easier. So what does it do? Much like LangChain, the BoxLang AI module provides a unified interface to work with multiple different AI providers. This makes it a bit easier to switch from one service to another. I don’t necessarily see people doing that willy nilly. Each service has it’s unique strengths and weaknesses... more → Posted in: JavaScript