Recent Activity
Recent Heroes of the BenNadel.com Community
-
Posted 448 comments since October 5, 2014
-
Posted 236 comments since October 23, 2012
-
Posted 4 comments since July 29, 2017
-
Posted 3 comments since October 13, 2024
-
Posted 3 comments since October 18, 2024
-
Posted 40 comments since January 15, 2014
-
Posted 19 comments since July 3, 2012
-
Posted 7 comments since June 14, 2022
-
Posted 2 comments since July 25, 2022
-
Posted 1 comment since October 28, 2024
Recent Comments
Ben Nadel replied to a post High Performance SQLite Video Course By Aaron Francis
Comment posted October 30, 2024
@Charles, I think it's still quite limited in how many data times there are. In the course, Aaron listed them as: Null Integer Real Text Blob It also has JSON functions; but, the data is ultimately stored as either text or as blob depending on which JSON functions you call (json vs. jsonb). The data... read entire comment from Ben Nadel.
Charles Robertson replied to a post High Performance SQLite Video Course By Aaron Francis
Comment posted October 30, 2024
Hi Ben I used to use SQLite as an objective-c developer, when I was building iOS apps for about 10 years. Although I liked the super portability of the DB, I found that its ability to handle data types, pretty limiting. As I remember, it only had about 3 different data types? But maybe things have i... read entire comment from Charles Robertson.
Allan replied to a post Detecting Rendered Line Breaks In A Text Node In JavaScript
Comment posted October 28, 2024
Great demo Ben! This is a pretty clever use of Range. Couple things I've noticed that could be improved: the way you collapse whitespace would result in incorrect text indentation for pre-formatted content such as a code block. Maybe this is not an issue for you, but I've been having a hard time fig... read entire comment from Allan.
Ben Nadel replied to a post Feature Flags Book Playground, Videos, And Code
Comment posted October 28, 2024
@Will, thank you for the very kind words 😊 This started out as something small, and then just kind of ballooned into a multi-month effort. I feel pretty good about how it came out, and I think some of the stuff that I added in the last month or so really rounded it out nicely (the product-developme... read entire comment from Ben Nadel.
Will Belden replied to a post Feature Flags Book Playground, Videos, And Code
Comment posted October 28, 2024
Just WOW! This is so in-depth and honestly, should have its own website, not just a blog entry. I wish more authors/developers/creators built sites like this to truly explain things. (Think Traefik, etc.) Great job, Ben!... read entire comment from Will Belden.
Chris G replied to a post Playing With Window Functions In MySQL 8
Comment posted October 27, 2024
@Ben Nadel, Agreed, there are no perfect solutions...only trade-offs! I have had one business case for a windows function that would have been a lot more effort in the app code. I wish I could recall the circumstance, but alas...I do not :( And if/when I ever need to do rolling averages again, I thi... read entire comment from Chris G.
Ben Nadel replied to a post Playing With Window Functions In MySQL 8
Comment posted October 26, 2024
@Chris, Yeah, I read a little about the rolling average stuff in the MySQL docs. I think a lot of this stuff, too, is something that I would normally do in my application code after pulling the records back into the ColdFusion app. After all, you're still pulling back all the records - it's not like... read entire comment from Ben Nadel.
Chris G replied to a post Playing With Window Functions In MySQL 8
Comment posted October 26, 2024
Hmmm, really glad you're delving deeper into this topic. I've never really grepped windows functions very well and my understanding was that they're most useful dealing with rolling averages and ranking search results.... read entire comment from Chris G.
Charles Robertson replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 21, 2024
@Harry Klein, Thanks for this information. Interesting. 🤔... read entire comment from Charles Robertson.
Harry Klein replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 21, 2024
@Charles Robertson, no, this only works for Lucee. There you have to create a custom debug template and save it into the folder "lucee-server/context/context/admin/debug/mydebugtemplate.cfc". local.implicitAccess comes from Lucee if you enable "Implicit variable Access" in the Debugging/Settings... read entire comment from Harry Klein.
Charles Robertson replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 21, 2024
@Ben Nadel, Sorry, I am a little lost, here 😬 Where does: local.implicitAccess Come from? And does this work with ACF? I had a look for an equivalent of: /opt/lucee/tomcat/lucee-server/context/context/admin/debug/Contens.cfc ACF2023: \\wsl.localhost\Debian\opt\ColdFusion2023\cfusion\runtime\conf\s... read entire comment from Charles Robertson.
Ben Nadel replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 21, 2024
@Harry, Ah, I see, because it's using the cflog and not writing to the response. Thanks for clarifying that.... read entire comment from Ben Nadel.
Harry Klein replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 21, 2024
Thank you. This template produces no output so nothing can happen - we also have a lot of JSON responses. I check the log files regularly and if it logs some implicit scoped vars I fix that.... read entire comment from Harry Klein.
Ben Nadel replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 21, 2024
@Harry, That's so cool! What a clever idea. My default application settings usually turn off all debugging (since it breaks JSON-based responses); so I somewhat fell out of familiarity with the local debugging template after using a Single-Page App (SPA) for so long. But, this is such smooth move 🙌... read entire comment from Ben Nadel.
Harry Klein replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 20, 2024
Hi Ben, in order to check unscoped variables in Lucee I just a custom debugging template with this code: /opt/lucee/tomcat/lucee-server/context/context/admin/debug/Contens.cfc <cfloop query="local.implicitAccess"> <cfif right(local.implicitAccess.template, 3) EQ "cfc" AND NOT listFindNoCase("... read entire comment from Harry Klein.
William R replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 19, 2024
@Ben Nadel, I use the gold version 4.x of FW/1. I think you'll find it surprisingly easy to update if you ever decide to make the change. I do the same (see below) - calling it at the end of setupRequest(). Putting it in each before() of each subsystem would require too much maintenance and easily f... read entire comment from William R.
Ben Nadel replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 19, 2024
@William, We actually use something very similar at work. But, I think the mistake we made was not encapsulating it within a CFC like you have. Basically, in our FW/1 application we queue-up a subsystem controller like: public void function setupRequest() { controller( "common:security.authenticate... read entire comment from Ben Nadel.
William R replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 19, 2024
@Ben Nadel, It works for me. It may not be everybody's cup of tea. To handle access control for subsystems I found a simple but effective cfc written by someone a very long time ago. I would credit them but I can't find their information. If that person reads this, let me know and I will give you cr... read entire comment from William R.
Ben Nadel replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 19, 2024
@Roberto, I'm not versed enough in the academia of application architecture to speak to the hexagonal pattern specifically. In the Wiki article, they also reference the onion architecture as well as Robert Martin's "clean code" architecture. But, all in all, I think they're all aimed at reducing tig... read entire comment from Ben Nadel.
Roberto Marzialetti replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 19, 2024
Your advice to prove the hexagonal architecture: https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)... read entire comment from Roberto Marzialetti.
Ben Nadel replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 19, 2024
I'll have to take a look. The version of FW/1 that we have was literally like a decade old; so I'm sure it doesn't have all of the newer more moderny stuff. One thing that I always wished that it had was a subsystem-local error handler. We always had to handle errors in the root Application.cfc; and... read entire comment from Ben Nadel.
Ben Nadel replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 19, 2024
@William, I'm all for whatever is the most simple solution that works. I feel like I've spent the last 10 years swinging to the "robust but complicated" end of the spectrum. And now, I've spent the last year or two swinging back the other way towards "effective enough but simple." Using each FW/1 su... read entire comment from Ben Nadel.
Charles Robertson replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 18, 2024
I have been looking at the fw1 framework folder with all the core components. It's really impressive stuff. I then came across this interesting method, in framework/beanProxy: https://github.com/framework-one/fw1/blob/develop/framework/beanProxy.cfc getTargetBeanMetadata() Which might just help wit... read entire comment from Charles Robertson.
William R replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 18, 2024
Your coding is far more sophisticated than mine but I also spent years trying to figure out what would simplify my development process where I could drag and drop a subset of files from one app to another. To make it work all I had to do was add the tables for the database, a line to instantiate eac... read entire comment from William R.
Charles Robertson replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 18, 2024
@Ben Nadel, With FW/1, if there's no setter function, I believe that the FW/1 will just skip the injection for a given property Thanks for this tip. 💪 I know that FW1 is being updated again: https://github.com/framework-one/fw1 By Mr Springle. I may see if I can add this as a dev feature, which cou... read entire comment from Charles Robertson.
Ben Nadel replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 18, 2024
Yeah, totally. I don't know the low-level details of the caching; but, yeah, as long as you can get at the singletons, you could theoretically do what I'm doing. And, the nice thing is, you don't need the whole ioc:skip thing that I did. With FW/1, if there's no setter function, I believe that the F... read entire comment from Ben Nadel.
Charles Robertson replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 17, 2024
@Ben Nadel, The one thing I do remember is that in FW1, controllers/services are singletons, so are probably accessible via the application scope. I presume that means they are cached, in some way? I think you can do something like: userController = application[ variables.framework.applicationKey ].... read entire comment from Charles Robertson.
Charles Robertson replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 17, 2024
OK. Thanks for the heads-up 🙏... read entire comment from Charles Robertson.
Ben Nadel replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 17, 2024
@Charles, Sorry, what I meant was that if you wanted to do meta-programming against the cached instances, in your example, it's hard to get at the cached instance of controllers/user.cfc. At least it was the last time I checked; though, maybe I just missed it. Essentially, in the way that I added th... read entire comment from Ben Nadel.
Charles Robertson replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 17, 2024
@Ben Nadel, So essentially in FW1, you just do: // controllers/user.cfc component accessors = true{ property userService; // model.services.user … } And then call the service like: variables.userService In the controller. Not entirely sure how everything works behind the scenes. When I ... read entire comment from Charles Robertson.
Ben Nadel replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 17, 2024
@Charles, That would be cool to see. I've dabbled a bit with the internals of FW/1 before; and I remember having do some "funky" stuff in order to get access to some of the cache components. I think the Controllers, especially, where harder to get through. Step 1 might be updating DI/1 or FW/1 to ma... read entire comment from Ben Nadel.
Charles Robertson replied to a post Running Memory Leak Detection After Every ColdFusion Request
Comment posted October 17, 2024
Great stuff! I might see if I can rework this for FW1. I know FW1 uses DI, so there should be quite a lot of commonality here. Also like you, I have built a custom DI, using an XML config file. I was inspired by Coldspring. I reckon every CF Dev worth anything, should have a go at building a DI. It ... read entire comment from Charles Robertson.
Ben Nadel replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 17, 2024
@Charles, To be upfront, I'm still trying to find a pattern that feels great. So, I won't pretend to have all the answers. That said, I'm starting to think more about applications in terms of a "core" and then various "clients". The "core" is where all the fundamentally important logic that makes th... read entire comment from Ben Nadel.
Charles Robertson replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 16, 2024
Hi Ben I think in FW1, it uses the following way of organising things, by default: controllers/user.cfc model/beans/user.cfc model/services/user.cfc views/user/default.cfm assets/css/user.css assets/js/user.js I can never make up my mind whether we should categorise by MVC or by section? Theoretica... read entire comment from Charles Robertson.
Ben Nadel replied to a post Dave Farley On What Makes High Quality Code
Comment posted October 16, 2024
"Error handling" is definitely one of the areas of application development that I'm continually refining.... read entire comment from Ben Nadel.
Greg Jorgensen replied to a post Dave Farley On What Makes High Quality Code
Comment posted October 16, 2024
@Ben Nadel, @Chris, After 40+ years writing code I still look at stuff I wrote and think I could have done better. That just comes with the territory — we learn new and better techniques constantly. No shame in that. It means we have advanced our skills and not got stuck. Over time we experience tha... read entire comment from Greg Jorgensen.
Ben Nadel replied to a post Dave Farley On What Makes High Quality Code
Comment posted October 16, 2024
@Chris, First off, thank you for the kind words - I'm glad that we are simpatico. Second, I love the fact that I can look back at code that I wrote a while ago and feel a twinge of shame. To me, that's a good sign that I'm continuing to grow as a programmer. When I look back and everything feels gre... read entire comment from Ben Nadel.
Chris G replied to a post Dave Farley On What Makes High Quality Code
Comment posted October 15, 2024
@Ben @Greg, I very much enjoyed your exchange here! And I'm clearly out of my depths with the wealth of ideas being shared here, but I care very much about code craftsmanship. I hold Ben's code examples in very high regard and find them extremely easy to read/understand. In my opinion, that is a mar... read entire comment from Chris G.
Ben Nadel replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 15, 2024
You are very kind, good sir :) If you have any suggestions for utilities, let me know. I'm just keeping notes as I think to myself, "man, I should build something for XYZ."... read entire comment from Ben Nadel.
Chris G replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 15, 2024
@Ben Nadel, Ah, I see it now! Thanks for pointing that out... Wasn't sure if I needed to bookmark it to find it again. I appreciate you, all that you do, and all that you share. 🙏... read entire comment from Chris G.
Ben Nadel replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 15, 2024
@Chris, I link to it in the site footer. I only just added this page a few weeks ago. It was just something I've been thinking about doing for a while. It's mostly for my own usage; but, I figured I'd make it public for anyone else that might find it helpful.... read entire comment from Ben Nadel.
Chris G replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 15, 2024
@Ben Nadel, Good stuff! First time I'm seeing this page. Is it a hidden URL, or is it hooked into the site's navigation somewhere? If it is, I couldn't find it.... read entire comment from Chris G.
Ben Nadel replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 15, 2024
@JC, Ha ha, I mean, when you boil it down, all apps have to render views. Each framework is going to call it differently. Way way way back when I was learning about Fusebox, I'm sure that we even had a concept of JavaScript / Less CSS build systems. So, yes, in a sense I'm trying to figure out how t... read entire comment from Ben Nadel.
JC replied to a post Collocating My ColdFusion, CSS, And JavaScript Files
Comment posted October 15, 2024
This is either going to make people laugh or tick them off. Either way, I'm going for it. Ahem ... Hey! Aren't those called "fuses"?... read entire comment from JC.
Ben Nadel replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 15, 2024
As a quick aside, I've now added this feature to my utils section: https://www.bennadel.com/utils/... read entire comment from Ben Nadel.
Chris G replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 14, 2024
@Ben Nadel, I wonder what the point of an AI comment was. Serves no purpose I can imagine 🤔... read entire comment from Chris G.
Ben Nadel replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 14, 2024
Yeah, I just deleted the comments. I wasn't sure at first, but the second comment (first was on a different post) confirmed.... read entire comment from Ben Nadel.
Ben Nadel replied to a post Dave Farley On What Makes High Quality Code
Comment posted October 14, 2024
@Greg, Thanks for the links, will check them out. Also, your comment here really hits home for me: We would all benefit from remembering the strongly subjective nature of things we casually talk about as objective properties of software -- quality, readability, maintainability. That would let us foc... read entire comment from Ben Nadel.
Charles Robertson replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 14, 2024
@Chris G, I honestly couldn't tell, until I read it a second time 🤭... read entire comment from Charles Robertson.
Chris G replied to a post CSV To CTE Transformer In Angular 18
Comment posted October 14, 2024
@Kevin is AI - lol... read entire comment from Chris G.