Blog

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 https://youtu.be/Zs3AT013CHY
Listen to the Podcast on your favorite podcast player or online at https://cfmlnews.modernizeordie.io/episodes/modernize-or-die-cfml-news-for-january-7th-2020

Hosts:
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 - https://coldfusion.adobe.com/2019/12/adobe-2019-coldfusion-summit-sessions/

Facebook: https://www.facebook.com/AdobeColdFusion/
YouTube: https://www.youtube.com/channel/UCCUMP7Nr8Oa0_BPpD8MUgAQ

Slides: https://coldfusion.adobe.com/2019/10/coldfusion-summit-2019-presentation-files/?fbclid=IwAR15kCQ_BtHV56Y77gCIC-F6XX7n3_wVaBPvFo4yNKC2bRxUr42HMzm54_k

Playlist - 16 Videos so far!!!
https://www.youtube.com/playlist?list=PL3iywAijqFoUpNIUCPEoqZb6c6ZeUahIG



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: https://cfwebinar-cf2020.meetus.adobeevents.com/

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.



Conferences


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: https://intothebox.org/
Call for Speakers: https://www.papercall.io/itb2020
Buy 2019 Videos: https://vimeo.com/ondemand/itb2019/

Devnexus
Feb 19-21 2020 ATLANTA, GA
https://devnexus.com/

VUEConf US
AUSTIN CONVENTION CENTER
AUSTIN, USA • MARCH 2-4, 2020
https://us.vuejs.org/

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.
https://www.docker.com/dockercon/

More conferences:
https://confs.tech/


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.
https://www.petefreitag.com/item/890.cfm


Blog - Ben Nadel - Snapshotting ColdFusion Component State In Order To Find Memory Leaks In Lucee CFML 5.3.3.62
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 5.3.3.62.
https://www.bennadel.com/blog/3752-snapshotting-coldfusion-component-state-in-order-to-find-memory-leaks-in-lucee-cfml-5-3-3-62.htm


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.
https://teratech.com/establish-a-reliable-recovery-plan-coldfusion-project/


Blog - Ben Nadel - Depth-First vs Breadth-First Tree Traversal Using A While-Loop In Lucee CFML 5.3.3.62
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 5.3.3.62.
https://www.bennadel.com/blog/3751-depth-first-vs-breadth-first-tree-traversal-using-a-while-loop-in-lucee-cfml-5-3-3-62.htm


Blog - Ben Nadel - Replacing Depth-First Recursion With A Breadth-First While-Loop In Lucee CFML 5.3.3.62
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 5.3.3.62.
https://www.bennadel.com/blog/3750-replacing-depth-first-recursion-with-a-breadth-first-while-loop-in-lucee-cfml-5-3-3-62.htm


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
https://twitter.com/bdw429s/status/1212869313314611200
https://twitter.com/bdw429s


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.
https://twitter.com/BenNadel/status/1212863594414714880
https://twitter.com/BenNadel

Blog - Ben Nadel - Struct Iteration Methods Like Each, Map, And Filter Include Null Values In Lucee CFML 5.3.3.62
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 5.3.3.62.
https://www.bennadel.com/blog/3749-struct-iteration-methods-like-each-map-and-filter-include-null-values-in-lucee-cfml-5-3-3-62.htm


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
https://twitter.com/seepaulprogram/status/1212626018864914432
https://twitter.com/seepaulprogram


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
https://dev.to/gamesover/misleading-coldfusion-queryaddcolumn-error-message-1lih


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!
https://twitter.com/nimdAsyS/status/1212763945477517312
https://twitter.com/nimdAsyS


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.
https://michaelborn.me/entry/five-things-i-d-like-to-learn-in-2020



Coding Challenge of the Month - January 2020

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

1 - Email info@codewars.com asking them to add CFML/ColdFusion to the list of languages on their site - cc gavin@ortussolutions.com 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.



CFML Jobs

Several positions available on https://www.getcfmljobs.com/
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…
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-Software-Developer-at-La-Plata-MD/10994


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…
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-Software-Engineer-at-Tampa-FL/10993


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,...
https://www.getcfmljobs.com/jobs/index.cfm/united-states/Sr-ColdFusion-Developer-at-National-WV/10992


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...
https://www.getcfmljobs.com/jobs/index.cfm/india/JR-Software-Developer-ColdFusion-at-Ahmedabad-Gujarat/10996


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...
https://www.getcfmljobs.com/jobs/index.cfm/india/Senior-Developer-Coldfusion-Hyderabad-at-Hyderabad-Telangana/10995




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:

https://github.com/MotorsportReg/docker-wkhtmltopdf-service

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.

Installation
box install wkhtmltopdf

Last Update: Jan 04 2020 03:45 PM | Installs: 5 | Views: 70 | Versions: 1
https://forgebox.io/view/wkhtmltopdf



VS Code Hint Tips and Tricks of the Week

Surround

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

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

https://marketplace.visualstudio.com/items?itemName=yatki.vscode-surround



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
VJ
Yogesh  Mathur

You can see an up to date list of all sponsors on Ortus Solutions' Website
https://ortussolutions.com/about-us/sponsors

Add Your Comment

Recent Entries

BoxLang 1.0.0 Beta 23 Launched

BoxLang 1.0.0 Beta 23 Launched

The latest release of BoxLang, Beta 23, marks a significant step forward in our journey to create the ultimate dynamic language for the JVM. Packed with powerful new features, important bug fixes, and thoughtful optimizations, this update is designed to make your development experience smoother, faster, and more reliable, especially after now starting to take 100s of comments and bug reports from our community.

Luis Majano
Luis Majano
November 23, 2024
TestBox Latest Updates and News!

TestBox Latest Updates and News!

We’re thrilled to have launched the new TestBox website and TestBox 6.0! If you haven’t had a chance to explore yet, visit TestBox to discover updated documentation, powerful resources, and features that make testing more efficient than ever.

Maria Jose Herrera
Maria Jose Herrera
November 21, 2024
Is Your ColdFusion Application Ready for the Future?

Is Your ColdFusion Application Ready for the Future?

In a rapidly evolving digital world, maintaining performance, security, and scalability for ColdFusion applications is more challenging than ever. Whether you're using Lucee or Adobe ColdFusion, legacy systems can become a bottleneck for growth, innovation, and user satisfaction. The need to future-proof your ColdFusion applications has never been more critical.

But where do you start?


The Hidden Costs of an Outdated ColdFusion Application

As you...

Cristobal Escobar
Cristobal Escobar
November 21, 2024