Modernize or Die ® Podcast - CFML News Edition

2024-08-20 Weekly News — Episode 218

Watch the video version on YouTube at https://youtube.com/live/sK5ns9Y_gR0?feature=share
 

Hosts: 
  • Gavin Pickin - Senior Developer at Ortus Solutions
  • Daniel Garcia - Senior Developer at Ortus Solutions

Thanks to our Sponsor - Ortus Solutions
The makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there including BoxLang.
A few ways to say thanks back to Ortus Solutions:

Patreon Support (supercali)

We have 58 patreons:
https://www.patreon.com/ortussolutions.


News and Announcements

Into the Box 2025 - Call for Speakers Now Open
We’re excited to invite you to share your knowledge and insights at Into the Box 2025: The Future is Dynamic for Modern Web Developers!
We’re seeking speakers eager to discuss their latest projects, share best practices, or explore new trends in web development. If you have valuable insights, we’d love to hear from you!
Submit your topics using the form below. The deadline is midnight on November 1, 2024. We encourage everyone to submit up-to-date and trendy topics like Modern CFML tools, BoxLang, AI, Frameworks, Open Source Libraries, Modern Web Development Trends, Cybersecurity, etc. Feel free to share all your ideas!
https://www.ortussolutions.com/blog/call-for-speakers-into-the-box-2025

New Releases and Updates

Adobe ColdFusion Updates - ColdFusion 2023 and 2021 August 20th, 2024 General Updates
We are pleased to announce that we have released general updates to ColdFusion (2023 release) Update 9 and ColdFusion (2021 release) Update 15. We've upgraded Tomcat from version 9.0.85 to version 9.0.93 for both versions.
https://coldfusion.adobe.com/2024/08/released-coldfusion-2023-and-2021-august-20th-2024-general-updates/

BoxLang Betas — Beta 9 and 10

Beta 9 released - August 9th, 2024

New Features

BL-105 PDF Module
BL-110 objectLoad() and objectSave() implemented and renamed to objectSerialize() and objectDeserialize()
BL-420 Exit REPL with quit or exit
BL-422 Ability to serialize BoxLang classes to binary and deserialize them back using it's state
BL-423 New experimental features block on the `boxlang.json`
BL-424 BoxRunner action commands now for: compile, cftranspile, featureAudit

Improvements

BL-414 Renaming of Box Cache functions to standardized cache{function}()
BL-415 Increase precision of math operations by using BigDecimal
BL-421 Finalize FileUpload, FileUploadAll BIFs and File Component upload actions in Web Support

Bugs

BL-405 BigIntegers cause error: integer number too large
BL-419 Not all unquoted tag attribute values are parsing

Beta 10 released - August 16th, 2024

New Features

BL-435 transpile queryGetRow() to queryRowData()
BL-436 Ini files support
BL-437 JSStringFormat BIF
BL-439 xml component
BL-442 getVariable() & BL-443 setVariable()
BL-444 Add getClientVariablesList() to compat
BL-448 New getDescendantsOfType() AST method with predicate
BL-449 Implement single quote escapes in queries and preserveSingleQuotes
BL-450 Allow .cfm and .cfs files from the boxlang CLI runner
BL-440 Add isNumericDate BIF
BL-441 Add getHTTPTimeString BIF to web-support
BL-143 Writedump label support
BL-447 java.math.BigInteger caster

Improvements

BL-425 When doing class serialization make sure to identify which properties have
BL-426 content component can have body
BL-429 Enhance error messages for parsing invalid tag code

Bugs

BL-427 MalformedInputException: Input length = 1 when parsing CFC
BL-428 component detection can be tricked if there is a tag comment line starting with the word "component"
BL-432 Regression: Can't run files via BoxRunner due to new action command logic
BL-451 Sometimes trying to shutdown runtime throws NPE if it was never started fully
BL-452 pretty print visitor outputting extra " on tag catch block
BL-453 pretty print visitor doesn't handle array notation invocation

https://www.ortussolutions.com/blog/boxlang-100-beta-10-launched


Webinars, Meetups and Workshops

