Modernize or Die® - CFML News Podcast for September 5th, 2023 - Episode 203

2023-09-05 Weekly News — Episode 203

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

Hosts: 
  • Eric Peterson - 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 (mind-boggling)

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


Webinar / Meetups and Workshops

OOP & ColdFusion
Nolan Erck
Friday, September 29, 2023 @ 12 PM HAST (Hawaii Standard Time)

Object-Oriented Programming is common term in programming language. It’s a vast concept but to sum it up in a single line, it is a set of concepts and techniques that make use of the “object” construct, to write more reusable, maintainable, and organized code. Objects are implemented differently in every language. In ColdFusion, we have ColdFusion Components (CFCs) that can be instantiated to create objects.

Anyone who has ever studied OOP must know that there are four main concepts, which are:

  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism
Coming Soon
  • More ForgeBox and VS Code Podcast snippet videos
  • ColdBox Elixir from Eric
  • Mastering CBWIRE v3 from Grant


Conferences and Training

Adobe CF Summit West
Las Vegas 2-4th of October.
Session passes @ $199
Professional passes @ $299.
Speakers have been announced - with some great sessions
https://cfsummit.adobeevents.com/

Andy Bucklee will be there (David Wallace from The Office)

STUDENTS can get a free pass if they are enrolled at tertiary level educational institutions

Ortus CF Summit Training - ColdBox 7 Zero to Hero

Date: October 4th - 5th, 2023 | Right after Adobe CFSummit, 2023
Speakers: Luis Majano & Gavin Pickin
Location: Las Vegas, Nevada
Venue: Regus - Las Vegas - 3960 Howard Hughes Parkway Paradise #Suite 500 Las Vegas, NV 89169 United States
Ticket Price
Spotlight
  • Less than 2 miles from the Mirage - 30 mins walk
  • Next to Marriot hotel - 2 min walk
  • 1 mile to Top Golf - 20 min walk
  • 5 min walk to Fogo de Chão Brazilian Steakhouse
  • 5 min walk to starbucks
  • 5 min walk to Lo-los chicken and waffles
WIN WIN WIN WIN
https://www.eventbrite.com/e/workshop-coldbox-from-zero-to-hero-tickets-659169262007?aff=oddtdtcreator

Into the Box LATAM

November 30th
University of Business in El Salvador.
https://latam.intothebox.org/

ITB 2024

More conferences

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

https://confs.tech/

Blogs, Tweets, and Videos of the Week

08/28/2023 - Blog - Grant Copley - DataTable Example with CBWIRE

Hey everyone,

I’ve been quiet lately but CBWIRE is still receiving many updates, and I’m very excited about the road ahead. I wanted to share that I’ve put together a fully functional DataTable implemented almost entirely in CFML using CBWIRE.

The DataTable has the following features that were built from the ground up:

Single CBWIRE Component ( wires/Datatable.cfm - provides all functionality )
List NES games
Set the number of games displayed per page
Pagination
Reset button to start over
Click anywhere on the row to select a game
Select all games listed
Search field to match any column
Sort columns by ascending or descending
Select games by checkbox
Shift+Click to select multiple games
Favorite games(s) w/ confirmation
The repo has everything you need, including an already-seeded Sqlite database with NES Game data. Just run a couple of commands ( noted in the README ) and give it a try. :smiley:

Enjoy!

https://community.ortussolutions.com/t/datatable-example-with-cbwire/9758
https://github.com/grantcopley/cbwire-datatable-example

08/30/2023 - Blog - Brian (HoyaHaxa) - CVE-2023-29301: Adobe ColdFusion Access Control Bypass for a CFAdmin Authentication Component


In this post I'll be walking though CVE-2023-29301, which is an access control bypass / password brute force vulnerability in Adobe ColdFusion that I reported to Adobe and was fixed on July 11, 2023 in Adobe Product Security Bulletin APSB23-40.  Note that this is an access control bypass and is not an authentication bypass vulnerability. 

https://hoyahaxa.blogspot.com/2023/08/technical-details-for-cve-2023-29301.html


08/31/2023 - Blog - Ben Nadel - Using CFLoop To Iterate Over A File Line-By-Line In ColdFusion

Yesterday, at work, I had to take a CSV (Comma-Separated Values) file with 4.7 million lines of data in it and break it up into smaller files that each had 25K lines of data. I don't do a lot of file I/O (Input, Output) at work, so I'm a bit rusty. I ended up using the fileOpen(), fileReadLine(), and fileClose() functions to imperatively iterate over the file without reading it fully into memory. It wasn't until after I was done that I remembered the CFLoop tag can actually do all of that for me declaratively in ColdFusion.

https://www.bennadel.com/blog/4507-using-cfloop-to-iterate-over-a-file-line-by-line-in-coldfusion.htm

