Modernize or Die® - CFML News Podcast for January 31st, 2023 - Episode 182

Gavin Pickin and Daniel Garcia host this week's CFML News Podcast They discuss a new CommandBox settings Sync Feature, Ortus Community Chat feature, the latest Java 8, 11, 17 and 19 releases, and a gotcha you might not realize with the Oracle JDK installers. Webinars / Meetups and Workshops - Ortus Fridays back in January 2023 - with Office Hours and the Software Craftsmanship Book club coming up. Conferences They reminded you about recent Conferences, VueJS Nation and CF Summit Online. They discussed upcoming conferences including VueJS Amsterdam, VueJS Live, Dev Nexus 2023 and ITB 2023 and CFCamp. Reminded you of Call for Speaker deadlines. They discussed what's new and coming soon with CFCasts. They spotlight a lot of great blog posts, tweets, videos and podcasts, too many to list, so listen to the show.  They announce some jobs from getCfmlJobs.com and on the web. They show off the ForgeBox module of the Week - Who.is IP Address lookup API - This project provides CFML applications with a lightweight abstraction of the who.is IP lookup service https://ipwhois.io/ This week's VS Code Tip of the week is - SCSS Everywhere - CSS class name completion for the HTML They talked a little information about perks for their Patreon supporters, including Annual Memberships with a discount... and now new perks like the BoxTeam Slack Channel and live streams. For the show notes - visit the website https://cfmlnews.modernizeordie.io/episodes/modernize-or-die-cfml-news-podcast-for-january-31st-2023-episode-182 Music from this podcast is used under Royalty Free license from SoundDotCom https://www.soundotcom.com/ and BlueTreeAudio https://bluetreeaudio.com
2023-01-31 Weekly News - Episode 182

Watch the video version on YouTube at https://youtube.com/live/_iPdrW9iVa4

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. 
A few ways  to say thanks back to Ortus Solutions:

 
Patreon Support ( NOBLE )

Goal 1 - We have 42 patreons providing 100% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions.
Goal 2 - We are 37% of the way to fully fund the hosting of ForgeBox.io


News and Announcements


CommandBox settings Sync Feature

A new CommandBox feature has been born to sync your config settings to your ForgeBox account! New commands:
config sync push
config sync pull
config sync diff
From the ticket: CommandBox settings sync – like VSCode settings sync.  BUT, I propose we use people's Forgebox account to tie the data to.  This encourages people to:
  • have ForgeBox accounts
  • stay logged in everywhere
https://ortussolutions.atlassian.net/browse/COMMANDBOX-1434


Ortus Community Forum now has Chat!

The Community Forum recently got an update that includes a chat feature. There are notifications you can turn on so you see when people message you.
The forum is pretty active these days which is great to see, a lot better content retention and search compared to slack.
Give it the community forum a try!
https://community.ortussolutions.com/


ICYMI - New updates released for Java 8, 11, 17, and 19 as of Jan 17 2023

Here's a heads-up that some will want to hear about: there are new JVM updates released today (Jan 17, 2023) for the current long-term support (LTS) releases of Oracle Java, 8, 11, and 17, as well as the current interim update 19. (Note that prior to Java 9, releases of Java were known technically as 1.x, so 8 is referred to in resources below as 1.8.)
https://www.carehart.org/blog/2023/1/17/java_updates_Jan_2023


ICYMI and CLARIFICATION: Beware that latest Oracle JDK installers will REMOVE older JDK installs of that version

Here's something new to beware if you may run the Oracle JDK installer for the recently updated Java 11 or 17, whether on Windows, macOS, or via RPM: the new Oracle jdk installer WILL REMOVE any older previous versions of that JVM version created by previous JDK installers of the same major version. (Note that this issue does not affect those who implement java by extracting it from a compressed file, like a zip or tar.gz.)
Fortunately for some, this issue does NOT affect those running Java 8 or below, or Java 19 or above
https://www.carehart.org/blog/2023/1/23/beware_latest_oracle_JDK_installers_will_remove_older_JDK_installs

Clarification from Charlie regarding the Podcast discussion of this post last week:
 

Brad said that this behavior is “not new”, and I have to say: that’s not correct. As the post goes on to clarify, this change IS documented in last week’s release notes for the Oracle JVM. I’ve updated my post with this new paragraph at the top to clarify that point:

