Gavin Pickin

January 08, 2020

Spread the word

Share your thoughts

Modernize or Die® - CFML News for January 7th, 2020 - Episode 35

Watch the video version on YouTube at
Listen to the Podcast on your favorite podcast player or online at

Gavin Pickin - Software Consultant for Ortus Solutions
Brad Wood - Lead Architect for Ortus Solutions

News and Events

CF Summit - Las Vegas 2019 - More Videos being released on Youtube/Facebook

Blog -



Playlist - 16 Videos so far!!!

Webinar - ColdFusion for the Next Decade – All about the Buzzworthy ColdFusion 2020

January 16th, 2020 - Presented by Rakshith Naresh - Product Manager for ColdFusion and Captivate Prime Content Catalog
One of the reasons for ColdFusion’s success right from its inception is that the platform has been able to pivot at regular intervals to remain relevant for the future. There are very few technologies that have managed to stay in the game for so long and that is something all of us in the community are proud of. ColdFusion 2020, slated to be released next year, is going one such pivotal release in the history of ColdFusion. The vision for ColdFusion 2020 goes like this:
“To be the modernized platform of choice for building cloud-native microservice applications with absolute focus on ease of use without getting locked to a particular cloud vendor (multi-cloud).”
Attend this session as the Product Manager for ColdFusion unravels every piece of ColdFusion 2020 that leads to the overarching vision.
Register online:

CF Live Coding

Michael Born and Gavin are going to start a new live coding series, where they are going to build a ForgeBox package, to let you participate in the Monthly code challenge. Follow along and see how they build it, pair programming, live on YouTube.
Follow @michaelborn_me and @gpickin to see the scheduled dates and times as they come available. Aiming for Wednesdays 7pm EST / 4pm PST starting on Wednesday Jan 15th.


Into the Box 2020

May 6-8, 2020 | Texas
Hyatt Place The Woodlands
1909 Research Forest Dr., The Woodlands, TX 77380
Call for Speakers is still open. We are always looking for lots of different content from different speakers, don’t be shy, submit something. Does not have to be related to BOX products.
Into The Box 2020 tickets are up for sale now! To thank you for your loyalty, our #SuperEarlyBird all access pass will be $200 off the original price and you can select your workshop once the schedule is published #ModernizeOrDie
Register now:
Call for Speakers:
Buy 2019 Videos:

Feb 19-21 2020 ATLANTA, GA

AUSTIN, USA • MARCH 2-4, 2020

DockerCon 2020
DockerCon 2020 is scheduled for June 15-18 in Austin, Texas. This is one of the largest conferences for developers who focus on software containers.

More conferences:

Blogs, Tweets and Videos of the Week

Blog - Pete Freitag - Searching for files by file name on Mac or Linux
Have you ever had to find a file by a file name or file extension? Sure you have! Here's how I locate a file when I'm using a Mac or Linux shell.

Blog - Ben Nadel - Snapshotting ColdFusion Component State In Order To Find Memory Leaks In Lucee CFML
A couple of years ago, I wrote about a "Snooper" component that I created that would allow you to peek into the private scope of your ColdFusion component state in order to try and find memory leaks. That approach worked. Sort of. But, it was clumsy and hard to use. Then, the other week, while listening to the Modernize Or Die podcast, Brad Wood described a ColdBox module that he created that would snapshot component state and then compare those snapshots over time in order to find memory leaks. Brad's solution sounded much more elegant than my own; so, I wanted to try and build off of his snapshotting idea, but adapt it for a really old ColdFusion application that has no framework. Here's a breakdown of what I came up with in Lucee CFML

Blog - TeraTech - 3 Steps to Establish a Reliable Recovery Plan for Your Next ColdFusion Project
Backups and recovery plans are the fire extinguishers of the tech world. If you need one, you better hope it works. You don’t want a spreading fire to be your reminder to check if the extinguisher is charged and ready to use.

