<?xml version="1.0" ?>
<?xml-stylesheet type="text/css" href="https://www.bennadel.com/linked/dist/css/rss.css?v=2025.01.01.14.20" ?>
<?xml-stylesheet type="text/xsl" href="https://www.bennadel.com/linked/xslt/rss.xsl" media="screen" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="https://www.bennadel.com/rss" rel="self" type="application/rss+xml" />
<title>Ben Nadel's Web Development and User Experience Feed @ BenNadel.com</title>
<link>https://www.bennadel.com/</link>
<description>Recent blog posts covering JavaScript, User Experience (UX), ColdFusion, Node.js, and other topics</description>
<language>en-us</language>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<lastBuildDate>Sat, 4 Apr 2026 08:19:56 GMT</lastBuildDate>
<ttl>120</ttl>
<copyright>Copyright 2026 Ben Nadel</copyright>
<item>
<title>Routing External Links Through An Intermediary Page In ColdFusion</title>
<link>https://www.bennadel.com/blog/4882-routing-external-links-through-an-intermediary-page-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4882-routing-external-links-through-an-intermediary-page-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel explains his external link interception workflow for Big Sexy Poems. This shows a warning to the current user that they are about to leave the site.... ]]></description>
<pubDate>Sat, 21 Mar 2026 13:33:48 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Parsing URLs In ColdFusion</title>
<link>https://www.bennadel.com/blog/4881-parsing-urls-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4881-parsing-urls-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel builds ColdFusion methods that parse URLs using the underlying java.net.URI Java class.... ]]></description>
<pubDate>Fri, 20 Mar 2026 11:14:49 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Using Cached Components As Scoped Proxies In ColdFusion</title>
<link>https://www.bennadel.com/blog/4880-using-cached-components-as-scoped-proxies-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4880-using-cached-components-as-scoped-proxies-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel looks at using cached ColdFusion components as scoped proxies. This allows long-lived components to have request-specific state.... ]]></description>
<pubDate>Sun, 15 Mar 2026 21:11:26 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Adobe ColdFusion Bug: Nested Closures With Parallel Array Iteration Destroys Arguments</title>
<link>https://www.bennadel.com/blog/4879-adobe-coldfusion-bug-nested-closures-with-parallel-array-iteration-destroys-arguments.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4879-adobe-coldfusion-bug-nested-closures-with-parallel-array-iteration-destroys-arguments.htm</guid>
<description><![CDATA[ Ben Nadel outlines a reproduction case for an Adobe ColdFusion 2025 bug that involves asynchronous iteration, closures, and local variables.... ]]></description>
<pubDate>Thu, 5 Mar 2026 13:23:33 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>java.lang.Character JSON Bug In Adobe ColdFusion 2025</title>
<link>https://www.bennadel.com/blog/4878-java-lang-character-json-bug-in-adobe-coldfusion-2025.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4878-java-lang-character-json-bug-in-adobe-coldfusion-2025.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates a JSON serialization (and subsequent deserialization) bug in Adobe ColdFusion 2025.... ]]></description>
<pubDate>Sun, 1 Mar 2026 14:14:21 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Learning In Public: Cleaning Up Claude Code Settings</title>
<link>https://www.bennadel.com/blog/4877-learning-in-public-cleaning-up-claude-code-settings.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4877-learning-in-public-cleaning-up-claude-code-settings.htm</guid>
<description><![CDATA[ Ben Nadel explores the use of Claude Code to help clean up Claude's local settings file (settings.local.json) to remove redundancy and unnecessary one-off paths.... ]]></description>
<pubDate>Fri, 27 Feb 2026 11:15:13 EST</pubDate>
<category>Generative AI</category>
</item>
<item>
<title>Parsing Plus-Minus Ranges Using RegExp In JavaScript</title>
<link>https://www.bennadel.com/blog/4876-parsing-plus-minus-ranges-using-regexp-in-javascript.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4876-parsing-plus-minus-ranges-using-regexp-in-javascript.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates how to parse plus/minus ranges using regular expressions in JavaScript.... ]]></description>
<pubDate>Wed, 25 Feb 2026 12:14:23 EST</pubDate>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>Learning In Public: Log Viewer With Claude Code Models</title>
<link>https://www.bennadel.com/blog/4875-learning-in-public-log-viewer-with-claude-code-models.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4875-learning-in-public-log-viewer-with-claude-code-models.htm</guid>
<description><![CDATA[ Ben Nadel uses Claude Code models - Haiku, Sonnet, and Opus - to build a log viewer for Big Sexy Poems so he can see how the different models perform.... ]]></description>
<pubDate>Sun, 22 Feb 2026 14:48:40 EST</pubDate>
<category>Generative AI</category>
</item>
<item>
<title>Learning In Public: Small Refactoring With Claude Code Models</title>
<link>https://www.bennadel.com/blog/4874-learning-in-public-small-refactoring-with-claude-code-models.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4874-learning-in-public-small-refactoring-with-claude-code-models.htm</guid>
<description><![CDATA[ Ben Nadel uses Claude Code models - Haiku, Sonnet, and Opus - to execute the same small refactoring task to see how they perform.... ]]></description>
<pubDate>Sat, 21 Feb 2026 20:52:21 EST</pubDate>
<category>Generative AI</category>
</item>
<item>
<title>Exploring Event.isTrusted In JavaScript</title>
<link>https://www.bennadel.com/blog/4873-exploring-event-istrusted-in-javascript.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4873-exploring-event-istrusted-in-javascript.htm</guid>
<description><![CDATA[ Ben Nadel explores the isTrusted event property, and how it can be used in JavaScript to prevent recursive handling.... ]]></description>
<pubDate>Sat, 21 Feb 2026 12:00:19 EST</pubDate>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>A Table Row Linker Directive In Alpine.js</title>
<link>https://www.bennadel.com/blog/4872-a-table-row-linker-directive-in-alpine-js.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4872-a-table-row-linker-directive-in-alpine-js.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates his Alpine.js directive that allows rows in a data grid to programmatically trigger clicks on the row's primary link.... ]]></description>
<pubDate>Fri, 20 Feb 2026 12:15:39 EST</pubDate>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>Adding Myers Diff To Share Link Snapshots In Big Sexy Poems</title>
<link>https://www.bennadel.com/blog/4871-adding-myers-diff-to-share-link-snapshots-in-big-sexy-poems.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4871-adding-myers-diff-to-share-link-snapshots-in-big-sexy-poems.htm</guid>
<description><![CDATA[ Ben Nadel adds Myers Diff comparison to Big Sexy Poems that shows the delta between the share snapshot and the live poem.... ]]></description>
<pubDate>Mon, 9 Feb 2026 11:39:29 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Using The GitHub Markdown API To Apply Syntax Highlighting In ColdFusion</title>
<link>https://www.bennadel.com/blog/4870-using-the-github-markdown-api-to-apply-syntax-highlighting-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4870-using-the-github-markdown-api-to-apply-syntax-highlighting-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel explores the use of the GitHub Markdown API for applying syntax highlighting to embedded, fenced code blocks in ColdFusion.... ]]></description>
<pubDate>Sun, 1 Feb 2026 12:08:35 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Cross-Document Communication With The Broadcast Channel API In JavaScript</title>
<link>https://www.bennadel.com/blog/4869-cross-document-communication-with-the-broadcast-channel-api-in-javascript.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4869-cross-document-communication-with-the-broadcast-channel-api-in-javascript.htm</guid>
<description><![CDATA[ Ben Nadel explores the BroadcastChannel() API for publishing messages across browser tabs in JavaScript.... ]]></description>
<pubDate>Thu, 29 Jan 2026 11:28:33 EST</pubDate>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>Adding Myers Diff Rendering To The GildedRose Kata In ColdFusion</title>
<link>https://www.bennadel.com/blog/4868-adding-myers-diff-rendering-to-the-gildedrose-kata-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4868-adding-myers-diff-rendering-to-the-gildedrose-kata-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel adds the Myers Diff algorithm to his GildedRose code refactoring kata in ColdFusion.... ]]></description>
<pubDate>Tue, 27 Jan 2026 12:16:45 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Exploring The Myers Diff Algorithm In ColdFusion</title>
<link>https://www.bennadel.com/blog/4867-exploring-the-myers-diff-algorithm-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4867-exploring-the-myers-diff-algorithm-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel looks at implementing the Myers Diff algorithm in ColdFusion.... ]]></description>
<pubDate>Mon, 26 Jan 2026 15:35:43 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Manually Refactoring The GildedRose Kata In ColdFusion</title>
<link>https://www.bennadel.com/blog/4866-manually-refactoring-the-gildedrose-kata-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4866-manually-refactoring-the-gildedrose-kata-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel steps through his manual refactoring of the GildedRose code kata in ColdFusion.... ]]></description>
<pubDate>Thu, 22 Jan 2026 11:43:04 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>GildedRose Refactoring Kata In ColdFusion</title>
<link>https://www.bennadel.com/blog/4865-gildedrose-refactoring-kata-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4865-gildedrose-refactoring-kata-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel shares a ColdFusion / CFML implementation of the GildedRose refactoring kata.... ]]></description>
<pubDate>Tue, 20 Jan 2026 12:58:46 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Animating DOM Rectangles Over Focused Elements In JavaScript</title>
<link>https://www.bennadel.com/blog/4864-animating-dom-rectangles-over-focused-elements-in-javascript.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4864-animating-dom-rectangles-over-focused-elements-in-javascript.htm</guid>
<description><![CDATA[ Ben Nadel uses the getClientRects() DOM method in JavaScript to animate a focus outline from one active element to the next.... ]]></description>
<pubDate>Sat, 17 Jan 2026 13:33:01 EST</pubDate>
<category>HTML / CSS</category>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>Linking To A Disclosure (Details) Element</title>
<link>https://www.bennadel.com/blog/4863-linking-to-a-disclosure-details-element.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4863-linking-to-a-disclosure-details-element.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates how to link to a details disclosure element, and auto-expand the disclosure contents.... ]]></description>
<pubDate>Thu, 15 Jan 2026 12:23:52 EST</pubDate>
<category>HTML / CSS</category>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>Opening The Dialog Element As A Fly-out Sidebar</title>
<link>https://www.bennadel.com/blog/4862-opening-the-dialog-element-as-a-fly-out-sidebar.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4862-opening-the-dialog-element-as-a-fly-out-sidebar.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates how to render the HTML dialog element as a fly-out sidebar.... ]]></description>
<pubDate>Tue, 13 Jan 2026 12:10:20 EST</pubDate>
<category>HTML / CSS</category>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>Exploring The Dialog Element In HTML</title>
<link>https://www.bennadel.com/blog/4861-exploring-the-dialog-element-in-html.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4861-exploring-the-dialog-element-in-html.htm</guid>
<description><![CDATA[ Ben Nadel explores the browser's native HTML dialog element for the first time.... ]]></description>
<pubDate>Mon, 12 Jan 2026 12:08:58 EST</pubDate>
<category>HTML / CSS</category>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>Storing Metadata On Select Option Elements</title>
<link>https://www.bennadel.com/blog/4860-storing-metadata-on-select-option-elements.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4860-storing-metadata-on-select-option-elements.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates that you can use data attributes to associate metadata with select options in HTML and JavaScript.... ]]></description>
<pubDate>Sat, 10 Jan 2026 12:33:40 EST</pubDate>
<category>HTML / CSS</category>
<category>JavaScript / DHTML</category>
</item>
<item>
<title>Widely Available Web Platform Features I&apos;d Like To Learn</title>
<link>https://www.bennadel.com/blog/4859-widely-available-web-platform-features-id-like-to-learn.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4859-widely-available-web-platform-features-id-like-to-learn.htm</guid>
<description><![CDATA[ Ben Nadel compiles a list of "Widely Available" features that have been added to the web platform in the last few years.... ]]></description>
<pubDate>Fri, 9 Jan 2026 12:59:06 EST</pubDate>
<category>HTML / CSS</category>
<category>JavaScript / DHTML</category>
<category>Work</category>
</item>
<item>
<title>Trying To Launch Into 2026</title>
<link>https://www.bennadel.com/blog/4858-trying-to-launch-into-2026.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4858-trying-to-launch-into-2026.htm</guid>
<description><![CDATA[ Ben Nadel considers the struggles of 2025 and considers how he can make 2026 a better year for personal and professional growth.... ]]></description>
<pubDate>Mon, 5 Jan 2026 10:54:01 EST</pubDate>
<category>Life</category>
</item>
<item>
<title>Required Function Arguments Don&apos;t Have To Come First In ColdFusion</title>
<link>https://www.bennadel.com/blog/4857-required-function-arguments-dont-have-to-come-first-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4857-required-function-arguments-dont-have-to-come-first-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates that required arguments don't have to be situated first within a method signature in ColdFusion; and how that sometimes makes the most semantic sense.... ]]></description>
<pubDate>Sun, 4 Jan 2026 11:49:27 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Code Kata: Formatting Compound Strings In ColdFusion</title>
<link>https://www.bennadel.com/blog/4856-code-kata-formatting-compound-strings-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4856-code-kata-formatting-compound-strings-in-coldfusion.htm</guid>
<description><![CDATA[ As a code kata, Ben Nadel looks at building-up compound string values (such as names and addresses) in ColdFusion.... ]]></description>
<pubDate>Sat, 20 Dec 2025 12:27:22 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Using Lambda Functions To Short-Circuit Control Flow In ColdFusion</title>
<link>https://www.bennadel.com/blog/4855-using-lambda-functions-to-short-circuit-control-flow-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4855-using-lambda-functions-to-short-circuit-control-flow-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates how to use Lambda functions in ColdFusion to create short-circuit mechanics when they wouldn't otherwise be available.... ]]></description>
<pubDate>Tue, 16 Dec 2025 11:47:53 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Including Non-CFML Files As CFML Code In ColdFusion</title>
<link>https://www.bennadel.com/blog/4854-including-non-cfml-files-as-cfml-code-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4854-including-non-cfml-files-as-cfml-code-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates how to configure which files can be Included (and executed) as CFML code in a ColdFusion application... ]]></description>
<pubDate>Sun, 14 Dec 2025 14:50:43 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>If ColdFusion Had An ImageWriteToBinary() Function</title>
<link>https://www.bennadel.com/blog/4853-if-coldfusion-had-an-imagewritetobinary-function.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4853-if-coldfusion-had-an-imagewritetobinary-function.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates how to write ColdFusion image objects directly to binary or Base64-encoded variables.... ]]></description>
<pubDate>Sun, 14 Dec 2025 11:53:01 EST</pubDate>
<category>ColdFusion</category>
</item>
</channel>
</rss> 