Since I posted this last night, I've heard some people assert "this is not new behavior: Java's always popped up and offered to remove old versions". Those folks are misunderstanding something: that was true of past JRE installers (like in Java 8 and earlier, which don't exist for Java 11), but it was never the case for Oracle JDK installers (even for Java 8). THAT's what's new about the JDK 11 and 17 installers, and it's DOCUMENTED in the release notes, as I discuss below. But it may surprise those who never saw a JDK installer do that, thus this post. (The rest of this post remains unchanged.)

Thanks Charlie for Clarifiying!



ICYMI - CBWire Poll about a CFCasts Series

I’m in the planning stage of developing an ongoing video series for CBWIRE on https://cfcasts.com/. I have several ideas and would like to put it out to the community to vote what you’d like to see most. All series would feature 5-7 minute bit-sized videos posted regularly (probably weekly) until the series is finished.
https://community.ortussolutions.com/t/poll-cbwire-cfcasts-com-series/9513


New Releases and Updates


ICYMI - CBSecurity - V 3.0.0

This module will enhance your ColdBox applications by providing out-of-the-box security.
Now with a cool Security Visualizer too!!!

Change Log is packed - https://www.forgebox.io/view/cbsecurity#changeLog

https://www.forgebox.io/view/cbsecurity


Webinar / Meetups and Workshops

Ortus Event Calendar for Google
https://calendar.google.com/calendar/u/0?cid=Y181NjJhMWVmNjFjNGIxZTJlNmQ4OGVkNzg0NTcyOGQ1Njg5N2RkNGJiNjhjMTQwZjc3Mzc2ODk1MmIyOTQyMWVkQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20

Ortus Fridays are back in Full Effect in 2023


CFCasts Content Updates

https://www.cfcasts.com

Recent Releases
Coming Soon

Conferences and Training

ICYMI - CF Summit Online

All the webinars, all the speakers from Adobe ColdFusion Summit 2022 – brought right to your screen. All sessions will soon be streamed online, for your convenience. Stay tuned for more!

ICYMI - OPPORTUNITIES FOR BLOCKCHAIN TECHNOLOGY AND NFTS IN THE REAL WORLD
Masha Edelen and Nick Juntilla
January 24 | 14:00 - 15:00pm EST (1 hour)
Understanding the value and practical use cases of Non-Fungible Tokens in modern business applications. Learn how to get started using the blockchain and building your Web 3 strategy.
https://www.youtube.com/watch?v=YAoLDEe49mM

Website for CF Summit Online
https://cfsummit-online.meetus.adobeevents.com/

ICYMI - VUE.JS NATION CONFERENCE

January 25th & 26th 2023
Full Videos online already - Watched it - Very cool stuff!
https://vuejsnation.com/

VUEJS AMSTERDAM 2023
9-10 February 2023, Theater Amsterdam
World's Most Special and Largest Vue Conference
https://vuejs.amsterdam/

VueJS Live
MAY 12 & 15, 2023
ONLINE + LONDON, UK
CODE / CREATE / COMMUNICATE
35 SPEAKERS, 10 WORKSHOPS
10000+ JOINING ONLINE GLOBALLY
300 LUCKIES MEETING IN LONDON
https://vuejslive.com/

Dev Nexus
April 4-6th, 2023 in Atlanta
Georgia World Congress Center
285 Andrew Young International Blvd NW
Atlanta, GA 30313
https://devnexus.com/
No Ortus speakers this year but Charlie Arehart is speaking- Congratulations Charlie!

Into the Box 2023 - 10th Edition
May 17-19, 2023
The conference will be held in The Woodlands (Houston), Texas
This year we will continue the tradition of training and offering a pre-conference hands-on training day on May 17th and our live Mariachi Band Party! However, we are back to our Spring schedule and beautiful weather in The Woodlands! Also, this 2023 will mark our 10 year anniversary. So we might have two live bands and much more!!!
Still time - call for speakers for the Into The Box Conference for 2023 is open until Jan 31st
https://www.intothebox.org/blog/into-the-box-2023-call-for-speakers
https://itb2023.eventbrite.com/

CFCamp is back
June, 22-23rd 2023
Marriott Hotel Munich Airport, Freising
Call for Speakers is now open!
https://www.papercall.io/cfcamp2023
https://www.cfcamp.org/

More conferences

Need more conferences, this site has a huge list of conferences for almost any language/community.
https://confs.tech/
https://github.com/scraly/developers-conferences-agenda


Blogs, Tweets, and Videos of the Week

