Modernize or Die® - CFML News for February 16th, 2021 - Episode 91

Gavin hosts this weeks episode solo due to power issues caused by the Snow storm in Texas / Kansas. He talks about a new Blog Aggregator for CFML Blogs after we lost the old one. He discusses Ortus' new webinar - Take Control of Logging and Error handling with Stachebox with Jon Clausen coming up end of Feb. They announce an Adobe Webinar, called SQL, I know enough to break everything, and announce John Farrar will be speaking at Mid Michigan CFUG about Docker. They discuss the latest CFCasts content, and some upcoming conferences. 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. They show off the ForgeBox module of the Week, Socket.IO-Lucee by Pixel 8 - an alpha implementation of Web Sockets for Lucee. This week's VS Code Tip of the week is Footsteps by Wattenberger - Keep your place when jumping between a different parts of your code. This is a VSCode extension that will highlight lines as you edit them, fading as you move away. We thanked all our Patreons, but also leaked a little information about new perks for our Patreon supporters. For the show notes - visit the website https://cfmlnews.modernizeordie.io/episodes/modernize-or-die-cfml-news-for-february-16th-2021-episode-91 Music from this podcast used under Royalty Free license from SoundDotCom https://www.soundotcom.com/ and BlueTreeAudio https://bluetreeaudio.com
2021-02-16 Weekly News - Episode 91

Watch the video version on YouTube at https://youtu.be/99oJ3kAZcXc

Hosts:

Gavin Pickin - Software Consultant for Ortus Solutions


Thanks to our Sponsor - Ortus Solutions

One way to say thanks back to Ortus Solutions, is to support CFCasts, which is releasing new content every week


Patreon Support

We have 33 patreons providing 65% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. If you love our podcasts and all we do for the #coldfusion #cfml community considers chipping in, we are almost there!
https://www.ortussolutions.com/blog/we-need-your-help


News and Events



New Blogs Aggregator to replace CF Bloggers
 

www.cfblogs.org is meant to replace the popular 'ColdFusion Bloggers' blog aggregator that was so popular in the ColdFusion community in the last ten years. Unfortunately, the ColdFusion Bloggers platform is no longer active at this time due to the unfortunate demise of Wil Genovese, who maintained Cfbloggers after Raymond Camden provided Wil with the keys.
https://gregoryalexander.com/blog/2021/2/13/CfBlog-Feeds--A-New-ColdFusion-Blog-Aggregator



Ortus Webinar - Take Control of Logging and Error handling with Stachebox with Jon Clausen

Friday, February 26th - 11:00 AM CDT (GMT -6:00)
Tracking, handling, and resolving bugs between different tiers can be challenging, especially in containerized or cloud environments. In this webinar, Jon Clausen will introduce you to capturing your back end and front-end error messages, and consolidating them in to one single, aggregated platform - backed by the power of Elasticsearch.
https://www.ortussolutions.com/events/webinars
Register: https://us02web.zoom.us/meeting/register/tZEqdO2qpjgjH9Y9FCGbn2dkx-ARjlpenKMm



Mid Michigan CFUG - Docker with John Farrar

Feb 16th @ 7pm
I will be doing a Docker meeting for the Mid Michigan CFUG this month. It is Rick Mason’s user group and details will follow. I am going to put a special emphasis on Traefik if anyone is interested. I am a user now, not an expert but find it a better experience than Apache, HAProxxy, IIS or Nginx so far. Your experience may vary. https://community.ortussolutions.com/t/docker-cfug-meeting/8755?u=john_farrar
CFUG Website: http://www.mmcfug.org/
Teams Link: https://bit.ly/3didqEQ



Adobe Webinar - SQL, I know enough to break everything - Dave Ferguson

February 24th 2021 @ 8 AM PT
If you are reading this you have probably written SQL in one form or another.  I would also bet that you have written SQL that looked great but didn't act great.  Looking back at it was more like a little puppy that tilts its head at strange sounds.  We all have, even the "experts" among, us have written SQL that had intentional consequences.  On the other hand, maybe you support a system that has SQL that you just don't quite understand.  If some of this is true, this session is for you.
This session will take a look at why SQL may not run the way it was intended.  We will look well beyond just the select statement and look deeper into how SQL runs.  We will go over what the DBA's keep to themselves as well as other metrics.  We will also look at some well-intended SQL and why the results were less than ideal. 
https://cfwebinar-sql.meetus.adobeevents.com/