09/01/2023 - Blog - Ben Nadel - Using Seekable Read Files In ColdFusion

Yesterday, when I was looking at how to loop over a file using CFLoop, I came across an old post of mine in which Raymond Camden mentioned the fileSeek() function. In all my years of ColdFusion, I've never used fileSeek() - which allows us to jump to an arbitrary offset within a file. I believe that fileSeek() works with both readable and writable files; however, the documentation on this is unclear. For this post, I'm looking at using seekable read files in ColdFusion.

https://www.bennadel.com/blog/4508-using-seekable-read-files-in-coldfusion.htm

09/02/2023 - Blog - Ben Nadel - Using Labeled Loops In ColdFusion

The other day, I was watching a tutorial on the Svelte JavaScript framework and I saw that they used the $: notation to denote reactive values. I believe that this is just an old JavaScript feature for labeling parts of the code (which Svelte is then overloading). I've never used that JavaScript feature myself; but, it did remind me that some of this labeling concept is also available in ColdFusion as well, specifically for loops. I've never used this feature in ColdFusion either; so, I thought it might be worth a quick exploration.

I couldn't find much on how this feature actually works outside of this article on the ColdFusion blog. The idea is that you can add a label to either a for or a while loop; and then, consume that label in either a break or a continue statement. Essentially, you can tell ColdFusion which loop you are referencing in your break / continue statements.

Which is really only meaningful if you have nested loops. Otherwise, the break and continue statements simply reference the one contextual loop that you are in.

https://www.bennadel.com/blog/4509-using-labeled-loops-in-coldfusion.htm

09/03/2023 - Blog - Ben Nadel - Including CSS File Content Using CFInclude In ColdFusion

In my first pass at building Dig Deep Fitness - my ColdFusion fitness tracker - I'm using a traditional, multi-page application (MPA) approach. Which means, every navigation is a full-page refresh. This is slower than a single-page application (SPA). As such, in order to help decrease page load times - especially on first load - I'm rendering my temporary CSS directly in the page <head> tag. This way, the browser doesn't need to block-and-request the .css file in a separate HTTP request. And, to keep things super simple, I'm doing this with the CFInclude tag; which, in ColdFusion, can include any kind of text file.

Normally, when we use the CFInclude tag, we're including a ColdFusion file. Specifically, a .cfm file. ColdFusion will then compile this file down into byte code, execute it (as ColdFusion code), and then append the output to the current page output.

But, there's nothing that says the referenced template has to be a .cfm file. In fact, you can include any text file and ColdFusion will happily compile and execute it. In my case, to cut down on network requests, I'm using CFInclude to include a .css file.

https://www.bennadel.com/blog/4510-including-css-file-content-using-cfinclude-in-coldfusion.htm


CFML Jobs

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

Listing over 94 ColdFusion positions from 61 companies across 41 locations in 5 Countries.

4 new jobs listed in the last two weeks

Full-Time - ColdFusion Programmer in Tulsa, OK
Jackson Technical L.L.C
Posted: August 23, 2023
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-Programmer-at-Tulsa-OK/11596

Full-Time - ColdFusion programmer in Washington, DC
V3Visions
Posted: August 24, 2023
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-programmer-at-Washington-DC/11597

Full-Time - ColdFusion Developer | 4 to 6 years in Mumbai, Maharashtra, India
Capgemini
Posted: August 25, 2023
https://www.getcfmljobs.com/jobs/index.cfm/india/ColdFusion-Developer-4-to-6-years-Mumbai-at-Mumbai-Maharashtra/11598

Full-Time - ColdFusion programmer at Remote, US
GeoCivix
Posted: August 30, 2023
https://www.getcfmljobs.com/jobs/index.cfm/united-states/CFMLDev-at-Remote-US/11602


Other Job Links
There is a jobs channel in the CFML slack team, and in the Box team slack now too

ForgeBox Module of the Week

IP
by Ryan Albrecht

This ip package will help you retrieve info for a given ip and subnet. Currently only supports ipv4. This package is written in vanilla cfml and requires no depencies

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

VS Code Hint Tips and Tricks of the Week

Quick Find And Jump
Quickly find and jump through matches in your code, similar to the default Find feature, without the need to press Escape to exit. Easily navigate between next and previous matches for efficient code exploration.

https://marketplace.visualstudio.com/items?itemName=soata.quick-find

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 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 (mind-boggling)
  • John Wilson - Synaptrix
  • Tomorrows Guides
  • Jordan Clark
  • Gary Knight
  • Giancarlo Gomez 
  • David Belanger
  • Dan Card
  • Jeffry McGee - Sunstar Media
  • Dean Maunder
  • Kevin Wright
  • Doug Cain 
  • 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

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