ICYMI - Online ColdFusion Meetup Group - "CF Scheduled Tasks: there’s more than you may know", with Charlie Arehart
Thursday Aug 8th at 12pm US Eastern Time
If folks were asked to discuss CF scheduled tasks, I suspect most would feel "there's not much to say". But there really is a lot more to working with them than simply "setting a given url to run on a given schedule" (did you know it could be a CFC, for instance? Did you know about the cron time feature? Did you know about clustering scheduled tasks--even with ColdFusion Standard?). Besides there being more features than many may realize, there are also some common problems people face when running them, and there are tools and techniques to help with that.
In this talk, veteran CF troubleshooter Charlie Arehart will address all these and more, starting with several ways to create them (yes, even more than just cfschedule and the CF Admin UI) then more on those more advanced/easily missed features, as well as tools and techniques for solving common problems with them. We'll also explore configuration files and features for managing tasks. Finally we'll also cover ways CF scheduled tasks may NOT work well and discuss alternatives to them.
https://www.meetup.com/coldfusionmeetup/events/302616793/?eventOrigin=group_events_list


ICYMI - Online ColdFusion Meetup Group - "Getting Started with BoxLang Runtimes", with Luis Majano & Brad Wood
BoxLang is a new application server released by Ortus Solutions. It can run your CF code on a brand new runtime that's been built from scratch to be smaller, faster, and more versatile, and using the modern features of Java. We've re-imagined where CF can be used with a CLI runtime, Server runtime, AWS Lambda runtime, and more. BoxLang is super small-- only a core jar of 6 MBs, allowing smaller, faster servers that compete the evolving server space. We've also added a host of improved Java interop features, and modular design, and language improvements with our BoxLang scripting syntax.
In this session, we'll cover what BoxLang is, how to install it, and we'll show you how to get going with 4 of BoxLang's runtimes: CLI, MiniServer, CommandBox/servlet, and AWS Lambdas. Presented by Luis Majano and Brad Wood, two of the creators of BoxLang.
https://www.meetup.com/coldfusionmeetup/events/302681039/?eventOrigin=group_events_list

CFCasts Content Updates

https://www.cfcasts.com

Recent Releases
  • ITB 2024 videos are released for all attendees and are available as a premium series for purchase for all others.
Conferences and Training

CF Summit West in Las Vegas

At Resorts World - New venue!!!
Sep 30 - Oct 1st for the Conference
Oct 2nd for the Certification
https://cfsummit.adobeevents.com/

Agenda is now released - https://cfsummit.adobeevents.com/agenda/

Pricing
$199 for the Session Pass right now.
Coupon code might be in your email if you are a previous attendee for even better pricing
$398 for the Professional Pass - include Certification Training on the 2nd of Oct.
https://cfsummit.adobeevents.com/register/registration/select

Accommodations

Resorts World
3000 S Las Vegas Blvd,
Las Vegas, NV, United States, Nevada

Looking for accommodations?
We've secured exclusive, low room rates of $105 + taxes/day especially for our attendees! Easy and hassle-free booking is just a click away.
Secure your spot now to make the most of your trip with comfortable and affordable accommodations

Ortus - Workshop - Building a REST API for the Modern Developer - Only a few seats left
Led by Luis Majano

Create a ColdBox REST API using Ortus tools. Secure, document, test, and manage your API with CommandBox, cbSecurity, Swagger, and more.

September 28–29, 2024
Bottega Exchange in Las Vegas, NV
Early bird pricing: $499 - Sales end on Aug 31, 2024
https://www.eventbrite.com/e/workshop-building-a-rest-api-for-the-modern-developer-tickets-939258757227?aff=oddtdtcreator

ITB 2025
  • Location: Washington, DC
  • Dates: April 30, 2025 - May 2, 2025 - Washington, DC
  • https://t.co/cFLDUJZEyM
  • 50% off blind tickets
  • Call for Speakers Announced - https://www.ortussolutions.com/blog/call-for-speakers-into-the-box-2025 

More conferences

Need more conferences, this site has a huge list of conferences for almost any language/community.
https://confs.tech/


Blogs, Posts, and Videos of the Week

8/19/24 - Blog - Ortus Solutions - ColdBox REST API Caching
Caching is a powerful technique to boost the performance of your REST API. By reducing server load and speeding up response times, caching enhances the efficiency and scalability of your API. ColdBox offers advanced caching capabilities to optimize your API's performance.
https://www.ortussolutions.com/blog/coldbox-rest-api-caching

8/16/24 - Blog - Ortus Solutions - Into the Box 2025 - Call for Speakers Now Open
We’re excited to invite you to share your knowledge and insights at Into the Box 2025: The Future is Dynamic for Modern Web Developers!
We’re seeking speakers eager to discuss their latest projects, share best practices, or explore new trends in web development. If you have valuable insights, we’d love to hear from you!
Submit your topics using the form below. The deadline is midnight on November 1, 2024. We encourage everyone to submit up-to-date and trendy topics like Modern CFML tools, BoxLang, AI, Frameworks, Open Source Libraries, Modern Web Development Trends, Cybersecurity, etc. Feel free to share all your ideas!
https://www.ortussolutions.com/blog/call-for-speakers-into-the-box-2025