New Book from Luis Majano in the next week or so - 102 ColdBox HMVC Quick Tips and Tricks



Reminder about the new Ortus Community

Ortus has rolled out our new Ortus Community site to help consolidate all of our community support and interaction.  As part of that effort, all our Google Group threads have been imported to the new Ortus Community and effective immediately, our Google Groups are closed for further posting.
If you're a member of our Google groups, don't worry-- your user has already been imported into the community forum and as soon as you sign up, you will be automatically associated with all of your old posts so you can pick up your conversations right where you left off!  We've even added single sign on options for Github, Facebook, Google, and Twitter (coming soon).  If your new account is under a different E-mail address, let us know and we can merge your accounts together.
https://community.ortussolutions.com/



CFCasts Content Updates

Just Released

 - CommandBox Zero to Hero
    - Running Commands
    - Shell Features, REPL and CFML Commands
    - Special Commands

Coming up
- More CommandBox Hero to Zero



Conferences and Training

Devnexus

Join the VIRTUAL <dev/>olution
Feb 17 2021 - Online
https://devnexus.com/



RedisConf 2021

Virtual: Apr 20-21
Call for speakers ended Feb 14 - https://sessionize.com/redisconf2021/
https://redislabs.com/redisconf/



DockerCon

May 27th 2021
https://www.docker.com/dockercon/



Ortus Workshops - Dates coming soon

Quick Workshop
March 11-12
Lead by the creator of Quick himself, Eric Peterson.
Information: https://www.ortussolutions.com/events
Register now https://www.eventbrite.com/e/up-and-running-with-quick-tickets-124157021995

More dates to come
- CommandBox Zero to Hero
- ColdBox Zero to Hero
- ColdBox Hero to SuperHero


Ortus’s Possible Conferences for 2021

Dates subject to change
Due to Online conference overload, we are thinking about not expanding the number of events, but more content in more timezones with a different format.

ITB - Developer Week Style
With some European Timezone Friendly slots from our European Community Members
September 2021
Call for speakers coming soon

ITB Latam
December 2021

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

CFML Is now on the list - https://confs.tech/conferences/new



Blogs, Tweets and Videos of the Week


Blog - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part II
Last week, I shared a proof-of-concept (POC) that I had been working in which I used ColdFusion Custom Tags as a DSL for HTML emails. Well, I've been continuing to work on it and I'm actually pretty stoked on where it's going. It's starting to feel like it might actually be something that I can use at InVision for our transactional emails. I've gotten my POC to a point where I feel like creating and overriding styles feels fairly easy (within a given set of constraints). So, I wanted to share this update more broadly.
https://www.bennadel.com/blog/3979-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-ii.htm


Blog - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part III
Over the last few weeks, I've been exploring the use of ColdFusion custom tags as a DSL for HTML emails, first laying the foundation of the concept, then adding themeing of HTML entities, and most recently, improving the performance by removing implicit variable access. Today, as a quick follow-up, I wanted to add some dynamic rendering in which content can be targeted for Desktop devices vs. Mobile / Responsive devices.
https://www.bennadel.com/blog/3981-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-iii.htm


Blog - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part IV
When creating dynamic HTML emails, you can progressively enhance a layout (on more modern devices) using CSS media queries. However, doing so requires repetitive boilerplate: wrapping the styles in a @media block and - super importantly - remembering to append the !important flag to every single CSS property in your style block. Since I plan to use CSS media queries in my ColdFusion custom tag DSL (Domain Specific Language) for HTML emails, I wanted to find a way to abstract the boilerplate.
https://www.bennadel.com/blog/3982-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-iv.htm


