2020-01-14 Weekly News - Episode 36
Watch the video version on YouTube at https://youtu.be/DLPQlgCLS4A
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 - Ben Nadel - Strange MongoDB Error When Incrementing A Document Property In Lucee CFML 5.2.9.31
Yesterday, I ran into a really strange error when trying to increment a numeric value on an in-memory MongoDB document in Lucee CFML 5.2.9.31. Google didn't really provide any answers; so, I wanted to document the error here and share the work-around that I finally used.
https://www.bennadel.com/blog/3756-strange-mongodb-error-when-incrementing-a-document-property-in-lucee-cfml-5-2-9-31.htm
Blog - Pete Freitag - List Logical Names from SQL Server bak file
When restoring a SQL Server database from a bak file you may need to know what the Logical Names of the storage files are in order to restore them. Here's how you can do it from a SQL statement:
https://www.petefreitag.com/item/892.cfm
Blog - Gavin Pickin - 30+ VS Code Hints Tips and Tricks of the Week from 2019 Modernize or Die® CFML News Podcast
VS Code is the hottest IDE out there, and the most asked question I get at every conference I attend is, "what VS Code extensions are you using?". Since I got this question so much, we decided to dedicate a portion of our CFML News Podcast to VS Code Hints, Tips and Tricks. We had 34 episodes in 2019, each with a VS Code hint tip or trick, so we wanted to give you a way to see all of them in one place, so here they are.
https://www.ortussolutions.com/blog/30-vs-code-hints-tips-and-tricks-of-the-week-from-2019-modernize-or-die-cfml-news-podcast
Blog - Ben Nadel - Using A Closure To Encapsulate Depth-First Tree Traversal In Lucee CFML 5.3.3.62
In my last couple of Lucee CFML posts, I've looked at using a while loop to recursively iterate over a tree structure without creating a deep (and expensive) call-stack. I've done this using both a breadth-first algorithm and a depth-first algorithm. In both cases, the algorithm for the traversal of the tree was tightly coupled to the way in which each tree-node was being consumed. This made it hard to reuse the traversal logic. As such, I wanted to try extracting the traversal itself, making it consumable with a closure or callback in Lucee CFML 5.3.3.62.
https://www.bennadel.com/blog/3755-using-a-closure-to-encapsulate-depth-first-tree-traversal-in-lucee-cfml-5-3-3-62.htm
Tweet - James Moberg - Any #ColdFusion developers using the #jQuery formBuilder plugin?
Any #ColdFusion developers using the #jQuery formBuilder plugin? https://formbuilder.online/ (They have an #Angular version too.) It's a client-side builder; form structure & data saved in JSON format. I've been having to add various #CFML tweaks to workaround CF+JSON issues.
https://twitter.com/gamesover/status/1215440926136508421
https://twitter.com/gamesover
Tweet - James Moberg - ColdFusion SerializeJSON CustomSerializer vs JSONUtil
Is anyone using the #ColdFusion serializeJSON "useCustomSerializer" parameter? I considered using it, but framework only supports one (1) custom serializer. What if I want to use two? I prefer using @BenNadel JSONUtil CFC w/UDFs to simplify. #CFML #CodeICanView #NoBlackBox
https://twitter.com/gamesover/status/1215439005841547264
https://twitter.com/gamesover
Tweet - James Moberg - Asking for CFML support on Dev.to
Hey @ThePracticalDev I intend to post a lot of #ColdFusion articles on your platform. #CFML has been around since '95. I've been using it since '97. I noticed that using a #java tag resulted in an icon added to the share image. Could ColdFusion/CFML receive the same treatment?
https://twitter.com/gamesover/status/1215411301385756673
https://twitter.com/gamesover
Tweet- James Moberg - Whitelist IPs
I needed to whitelist many IPv4 & IPv6 CIDRs from my CDN/WAF provider using #ColdFusion. Here's an isIPInRange() UDF that was inspired by 4 different pre-existing #cfml solutions ow.ly/70fM50xRvuV (supports #regex rules too)
https://twitter.com/gamesover/status/1215354261057540099
https://twitter.com/gamesover
Blog - Ben Nadel - Repositories And Data Access Layers Can Have As Many Methods As You Find Helpful
When I was first learning about Abstractions in programming, one of the early patterns that I came across was the Data Access Layer (DAL), which attempted to hide the implementation details of the underlying data persistence mechanism. I believe that the Repository Pattern is a more specific type of Data Access Layer, relating to aggregate roots; however, I tend to use the two terms interchangeably to refer, generally speaking, to the "persistence abstraction".
https://www.bennadel.com/blog/3754-repositories-and-data-access-layers-can-have-as-many-methods-as-you-find-helpful.htm
Blog - Pete Freitag - Solved: Git Clone Large Repo Download Errors
When attempting to clone a large git repository over https, hosted on an on premise GitLab instance, I kept getting the error:
https://www.petefreitag.com/item/891.cfm
Blog - Ben Nadel - Passing isArray() Decision Function Does Not Ensure Member Methods In Lucee CFML 5.3.3.62
This post is primarily a note-to-self so I don't make this mistake again. But, the other day, when I was working on the memory-leak detector code for Lucee CFML, I ran into a fun edge-case having to do with Reflection-style programming. In that post, I used Lucee's Decision functions (ex, isArray(), isStruct(), isBinary()) in order to figure out how to generate a string-based representation of a complex value. What I discovered, once my code hit production, is that passing the isArray() decision function does not ensure that the given value has array member methods in Lucee 5.3.3.62.
https://www.bennadel.com/blog/3753-passing-isarray-decision-function-does-not-ensure-member-methods-in-lucee-cfml-5-3-3-62.htm
Blog - OpenCage Geocoder Blog - ColdFusion SDK
Thanks to @SimianE there is now an SDK for our geocoding API
https://blog.opencagedata.com/post/coldfusion-sdk
Blog - Michael Born - Five Minute Quickstart with cbElasticSearch
Last week I built a small search application using ElasticSearch and ColdBox, and holy cow - it was super easy using the cbElasticSearch module. Here's how to quickly get started using cbElasticSearch for your application.
https://michaelborn.me/entry/five-minute-quickstart-with-cbelasticsearch
Tweet - Charlie Arehart - Prevent spam on #coldfusion and #lucee sites
Prevent spam on #coldfusion and #lucee sites by checking email addresses and/or ip addresses for known spammers, using rest/http calls to low-cost Cleantalk anti-spam service cleantalk.org ti#etabyjym
https://twitter.com/carehart/status/1214592351743676422
https://twitter.com/carehart
Replied Tweet - James Moberg - Their free tier offers 40k request per day, supports domains, email, IP & ASN queries and queries multiple blacklist services
Also check out @apilityio Their free tier offers 40k request per day, supports domains, email, IP & ASN queries and queries multiple blacklist services #highlyrecommended
https://twitter.com/gamesover/status/1215432741065388033
https://twitter.com/gamesover
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.
Thanks to those who have already entered.
CFML Jobs
Several positions available on https://www.getcfmljobs.com/
Listing over 28 ColdFusion positions from 22 companies across 17 locations in 5 Countries
Full-Time - ColdFusion Developer, Senior at Arlington, VA - United States
Posted Jan 13
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-Developer-Senior-at-Arlington-VA/11002
Full-Time - Senior ColdFusion Application Developer at Washington, DC - United States
Posted Jan 10
https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-ColdFusion-Application-Developer-at-Washington-DC/11001
Full-Time - ColdFusion Software Engineer at Tampa, FL - United States
Posted Jan 10
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-Software-Engineer-at-Tampa-FL/11000
Full-Time - Senior ColdFusion Application Developer at Washington, DC - United States
Posted Jan 09
https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-ColdFusion-Application-Developer-at-Washington-DC/10999
Full-Time - Senior ColdFusion Developer at Arlington - United States
Posted Jan 07
https://www.getcfmljobs.com/jobs/index.cfm/united-states/CFDeveloper-at-Arlington/10998
Full-Time - JR. Software Developer (ColdFusion) at Ahmedabad, Gujarat - India
Posted Jan 07
https://www.getcfmljobs.com/jobs/index.cfm/india/JR-Software-Developer-ColdFusion-at-Ahmedabad-Gujarat/10996
Full-Time - Senior Developer - Coldfusion - Hyderabad at Hyderabad, Tela.. - India
Posted Jan 07
https://www.getcfmljobs.com/jobs/index.cfm/india/Senior-Developer-Coldfusion-Hyderabad-at-Hyderabad-Telangana/10995
ForgeBox Module of the Week
smmrize - v1.0.1
By Matthew Clemente
A CFML wrapper for the SMMRY API. Utilize the SMMRY API to summarize articles, text, PDFs, etc. by extracting the most important sentences.
The API can summarize either web-based content or text, via the web() and text() methods, respectively. Both these functions take an optional, second argument, which contains the settings for your summarization. The easiest way to provide these is via the helpers.options component, which provides a fluent interface for setting them.
box install smmrize
https://www.forgebox.io/view/smmrize
VS Code Hint Tips and Tricks of the Week
CFLint
By KamasamaK - 5,085 installs
CFLint is a linter for CFML and you can find more information at its GitHub repository. This extension integrates CFLint into VS Code.
Recommend using Ortus Solution’s CFLint conventions
https://github.com/Ortus-Solutions/coding-standards
https://marketplace.visualstudio.com/items?itemName=KamasamaK.vscode-cflint
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.
If we’re getting your name wrong please let us know.
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