Recent Activity
Recent Heroes of the BenNadel.com Community
-
Posted 18 comments since February 14, 2010
-
Posted 294 comments since October 23, 2012
-
Posted 4 comments since November 11, 2022
-
Posted 4 comments since October 1, 2023
-
Posted 7 comments since September 13, 2023
-
Posted 9 comments since August 16, 2024
-
Posted 1 comment since November 3, 2025
-
Posted 1 comment since November 8, 2025
-
Posted 1 comment since November 27, 2025
Recent Comments
Mike Peters replied to a post Using ColdFusion For Rapid Application Prototyping
Comment posted December 4, 2025
100% Ben. I have to do lots of experimentation, so I use tag-based CFML for rapid prototyping to figure out what works. Sometimes, the simpler the tool, the easier it is to think, and the faster you get there. 😎... read entire comment from Mike Peters.
Chris G replied to a post Using ColdFusion For Rapid Application Prototyping
Comment posted December 4, 2025
Dang it... I jump through so many hoops to do what output=true solves natively. How did I not know (or had forgotten) that?! Bye bye cfsavecontent, return content variable 🤦... read entire comment from Chris G.
Bill Nourse replied to a post Using ColdFusion For Rapid Application Prototyping
Comment posted December 4, 2025
Hey Ben, Thanks for the post, a nice reminder of the versatility of CFML. A developer can take one single file (such as index.cfm) and throw something together in minutes. You can mix CFML with CSS, HTML, and JS all in one file, pretty darn useful for prototyping. It might not be pretty, but that's ... read entire comment from Bill Nourse.
Igor replied to a post Creating A Marquee Effect With CSS Animations
Comment posted November 27, 2025
Thanks, great example, helped a lot!... read entire comment from Igor.
Ben Nadel replied to a post Keyboard Shortcut For Moving Focus To Form Using Alpine.js
Comment posted November 22, 2025
After writing this, I then moved the x-keyed-focus form the <form> element to the <input> element: See: Commit 967ed6 I think <input x-keyed-focus> is just going to better in the long term for clarity.... read entire comment from Ben Nadel.
Ben Nadel replied to a post Working On Open Graph Images For Big Sexy Poems In ColdFusion
Comment posted November 21, 2025
As a quick follow-up, these Open Graph images have now been integrated into Big Sexy Poems: https://www.bennadel.com/blog/4848-generating-serving-and-caching-open-graph-images-using-coldfusion.htm... read entire comment from Ben Nadel.
Ben Nadel replied to a post Using Custom Fonts In CommandBox Docker Image And Windows ColdFusion
Comment posted November 11, 2025
@James, 100% it actually took me a good bit of trial-and-error to figure out what the font-names were. When I ran fc-list, it gave me more than actually worked. So I just kept commenting-out names until I had the list working. I had tried to use a cfide example that I had found; but it was throwing ... read entire comment from Ben Nadel.
James Moberg replied to a post Using Custom Fonts In CommandBox Docker Image And Windows ColdFusion
Comment posted November 11, 2025
I've noticed that sometimes the font names registered in ColdFusion are different than what you'd think... so it is good to list them. I previously used cfide.adminiapi.administrator(), logged in, used cfide.adminapi.runtime() and then used the getFonts() method to receive a struct with system, user... read entire comment from James Moberg.
Ben Nadel replied to a post Utilities For Generating "id" / "for" Attributes In ColdFusion
Comment posted November 9, 2025
Here's the commit of my changes on Big Sexy Poems: 8a45e6 . There were a few places I couldn't apply the change since the id values were being referenced outside the scope of the form field (via htmx triggers). But, over all, I think this will make copy-paste-driven development much easier since I w... read entire comment from Ben Nadel.
Ben Nadel replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 9, 2025
@Boris, For me, this is kind of the point thought: On the other hand, returning an Option (or Maybe) makes it kind of unclear which type the variable has that is contained. Meaning, you would only use a Maybe if the state of the value was unclear. For data that should always exist, I just return / c... read entire comment from Ben Nadel.
Boris replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 8, 2025
Rust solves this with the Option-Enum which has two variants: Some(value) and None. Similarly the Result-Enum is used for handling errors and also has two variants: Ok(value) and Err(errorValue). I wish ColdFusion had Enums. On the other hand, returning an Option (or Maybe) makes it kind of unclear ... read entire comment from Boris.
Ben Nadel replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 7, 2025
Ha ha. It is he who shall not be named 🙃... read entire comment from Ben Nadel.
John Whish replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 7, 2025
Ha! I'd just about forgotten about CFMX 6 and you had to remind me of it :P... read entire comment from John Whish.
Ben Nadel replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 7, 2025
@John, Definitely part of me is still having PTSD from CFMX 6 when CFC instantiation was dramatically more expensive. I've never really adjusted my mental model for creating transient CFCs. Still to this day, all of my CFCs are just cached in memory at application-boot. I need to run some speed test... read entire comment from Ben Nadel.
John Whish replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 7, 2025
Calling it becomes public Maybe function maybeGet( required numeric id ) { var results = gateway.getByFilter( id = id ); if ( results.len() ) { return new Maybe( results.first() ); } return new Maybe(); } :D... read entire comment from John Whish.
John Whish replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 7, 2025
@Ben Nadel, I just don't really like returning structs from things, they start off all nice and simple but then devs over time decide to add extra data to it and soon it's a mess. That's generally why I prefer to return an object. It could do exactly what you have right now, but reading the code I i... read entire comment from John Whish.
Ben Nadel replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 7, 2025
@John, Exactly, only with muuuuch less ceremony :P I've tried to look at those Java docs before and it always feels like it's trying to solve a much bigger problem-set than I need. I really just want to know if a value is safe to reference. I think the Java/CB one is more geared towards Functional P... read entire comment from Ben Nadel.
John Whish replied to a post What If "Maybe" Was A Core Data Type In ColdFusion
Comment posted November 7, 2025
This makes me think about the Optional pattern not quite the same but I think it's trying to solve a similar problem. https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html ColdBox uses that kind of idea with cbstreams https://github.com/coldbox-modules/cbstreams?tab=readme-ov-file#option... read entire comment from John Whish.
Balamurugan replied to a post Using "pageshow" Event To Re-enable Forms After Back-Button Navigation
Comment posted November 3, 2025
Really helpful. Thank you... read entire comment from Balamurugan.
Ben Nadel replied to a post Normalizing Query Cross Join Data Using Namespaces In ColdFusion
Comment posted November 2, 2025
@Dawesi, What can I say - clearly great minds think alike 🙌 Pulling in data from multiple sources is a whole all ball of complexity. Sometimes, I really want to find a nice abstraction that makes zipping-together code more easy; but, I struggle to find the "right" abstraction; or one with a nice AP... read entire comment from Ben Nadel.
Ben Nadel replied to a post I Will Not Be Enabling Full Null Support In Adobe ColdFusion 2025
Comment posted November 1, 2025
@James, Yeah. I was just hoping that maybe this would be something that reduced complexity overall. Even if were to enable null-support from the get-go, it still seems like it's just easier to depend on the default "undefined key" / isNull() checking.... read entire comment from Ben Nadel.
Dawesi replied to a post Normalizing Query Cross Join Data Using Namespaces In ColdFusion
Comment posted November 1, 2025
IMHO you need both techniques, as quite often manipulating data from different sources (db,clickhouse,social media, apis) to combine into one useful data object for presentation layer also. That said i'm enjoying sql 2025 with polybase, and the ease that combination brings from ETL by allowing you t... read entire comment from Dawesi.
Dawesi replied to a post Normalizing Query Cross Join Data Using Namespaces In ColdFusion
Comment posted November 1, 2025
It never ceases to amaze me how much our cfml journeys are parallel. It's almost creepy, and since you started blogging I felt that I never needed to mostly, as you already say what I would have posted anyway, from the time you started until now. That said there is much I should have blogged but did... read entire comment from Dawesi.
James Moberg replied to a post I Will Not Be Enabling Full Null Support In Adobe ColdFusion 2025
Comment posted October 31, 2025
In a complex function, if you need to dynamically determine if this flag is enabled at the application level, you'll need to use getApplicationMetaData(). applicationMetadata = getApplicationMetadata(); isNullSupportEnabled = structkeyexists(applicationMetadata, "ENABLENULLSUPPORT") && yesnoformat(a... read entire comment from James Moberg.
Ben Nadel replied to a post Telling My ColdFusion Connector/J JDBC MySql Connection String To Use UTC
Comment posted October 24, 2025
Now that I have my server running in UTC, I'm change the preserveInstants=true setting to false: preserveInstants=false Even after reading the docs and chatting with the GPT, I still don't fully understand what this means. But, I think it means that the Connector/J won't try to do any timezone-based... read entire comment from Ben Nadel.
Chris G replied to a post Telling My ColdFusion Connector/J JDBC MySql Connection String To Use UTC
Comment posted October 23, 2025
@Ben Nadel, Yikes! Those have to be related to an environmental difference, right? Good luck!... read entire comment from Chris G.
Ben Nadel replied to a post Telling My ColdFusion Connector/J JDBC MySql Connection String To Use UTC
Comment posted October 23, 2025
@Chris, And, on top of that, I have some bugs that are showing up in production that don't show up in development (unrelated to the date-stuff), which makes debugging even all the harder — yes, I'm debugging in production 😱 I have to figure out why some of my bugs aren't getting logged to my bug-tr... read entire comment from Ben Nadel.
Chris G replied to a post Telling My ColdFusion Connector/J JDBC MySql Connection String To Use UTC
Comment posted October 23, 2025
@Ben Nadel, Ugg...why does timezone coding sometimes feel like armoring up to go into battle? I feel for you! I have my MySQL server set to UTC as well...was the path of least resistance.... read entire comment from Chris G.
Ben Nadel replied to a post Telling My ColdFusion Connector/J JDBC MySql Connection String To Use UTC
Comment posted October 23, 2025
Alright, I finally just caved and set my server to be running in UTC. I wanted to avoid this since it's not set in the code (ie, source control); and I hate having hidden dependencies. But, maybe running in UTC is just enough of a "best practice" that I don't mind. That said, when I brought the serv... read entire comment from Ben Nadel.
Ben Nadel replied to a post Telling My ColdFusion Connector/J JDBC MySql Connection String To Use UTC
Comment posted October 23, 2025
Ugggg, so this saga continues. I thought I had it all working properly, but it seems that even with the changes I made, the dates coming out of the database table are getting changed in transit. This is, for some reason, different than the dates that was merely echoing in the SQL request. Meaning, I... read entire comment from Ben Nadel.
Ben Nadel replied to a post Strange ___IMPLICITARRYSTRUCTVAR Behavior In ColdFusion
Comment posted October 21, 2025
@James, Good question. I can't remember if I ever even tested the root issue in Lucee. Generally, Lucee gets this stuff correct. I'll have to spin up a CommandBox instance to test - I was just running this in my BSP container. I'll get back to you.... read entire comment from Ben Nadel.
James Moberg replied to a post Strange ___IMPLICITARRYSTRUCTVAR Behavior In ColdFusion
Comment posted October 21, 2025
Re, ( form ?: {} ), does this issue exist prior to CF2025 (or on Lucee or BoxLang)? I'm also curious if it would exhibit the same behavior if the ordered struct notation [:] were used.... read entire comment from James Moberg.
Ben Nadel replied to a post Strange ___IMPLICITARRYSTRUCTVAR Behavior In ColdFusion
Comment posted October 21, 2025
Ok, just ran into this issue again, but with a slightly different syntax. While working on BigSexyPoems, which uses ColdFusion 2025, this will leak the same variable: ( form ?: {} ) This isn't a ternary operator, but it is a complex expression that has an implicit struct creation. To get around this... read entire comment from Ben Nadel.
Ben Nadel replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 19, 2025
@Danilo, Absolutely. I could just put some sort of flag in the request scope and then early-exit out of the dumpStyles() function it's already been set. I might add that. Then again, I might not since I'll only ever dump-out to the screen in development, never in production. So, a little extra cruft... read entire comment from Ben Nadel.
Danilo Celic replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 18, 2025
@ben, Don't know how CFC's work in practice…Can you address the multiple STYLE tags by tracking how often dump has been called with a private variable within the CFC, and only output the STYLE tag the first time?... read entire comment from Danilo Celic.
Ben Nadel replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 18, 2025
@Jack, Oh trust me, it took every ounce of restraint I had to not make the title of this post 1000% more snarky 😜... read entire comment from Ben Nadel.
Ben Nadel replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 18, 2025
@Giancarlo, I haven't heard of "JetBrains Mono" before. I've been a "Source Code Pro" person for years. And I see JetBrains even compares the two fonts. I'll give yours a try to see how it feels. Clearly they put a lot of thought into it.... read entire comment from Ben Nadel.
Jack Poe replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 18, 2025
My team refers to the cfdump tag with so many toilet jokes 😅... read entire comment from Jack Poe.
Giancarlo Gomez replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 18, 2025
Hey Ben, This is what I use :-) Makes my eyes happy. table[class*="cfdump"] * { font-family: "JetBrains Mono", Consolas, monospace; font-size: .875rem; line-height: 1.42; vertical-align: top; }... read entire comment from Giancarlo Gomez.
Ben Nadel replied to a post Telling My ColdFusion Connector/J JDBC MySql Connection String To Use UTC
Comment posted October 17, 2025
@Laurence, It's a classic! I've added the link to your comment. If anyone hasn't seen it, they should.... read entire comment from Ben Nadel.
Laurence replied to a post Telling My ColdFusion Connector/J JDBC MySql Connection String To Use UTC
Comment posted October 17, 2025
For a hilarious and frightening treatise on this, check out the Youtube video "The Problem with Time & Timezones - Computerphile". I didn't include a link as that might be considered click-bait.🤪... read entire comment from Laurence.
Ben Nadel replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 17, 2025
@Bobby, I think back to the early days in my career when people were all designing UIs with 11px fonts. And then there were font families that were designed to be readable at even smaller sizes! What were thinking?!?!? 😱... read entire comment from Ben Nadel.
Bobby T replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 17, 2025
Thank you so much Ben! My eyes have been having a hard time reading the cfdumps for a while now, and I've had to resort to magnifying my window to 130%. I'm glad to know I'm not the only one with this experience. I'm going to try your solution, for sure! Cheers!... read entire comment from Bobby T.
Ben Nadel replied to a post Making CFDump Easier To Read As I Get Older
Comment posted October 17, 2025
Over on Facebook, James Moberg noted that calling dump() multiple times will result in multiple <style> tags getting injected. This is true; but, at the very least, it shouldn't be an issue. Each CSS property block should just overwrite the previous one (or rather, since it has the same selector spe... read entire comment from Ben Nadel.
Ben Nadel replied to a post Normalizing Query Cross Join Data Using Namespaces In ColdFusion
Comment posted October 16, 2025
@Phill, Ha ha, I was literally just considering this over on LinkedIn a few minutes ago. It's a really fascinating idea. My only concern would be some of the added complexity. But, actually seeing you write it out, it's not as complex as I had made it out in my head. I'd even be happy getting rid of... read entire comment from Ben Nadel.
Phill Nacelli replied to a post Normalizing Query Cross Join Data Using Namespaces In ColdFusion
Comment posted October 16, 2025
Ben, You know I'm always preaching the "Let the DB do what it's great at". Rather than doing all this transformation in code, why not get the resulting JSON you want right away from the DB? Most major DBMSs now support full relational to JSON native transformation. For example, in MySQL you can do t... read entire comment from Phill Nacelli.
Ben Nadel replied to a post Normalizing Query Cross Join Data Using Namespaces In ColdFusion
Comment posted October 16, 2025
@Ken, I appreciate the kind words 🙂 Like you, I basically always start with the database schema. I like to get it straight in my head how things are modeled and how they relate to each other. I like to think about the indexes that make sense for performance; and the indexes that makes sense for con... read entire comment from Ben Nadel.
Ken Auenson replied to a post Normalizing Query Cross Join Data Using Namespaces In ColdFusion
Comment posted October 16, 2025
My brain always starts with the data and the database, So I cringe when I look at database tables that don't prefix the column names with the table name. In a SQL select statement: p.poem_id, p.poem_name, s.share_id, s.share_name Looks much more clear to me than: p.id, p.name, s.id, s.name So what... read entire comment from Ken Auenson.
Ben Nadel replied to a post Functions For Coalescing Values In ColdFusion
Comment posted October 13, 2025
@Chris, Ha ha, you're welcome 😛 really, the only truly problematic edge-case that I've ever run into is that ACF treats the [empty string] as a "falsy" value in pre-2025, and Lucee CFML did not. Which means that if you took code like this: ( value ?: fallback ) ... that was written and proven to be... read entire comment from Ben Nadel.
Chris G replied to a post Functions For Coalescing Values In ColdFusion
Comment posted October 13, 2025
This is all super interesting to step through. I'm now nervous about having used Elvis operatiors throughout my applications. Thanks for that 😜 I'm having trouble wrapping my head around why this blows up any encapsulation strategies you have. Would you mind giving us more words about that? Persona... read entire comment from Chris G.