1/31/23 - Blog - Ben Nadel - A Simple Slide Show Using Hotwire And Lucee CFML
Now that I have my ColdFusion and Hotwire playground up and running, I can start to explore the features of the Hotwire framework. And, one of the most attractive features is the ability to update a portion of the page using a full-page render. This works by scoping DOM (Document Object Model) changes to a given <turbo-frame> element. To see this in action, I wanted to create a simple slide show using Lucee CFML.
https://www.bennadel.com/blog/4398-a-simple-slide-show-using-hotwire-and-lucee-cfml.htm

Creation Order: 
  • LiveView created for Phoenix’s for the Elixir language
  • LiveWire is Laravel for PHP
  • HotWire is Ruby on Rails for Ruby
  • CBWire is our LiveWire implementation for ColdBox for ColdFusion
  • Check our January CBWire Webinar from Grant to see it in action
  • HTMX is another option which has grown over time - mentioned by a few CFMLs like Greg Alexander

1/29/23 - Blog - Ben Nadel - OnRequestStart() / OnRequest() Methods Invoked Even If Requested Template Doesn't Exist In Lucee CFML
While setting up my ColdFusion and Hotwire Demos project, I stumbled upon an application behavior that is unique to Lucee CFML (as opposed to Adobe ColdFusion). Historically, with ColdFusion, attempting to request a .cfm file that doesn't exist would result in a "Missing Template" error; or, if defined, would trigger the onMissingTemplate() event handler. This was true regardless of the method defined in your Application.cfc framework component. In Lucee CFML, however, it seems that the onRequestStart() and onRequest() life-cycle method will be invoked even if the requested template doesn't exist. Which is awesome!
https://www.bennadel.com/blog/4397-onrequeststart-onrequest-methods-invoked-even-if-requested-template-doesnt-exist-in-lucee-cfml.htm


1/29/23 - Blog - Ben Nadel - Setting Up My ColdFusion + Hotwire Demos Playground

A month ago, I started building a ColdFusion and Hotwire application as a learning experience. Only, once I finished the basic ColdFusion CRUD (Create, Read, Update, Delete) features, I didn't really know how to go about applying the Hotwire functionality. I realized that I bit off more than I could chew; and, I needed to go back and start learning some of the Hotwire basics before I could build an app using the "Hotwire way". As such, I've started a new ColdFusion and Hotwire Demos project, where I intended to explore stand-alone aspects of the Hotwire framework.
https://www.bennadel.com/blog/4396-setting-up-my-coldfusion-hotwire-demos-playground.htm


1/27/23 - Blog - Brad Wood - Improving Lucee's QoQ Support Again- now 200% faster
Two years ago, I published this post detailing how I had refactored the Query of Query support in Lucee to be much better and also much faster:
https://www.codersrevolution.com/blog/improving-lucees-query-of-query-support

I removed the single-threaded HSQLDB callback for grouped/aggregate and distinct selects and tuned the performance.  QoQ's are a bit of a polarizing feature in CFML.  They've suffered in the past from poor support and poor performance which has caused a lot of people to avoid them.  There are certainly places where queryMap(), queryFilter(), and queryReduce() are the best approach, but there are also times where you simply can't beat the readability and conciseness of an ordered,  aggregated select.  I know developers who tell me they never use "reduce" higher order functions because they are too confusing, but I've never met a developer who didn't understand "GROUP BY department"!

https://www.codersrevolution.com/blog/improving-lucees-qoq-support-again-now-200-faster


1/26/23 - Blog - Charlie Arehart - Be aware that ColdFusion 2018 end-of-life (and end of updates) is coming July 2023
Are you still running ColdFusion 2018? Did you know that its end-of-life is July 13, 2023? That's the date that "core" support ends--meaning, no more updates from Adobe after that, not even security fixes.
As for CF2021, it gets updates into 2025, and the currently running pre-release of CF2023 is a great sign for the continued vitality of CF. But this looming deadline for CF2018 is a reminder that as the years roll on, we not only get new versions but we must say good-bye to old ones.

Wondering what you can do? or when CF2021 or CF2023 support will end also? And what's the difference between "core" and "extended" support Adobe sells? (The extended support plan does NOT provide updates beyond this coming July.) For more on these, including official Adobe documentation that discusses such things, as well as my thoughts on migration, costs, various options to consider, and more, do read on.

