<?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>Fri, 1 May 2026 14:32:43 GMT</lastBuildDate>
<ttl>120</ttl>
<copyright>Copyright 2026 Ben Nadel</copyright>
<item>
<title>AI Makes Sitting With Discomfort Feel Shameful</title>
<link>https://www.bennadel.com/blog/4890-ai-makes-sitting-with-discomfort-feel-shameful.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4890-ai-makes-sitting-with-discomfort-feel-shameful.htm</guid>
<description><![CDATA[ Ben Nadel feels shame about sitting with discomfort in the age of Artificial Intelligence.... ]]></description>
<pubDate>Sat, 25 Apr 2026 11:35:38 EST</pubDate>
<category>Life</category>
</item>
<item>
<title>Adding isSame() And isDifferent() Convenience Methods To ColdFusion</title>
<link>https://www.bennadel.com/blog/4889-adding-issame-and-isdifferent-convenience-methods-to-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4889-adding-issame-and-isdifferent-convenience-methods-to-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel adds isSame() and isDifferent() to his global extensions for ColdFusion. These are semantic wrappers for the compare() function.... ]]></description>
<pubDate>Fri, 24 Apr 2026 10:46:42 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Using SELECT FOR UPDATE To Synchronize MySQL Row Access In ColdFusion</title>
<link>https://www.bennadel.com/blog/4888-using-select-for-update-to-synchronize-mysql-row-access-in-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4888-using-select-for-update-to-synchronize-mysql-row-access-in-coldfusion.htm</guid>
<description><![CDATA[ Ben Nadel learns about MySQL's FOR SHARE / FOR UPDATE mechanics; and retrofits Big Sexy Poems to include locking reads in his ColdFusion code.... ]]></description>
<pubDate>Wed, 22 Apr 2026 10:32:38 EST</pubDate>
<category>ColdFusion</category>
<category>SQL</category>
</item>
<item>
<title>Strange Whitespace Management Issue With ColdFusion Custom Tags</title>
<link>https://www.bennadel.com/blog/4887-strange-whitespace-management-issue-with-coldfusion-custom-tags.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4887-strange-whitespace-management-issue-with-coldfusion-custom-tags.htm</guid>
<description><![CDATA[ Ben Nadel fixes his strange whitespace issue by disabling the "Enable Whitespace Management" feature in the Adobe ColdFusion admin.... ]]></description>
<pubDate>Sat, 11 Apr 2026 20:03:22 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Using jSoup To Translate User-Generated Content Into CFMailML Custom Tags</title>
<link>https://www.bennadel.com/blog/4886-using-jsoup-to-translate-user-generated-content-into-cfmailml-custom-tags.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4886-using-jsoup-to-translate-user-generated-content-into-cfmailml-custom-tags.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates that jSoup can be used to parse user-generated content (UGC) and translate it into CFMailML ColdFusion custom tag invocations.... ]]></description>
<pubDate>Thu, 9 Apr 2026 11:07:35 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>CFModule Template Attribute Error Message In Adobe ColdFusion</title>
<link>https://www.bennadel.com/blog/4885-cfmodule-template-attribute-error-message-in-adobe-coldfusion.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4885-cfmodule-template-attribute-error-message-in-adobe-coldfusion.htm</guid>
<description><![CDATA[ In Adobe ColdFusion, the CFModule tag's template attribute must be provided as an explicit attribute; or, it throws a very cryptic error message.... ]]></description>
<pubDate>Thu, 9 Apr 2026 09:58:48 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Unified ColdFusion Custom Tag Traversal In CFML Engines</title>
<link>https://www.bennadel.com/blog/4884-unified-coldfusion-custom-tag-traversal-in-cfml-engines.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4884-unified-coldfusion-custom-tag-traversal-in-cfml-engines.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates how to traverse a ColdFusion custom tag stack across all three major CFML engines, taking platform-specific quirks into account.... ]]></description>
<pubDate>Sun, 5 Apr 2026 11:20:31 EST</pubDate>
<category>ColdFusion</category>
</item>
<item>
<title>Adobe ColdFusion 2025 Bug: getBaseTagData() Doesn&apos;t Work Inside Closure</title>
<link>https://www.bennadel.com/blog/4883-adobe-coldfusion-2025-bug-getbasetagdata-doesnt-work-inside-closure.htm</link>
<guid isPermaLink="true">https://www.bennadel.com/blog/4883-adobe-coldfusion-2025-bug-getbasetagdata-doesnt-work-inside-closure.htm</guid>
<description><![CDATA[ Ben Nadel demonstrates that getBaseTagData() doesn't work inside a closure in Adobe ColdFusion 2025.... ]]></description>
<pubDate>Sat, 4 Apr 2026 11:13:31 EST</pubDate>
<category>ColdFusion</category>
</item>
<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>
</channel>
</rss>