8/15/24 - Blog - Ortus Solutions - Maximizing Productivity with Expert ColdFusion Support and Mentoring
What is Expert ColdFusion Support and Mentoring?
Expert support refers to professional assistance from seasoned ColdFusion and CFML developers who can quickly resolve issues, offer best practices, and provide tailored solutions. Mentoring involves experienced developers guiding less experienced team members, enhancing their skills, knowledge, and confidence through direct feedback and hands-on learning.
When Should You Seek Expert Support and Mentoring?
https://www.ortussolutions.com/blog/maximizing-productivity-with-expert-coldfusion-support-and-mentoring

8/14/24 - Blog - Ortus Solutions - ColdBox REST APIs: A Deep Dive into Routing!
Routing is a crucial aspect of building REST APIs. It defines how your application responds to different HTTP requests and ensures that each endpoint is handled correctly. Effective routing allows you to manage how data is accessed, manipulated, and presented, making it an essential skill for developers working with RESTful services.
https://www.ortussolutions.com/blog/a-deep-dive-into-routing

8/8/24 - Blog - BSidesLV 2024 Slides - Modern ColdFusion Exploitation and Attack Surface Reduction

Thank you to BSidesLV for the opportunity to speak this year.  The slides from my talk, Modern ColdFusion Exploitation and Attack Surface Reduction, are now online below.  They're pretty similar to my Summercon slides, with a few updates.
https://www.hoyahaxa.com/2024/08/bsideslv-2024-slides-modern-coldfusion.html
 

BoxLang Corner

8/16/24 - Blog - Ortus Solutions - BoxLang 1.0.0 Beta 10 Launched
We are pleased to announce the release of BoxLang 1.0.0-Beta 10! BoxLang Betas are released weekly. This is our tenth marker and we are incredibly excited to bring you a very big release. This gives us a huge push forwards towards compatibility with other engines and many more new features we have always wanted in our language. Enjoy!
https://www.ortussolutions.com/blog/boxlang-100-beta-10-launched

8/16/24 - Blog - Computer Know How - BoxLang: How does it JSON?
When evaluating a new language, I like to ask myself, “How does it JSON?”. This post will be looking into this question for BoxLang. In case you haven’t seen it yet, BoxLang is a new JVM based language designed by our friend over at Ortus Solutions. We were part of the pre-release of the language here at CKH and have given it a test drive against a bunch of our CFML code. BoxLang is a modern, dynamically and loosely typed scripting language for multiple runtimes for the Java Virtual Machine (JVM) giving you tons of Object-Oriented (OO), Functional Programming (FP) Constructs, and dynamic Metadata Programming (MP).
https://ckhconsulting.com/boxlang-howdoesitjson/

8/13/24 - Blog - Ortus Solutions - New BoxLang Feature: Java Method References and Higher-Order Functions
A Powerful addition to BoxLang’s Java interoperability!
We’ve added more goodies to our BoxLang Java interop: method references and higher-order functions. CFML has never let you do these things, making Java Interop feel like a second-class citizen. But with BoxLang, we’re elevating Java integration to a new level.
https://www.ortussolutions.com/blog/new-boxlang-feature-java-method-references-and-higher-order-functions

8/9/24 - Blog - Ortus Solutions - BoxLang 1.0.0 Beta 9 Launched
We are pleased to announce the release of BoxLang 1.0.0-Beta 9! BoxLang Betas are released weekly. This is our ninth marker and we are incredibly excited as we are coming close to our stable release. We have some great news in this release!
https://www.ortussolutions.com/blog/boxlang-100-beta-9-launched

8/8/24 - Blog - Ortus Solutions - New BoxLang Fix: BoxLang BIFs Return Data
Fixing the Array/Struct BIFs That Return ‘True’ for no reason
We’ve got an exciting update for you! In our upcoming beta release, we’re tackling an issue with certain Built-In Functions (BIFs) that return true instead of the original data structure. This change will make chaining operations easier and more intuitive.
https://www.ortussolutions.com/blog/boxlang-bifs-return-data
 

Ben Nadel Corner

8/7/24 - Podcast - Working Code Podcast - Episode 190: Career Advice To Younger Self
On today's show, Carol and I reflect on our careers and come up with advice that we'd give to our younger selves. Exercises like this are always a challenge because we have to contend with counterfactuals. That is, we have to either imagine a future that could have been; or, we have to have faith that alternative paths would still have gotten us to where we are today. Neither of these are a certainty.
https://www.bennadel.com/blog/4695-working-code-podcast-episode-190-career-advice-to-younger-self.htm