https://www.carehart.org/blog/2023/1/26/coldfusion2018_end_of_life_july_2023



CFML Jobs

Several positions available on https://www.getcfmljobs.com/
Listing over 48 ColdFusion positions from 29 companies across 23 locations in 5 Countries.

2 new jobs listed this week


Full-Time - ColdFusion Developer at India - India
Jan 30
https://www.getcfmljobs.com/jobs/index.cfm/india/ColdFusion-Developer-at-India/11552

Contract - Adobe ColdFusion Administrator at Alhambra, CA - United States
Jan 26
https://www.getcfmljobs.com/jobs/index.cfm/united-states/CFAdminstrator-at-CA/11551

Other Job Links


  • There is a jobs channel in the CFML slack team, and in the Box team slack now too
    • Brian Polackoff posted yesterday morning in the cfml-general channel that he is looking for 2-3 advanced CF programmers. Check it out.
      • “Morning everyone; can anyone tell me where to find 2-3 advanced Adobe Coldfusion programmers? Salaries will be in the range of ~125k to 150k USD? I’m open to FT or Contract with FT hours? Preferably in the USA but am open to other areas.  Is there anyone on this list, a better list, or even a company that can provide match making services?”


ForgeBox Module of the Week

Who.is IP Address lookup API

By Pixl8 Interactive (Dominic Watson)

Who.is IP Lookup API For CFML Application with Coldbox bindings

This project provides CFML applications with a lightweight abstraction of the who.is IP lookup service https://ipwhois.io/

A note on free vs paid-for account: you can use the API without an API key for "free" usage which includes 10,000 IP lookups per-month as of January 2023 - based on source IP and http referrer. Certain features are not available with the free tier and commercial usage is also not allowed. See the website for further details: https://ipwhois.io/.

https://www.forgebox.io/view/cbwhois


Lightweight means:

No caching your application can and should take care of caching results
No error handling your application should handle any unexpected errors from the http call to the api. I'm lazy and this utility does the bare minimum

VS Code Hint Tips and Tricks of the Week

SCSS Everywhere
By Gencer W. Genç

CSS class name completion for the HTML

'.class' and '#id' completion for HTML, Svelte, Latte, Slim, Liquid, TSX/JSX, Haml, Elixir, Smarty, PHP, ERB, Javascript, CSS and SCSS. Just declare class in your template or CSS/SCSS and see it in everywhere. (Both directions)

Features
  • Gives you autocompletion for CSS class definitions that can be found in your workspace (defined in CSS files or the in the file types listed in the Supported Language Modes section)
  • Supports external stylesheets referenced through link elements in HTML files
  • Command to manually re-cache the class definitions used in the autocompletion
  • User Settings to override which folders and files should be considered or excluded from the caching process
  • Incremental build. You do not need to re-cache everytime.
  • Additional Slim, Haml, Smarty, Eex and Svelte template support
  • Both-way SCSS support
  • Separate class and id support Work in progress.
  • Automatically parse all remote stylesheets from HTML, Svelte, Twig, Slim and ERB files.
  • HTML, SCSS, SASS, CSS, Elixir, PHP, Vue, Slim, Haml, Latte and many more

Awesome features
  • FIND USAGES - find what files are using what css class - mind blown.
  • Link to External Files
  • Caching - pretty slick too.

https://www.youtube.com/watch?v=sKrp2d1HUAM

https://marketplace.visualstudio.com/items?itemName=gencer.html-slim-scss-css-class-completion


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.

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.

  • 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
  • Live Stream Access to streams like “Koding with the Kiwi + Friends” and Ortus Software Craftsmanship Book Club
  • John Wilson - Synaptrix
  • Tomorrows Guides
  • Jordan Clark
  • Gary Knight
  • Mario Rodrigues
  • Giancarlo Gomez
  • David Belanger
  • Dan Card
  • Jeffry McGee - Sunstar Media
  • Dean Maunder
  • Nolan Erck 
  • Abdul Raheen

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


Homework 
  • Gavin
  • Go check out the Community Forum
  • Daniel
  • See you all at the Ortus Office Hours


Stay warm and dry everyone!!!

Thanks everyone!!!

★ Support this podcast on Patreon ★

Switch to Modernize or Die ® Podcast - SoapBox Edition - Switch to Modernize or Die ® Podcast - Conference Edition

Powered by

Music from this podcast used under Royalty Free license from SoundDotCom and BlueTreeAudio

© 2019 Ortus Solutions