Skip to main content

Ben Nadel

Member since Dec 11, 2008

Recent Blog Comments By Ben Nadel

  • Serving Secure Files With CFContent Tag's File Attribute In ColdFusion

    Posted on May 25, 2023 at 9:33 AM

    @Russ, Oh yeah, after the CFContent tag is executed the rest of the request is aborted, so anything you want to run must go before that tag. Sorry you ran into that problem, there's no really much to go on - no error or warning or anything like that. Glad you got it figured out!... read more »

  • Using CSS Flexbox To Create A Simple Bar Chart In ColdFusion

    Posted on May 22, 2023 at 9:44 AM

    @Chris, Yeah, I haven't done much with CFChart in forever . Though, to also be fair, I don't generate too many graphs. I think I forgot that CFChart existed (I'm not even sure if it is supported in Lucee, which is what I use at work). It might be worth another look (for me).... read more »

  • Looking For Database Performance Bottlenecks And Optimizations Using The Sys Schema In MySQL 5.7

    Posted on May 19, 2023 at 9:39 AM

    @Colin, That's a great question, I actually have no idea. Sadly, where I work, I was never granted access to our production performance schema, so I haven't really had much chance to make this stuff more second nature 😞... read more »

  • On Starting A Side-Project: Hotwire vs. Angular

    Posted on May 17, 2023 at 12:34 PM

    @Chris, Yeah, I'm still struggling quite a bit with the progressive enhancement stuff. I can absolutely see a way to follow a progressive mindset with a relatively simple view (like a "normal" web site). But, it just seems like building will become increasingly complex and the ap... read more »

  • On Starting A Side-Project: Hotwire vs. Angular

    Posted on May 17, 2023 at 9:42 AM

    @Peter, That's actually a really fascinating idea! I agree that the Turbo Stream stuff is really cool. It took me a while to start to wrap my head around it, and to figure out how this kind of stuff dove-tails with the application control flow. But yeah, being able to re-render chunks of H... read more »

  • Maintaining White Space Using jSoup And ColdFusion

    Posted on May 16, 2023 at 11:51 AM

    As a fast-follow, here's another post in which I'm using jSoup to parse and transform GitHub Gist data into a consumable data structure. This is where the .prettyPrint(false) comes into play: https://www.bennadel.com/blog/4464-parsing-github-gist-embeds-into-a-normalized-data-structure-u... read more »

  • Maintaining White Space Using jSoup And ColdFusion

    Posted on May 15, 2023 at 10:44 AM

    Here's a PR from the jSoup repository that examines the white-space expectation depending on the pretty-print setting. This is where I found out about this setting.... read more »

  • ColdFusion Custom Tags Can Use Dashed Attributes

    Posted on May 13, 2023 at 9:45 AM

    @James, Interesting. I wonder if that is something specific to some magic going on in a Custom Tag context. Because, I'm pretty sure I've used the CFParam tag for ages to param URL -scoped names that have dashes in them: <cfparam name="url.my-thing" /> ... kind o... read more »

  • Using A Transient CSS Stylesheet To Remove Scrolling On Body While Modal Is Open

    Posted on May 11, 2023 at 9:48 AM

    @Mark, I actually have an older post that explores this exact concept (in the context of "reduced motion", but it has all the same technical details): https://www.bennadel.com/blog/4132-applying-multiple-animation-keyframes-to-support-prefers-reduced-motion-in-css.htm... read more »

  • Using A Transient CSS Stylesheet To Remove Scrolling On Body While Modal Is Open

    Posted on May 11, 2023 at 9:43 AM

    @Mark, Using the CSS transition property is great for when something is always visible in the DOM and you are just transitioning from one rendered value to another. It can be tricky when you are applying it to temporary DOM elements where the browser may not have time to render the "... read more »

  • On Starting A Side-Project: Hotwire vs. Angular

    Posted on May 9, 2023 at 12:09 PM

    @Chris, It looks like you're really laying down a good foundation for solving problems in a Hotwire context. I'm only vaguely familiar with how Ruby / Rails work, so it's not super easy for me to follow your gem code; but, I think I get the gist of it. You're essentially removing a lot of ... read more »

  • ColdFusion Custom Tags Can Use Dashed Attributes

    Posted on May 7, 2023 at 1:50 PM

    @Angel, They are pretty cool! Hotwire, especially, uses them a lot in all of the DOM-bindings. I was also just listening to a podcast yesterday about using Cypress for testing, and they suggest using data- attributes as a way to target DOM elements in your UI tests. So flexible!... read more »

  • ColdFusion Custom Tags Can Use Dashed Attributes

    Posted on May 7, 2023 at 12:17 PM

    One thing worth mentioning here is that if you're going to use the CFParam tag internally to the ColdFusion custom tag to define any defaults for attributes that contain dashes , the attributes still have to be valid variable names. Meaning, you cannot do this: <cfparam name=... read more »

  • On Starting A Side-Project: Hotwire vs. Angular

    Posted on May 7, 2023 at 12:13 PM

    The other relatively large drawback to using Hotwire is that it doesn't working with .cfm file extensions natively . Which means, any site that uses Hotwire will also have to use some sort of URL-rewriting that maps all .htm requests to .cfm requests. This isn't a huge deal;... read more »

  • ColdFusion Custom Tags Can Use Dashed Attributes

    Posted on May 7, 2023 at 11:55 AM

    As an aside, the foo: name-spacing also works with basically any other ColdFusion construct (components, functions). This is how a number of dependency-injection systems work to annotate the code. I played around with this a long time ago: https://www.bennadel.com/blog/1685-building-a-... read more »

  • Replacing jQuery (110kb) With Umbrella JS (8kb)

    Posted on May 7, 2023 at 9:39 AM

    @Will, When I was looking for a jQuery alternative, I did look at some of the other ones you mentioned. I don't remember all the details; but, I think it came down to a cross between developer ergonomics and how much it would take to make the transition. Umbrella JS felt like the sweet s... read more »

  • Hosting Google Fonts Locally For GDPR Compliance

    Posted on May 6, 2023 at 9:47 AM

    @Gary, To be honest, I don't really understand how this all works! I agree though, it seems like something about it is "not right"; and, maybe in the long run, things will starts to find more balance? I don't know.... read more »

  • Using COUNT(), COUNT(column), And COUNT(expression) Variations To Extract Row Metadata In MySQL 5.7.32

    Posted on May 5, 2023 at 10:12 AM

    Yesterday, I just used a CASE/END statement inside a COUNT() block. Just another way to leverage the ability to evaluate statements inside the aggregate functions. I had a SQL statement that had several LEFT OUTER JOIN clauses; and, I had to find some counts based on a combination of v... read more »

  • Hosting Google Fonts Locally For GDPR Compliance

    Posted on May 2, 2023 at 12:38 PM

    One of the other things that I've done recently for GDPR compliance is dropping Google Analytics for tracking. Pre-GA4, Google Analytics was not GDPR compliant. Google claims that GA4 is compliant ; but, the co-founders of Termageddon are waiting to see how GA4 pans-out legally.... read more »

  • DHH On The Freedom Of Server-Side Programming

    Posted on May 1, 2023 at 11:48 AM

    @Adam, You seem very wedded to the idea of moving away from CFML; so, maybe let's not cloud our conversation with a CFML flavor. What about Ruby on Rails. If DHH / Basecamp is going to create another product (I did hear them say they are going to start a new product soon) - do you think th... read more »

I believe in love. I believe in compassion. I believe in human rights. I believe that we can afford to give more of these gifts to the world around us because it costs us nothing to be decent and kind and understanding. And, I want you to know that when you land on this site, you are accepted for who you are, no matter how you identify, what truths you live, or whatever kind of goofy shit makes you feel alive! Rock on with your bad self!
Ben Nadel