Blog - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part V
As I've been testing my ColdFusion custom tag DSL (Domain Specific Language) for HTML emails in Litmus, I noticed that they offer previews for email clients running in "Dark Mode". Dark mode, like other responsive design elements, can be controlled on the web using @media queries. Yesterday, I added two @media abstractions for max-width and min-width. As such, I wanted to see if I could do the same thing for dark mode.
https://www.bennadel.com/blog/3983-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-v.htm


Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part VI
In the first post on my ColdFusion custom tag DSL (Domain Specific Language) for HTML emails, I had an image-grid abstraction that took a list of images and rendered a responsive table. In that example, I had several custom tags that did nothing but aggregate data (ie, they had no layout in and of themselves). As I've continued to think about more complex layouts, I've noticed this pattern cropping back up. As such, I thought it would be worth codifying in a core tag, <core:Slot>. The Slot tag is meant for content projection in which the rendered contents of the Slot tag are just captured and passed back up to an ancestor tag such that they can be subsumed into more complex layouts.
https://www.bennadel.com/blog/3984-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-vi.htm


Blog - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part VII
I've been making some wonderful progress on my ColdFusion custom tag DSL (Domain Specific Language) for HTML emails! We've looked at how HTML tags are abstracted away; and, how themes can be applied to those HTML tag abstractions; and, how we can apply responsive styling on mobile email clients; and, how we can add support for Dark Mode; and, how we can use advanced content projection techniques to build complex widgets. So, this morning, I just wanted to do a quick recap of the various encapsulation techniques that we can use when building HTML emails in Lucee CFML 5.3.7.47.
https://www.bennadel.com/blog/3985-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-vii.htm


Blog - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part VIII
For the last couple of weeks, I've been neck-deep in HTML emails, fleshing out a ColdFusion custom tag DSL (Domain Specific Language) for HTML email authoring. In my previous posts, I've been building-up theming concepts, responsive desktop and mobile logic, CSS media query overrides, dark mode support, and multi-slot content projection. With all of these tools in my HTML email toolbox, I wanted to finally try to recreate a real-world HTML email. Specifically, one with a more advanced layout to see if the current tools provide sufficient functionality. And so, in this post, I am going to try and build the new comment email (or, my take on it), that we might send out from InVision.
https://www.bennadel.com/blog/3986-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-viii.htm


Community Post - Brad Wood - Fixing ColdBox performance affected by custom tag paths
I’m putting this here to preserve it and so others can find it. I recently helped someone who had a simple ColdBox application that performed very well on their local CommandBox development server. However, when they placed the app on their production server (Adobe CF 2018), it was very slow. Taking up to 2 seconds for a simple event to run.
https://community.ortussolutions.com/t/fixing-coldbox-performance-affected-by-custom-tag-paths/8762


Blog - Gregory Alexander - CfBlogs.org - A New ColdFusion Blog Aggregator
www.cfblogs.org is meant to replace the popular 'ColdFusion Bloggers' blog aggregator that was so popular in the ColdFusion community in the last ten years. Unfortunately, the ColdFusion Bloggers platform is no longer active at this time due to the unfortunate demise of Wil Genovese, who maintained Cfbloggers after Raymond Camden provided Wil with the keys.
https://gregoryalexander.com/blog/2021/2/13/CfBlog-Feeds--A-New-ColdFusion-Blog-Aggregator 


Live Stream - Matthew Clemente - Writing Tests for a Prism.js Language Definition (Learning by Trial and Error) [Part 2]
I got started with testing this CFML language definition last week. I still have some language features that I'll need to write tests for. And in testing I'll likely find improvements that I can add to the language definition.
If you only work on something for 1 hour a week - it takes a long time
https://www.youtube.com/watch?v=hgNrdqVWiEU&feature=youtu.be


Blog - David Byers - ColdFusion 101: Tags, Script and Functions
The first in an on-going series of posts covering ColdFusion basics for new developers. This series is intended to cover basic concepts. In this article, I cover the building blocks of ColdFusion; Tags, Script, and Functions.
https://coldfusion.adobe.com/2021/02/coldfusion-101-tags-script-functions/


Blog - David Byers - ColdFusion 101: Different ways to create and add data to structures
An on-going series of posts covering ColdFusion basics for new developers. This series is intended to cover basic concepts, and demonstrate how there are many ways to accomplish tasks. This will cover some, but not all of them.
https://coldfusion.adobe.com/2021/02/coldfusion-101-different-ways-create-add-data-structures/