CFML Jobs

Several positions available on https://www.getcfmljobs.com/

Listing over 16 ColdFusion positions from 16 companies across 11 locations in 5 Countries.

1 new jobs listed in the last two weeks

Contract - ColdFusion Developer at Herndon, VA - United States
Posted Aug 11
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusionDev-at-Herndon-VA/11644

From John Wilson - Patreon Supporter - CFML Slack Job

A client of mine is looking for a full-stack engineer for a data analyst/QC position. They have reams of data that is imported every day from a number of sources (stored procedures, FTP, data mining, spreadsheets, APIs, etc.), and we need automated validation/repair mechanisms created. The right candidate is a meticulous self-starter that loves numbers/data and automation. The company is in Wheaton Illinois, and will consider on-site or remote work. Pay is dependent on a number of factors, but we want someone worth $100K/yr+ in a competitive market. CF/MSSQL is most important, Java, Quasar/Gitlab, CI/CD, containers, cbq, qb, AWS knowledge is a plus.  Please PM me here with a resume and anything you feel is relevant. US citizens or green card holders only, per client industry requirements.

ForgeBox Module of the Week

BoxLang INI Files Helper
By Ortus Solutions

This module allows you to read and write INI files in a very easy way.

Here are the contributed functions in this module:

getIniFile( file ) : Reads an ini file and returns the IniFile object. If the file does not exist, it will create it.
getProfileSection( iniFile, section ) : Gets a section from the ini file as a struct
getProfileSections( iniFile ) : Gets all the sections from the ini file as a struct of structs
getProfileString( iniFile, section, entry ) : Gets an entry from a section in the ini file, if it does not exist, it will return an empty string
setProfileString( iniFile, section, entry, value ) : Sets an entry in a section in the ini file, if the section does not exist, it will create it
removeProfileSection( iniFile, section ) : Removes a section from the ini file
removeProfileString( iniFile, section, entry ) : Removes an entry from a section in the ini file

https://www.forgebox.io/view/bx-ini

VS Code Hint, Tip, and Trick of the Week


Tailwind Color Matcher for VSCode

Tailwind Color Matcher is a Visual Studio Code extension designed to streamline the workflow of front-end developers by translating HEX color values into equivalent Tailwind color classes. This tool bridges the gap between arbitrary colors and Tailwind's utility-first approach, ensuring a more efficient and integrated development experience.

Features

  • HEX to Tailwind Conversion: Instantly translate any HEX color value into the closest Tailwind CSS class.
  • Color Picker Integration: Use a built-in color picker to select colors and get Tailwind classes.
  • Favorites Management: Easily manage a list of favorite colors directly within the extension for quick reference and reuse.
  • Copy to Clipboard: Quickly copy the Tailwind CSS class to your clipboard with one click.

https://marketplace.visualstudio.com/items?itemName=OmriGrossman.tailwind-color-matcher


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, 

Their Contributions fund the cloud infrastructure at our community relies on like 
  • ForgeBox for our 
  • Package Management with CommandBox. 

You can support us on Patreon here https://www.patreon.com/ortussolutions


Don’t forget, we have Annual Memberships, pay for the year and save 10% - great for businesses everyone.
  • Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription.
  • All Patreon supporters have a Profile badge on the Community Website
  • All Patreon supporters have their own Private Forum access on the Community Website
  • All Patreon supporters have their own Private Channel access BoxTeam Slack

https://community.ortussolutions.com/

Top Patreons (box-errific!)
  • John Wilson - Synaptrix
  • Tomorrows Guides
  • Jordan Clark
  • Gary Knight
  • Giancarlo Gomez
  • David Belanger 
  • Dan Card
  • James Moberg & Jeffry McGee - Sunstar Media 
  • Dean Maunder
  • Kevin Wright
  • Doug Cain 
  • Nolan Erck 
  • Abdul Raheen


And many more Patreons - up to 58 now!!!!!
You can see an up to date list of all sponsors on Ortus Solutions' Website
https://ortussolutions.com/about-us/sponsors

Thanks everyone!!!

★ Support this podcast on Patreon ★

What is Modernize or Die ® Podcast - CFML News Edition?

Technology is ever changing, blink and you miss it, until now. This podcast keeps you up to date on everything ColdFusion related. News, Engine and Package Updates and Releases, Webinars Meetups and Workshops, CFCast updates, Conferences, Blog Tweets and Videos the Week from the Community, Job offerings, as well as the ForgeBox module of the Week and the VS Code Hint Tip and Trick of the week.