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
Blog
Recent Entries
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.
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.
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...
Add Your Comment