Podcast - Working Code Podcast - Episode 009: Testing
There are very few people in the programming world who will argue against the idea of testing software. But, when it comes to the mechanisms though which code is tested, the conversation starts to get interesting. There are those who feel that TDD - Test Driven Development - is "the way"; and, that any divergence from TDD is not only laziness but is, in fact, borderline malfeasance. At the other end of the spectrum are the people who perform all their testing manually; often, relying on QA (Quality Assurance) teams and smoke tests to find regressions before each deployment.
https://www.bennadel.com/blog/3980-working-code-podcast-episode-009-testing.htm
Adam Cameron’s Response: http://blog.adamcameron.me/2021/02/thoughts-on-working-code-podcasts.html


Blog - Charlie Arehart - Coldfusion Portal - How to quickly solve outofmemory metaspace errors
Getting metaspace errors, or blank pages that end up being related to this? Don’t tweak the maxmetaspace: remove it!
https://coldfusion.adobe.com/2020/02/quickly-solve-outofmemory-metaspace-errors/


Blog- Charlie Arehart - ColdFusion Portal - Solving problems calling out of CF via https, by updating JVM
If you’re getting errors in calling out to https urls from CF, you may not need to “import new certificates”. You may merely need to update the JVM that CF uses.
https://coldfusion.adobe.com/2019/06/error-calling-cf-via-https-solved-updating-jvm/


CFML Jobs

Several positions available on https://www.getcfmljobs.com/
Listing over 40 ColdFusion positions from 26 companies across 30 locations in 5 Countries since Dec 1st.

6 new jobs this week


Full-Time - Senior Developer at Remote - United States
Posted Feb 09
https://www.getcfmljobs.com/jobs/index.cfm/united-states/SrDeveloper-ColdFusion-at-Remote-US/11186

Full-Time - Web/ColdFusion Developer at Ahmedabad, Gujarat - India
Posted Feb 09
https://www.getcfmljobs.com/jobs/index.cfm/india/WebColdFusion-Developer-at-Ahmedabad-Gujarat/11187

Full-Time - ColdFusion Developer at Melbourne VIC - Australia
Posted Feb 09
https://www.getcfmljobs.com/jobs/index.cfm/australia/ColdFusion-Developer-at-Melbourne-VIC/11185

Full-Time - ColdFusion Developer at Sydney NSW - Australia
Posted Feb 09
https://www.getcfmljobs.com/jobs/index.cfm/australia/ColdFusion-Developer-at-Sydney-NSW/11189

Full-Time - ColdFusion Developer at Melbourne VIC - Australia
Posted Feb 09
https://www.getcfmljobs.com/jobs/index.cfm/australia/ColdFusion-Developer-at-Melbourne-VIC/11184

Full-Time - oldFusion Developer at Sydney NSW - Australia
Posted Feb 09
https://www.getcfmljobs.com/jobs/index.cfm/australia/ColdFusion-Developer-at-Sydney-NSW/11188 



ForgeBox Module of the Week

Socket.IO-Lucee by Pixel 8

Socket.io-Lucee is a Socket.IO server implementation for the Lucee webserver. Socket.IO is a javascript library for realtime web applications. You can use the Socket.io-lucee project to marry your Lucee server with your frontend client(s) using the Socket.IO client library.

The project is currently in an ALPHA state. This means it is suitable for experimenting with, but unlikely that it is ready for production use. We have implemented much of the core feature set, but there is much to do to ensure that we have a robust, performant and feature complete set.

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



VS Code Hint Tips and Tricks of the Week

Footsteps by Wattenberger

Keep your place when jumping between a different parts of your code. This is a VSCode extension that will highlight lines as you edit them, fading as you move away.

Jump between lines using ctrl+alt+left and ctrl+alt+right.

https://marketplace.visualstudio.com/items?itemName=Wattenberger.footsteps




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

- 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

Don Bellamy
Eric Hoffman
Gary Knight
Giancarlo Gomez
Mario Rodrigues
John Wilson Synaptrix
Joseph Lamoree
Ben Nadel
Brett DeLine
Carl Von Stetten
Charlie Arehart
Dan Card
Daniel Garcia
David Belanger
Didier Lesnicki
Edgardo Cabezas
Jan Jannek
Jason Daiger
Jeff McClain
Jeremy Adams
Jonas Eriksson
Jordan Clark
Kai Koenig
Laksma Tirtohadi
Leon Seremelis
Matthew Darby
Matthew Clemente
Mingo Hagen
Patrick Flynn
Ross Phillips
Scott Steinbeck
Yogesh Mathur
Steven Klotz

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

★ 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