Blog - Ben Nadel - Depth-First vs Breadth-First Tree Traversal Using A While-Loop In Lucee CFML
As part of my post yesterday on how I sometimes replace recursive algorithms with loop-based algorithms in Lucee CFML, I mentioned that the algorithm incidentally shifted from a depth-first strategy to a breadth-first strategy. In a follow-up conversation that I had about the post with fellow InVisioneer, Kevin Conway, he mentioned that, if I wanted to, I could maintain a depth-first strategy by changing the way that I am queuing-up values for subsequent inspection. Given that this fact was not obvious to me, I wanted to quickly look at how the queuing approach changes the order of traversal. To explore this, I'm going to walk the nodes of an XML document in Lucee CFML

Blog - Ben Nadel - Replacing Depth-First Recursion With A Breadth-First While-Loop In Lucee CFML
Recursion is a very powerful programming construct. And, I absolutely love recursion just as much as the next person (whether I'm dealing with recursive Promises in JavaScript, recursive templates in Angular, recursive components in Angular, or recursive algorithms in ColdFusion). But, recursion isn't the easiest concept to understand. It also requires are large "call stack" and isn't always fun to debug. As such, in certain circumstances, I find it helpful to replace recursion with a simple while loop. This isn't always helpful; and it isn't always possible; but, I like it from time-to-time and I thought it might be worth sharing my approach in Lucee CFML

Tweet - Brad Wood - CommandBox usage in last year's State of the CF Union Survey.
Crunching through some stats from last year's State of the CF Union survey. One in five respondents use CommandBox for local dev and out of those respondents using Docker, one in three are deploying on CommandBox.  Can't wait to see this year's numbers. #ModernizeOrDie #CFML

Tweet - Ben Nadel - Writing Individual files to Zip VFS
Wow, writing individual files to the Zip Virtual File System (VFS) is orders-of-magnitude slower than zipping a nested-directory of files.
In retrospect, that probably makes sense. I just didn't expect it to be so much slower. #Lucee #CFML #ColdFusion.

Blog - Ben Nadel - Struct Iteration Methods Like Each, Map, And Filter Include Null Values In Lucee CFML
Earlier this week, I was working on some reflection-style code in CFML wherein I was recursively looking through structs of data. As I was doing this, it occurred to me that some of the values stored in the structs could be null; and, I wasn't sure off-hand how Lucee would handle these values during iteration. I've already demonstrated that array iteration with null values can be surprising; so, I wanted to take a moment and look at how null values are handled in struct iteration methods (ex, .each, .map, .filter, .every, .reduce) in Lucee CFML

Tweet - Paul Haarstick - First Production Build using Bitbucket Pipelines
2020 is off to a good start. Did my very first production build using @Bitbucket Pipelines and #git! Soon, I'll have to through in some TestBox tests from @ortussolutions. #cfml #coldfusion #continuousIntegration

Blog - James Moberg - Adobe CF Add Column Error
While generating a ColdFusion query using QueryNew, I added a new column using QueryAddColumn and encountered a misleading error message. If 4th param is omitted, error message indicates 3rd param is invalid

Tweet - Paul - Looking at ColdFusion again
Since I support #ColdFusion again, I am taking a closer look at #CommandBox and #CFConfig from @ortussolutions. Known about the tools forever, but now that I am tasked with migrating vagrant to docker, I am finding them very useful. Thanks, @bdw429s and team for the tools!

Blog - Michael Born - Five Things I'd Like To Learn in 2020
Here's a list of five things I don't know that I should learn this year.

Coding Challenge of the Month - January 2020

$25 For whoever completes all of our tasks to help get CFML added to CodeWars

1 - Email asking them to add CFML/ColdFusion to the list of languages on their site - cc so we know you did it.
2 - Tweet: I love @codewars but when will you be adding #cfml / #coldfusion to the list of languages #modernizeordie @ortussolutions @coldfusion
3 - Retweet other tweets to CodeWars about adding CFML to their list of languages.

Winner chosen randomly at the end of January.


Several positions available on
Listing over 22 ColdFusion positions from 20 companies across 15 locations in 5 Countries

Fulltime ColdFusion Software Developer for Zekiah Technologies in La Plata, MD,  United States
Zekiah Technologies is accepting applications for THREE (3) ColdFusion Software Developers. 7+ years ColdFusion and Oracle DB, SQL and PL/SQL development…

ColdFusion Software Engineer for Webstaurant Store, Inc. in Tampa, FL,  United States
Web programming experience with ColdFusion version 9+. As a ColdFusion Software Engineer, you will be: Webstaurantstore has multiple on site openings for…

Sr. ColdFusion Developer for USmax Corporation in National, WV,  United States
7+ years ColdFusion and Oracle DB, SQL and PL/SQL development experience. Designs, develops, enhances, debugs, and implements software in Java Script, HTML5,...

JR. Software Developer (ColdFusion) for iSummation Technologies Pvt. Ltd.  at Ahmedabad, Gujarat,  India
*Job Summary* Good knowledge of STLC Require Basic Skills Object Oriented Programming HTML CSS Javascript *Key Skills* java script, CSS, HTML *Required...

Senior Developer - Coldfusion - Hyderabad for Neovatic Technologies Private limited at Hyderabad, Telangana,  India
Design ,Develop and maintain ColdFusion applications. Experience on configuration of ColdFusion web sites. Minimum 3-5 years of experience in ColdFusion Version...

ForgeBox Module of the Week

Wkhtmltopdf - A CFML (Coldbox) wkhtmltopdf wrapper

By Samuel Knowlton

After years of wrestling with cfdocument from Adobe and Lucee, we centralized our "convert this to PDF" functions using a wkhtmltopdf Docker container based on this repository:

All this module does is provide a friendly interface to the API for that service. This module does not contain the wkhtmltopdf utility or do any conversion by itself. You must be running wkhtmltopdf as a service for this module to do any good.

box install wkhtmltopdf

Last Update: Jan 04 2020 03:45 PM | Installs: 5 | Views: 70 | Versions: 1

VS Code Hint Tips and Tricks of the Week


By Mehmet Yatkı  - 17,978 installs - 5 stars

A simple yet powerful extension to add wrapper templates around your code blocks.
- Supports multi selections
- Fully customizable
- Custom wrapper functions
- You can assign shortcuts for each wrapper function separately
- Nicely formatted

Thank you to all of our Patreon Supporters

These individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox, ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox.

Andrew  Davis
Brian  White
Carl  Von Stetten
Da Li
Dan  Card
Daniel Garcia
David  Belanger
Didier  Lesnicki
Don  Bellamy
Erick Hoffman
Gary  Knight
Jan  Jannek
Jeremy Adams
John  Farrar
Jordan Clark
Joseph  Lamoree
Laksma  Tirtohadi
Matthew Clemente
Richard  Herbert
Samuel  Knowlton
Scott Steinbeck
Yogesh  Mathur

You can see an up to date list of all sponsors on Ortus Solutions' Website

Add Your Comment

Recent Entries

ColdBox Mail Services 2.0 - Fluent Mail For All

ColdBox Mail Services 2.0 - Fluent Mail For All

We are so excited to bring you a major release of our cbmailservices module. This module has been around since our initial versions of ColdBox and it has now matured into a modern and fluent library for sending mail.

Luis Majano
Luis Majano
November 08, 2021
FORGEBOX 6 has landed!

FORGEBOX 6 has landed!

After several months of work, we are proud to announce the release of FORGEBOX 6. This has been a major undertaking spawning several months worth of work, a complete UI revamp for registered users, many bug fixes, multi-key API, and much more. We have also introduced our new Business Accounts with the ability for organizations to have a simple and human way of managing their final package releases and their teams.

Javier Quintero
Javier Quintero
October 26, 2021
CommandBox 5.4.2 Released!

CommandBox 5.4.2 Released!

There is a new update for CommandBox CLI available.  Version 5.4.2 is a patch update that contains a few bug fixes including two important ones. 

  • There is a fix for a regression introduced in 5.4.0 where updating the version of a CF engine doesn't work without forgetting the server first. 
  • There is also an important security impro...

Brad Wood
Brad Wood
October 07, 2021