Data Grids CF Overflow Follow Us! RSS |
ColdFusion Posts Around the World.

A Bit Of Optimism: This Might Not Work
Ben Nadel
Ben Nadel shares an inspiring bit of discussion between Simon Sinek and Seth Godin on embracing failure in order to express love....
Trying To Get ChatGPT 4 To Solve My Hotwire Form Submission Problem
Ben Nadel
Ben Nadel tries to get ChatGPT to solve a problem that he is having with Hotwire form submissions....
Disabling Turbo Drive In A Subdirectory Of Your ColdFusion Application
Ben Nadel
Ben Nadel demonstrates how to disable Hotwire Turbo Drive on all links that point to a given subdirectory within a ColdFusion application....
Russian Doll Content Wrapping With CFSaveContent In ColdFusion
Ben Nadel
Ben Nadel demonstrates how to use Russian Doll content nesting with the CFSaveContent tag to compose data in ColdFusion....
Working Code Podcast - Episode 119: Potluck
Ben Nadel
Ben Nadel and the crew talk about a variety of topics from independent consulting to technical debt to common sense to Bloom filters....
Incrementally Applying Hotwire To An Existing ColdFusion Application
Ben Nadel
Ben Nadel describes a plan for incrementally applying Hotwire (Turbo, Stimulus) to an existing ColdFusion application....
I've Never Had A Good Story For View-Rendering Helpers In ColdFusion
Ben Nadel
Ben Nadel explores a way to package common view-rendering methods in a ColdFusion component....
Working Code Podcast - Episode 118: Things We Should Be Doing
Ben Nadel
Ben Nadel and the crew talk about all the things they should be doing; but, which they can't quite motivate to get done....
Using Nested Stimulus Controllers With Hotwire And Lucee CFML
Ben Nadel
Ben Nadel looks at several ways to communicate between nested Stimulus controllers in a Hotwire and ColdFusion application....
Using "return" To Short-Circuit A CFML Template In ColdFusion
Ben Nadel
Ben Nadel demonstrates that the CFReturn tag can be used to short-circuit the execution of a CFML template. This works in both Adobe ColdFusion and Lucee ...
Rendering A Fly-Out Form Panel Using Turbo Frames With Hotwire And Lucee CFML
Ben Nadel
Ben Nadel demonstrates how to transclude a form into a fly-out panel using Hotwire and ColdFusion....
Working Code Podcast - Episode 117: Champions Of Truth
Ben Nadel
Ben Nadel and the crew recap their Two Truths and a Lie choices and crown a single champion of truth from our listeners....
Styling Submit Buttons During Form Submission With Hotwire And Lucee CFML
Ben Nadel
Ben Nadel demonstrates how to alter a submit button's appearance and text content using the "data-turbo-submits-with" in Hotwire and ColdFusion....
Rendering A Persistent Dismissible Banner Using Hotwire And Lucee CFML
Ben Nadel
Ben Nadel demonstrates how to create a persistent dismissible site-wide banner in a Hotwire enhanced ColdFusion application....
Dynamically Adding Stimulus Controllers To Static Content Using Hotwire And Lucee CFML
Ben Nadel
Ben Nadel demonstrates that Stimulus controllers can be dynamically applied to static content served up by a ColdFusion server....
The User Experience (UX) Of Disabled Form Buttons
Ben Nadel
Ben Nadel discusses the user experience (UX) of disabled form buttons; and why it's a violation of the Robustness Principle....
Transcluding A Form Into A Turbo Frame Using Hotwire And Lucee CFML
Ben Nadel
Ben Nadel demonstrates one way to handle post-submission redirects when transcluding a form into another page. This uses Turbo Streams to "visit" multiple...
Working Code Podcast - Episode 116: State Of Developer Conferences
Ben Nadel
Ben Nadel and the crew talk to Brian Rinaldi about the state of developer conferences; and, why post-pandemic attendance appears to be struggling both onl...
Creating Custom Turbo Stream Actions In Hotwire And Lucee CFML
Ben Nadel
Ben Nadel demonstrates how to create a custom Turbo Stream action that can provide ColdFusion with ways to update the user experience....
Async Communication Is Great, Except For When It's Awful
Ben Nadel
Ben Nadel breaks down different types of asynchronous communication; and why one form - consensus building - is awful and should be avoided....
Including Inline Turbo-Stream Actions In Hotwire And Lucee CFML
Ben Nadel
Ben Nadel demonstrates that inline Turbo Stream elements will be processed by Turbo Drive in a Hotwire and ColdFusion application....
Persisting An IFrame-Based Video Player Across Page Visits With Hotwire And Lucee CFML
Ben Nadel
Ben Nadel creates a persistent IFrame-based video player in Hotwire and Lucee CFML by injecting a Turbo Frame before the Body tag....
Working Code Podcast - Episode 115: Self-Care For Developers
Ben Nadel
Ben Nadel and the crew talk about mental health and self-care. And, Adam opens up and shares much of what he's been going through lately with his ADHD.......
Rendering Elements After The HEAD Tag In JavaScript
Ben Nadel
Ben Nadel demonstrates that elements can be rendered after the Head tag (and before the Body tag) when injected using JavaScript....
Updating Permanent Elements On Page Navigation In Hotwire Turbo And Lucee CFML
Ben Nadel
Ben Nadel demonstrates one way to update persistent Turbo Drive elements using Stimulus in Hotire and Lucee CFML....
Parsing File Paths As Slash-Delimited Lists In MySQL
Ben Nadel
Ben Nadel looks at parsing strings as delimited lists in MySQL. Specifically, treating a file path as a dash-delimited list of segments....
Working Code Podcast - Episode 114: Carol Got Laid Off
Ben Nadel
Ben Nadel and the crew talk to our very own Carol Weiler about being part of her former company's reduction in force (ie, Carol gets laid off)....
Using Stimulus To Preload Links On Hover In Hotwire And Lucee CFML
Ben Nadel
Ben Nadel explores the use of Stimulus to delay preloading of links until a user hovers over a link in Hotwire and Lucee CFML....
Defer Loading Using Permanent Turbo Frames In Hotwire And Lucee CFML
Ben Nadel
Ben Nadel explores the use of permanent Turbo Frames to defer loading without a degraded visual experience in Hotwire and Lucee CFML....
Extending The Current Request Timeout In ColdFusion / CFML
Ben Nadel
Ben Nadel looks at how to extend the current request timeout using both Adobe ColdFusion and Lucee CFML....
Exploring Turbo Drive Back-Button Caching Behavior In Lucee CFML
Ben Nadel
Ben Nadel explores the interplay between the Hotwire Turbo Drive page cache and the browser's back button in Lucee CFML....
Exploring The Turbo Drive Navigation Progress Bar In Lucee CFML
Ben Nadel
Ben Nadel takes a quick look at the progress bar in Hotwire Turbo Drive, which will automatically show on slow-loading ColdFusion pages....
Working Code Podcast - Episode 113: Surviving A Layoff
Ben Nadel
Ben Nadel and the crew talk about the recent wave of layoffs in the tech world; and what you can do to become more resilient....
Rendering A Local TimeStamp With Stimulus Using Hotwire And Lucee CFML
Ben Nadel
Ben Nadel starts to explore Stimulus, rendering a UTC millisecond value in the user local timezone using Hotwire and Lucee CFML....
Dynamically Updating Views With Turbo Streams Using Hotwire And Lucee CFML
Ben Nadel
Ben Nadel explores the use of Turbo Streams to dynamically update views in a Hotwire and ColdFusion application....
Working Code Podcast - Episode 112: Listener Questions
Ben Nadel
Ben Nadel and the crew respond to listener questions ranging from alternate realities to dead body disposal....
A Simple Slide Show Using Hotwire And Lucee CFML
Ben Nadel
Ben Nadel builds a simple slide show with Hotwire Turbo Drive and Lucee CFML. This defers all dynamic rendering to the ColdFusion server....
OnRequestStart() / OnRequest() Methods Invoked Even If Requested Template Doesn't Exist In Lucee CFML
Ben Nadel
Ben Nadel discovers that the onRequestStart() and onRequest() ColdFusion application event handlers get called in Lucee CFML even if the requested templat...
Setting Up My ColdFusion + Hotwire Demos Playground
Ben Nadel
Ben Nadel creates a Dockerized ColdFusion and Hotwire playground in which he can explore the Hotwire framework from Basecamp....
Working Code Podcast - Episode 111: How To Learn Stuff Good
Ben Nadel
Ben Nadel and the crew talk about the strategies that we use when we have to learn totally new thing (and how humbling that experience can be)....
Does The Order Of Hash Inputs Matter In Terms Of Uniqueness And Distribution?
Ben Nadel
Ben Nadel explores the impact of input order when hashing values in ColdFusion....
Comparing Java's MessageDigest To ColdFusion's hash() Function In Lucee CFML
Ben Nadel
Ben Nadel compares Java's MessageDigest class to ColdFusion's hash() function for hashing compound / composite binary values....
Using "continue" To Short-Circuit .each() Iteration In ColdFusion
Ben Nadel
Ben Nadel shares a quirk of the CFML language in which "continue" can be used to short-circuit an .each() iteration function....
Working Code Podcast - Episode 110: Measuring Impact At Work
Ben Nadel
Ben Nadel and the crew talk about measuring productivity at work; and, what makes a day good or bad....
Dynamically Instrumenting ColdFusion Component Methods With GetTickCount() To Locate Performance Bottlenecks
Ben Nadel
Ben Nadel dynamically instruments his ColdFusion component methods with `getTickCount()` calls in order to locate performance bottlenecks....
Overriding Form Submission Properties Using Button Attributes In Native HTML
Ben Nadel
Ben Nadel demonstrates that form attributes can be overridden by submit buttons in native HTML....
CUID2 For ColdFusion / CFML
Ben Nadel
Ben Nadel shares his ColdFusion port of the CUID2 library, which provides collision-resistant IDs that are optimized for horizontal scaling, security, and...
Testing Performance Overhead Of Creating Java Classes In Lucee CFML
Ben Nadel
Ben Nadel looks at the performance overhead of calling `createObject("java")` in ColdFusion and is delighted to see there basically isn't one....
Working Code Podcast - Episode 109: Best Of 2022
Ben Nadel
Matt Cavender, the Working Code podcast editor, shares his favorite clips from 2022....
Hotwire Turbo Drive Requires Failed Form Submissions To Return A non-2xx Status Code
Ben Nadel
Ben Nadel demonstrates that Hotwire Turbo Drive requires non-200 status codes when processing failed form submissions in ColdFusion....
Code Kata: Recursively Flattening A Deep Array In Lucee CFML
Ben Nadel
Ben Nadel demonstrates how to flatten a deeply nested array using recursion in ColdFusion...
Iterating Over Function Arguments Using CFLoop In Lucee CFML
Ben Nadel
Ben Nadel demonstrates how to use the CFLoop tag to iterate over Function arguments as both Structs and Arrays in ColdFusion....
Code Kata: Flattening An Array In Lucee CFML
Ben Nadel
Ben Nadel looks at different ways to flatten an array in ColdFusion....
Hotwire Turbo Drive Doesn't Work With .cfm Page Extensions
Ben Nadel
Ben Nadel gets Hotwire Turbo Drive working with ColdFusion .cfm file extensions after switching to .htm and enabling URL rewriting....
Working Code Podcast - Episode 108: 2022 Year In Review
Ben Nadel
Ben Nadel and the crew reflect on 2022, celebrating some wins and lamenting some losses....
In Life, Things Suffer More From Disuse Than From Overuse
Ben Nadel
Ben Nadel reflects on the destructive power of neglect; and, why he hopes to spend more time learning and less time writing in 2023....
Showing An Error Message In The OnError() Method In Application.cfc In CFML
Ben Nadel
Ben Nadel demonstrates how to conditionally render error messages in ColdFusion based on whether or not the response has been committed....
Working Code Podcast - Episode 107: Through The Wormhole
Ben Nadel
Ben Nadel and the crew close out 2022 with a fun episode about wood working, Svelte Kit, Social Logins, career specialization, and the maddening pace of s...
Considering Nullable Date Columns As A Representation Of State In SQL
Ben Nadel
Ben Nadel considers the use of nullable date columns as a means of storing two separate pieces of semantic information in SQL....
Setting And Clearing Nullable Values In A Data Access Layer In ColdFusion
Ben Nadel
Ben Nadel explores the use of "magic values" to set and clear NULL'able column values his ColdFusion data access layer (DAL)....
People Don't Mind Being Used As Long As They Aren't Forgotten
Ben Nadel
Ben Nadel reflects on a phrase that's been in the back of his mind: People don't mind being used as long as they aren't forgotten....
Fixing GitHub Gist's Sudden Case Of Line Wrapping
Ben Nadel
Ben Nadel fixes a breaking change in the GitHub Gist CSS that was causing code to wrap on long lines....
Working Code Podcast - Episode 106: A Cascading Cataclysmic Christmas
Ben Nadel
Ben Nadel and the crew talk about Christmas, gift giving, movies, and Ben's fear that CSS selectors are going to start becoming bananas!...
Paging Through Data Using LIMIT And OFFSET In MySQL And ColdFusion
Ben Nadel
Ben Nadel demonstrates how to page through large datasets using LIMIT and OFFSET in MySQL and ColdFusion....
Using INSERT INTO SELECT To Duplicate Rows In MySQL And Lucee CFML
Ben Nadel
Ben Nadel demonstrates how to use the INSERT INTO SELECT syntax to duplicate rows in MySQL and ColdFusion....
Breaking An IPv4 Address Range Up Into CIDR Ranges In Lucee CFML 5.3.9.141
Ben Nadel
Ben Nadel uses the Commons-Ip-Math Java library to take a range of IPv4 addresses and breaks it down into CIDR ranges in ColdFusion....
Working Code Podcast - Episode 105: No Effort December
Ben Nadel
Ben Nadel and the crew talk whatever comes to mind in this year's No Effort December....
Serving Secure Files With CFContent Tag's File Attribute In ColdFusion
Ben Nadel
Ben Nadel demonstrates how to use the CFContent tag's file attribute in order to stream secure, non-public files to the user....
Dynamic Tab-Size Demo Using CSS Custom Properties In JavaScript
Ben Nadel
Ben Nadel created a JavaScript demo in which code indentation can be dynamically adjusted using the Arrow keys....
What Files Should Live In The WwwRoot Folder?
Ben Nadel
Ben Nadel considers what files should go inside the wwwroot folder as he starts building a new ColdFusion web application....
Working Code Podcast - Episode 104: Alexa Make A Podcast About AI
Ben Nadel
Ben Nadel and the crew talk about machine learning, artificial intelligence, and how us developers will all become "prompt engineers"....
I'm Beginning To Think That Much Of Programming Is Wildly Subjective
Ben Nadel
Ben Nadel comes to grip with the fact that most things in programming are likely subjective; and, that everyone has their own truths....
Using LATERAL Joins To Get "Top N" Records From Each Group In MySQL 8.0.14
Ben Nadel
Ben Nadel demonstrates how to use LATERAL joins in MySQL to get the TOP N rows from each group in an aggregation....
Working Code Podcast - Episode 103: Birdsite Go Boom
Ben Nadel
Ben Nadel and the crew talk about Elon Musk taking over Twitter, and the insanity that has followed....
Using Picture And Source Tags To Prevent Loading Hero Image On Mobile Devices
Ben Nadel
Ben Nadel uses the PICTURE and IMG tags to prevent loading his blog's hero image on mobile viewports....
EventSource And Generating Server-Sent Events In ColdFusion / Lucee CFML
Ben Nadel
Ben Nadel explores JavaScript's EvenSource and generating server-sent events in ColdFusion / Lucee CFML....
Working Code Podcast - Episode 102: Migrating Large Databases
Ben Nadel
Ben Nadel and the crew talk about the complexities of migrating larger databases with minimal downtime and fast rollbacks....
You Can Render Anything In Angular
Ben Nadel
Ben Nadel demonstrates that you can render anything you want inside an Angular application. In fact, the stateful component model makes this easier in Angular than it does in other frameworks.... ...
Using A Closure To Encapsulate CFThread Execution And Error Handling In ColdFusion
Ben Nadel
Ben Nadel demonstrates that closures can be used to encapsulate CFThread execution and error handling in ColdFusion....
Working Code Podcast - Episode 101: Error Messages
Ben Nadel
Ben Nadel and the crew talk about crafting appropriate error message for our web application users....
Generating Fallback Avatars Using CFImage And ColdFusion
Ben Nadel
Ben Nadel explores dynamic generation of fallback avatars (for Gravatar) using CFImage and ColdFusion....
Working Code Podcast - Episode 100: The Spicetacular
Ben Nadel
Ben Nadel and the crew celebrate their 100th Working Code episode with a Hot Ones inspired Spicetacular....
Only Solve One New Problem At A Time
Ben Nadel
Ben Nadel discusses one of the lessons learned from 10 years of CodePen: solve only problem at a time - a message worth amplifying....
Proxying Gravatar Images For Better Avatar Caching In ColdFusion
Ben Nadel
Ben Nadel proxies Gravtar avatar images in ColdFusion in order to increase Cache-Control caching timeout....
Nesting JSON Functions Inside JSON_ARRAYAGG() And JSON_OBJECTAGG() In MySQL 5.7.38
Ben Nadel
Ben Nadel demonstrates that JSON functions can be nested inside JSON_ARRAYAGG() and JSON_OBJECTAGG() aggregation functions in MySQL 5.7.38....
Working Code Podcast - Episode 99: Technical Debt Isn't Romantic
Ben Nadel
Ben Nadel and the crew talk technical debt. It is often romanticized as a calculated decision; but, I think it usually just people (myself included) writing bad code.... ...
Preventing Unbounded Full-Table Scans In My ColdFusion Database Access Layer
Ben Nadel
Ben Nadel shares his latest techniques for authoring data access layers in ColdFusion such that accidental full-table scans aren't possible....
CFCookie "Expires" Can Use CreateTimeSpan() In ColdFusion
Ben Nadel
Ben Nadel demonstrates that the createTimeSpan() function can be used to set the CFCookie expires attribute in ColdFusion....
Looking At How Cookies And Domains Interact In ColdFusion
Ben Nadel
Ben Nadel explores the interplay between Cookie Domain values (both explicit and implicit); and, when they are made available to different hosts in a ColdFusion application.... ...