Modernize or Die® - CFML News for February 23rd, 2021 - Episode 92

2021-02-23 Weekly News - Episode 92Watch the video version on YouTube at https://youtu.be/ZebdKMn4X0E Hosts:Brad Wood - Software Consultant for Ortus SolutionsEric Peterson- Software Consultant for Ortus SolutionsThanks to our Sponsor - Ortus SolutionsOne way to say thanks back to Ortus Solutions, is to support CFCasts, which is releasing new content every weekPatreon SupportWe have 33 patreons providing 69% 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 EventsLast week Adobe ColdFusion 2016 was EOL’edFeb 17, 2021 - end of core support for Adobe CF 2016 and CF Builder 2016Extended Support ends 2/17/22CF 2018 core support ends 7/13/2023CF 2021 core support ends  11/10/2025PrismJS now supports CFML - thanks to Matthew ClementeNo live coding last week, but Matthew was excited to see that his PR to add CFScript support to @prismjs was merged: It only took *checks calendar* 5 or 6 livestreams to complete ????Looking forward to #CFML syntax highlighting!https://github.com/PrismJS/prism/pull/2771 Adobe Webinar - SQL, I know enough to break everything - Dave FergusonFebruary 24th 20218 AM PTIf 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/ Online CF Meetup - "The Golden Hammer: Confessions of a Recovering Database Abuser", w/ Shawn OdenThursday, February 25, 202111:00 AM to 12:00 PM CSTEarly in my dev career, I often (unwittingly) abused my systems. My code didn't care about things like databases or networks, as long as the results were right. I had a cfHammer, and I needed to pound out a solution. I never knew I was an anti-pattern.Meetup Link: https://www.meetup.com/coldfusionmeetup/events/276405673/ Ortus Webinar - Take Control of Logging and Error handling with Stachebox with Jon ClausenFriday, 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 ICYMI - Mid Michigan CFUG - Docker with John FarrarFeb 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. CFUG Website: http://www.mmcfug.org/ Recording: https://www.youtube.com/watch?v=aywqGmEQkzkafbclid=IwAR1o_9BD77MsoxArBDQgmPw4F0xI1d2dkJO2zaga7PZjCoe7bc3O9b7UdfA Updated ForgeBox pricinghttps://www.ortussolutions.com/products/forgebox Reminder about the new Ortus CommunityOrtus 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 UpdatesJust Released- CommandBox Zero to Hero    - Config Settings and History    - Other Execution Examples    - The Backtick ExpressionComing up- More CommandBox Hero to ZeroSend your suggestions at https://cfcasts.com/supportConferences and TrainingRedisConf 2021Virtual: Apr 20-21Call for speakers end Feb 14 - https://sessionize.com/redisconf2021/ DockerConMay 27th 2021https://www.docker.com/dockercon/ Ortus Workshops - Dates coming soonQuick WorkshopMarch 11-12Lead by the creator of Quick himself, Eric Peterson.Information: https://www.ortussolutions.com/blog/first-workshop-of-the-year-announced-up-and-running-with-quickRegister 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 SuperHeroOrtus’s Possible Conferences for 2021Dates subject to changeDue 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 MembersSeptember 2021Call for speakers coming soonITB LatamDecember 2021More conferencesNeed 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 WeekBlogs - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part IXIn an attempt to round-out the set of ColdFusion custom tags that I might need in my DSL (Domain Specific Language) for HTLM emails, I wanted to take a look a the lpreg and lcodeg tags. The lpreg tag, specifically, is an interesting topic since it has special properties that don't pertain to the rest of HTML. That is, it maintains the whitespace that is present in the underlying markup. This poses a fun challenge because my ColdFusion custom tags actually try to remove most superfluous whitespace in order to minify the content and manage line-breaks. As such, I had take special measures for these two semantic tags.https://www.bennadel.com/blog/3988-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-ix.htm Blogs - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part XThe other day, I tweeted that the "Left Arrow" alarr; and "Right Arrow" ararr; were my new favorite HTML entities. I love the fact that there is a (mostly consistent) set of unicode characters that I can use in lieu of graphic images. After that tweet, it got me thinking about my DSL (Domain Specific Language) for HTLM emails; and, whether or not I can safely use these kind of HTML entities in my HTML emails. As such, I wanted to do a quick test in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/3991-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-x.htm Blog - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 5.3.7.47, Part XIIn an earlier post, I looked at several encapsulation techniques that I can use in my ColdFusion custom tag DSL (Domain Specific Language) for HTLM emails. A technique like "attribute passing" works well when you are passing data one layer down. However, as HTML email layouts become more complex, sometimes you need to make data accessible several layers down in your custom tag DOM (Document Object Model). In order to avoid so-called "prop drilling" (a term used in the React.js world), I wanted to borrow a concept from Angular: Providers. In my DSL, a "provider" is just a key-value pair defined at a high-level that can then be referenced at a lower-level in your HTML email markup.https://www.bennadel.com/blog/3992-using-coldfusion-custom-tags-to-create-an-html-email-dsl-in-lucee-cfml-5-3-7-47-part-xi.htm Blog - Ben Nadel - Replacing Blank Lines Using Multiline Mode RegEx Patterns In POSIX And Java In Lucee CFML 5.3.7.47 While working on my ColdFusion custom tag DSL for HTML emails, I ran into an interesting problem when performing a multiline RegExp replace on my generated email content. This is not the first time that I've tripped over issues with multiline (?m) Regular Expression patterns and line-breaks. Though, in this case, the issue was that my RegEx pattern was failing to match adjacent lines if the pattern ended with a line-break. Or rather, it was failing in POSIX (the default ColdFusion Regular Expression engine); but, it was succeeding in Java in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/3990-replacing-blank-lines-using-multiline-mode-regex-patterns-in-posix-and-java-in-lucee-cfml-5-3-7-47.htm Blog - Ben Nadel - Finding All Unique Paths In A Tree Structure In Lucee CFML 5.3.7.47 At InVision, I've been working with Holger Schueler to generate some internal reports regarding how different users end up in an enterprise context. One of the reports creates a Tree structure of cascading "invitations" (ie, this user invited another user who, in turn, invited three more users). In addition to rendering the tree structure visually, Holger would also like to download the tree structure as a CSV (Comma-Separated Values) file in which each row in the CSV contains a distinct path within the tree structure. This is a data translation that I've never actually done before. So, I wanted to sit down and figure it out in Lucee CFML 5.3.7.47.https://www.bennadel.com/blog/3989-finding-all-unique-paths-in-a-tree-structure-in-lucee-cfml-5-3-7-47.htm Podcast - Working Code Podcast - Episode 010: ScalingAn engineer at SquareSpace once referred to his company as "an overnight success, 7-years in the making." This cheeky insight pays homage to the marathon of work that is often required when building a successful product and / or business. Which begs the question: when is it appropriate to start thinking about scale? Should you be taking it into account during early ideation and the construction of your MVP (Minimum Viable Product)? Or, should you kick the can down the road with the assumption that you can always throw money at the problem later (either by hiring smart people or by vertically scaling your existing compute resources)?https://www.bennadel.com/blog/3987-working-code-podcast-episode-010-scaling.htm Tweet - James Moberg - Lucee has Unit Tests available with their sourceI just discovered that Lucee #cfml has unit tests available with their source. That is so awesome!  (In the past, I've asked whether there were any public unit tests for ACF and never got an official response.)https://twitter.com/gamesover/status/1361830790653501447 https://twitter.com/gamesover Blog - Ortus Solutions - First Workshop of the Year Announced: Up and Running with QuickOn our first workshop of the year (March 11 - 12) we will get Up and Running with Quick. For those of you unfamiliar with the topic, Quick is an ORM (Object Relational Mapper) written in CFML for CFML.With it you can map database tables to entities (CFCs), create relationships between entities, query and manipulate data, and persist all your changes to your database. Quick helps you give relevant names to important bits of SQL code, compose queries at runtime to get exactly the data you want in the most efficient way, and gets out of your way when you need or want to write barebones SQL.https://www.ortussolutions.com/blog/first-workshop-of-the-year-announced-up-and-running-with-quick CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 45 ColdFusion positions from 27 companies across 32 locations in 5 Countries since Dec 1st.2 new jobs this weekFull-Time - Sr. Software Engineer - ColdFusion/Java at West Palm Beach, .. - United States Posted Feb 19https://www.getcfmljobs.com/jobs/index.cfm/united-states/Sr-Software-Engineer-ColdFusionJava-at-West-Palm-Beach-FL/11191 Full-Time - ColdFusion Developer at Saint Paul, MN - United States Posted Feb 18https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusionDev-at-SaintPaul-MN/11190 ForgeBox Module of the WeekNavigate for CommandBoxNavigate allows you to traverse previously viewed working directories, both backwards and forwards (much like a web browser).https://www.forgebox.io/view/commandbox-navigate VS Code Hint Tips and Tricks of the WeekLocal HistoryA visual source code plugin for maintaining local history of files.Every time you modify a file, a copy of the old contents is kept in the local history. At any time, you can compare a file with any older version from the history. It can help you out when you change or delete a file by accident. The history can also help you out when your workspace has a catastrophic problem.https://marketplace.visualstudio.com/items?itemName=xyz.local-history Thank you to all of our Patreon SupportersThese 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 WebsiteDon BellamyEric HoffmanGary KnightGiancarlo GomezDavid BelangerYogesh MathurMario RodriguesJohn Wilson Synaptrix Joseph LamoreeBen NadelBrett DeLineCarl Von StettenCharlie ArehartDan CardDaniel GarciaDidier LesnickiEdgardo CabezasJan JannekJason DaigerJeff McClainJeremy AdamsJonas ErikssonJordan ClarkKai KoenigLaksma TirtohadiLeon SeremelisMatthew DarbyMatthew ClementeMingo HagenPatrick FlynnRoss PhillipsScott SteinbeckSteven KlotzYou can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors★ Support this podcast on Patreon ★

2356 232