Recent Activity
Recent Heroes of the BenNadel.com Community
-
Posted 303 comments since October 23, 2012
-
Posted 6 comments since November 11, 2022
-
Posted 2 comments since March 5, 2026
-
Posted 1 comment since February 21, 2026
-
Posted 1 comment since February 21, 2026
Recent Comments
Ben Nadel replied to a post Parsing URLs In ColdFusion
Comment posted March 21, 2026
Here's a quick follow-up on how I'm actually using this in Big Sexy Poems — to do external link interception: https://www.bennadel.com/blog/4882-routing-external-links-through-an-intermediary-page-in-coldfusion.htm This proxies external links through an interstitial warning page, clearly showing the... read entire comment from Ben Nadel.
Ben Nadel replied to a post Canonicalizing A URL By Its Individual Components In Lucee CFML 5.3.6.61
Comment posted March 20, 2026
I know this is a rather old post, but I finally got around to trying out the java.net.URI (note URI, not URL) class in Java that Brad recommended: https://www.bennadel.com/blog/4881-parsing-urls-in-coldfusion.htm I finally have a new need to parse some URLs, so it felt like a perfect time to dig in ... read entire comment from Ben Nadel.
Ben Nadel replied to a post Using Cached Components As Scoped Proxies In ColdFusion
Comment posted March 15, 2026
At first, I thought maybe this was the "Flyweight Pattern"; which I was excited about because I don't think I've ever used it by name. But I asked Claude Code if this matches the pattern and it gave me some nuance: Classic Flyweight: A shared object separates intrinsic state (stored in the object, s... read entire comment from Ben Nadel.
Ben Nadel replied to a post Learning In Public: Small Refactoring With Claude Code Models
Comment posted March 6, 2026
@Chris, Plus, I have to keep reminding myself that it will get better if I am vigilant about seeing the things that it does wrong and then trying to improve the prompts / examples that I give it. At least, that's the hope — I really am extremely new to all this.... read entire comment from Ben Nadel.
Ben Nadel replied to a post java.lang.Character JSON Bug In Adobe ColdFusion 2025
Comment posted March 6, 2026
@James, It continues to be an adventure :P The other day, I was curious to look into JSON5 a bit (ie, "JSON with Comments"); but it doesn't look like there's any official Java implementation (in the core JRE). I thought it would be fine to try and use it for some simple parsing. There are community-... read entire comment from Ben Nadel.
James Moberg replied to a post java.lang.Character JSON Bug In Adobe ColdFusion 2025
Comment posted March 6, 2026
This bug apparently goes all the way back to CF10. (I added this comment to the bug tracker report.) By way of contrast, this bug doesn't exist in any versions of Lucee or BoxLang. You could bypass this issue by append/prepending an empty string to all object string/char values, but obviously should... read entire comment from James Moberg.
chrisVillanueva replied to a post Learning In Public: Small Refactoring With Claude Code Models
Comment posted March 5, 2026
@Ben Yes, Claude and other models "understand" nuances and conventions within well-structured code. In this case, zero-shot prompting can be effective. My assumption is well-structured code reflects precise functional requirements. So I do my best to express business or product intent with clear spe... read entire comment from chrisVillanueva.
Ben Nadel replied to a post Learning In Public: Small Refactoring With Claude Code Models
Comment posted March 5, 2026
@Chris, I'm beginning to think the statements like, "Claude works best with X technology" is maybe only meaningful when it comes to "zero shotting" a project from scratch. Given an existing application with well established patterns, it seems to have no problem with anything I've thrown at it.... read entire comment from Ben Nadel.
chrisVillanueva replied to a post Learning In Public: Small Refactoring With Claude Code Models
Comment posted March 5, 2026
Thank for sharing your experience Ben. Yes, the models perform search, find, read/write, replace pattern-matching operations with remarkable accuracy. When provided with clear, explicit instructions, they avoid mistakes. I use Claude Code and Cursor everyday. Both tools are more effective when preci... read entire comment from chrisVillanueva.
Ben Nadel replied to a post Adobe ColdFusion Bug: Nested Array Iteration Breaks Closure Variables
Comment posted March 5, 2026
Uggg, just lost 2 mornings trying to debug this same issue. Slightly different reproduction steps this time, so I thought it would be worth documenting: https://www.bennadel.com/blog/4879-adobe-coldfusion-bug-nested-closures-with-parallel-array-iteration-destroys-arguments.htm... read entire comment from Ben Nadel.
Chris G replied to a post java.lang.Character JSON Bug In Adobe ColdFusion 2025
Comment posted March 4, 2026
@Ben Nadel, You get to have all the fun! 🤣😜... read entire comment from Chris G.
Ben Nadel replied to a post java.lang.Character JSON Bug In Adobe ColdFusion 2025
Comment posted March 4, 2026
@Chris, I'm trying to track down a really strange bug right now. I suspect there's something funky going on with named locks inside parallel iteration of an array. At least, so far, that's the only thing I can figure out based on some symptoms. I'm trying to run a test-suite in array.map( parallel=t... read entire comment from Ben Nadel.
Chris G replied to a post java.lang.Character JSON Bug In Adobe ColdFusion 2025
Comment posted March 4, 2026
Incredible find! That's a sneaky one for sure!... read entire comment from Chris G.
Ben Nadel replied to a post java.lang.Character JSON Bug In Adobe ColdFusion 2025
Comment posted March 1, 2026
I've updated Big Sexy Poems to use a safe JSON parsing routine until this bug gets fixed. It works using a try/catch and then falling back to something that is compatible with the log-viewer. Since this is specific to the log-viewing module in the app, I don't think it needs to be a global function.... read entire comment from Ben Nadel.
Ben Nadel replied to a post java.lang.Character JSON Bug In Adobe ColdFusion 2025
Comment posted March 1, 2026
Logged bug in the bug tracker: CF-4230430.... read entire comment from Ben Nadel.
Ben Nadel replied to a post Learning In Public: Cleaning Up Claude Code Settings
Comment posted February 27, 2026
I found part of the original conversation I had with Claude about cleaning this up. Here's what it told me about its own internal system prompt: That's Claude Code misbehaving. It should never run grep, rg, find, or cat via Bash when the dedicated tools exist. The instructions explicitly say: Use Gr... read entire comment from Ben Nadel.
Ben Nadel replied to a post Learning In Public: Log Viewer With Claude Code Models
Comment posted February 22, 2026
After I noticed that there was a completely unnecessary try-catch in some of the code being produced by Sonnet, I asked Opus to update my CLAUDE.md file to include information—or rather architectural directives—to be extremely judicious in how it applies, try-catch logic. Here's what it added: Let e... read entire comment from Ben Nadel.
Ben Nadel replied to a post Learning In Public: Small Refactoring With Claude Code Models
Comment posted February 22, 2026
Another experiment this morning with a slightly more in-depth feature add: https://www.bennadel.com/blog/4875-learning-in-public-log-viewer-with-claude-code-models.htm This time, instead of a tiny prompt, I spent 45-mins writing the prompt. Maybe that was way longer than I should have.... read entire comment from Ben Nadel.
Ben Nadel replied to a post Learning In Public: Small Refactoring With Claude Code Models
Comment posted February 22, 2026
@Joe, That sounds very promising! But also concerning (for me) because I'm historically very bad about trying different tools. Usually, I just try to find a "good enough" tool and then get as good with it as I can (using 80/20 rule). I don't have the muscle memory to start doing experiments with all... read entire comment from Ben Nadel.
Joe replied to a post Learning In Public: Small Refactoring With Claude Code Models
Comment posted February 21, 2026
I have been using cursor as mu editor for about a year, and left it in the "default" mode so it would pick what agent best fits my use case (idk how that magic works at all). On a daily usage basis it was fairly meh... it felt more like teaching it to code than asking it to do it for me and then che... read entire comment from Joe.
Critter replied to a post Exploring Event.isTrusted In JavaScript
Comment posted February 21, 2026
That's a good little nugget to keep in the junk drawer. Never know when it could come in handy. Cheers... read entire comment from Critter.
Chris G replied to a post A Table Row Linker Directive In Alpine.js
Comment posted February 20, 2026
@Ben Nadel, Got it! That's what I was meant by "elevate a user's attempt to navigate" but said far less articulately than you did.... read entire comment from Chris G.
Ben Nadel replied to a post A Table Row Linker Directive In Alpine.js
Comment posted February 20, 2026
@James, I went back-and-forth on whether to add the cursor:pointer. Part of me liked it; but then part of me wanted it to be more of a "delighter" (that it works) rather than a "promise" (that it will work). Re: data-* attributes, that's another I go back-and-forth on. In this case, I went with clas... read entire comment from Ben Nadel.
Ben Nadel replied to a post A Table Row Linker Directive In Alpine.js
Comment posted February 20, 2026
@Chris, The main goal is to allow the click to get a little bit "sloppy" and still work. Meaning, the user can slightly miss-click on the link and it many cases, it will still work (since it will either find the link in the same td or it will find the main .isRowLinker link in the row). Consider the... read entire comment from Ben Nadel.
James Moberg replied to a post A Table Row Linker Directive In Alpine.js
Comment posted February 20, 2026
I did something exactly like this using jQuery. I add the record's ID to the TR element as a data attribute so I don't have to output it to every link. (It's easy to fetch the row's TR & extract the ID rather than have multiple 32 character GUIDs in every link.) When it comes to marketing elements, ... read entire comment from James Moberg.
Chris G replied to a post A Table Row Linker Directive In Alpine.js
Comment posted February 20, 2026
I'm not really understanding what the UX benefits of this behavior is. Maybe because it's a demo rather than the actual use case, but if the objective is to elevate a user's attempt to navigate, when there's multiple links... maybe present a pop-up menu they can select from?... read entire comment from Chris G.
Ben Nadel replied to a post Exploring The Myers Diff Algorithm In ColdFusion
Comment posted February 9, 2026
I just added this diffing to Big Sexy Poems over the weekend - showing the delta between poem snapshots and the live content: https://www.bennadel.com/blog/4871-adding-myers-diff-to-share-link-snapshots-in-big-sexy-poems.htm... read entire comment from Ben Nadel.
Ben Nadel replied to a post Adding Myers Diff Rendering To The GildedRose Kata In ColdFusion
Comment posted January 27, 2026
It's just really fun to see things come together in unexpected ways. Learning for the sake of learning is still valuable.... I think.... read entire comment from Ben Nadel.
Ian Turton replied to a post Adding Myers Diff Rendering To The GildedRose Kata In ColdFusion
Comment posted January 27, 2026
Nice!... read entire comment from Ian Turton.
Ben Nadel replied to a post Exploring The Myers Diff Algorithm In ColdFusion
Comment posted January 27, 2026
Woot woot! This has already proven useful — I just added the Myers Diff algorithm to my ColdFusion implementation of the Gilded Rose code refactoring kata: https://www.bennadel.com/blog/4868-adding-myers-diff-rendering-to-the-gildedrose-kata-in-coldfusion.htm Cross-pollination for the win!... read entire comment from Ben Nadel.
Ben Nadel replied to a post Manually Refactoring The GildedRose Kata In ColdFusion
Comment posted January 27, 2026
As a quick follow-up, I've added the aforementioned Myers Diff algorithm to the code kata test runner: https://www.bennadel.com/blog/4868-adding-myers-diff-rendering-to-the-gildedrose-kata-in-coldfusion.htm Now, it will clearly highlight the lines that are mismatched between the "golden master" expe... read entire comment from Ben Nadel.
Ben Nadel replied to a post GildedRose Refactoring Kata In ColdFusion
Comment posted January 27, 2026
As a quick follow-up, now that I've created a ColdFusion implementation of the Myers Diff string comparison algorithm, I've added it to the code kata test runner: https://www.bennadel.com/blog/4868-adding-myers-diff-rendering-to-the-gildedrose-kata-in-coldfusion.htm Now, it will clearly highlight th... read entire comment from Ben Nadel.
Ben Nadel replied to a post Manually Refactoring The GildedRose Kata In ColdFusion
Comment posted January 26, 2026
When doing the refactoring, I was disappointed that the text-base comparison of the expected vs new output of the application was all-or-nothing. It had so little feedback and it was hard to tell where the errors in the output where. I would have loved to have something more like the GitHub code-dif... read entire comment from Ben Nadel.
Ian Turton replied to a post Manually Refactoring The GildedRose Kata In ColdFusion
Comment posted January 24, 2026
@Ben Nadel, Thanks (and thanks for the post) It's seeing magic number in code (no shade!) that I always react to - I'm thinking about how they could be moved to a db (such that the values could be changed without changing the code). The struct was a first step which would (if I ever took it further)... read entire comment from Ian Turton.
Ben Nadel replied to a post Manually Refactoring The GildedRose Kata In ColdFusion
Comment posted January 23, 2026
@Ian, Oh interesting - almost like you created a little DSL (Domain Specific Language) for the inventory rules. That's clever. I had at one point tried to factor-out the delta concept; but I just couldn't quite get it something that clicks in my brain (this was in the context of the switch block). A... read entire comment from Ben Nadel.
Ian Turton replied to a post Manually Refactoring The GildedRose Kata In ColdFusion
Comment posted January 23, 2026
The first switch statement in the final bit of code seems bit 'iffy' (literally!) For, er, 'fun' I ended up doing a refactoring based on extracting the rules out into a separate struct; this.specialCases = [ { name = "Sulfuras, Hand of Ragnaros", noChange = true }, { name = "Aged Brie", b... read entire comment from Ian Turton.
Ben Nadel replied to a post GildedRose Refactoring Kata In ColdFusion
Comment posted January 22, 2026
Here's my manual refactoring of the Gilded Rose code kata: https://www.bennadel.com/blog/4866-manually-refactoring-the-gildedrose-kata-in-coldfusion.htm I say "manual" because I think it would be fun to try performing the refactoring with Claude Code next. I've never used an agentic code process bef... read entire comment from Ben Nadel.
Bill Nourse replied to a post Trying To Launch Into 2026
Comment posted January 18, 2026
@Ben, I can't argue that confidence is easy, especially after we get kicked in the rear, but we all have the ability to overcome adversity. Baby steps as you mentioned, small wins, counting blessings, helping others, and saying no to things that make it worse. We are all winners really, but we don't... read entire comment from Bill Nourse.
Ben Nadel replied to a post Trying To Launch Into 2026
Comment posted January 18, 2026
@Bill, If I can get through this year and feel more confident in where I stand in the AI landscape, I'll consider that a win.... read entire comment from Ben Nadel.
Bill Nourse replied to a post Trying To Launch Into 2026
Comment posted January 17, 2026
Ben, let's take a hard look here. You helped build a company that was valued at $2 billion at its peak. I'd say that is more than impressive. Sure, somebody else built a better mousetrap... So what? Let go of the past and start swinging for the fences again my friend ;)... read entire comment from Bill Nourse.
Ben Nadel replied to a post Required Function Arguments Don't Have To Come First In ColdFusion
Comment posted January 17, 2026
@Frédéric, All good points, which only goes to show up my of the "ordering of arguments" is an emotional constraint and not a mechanical constraint. Of course, if you invoke a method with ordered arguments, the ordering still matters. But, your points underscore just how much of my internal struggle... read entire comment from Ben Nadel.
Frédéric Fortier replied to a post Required Function Arguments Don't Have To Come First In ColdFusion
Comment posted January 16, 2026
What I find confusing is that if a "required" argument has a default value, then it's no longer truly required, since the default will be used if it's omitted. Also, when using the argumentCollection parameter, the order of arguments does not matter at all, whether they are marked as required or not... read entire comment from Frédéric Fortier.
Ben Nadel replied to a post Opening The Dialog Element As A Fly-out Sidebar
Comment posted January 13, 2026
@Sebastian, I'm very excited about the pop-over and invoker commands. I've heard them get discussed quite a bit on the Syntax.fm podcast. That said, they are quite new. At least for the the first few months of 2026, I'm trying to focus on the web features that are new(ish), but not super fresh 😛 Bu... read entire comment from Ben Nadel.
Sebastian Zartner replied to a post Opening The Dialog Element As A Fly-out Sidebar
Comment posted January 13, 2026
Hi Ben! Note that are also the Popover API and the (even newer) related Invoker Commands API, which can be used very similarly. Using those two in combination, you can achieve the same without any JavaScript at all. You only have to add the popover attribute to the element that should be the popover... read entire comment from Sebastian Zartner.
Ben Nadel replied to a post Exploring The Dialog Element In HTML
Comment posted January 13, 2026
As a quick follow-up, I wanted to see if I could get the <dialog> element to open as a fly-out sidebar: https://www.bennadel.com/blog/4862-opening-the-dialog-element-as-a-fly-out-sidebar.htm At first, I was tripping over the user-agent's default CSS styles. But once I got past that, treating the dia... read entire comment from Ben Nadel.
Ben Nadel replied to a post Storing Metadata On Select Option Elements
Comment posted January 11, 2026
@Andreas, Yes, debugging and moving the elements around feels easier / safer when it's all collocated like that, great point!... read entire comment from Ben Nadel.
AndreasRu replied to a post Storing Metadata On Select Option Elements
Comment posted January 11, 2026
I love using data-attributes (some still use hidden form fields the old way that pollute forms with irrelevant submit data). For conditional logic—like dynamically loading form fields based on selection—I attach data-attributes directly to elements and use this in event listeners. <select class="my-... read entire comment from AndreasRu.
Gregory Alexander replied to a post Trying To Launch Into 2026
Comment posted January 10, 2026
@Ben Nadel, The search score is just a reflection of your SEO and has no bearing on your hit rate. Your Google Lighthouse scores are nearly perfect, and you have a ton of original and fresh content, so you should have an outstanding Google search presence. I am going to try to make it this year and ... read entire comment from Gregory Alexander.
Ben Nadel replied to a post Trying To Launch Into 2026
Comment posted January 10, 2026
@Gregory, I'm now fighting the urge to look at the stats - I know it will only make me feel bad :P That said, I get an email from Google Search like 2x a year telling me that my "Search Score" is a B - been a B for years. I have no idea what that's even based on or what can improve or degrade that s... read entire comment from Ben Nadel.
Ben Nadel replied to a post Storing Metadata On Select Option Elements
Comment posted January 10, 2026
That is facts! I've also been using them more for JavaScript hooks; which is especially nice with a ColdFusion framework like CFWheels where adding a class-name to a "form helper" might override the default classes being applied to that form UI. For example, if I wanted to wire an autocomplete to a ... read entire comment from Ben Nadel.