@Danilo, It's not automated, that's the problem 😆 the ones that I missed where usually because I had a lot of conflicts and was then too lazy to go back and do it. I think I've missed maybe 4 or 5 at this point. Hopefully few and far between....
read entire comment from Ben Nadel.
FYI Looks like you (or any automation you may have) missed posting the 196 episode. Don't see it on the blog home page, nor the podcast home page....
read entire comment from Danilo Celic.
On a related note, we can also take those HTML entities and convert them into native emoji characters using ColdFusion's canonicalize() function: https://www.bennadel.com/blog/4708-using-canonicalize-to-render-emoji-in-coldfusion.htm This can be especially helpful in contexts in which HTML entities ...
read entire comment from Ben Nadel.
I found an alternative way to do this—we can use the canonicalize() function to normalize HTML entities into native emoji characters: https://www.bennadel.com/blog/4708-using-canonicalize-to-render-emoji-in-coldfusion.htm...
read entire comment from Ben Nadel.
In the outro above, I mention that emojis don't work well in subject lines. Here's a fast-follow post to demonstrate that: https://www.bennadel.com/blog/4709-using-canonicalize-to-embed-emoji-in-email-subject-lines-in-coldfusion.htm And, how the canonicalize() function can be used to render HTML ent...
read entire comment from Ben Nadel.
@Jeff, Well, at least we tried! 😛 I'm almost certain this has something to do with how IIS is intercepting the errors. Or some other URL rewriting issue. But yeah, if this isn't something that comes up very often, no need to go way down the rabbit hole. Good luck!...
read entire comment from Ben Nadel.
@Ben Nadel, I could not find any errors on the maintenance page, nor did the situation change when I moved the trigger process from application.cfc to our page header. In other words, if the 503 status code is sent, the process breaks down for any page beyond the unvarnished domain address (www.cath...
read entire comment from Jeff Mirus.
@Chris, If let and const work for you, no reason to change. I like var because it works for me and doesn't cause any problems. So, it's just one less thing to think about....
read entire comment from Ben Nadel.
@Ben Nadel, I clearly don't understand the nuances well enough, but var isn't worth giving up for this one feature alone IMHO! And this comes from someone who has used let and const plenty, but not because I had a deep understanding of them, but rather because I 'assumed' they were better options. W...
read entire comment from Chris G.
Today I got a twofer...I also learned that let and const will not hoist! Pretty sure I've scratched my head more than once wondering why my js code didn't hoist as expected in the past!...
read entire comment from Chris G.
@Jeff, Good luck! That touch-point between the web server and the application server can get tricky. Let us know what you find....
read entire comment from Ben Nadel.
Good suggestions - thanks! It also occurred to me to relocate this process to the header.cfm file we use with all our individual pages, rather than in application.cfc, just to see if the behavior is any different. I'll let you know if I discover anything useful as I continue to work on it. Jeff...
read entire comment from Jeff Mirus.
@Jeff, That's really interesting. If you could never get the website's version of the maintenance page to serve-up, then I would suggest that this is an issue with the web server overriding non-200 responses. But, since you can get it sometime, then clearly the web server is allowing non-200 respons...
read entire comment from Ben Nadel.
Thanks for your post on a maintenance page with a bypass! I've implemented this, but the one problem I've found with it is that as long as status code 503 is returned, the graceful "Down for Maintenance" page will display only when the website is called without a particular page specified. Otherwise...
read entire comment from Jeff Mirus.
This is really funny because I just ran into this error and I've never seen it before. But thank you for digging into it because I thought it was due to me having a comparison that resulted in numbers bigger than 1,-1 not resulting in 0!...
read entire comment from Scott Steinbeck.
@Bill, Ha, funny that you mention Chris Ferdinandi at the end, because I was about to say that he has a utility web component, <ajax-form> , that sounds like it's very similar to what you're proposing (ie, intercepting actions and executing fetch() commands). I am actually quite keen on the idea. A ...
read entire comment from Ben Nadel.
Hey @Ben thanks for asking. I think you might be referring to frameworks that build a series of web components isolating CSS in the shadow dom. In my view, that approach is an example of overcomplication. You don't need the shadow dom, just a better approach in writing CSS. At least for most situati...
read entire comment from Bill Nourse.
@Bill, To be honest, I struggle with this one. And the bee that keeps getting in my bonnet is the scoped CSS that the front-end frameworks provide (ie, CSS blocks that are dynamically scoped to only apply to a small subset of the HTML). I believe that custom web components can help with this; but, I...
read entire comment from Ben Nadel.
@Jeff, That's awesome to hear! It really is a game changer on so many levels. One of the byproducts that I appreciate most about feature flags is the ability to enable more of a grass-roots development effort. As you say, you can pilot features to a group; but, even more so, you can pilot features f...
read entire comment from Ben Nadel.
After over twenty years of development work, mostly web dev, I came out of retirement to take a job at a company that uses a commercial feature flag product. It was my first exposure to feature flagging. The lowering of anxiety in knowing the product could be piloted to groups and gradually introduc...
read entire comment from Jeff Davis.
@Chris, You have some great insights there, especially regarding TODO comments that end up being something that never gets done (in a good way). I feel like that's a sign of critical thinking about architecture....
read entire comment from Ben Nadel.
I love it when I find a TODO comment in my code. It sometimes reminds me of the complexities which are generally only obvious to the person thinking (very) deeply about the logic. And usually, I find that it was not necessary to complete for the application to provide real value. Most often, I find ...
read entire comment from Chris G.
@Emanuel, Good to touch-base after so many years 😀 At work, where we do use a fully containerized solution (using Codeship for the builds, Quay for the image registry, and Kubernetes for the orchestration), the whole system builds together. But, the build also takes like 8-minutes (which feels like...
read entire comment from Ben Nadel.
Thanks for sharing your approach. Given your current setup with FTP and your preference to keep the Angular build separate from the ColdFusion app, your strategy makes sense. However, if you're open to exploring alternatives, I suggest looking into using a build pipeline or CI/CD system that can aut...
read entire comment from Emanuel Costa.
I don't know when it was added; but at least as of Angular 18, @keyframes are now being scoped to the component! Amazing!...
read entire comment from Ben Nadel.
@Ben, Just to chime in a little, in regards to performance, there probably isn't much difference in what framework you use. But what keeps me out of the cool kid club is not wanting to use a JS framework at all. As Ray hinted, a JS Framework embeds HTML code (in Javascript) that renders ALL your pag...
read entire comment from Bill Nourse.
@EJ, I know next-to-nothing about color theory. But, in this case, I'm only using one color and changing its opacity; so, I'm not sure if a different color space would have much of an impact. Honestly, evaluating the randomness of an algorithm is a strange thing. Especially when humans don't necessa...
read entire comment from Ben Nadel.
@James, That use-case is actually kind of what I was intending as well: to compare one version of the payload to another. I thought that would be an easy win - to just compare the JSON outputs. But once one of them went through the serialization life-cycle, the orders stopped lining up. That said, I...
read entire comment from Ben Nadel.
@Will, I don't remember getting any NPE errors when playing around with this stuff. Re: not seeing the JAR getting copied, but being able to dump-out an instance, I've heard on podcasts the SQL lite engine ships by default with a lot of operating systems. So, I'm wondering if you are accidentally us...
read entire comment from Ben Nadel.
Hey @BenNadel did you have any problems with NullPointerException's during your testing? Doing a new (tiny) project, though "Hey, sqlite would be perfect!" Got all my data loaded via [some sql ui]. Started up my site in Commandbox, but I'll be $%$( if I can get the thing to work. Gonna reach out to ...
read entire comment from Will B..
I've been using JSONUtil since ColdFusion 8/9. I modified the deserializeJSON method to explicitly generated ordered structs so that the struct keys are in the same order as the original JSON string. https://github.com/cfcommunity/jsonutil The reason for this? We save data in JSON format and this ap...
read entire comment from James Moberg.
How you sample the color space (RGB, HSV, HSL, Y'UV etc) could have more of an impact on the perception of the randomness than the random number generator itself. For example, see this XKCD post about the fully saturated color perception map in RGB space, which seems to be majority "green". https://...
read entire comment from EJ.
@Raymond, This is true - all of the code does take up some amount of memory and parsing time, even if a page isn't rendering a specific route. Some of this is mitigated by using lazy-loading in the routers (which I think all of the modern SPA frameworks have at this point). Of course, even with lazy...
read entire comment from Ben Nadel.
I think there's one large issue with your thinking here. You used this as an example: "How could it? To put it in concrete terms, that's akin to saying that the very existence of an "Admin page" will negatively impact the rendering and interaction speed of a "Shopping cart page". But, these two page...
read entire comment from Raymond Camden.
@Will, It's a good point about meta-programming techniques like CFInvoke()—that's exactly why I try to shy away from anything that builds dynamic invocation: it makes that code harder to find. The more clearly you can names things and the more clearly you can reference them, the easier it becomes to...
read entire comment from Ben Nadel.
Over on Twitter, Zac Spitzer raised a good point. I think it's a bit tangential to this conversation, but it's worth sharing: Let me guess you have a modern phone and a powerful laptop? Here, Zac is rightly pointing out that on low-end devices, the size of a JavaScript file does absolutely impact bo...
read entire comment from Ben Nadel.
Who relies on the outputs? is the key question here. Without that information, thoroughly testing a refactor IS scary. Now, proper test case coverage can drastically reduce that fear, but... who has 100% coverage? As for output reliance, that way our particular code is structured, aside from a few <...
read entire comment from Will B..
After I wrote this post, it got me thinking about something I've been hearing off-and-on for a while on a variety of podcasts. This notion that the size of a JavaScript application somehow has a direct impact on the runtime performance of said application. I believe this sentiment is allowed to take...
read entire comment from Ben Nadel.
I've updated the code to use framework.effect(), not Alpine.effect(). This should now be automatically cleaning-up any reactive logic when then scope of the component is destroyed (or so I've been told)....
read entire comment from Ben Nadel.
So, according to Eric Kwoka in my previously-linked Discussion, as long as you use the effect method that is passed into the directive definition, you don't have to release() it - it is doing some magic in the background to make this happen. In my code, I'm actually using Alpine.effect(). I assumed ...
read entire comment from Ben Nadel.
@Samuel, I'll admit there's a lot of code here; but, it's not as obvious to me (as you make it out to be). I had to make some decisions that I'm not completely confident in. For example, with a simple Boolean switch, the fact that there are only 2 states makes things much simpler. Cycling direction ...
read entire comment from Ben Nadel.
How unbelievably difficult it is to do what is essentially a variable that fits in two bits with still 25% memory wasted should tell us something about how awful the framework is we work in. You have a setter, a getter, a cycle function, a conditional, an array overflow error handler, a class, an in...
read entire comment from samuel.
I opened a Help question in the Alpine Github discussions forum: Clarity on when / if I need to call .release() on an effect reference? I'll report back when I have more clarity....
read entire comment from Ben Nadel.
I'm realizing now that I am using Alpine.release() for the scope-level reactivity but not for the property-level reactivity. This stems from the fact that I'm not sure if I need to use it at all. I'm going to see if I can get some more information about this....
read entire comment from Ben Nadel.
@Rick, Getting help is one of those things that is so obvious from the outside; but, isn't always obvious when you're in the midst of things. It's also one of those things where when you don't have the muscle memory for it, it's hard to know where to start (ie, I need help with "XYZ", where do I fin...
read entire comment from Ben Nadel.
Adam and Ben, As a long time solo entrepreneur the advice I'd give is don't be afraid to get help on what you're not good at. In my case its getting AWS servers set up. Ben, one good hang out for one or two man teams on Slack is the MicroConf folks. Around double the daily traffic of the CFML Slack....
read entire comment from Rick Mason.
Recent Comments
Ben Nadel replied to a post Working Code Podcast - Episode 197: Potluck
Comment posted September 26, 2024
@Danilo, It's not automated, that's the problem 😆 the ones that I missed where usually because I had a lot of conflicts and was then too lazy to go back and do it. I think I've missed maybe 4 or 5 at this point. Hopefully few and far between.... read entire comment from Ben Nadel.
Danilo Celic replied to a post Working Code Podcast - Episode 197: Potluck
Comment posted September 26, 2024
FYI Looks like you (or any automation you may have) missed posting the 196 episode. Don't see it on the blog home page, nor the podcast home page.... read entire comment from Danilo Celic.
Ben Nadel replied to a post Printing Emoji Characters From Unicode CodePoints Using HTML Entities In Lucee CFML 5.3.7.47
Comment posted September 12, 2024
On a related note, we can also take those HTML entities and convert them into native emoji characters using ColdFusion's canonicalize() function: https://www.bennadel.com/blog/4708-using-canonicalize-to-render-emoji-in-coldfusion.htm This can be especially helpful in contexts in which HTML entities ... read entire comment from Ben Nadel.
Ben Nadel replied to a post Printing Emoji Characters From Unicode CodePoints In Lucee CFML 5.3.5.92
Comment posted September 12, 2024
I found an alternative way to do this—we can use the canonicalize() function to normalize HTML entities into native emoji characters: https://www.bennadel.com/blog/4708-using-canonicalize-to-render-emoji-in-coldfusion.htm... read entire comment from Ben Nadel.
Ben Nadel replied to a post Using Canonicalize() To Render Emoji In ColdFusion
Comment posted September 12, 2024
In the outro above, I mention that emojis don't work well in subject lines. Here's a fast-follow post to demonstrate that: https://www.bennadel.com/blog/4709-using-canonicalize-to-embed-emoji-in-email-subject-lines-in-coldfusion.htm And, how the canonicalize() function can be used to render HTML ent... read entire comment from Ben Nadel.
Ben Nadel replied to a post Serving A Bypassable "Down For Maintenance" Page In ColdFusion 2021
Comment posted September 11, 2024
@Jeff, Well, at least we tried! 😛 I'm almost certain this has something to do with how IIS is intercepting the errors. Or some other URL rewriting issue. But yeah, if this isn't something that comes up very often, no need to go way down the rabbit hole. Good luck!... read entire comment from Ben Nadel.
Jeff Mirus replied to a post Serving A Bypassable "Down For Maintenance" Page In ColdFusion 2021
Comment posted September 11, 2024
@Ben Nadel, I could not find any errors on the maintenance page, nor did the situation change when I moved the trigger process from application.cfc to our page header. In other words, if the 503 status code is sent, the process breaks down for any page beyond the unvarnished domain address (www.cath... read entire comment from Jeff Mirus.
Ben Nadel replied to a post Dynamically Define For-Loop Increment In ColdFusion
Comment posted September 11, 2024
@Chris, If let and const work for you, no reason to change. I like var because it works for me and doesn't cause any problems. So, it's just one less thing to think about.... read entire comment from Ben Nadel.
Chris G replied to a post Dynamically Define For-Loop Increment In ColdFusion
Comment posted September 10, 2024
@Ben Nadel, I clearly don't understand the nuances well enough, but var isn't worth giving up for this one feature alone IMHO! And this comes from someone who has used let and const plenty, but not because I had a deep understanding of them, but rather because I 'assumed' they were better options. W... read entire comment from Chris G.
Ben Nadel replied to a post Dynamically Define For-Loop Increment In ColdFusion
Comment posted September 10, 2024
@Chris, I know I'm in the tiny minority here; but, I think var is just groovy and works really well.... read entire comment from Ben Nadel.
Chris G replied to a post Dynamically Define For-Loop Increment In ColdFusion
Comment posted September 10, 2024
Today I got a twofer...I also learned that let and const will not hoist! Pretty sure I've scratched my head more than once wondering why my js code didn't hoist as expected in the past!... read entire comment from Chris G.
Ben Nadel replied to a post Serving A Bypassable "Down For Maintenance" Page In ColdFusion 2021
Comment posted September 9, 2024
@Jeff, Good luck! That touch-point between the web server and the application server can get tricky. Let us know what you find.... read entire comment from Ben Nadel.
Jeff Mirus replied to a post Serving A Bypassable "Down For Maintenance" Page In ColdFusion 2021
Comment posted September 9, 2024
Good suggestions - thanks! It also occurred to me to relocate this process to the header.cfm file we use with all our individual pages, rather than in application.cfc, just to see if the behavior is any different. I'll let you know if I discover anything useful as I continue to work on it. Jeff... read entire comment from Jeff Mirus.
Ben Nadel replied to a post Serving A Bypassable "Down For Maintenance" Page In ColdFusion 2021
Comment posted September 9, 2024
@Jeff, That's really interesting. If you could never get the website's version of the maintenance page to serve-up, then I would suggest that this is an issue with the web server overriding non-200 responses. But, since you can get it sometime, then clearly the web server is allowing non-200 respons... read entire comment from Ben Nadel.
Jeff Mirus replied to a post Serving A Bypassable "Down For Maintenance" Page In ColdFusion 2021
Comment posted September 7, 2024
Thanks for your post on a maintenance page with a bypass! I've implemented this, but the one problem I've found with it is that as long as status code 503 is returned, the graceful "Down for Maintenance" page will display only when the website is called without a particular page specified. Otherwise... read entire comment from Jeff Mirus.
Ben Nadel replied to a post ColdFusion: Comparison Method Violates Its General Contract
Comment posted September 6, 2024
@Scott, Team work makes the dream work! Glad to be timely 🙂... read entire comment from Ben Nadel.
Scott Steinbeck replied to a post ColdFusion: Comparison Method Violates Its General Contract
Comment posted September 6, 2024
This is really funny because I just ran into this error and I've never seen it before. But thank you for digging into it because I thought it was due to me having a comparison that resulted in numbers bigger than 1,-1 not resulting in 0!... read entire comment from Scott Steinbeck.
Ben Nadel replied to a post JavaScript Application Size Shouldn't Affect Performance
Comment posted September 5, 2024
@Bill, Ha, funny that you mention Chris Ferdinandi at the end, because I was about to say that he has a utility web component, <ajax-form> , that sounds like it's very similar to what you're proposing (ie, intercepting actions and executing fetch() commands). I am actually quite keen on the idea. A ... read entire comment from Ben Nadel.
Bill Nourse replied to a post JavaScript Application Size Shouldn't Affect Performance
Comment posted September 3, 2024
Hey @Ben thanks for asking. I think you might be referring to frameworks that build a series of web components isolating CSS in the shadow dom. In my view, that approach is an example of overcomplication. You don't need the shadow dom, just a better approach in writing CSS. At least for most situati... read entire comment from Bill Nourse.
Ben Nadel replied to a post JavaScript Application Size Shouldn't Affect Performance
Comment posted September 3, 2024
@Bill, To be honest, I struggle with this one. And the bee that keeps getting in my bonnet is the scoped CSS that the front-end frameworks provide (ie, CSS blocks that are dynamically scoped to only apply to a small subset of the HTML). I believe that custom web components can help with this; but, I... read entire comment from Ben Nadel.
Ben Nadel replied to a post Feature Flags Book: Of Outages And Incidents
Comment posted August 31, 2024
@Jeff, That's awesome to hear! It really is a game changer on so many levels. One of the byproducts that I appreciate most about feature flags is the ability to enable more of a grass-roots development effort. As you say, you can pilot features to a group; but, even more so, you can pilot features f... read entire comment from Ben Nadel.
Jeff Davis replied to a post Feature Flags Book: Of Outages And Incidents
Comment posted August 31, 2024
After over twenty years of development work, mostly web dev, I came out of retirement to take a job at a company that uses a commercial feature flag product. It was my first exposure to feature flagging. The lowering of anxiety in knowing the product could be piloted to groups and gradually introduc... read entire comment from Jeff Davis.
Ben Nadel replied to a post TODO: Granting Yourself Permission To Move Forward
Comment posted August 28, 2024
😂... read entire comment from Ben Nadel.
Tony Monast replied to a post TODO: Granting Yourself Permission To Move Forward
Comment posted August 28, 2024
// TODO: Comment this awesome blog post from Ben.... read entire comment from Tony Monast.
Ben Nadel replied to a post TODO: Granting Yourself Permission To Move Forward
Comment posted August 27, 2024
@Chris, You have some great insights there, especially regarding TODO comments that end up being something that never gets done (in a good way). I feel like that's a sign of critical thinking about architecture.... read entire comment from Ben Nadel.
Chris G replied to a post TODO: Granting Yourself Permission To Move Forward
Comment posted August 27, 2024
I love it when I find a TODO comment in my code. It sometimes reminds me of the complexities which are generally only obvious to the person thinking (very) deeply about the logic. And usually, I find that it was not necessary to complete for the application to provide real value. Most often, I find ... read entire comment from Chris G.
Ben Nadel replied to a post Building An Angular App For ColdFusion Using Docker Compose
Comment posted August 22, 2024
@Emanuel, Good to touch-base after so many years 😀 At work, where we do use a fully containerized solution (using Codeship for the builds, Quay for the image registry, and Kubernetes for the orchestration), the whole system builds together. But, the build also takes like 8-minutes (which feels like... read entire comment from Ben Nadel.
Emanuel Costa replied to a post Building An Angular App For ColdFusion Using Docker Compose
Comment posted August 21, 2024
Thanks for sharing your approach. Given your current setup with FTP and your preference to keep the Angular build separate from the ColdFusion app, your strategy makes sense. However, if you're open to exploring alternatives, I suggest looking into using a build pipeline or CI/CD system that can aut... read entire comment from Emanuel Costa.
Ben Nadel replied to a post CSS @keyframes Animations Are Not Scoped With Emulated View Encapsulation In Angular 4.4.6
Comment posted August 16, 2024
I don't know when it was added; but at least as of Angular 18, @keyframes are now being scoped to the component! Amazing!... read entire comment from Ben Nadel.
Bill Nourse replied to a post JavaScript Application Size Shouldn't Affect Performance
Comment posted August 16, 2024
@Ben, Just to chime in a little, in regards to performance, there probably isn't much difference in what framework you use. But what keeps me out of the cool kid club is not wanting to use a JS framework at all. As Ray hinted, a JS Framework embeds HTML code (in Javascript) that renders ALL your pag... read entire comment from Bill Nourse.
Ben Nadel replied to a post Exploring Randomness In JavaScript
Comment posted August 14, 2024
@EJ, I know next-to-nothing about color theory. But, in this case, I'm only using one color and changing its opacity; so, I'm not sure if a different color space would have much of an impact. Honestly, evaluating the randomness of an algorithm is a strange thing. Especially when humans don't necessa... read entire comment from Ben Nadel.
Ben Nadel replied to a post Adobe ColdFusion Parses JSON Into Non-Ordered Structs
Comment posted August 14, 2024
@James, That use-case is actually kind of what I was intending as well: to compare one version of the payload to another. I thought that would be an easy win - to just compare the JSON outputs. But once one of them went through the serialization life-cycle, the orders stopped lining up. That said, I... read entire comment from Ben Nadel.
Ben Nadel replied to a post Experimenting With Low-Level SQLite Access In Lucee CFML
Comment posted August 14, 2024
@Will, I don't remember getting any NPE errors when playing around with this stuff. Re: not seeing the JAR getting copied, but being able to dump-out an instance, I've heard on podcasts the SQL lite engine ships by default with a lot of operating systems. So, I'm wondering if you are accidentally us... read entire comment from Ben Nadel.
Will B. replied to a post Experimenting With Low-Level SQLite Access In Lucee CFML
Comment posted August 12, 2024
Hey @BenNadel did you have any problems with NullPointerException's during your testing? Doing a new (tiny) project, though "Hey, sqlite would be perfect!" Got all my data loaded via [some sql ui]. Started up my site in Commandbox, but I'll be $%$( if I can get the thing to work. Gonna reach out to ... read entire comment from Will B..
James Moberg replied to a post Adobe ColdFusion Parses JSON Into Non-Ordered Structs
Comment posted August 7, 2024
I've been using JSONUtil since ColdFusion 8/9. I modified the deserializeJSON method to explicitly generated ordered structs so that the struct keys are in the same order as the original JSON string. https://github.com/cfcommunity/jsonutil The reason for this? We save data in JSON format and this ap... read entire comment from James Moberg.
EJ replied to a post Exploring Randomness In JavaScript
Comment posted August 2, 2024
How you sample the color space (RGB, HSV, HSL, Y'UV etc) could have more of an impact on the perception of the randomness than the random number generator itself. For example, see this XKCD post about the fully saturated color perception map in RGB space, which seems to be majority "green". https://... read entire comment from EJ.
Ben Nadel replied to a post JavaScript Application Size Shouldn't Affect Performance
Comment posted August 1, 2024
@Raymond, This is true - all of the code does take up some amount of memory and parsing time, even if a page isn't rendering a specific route. Some of this is mitigated by using lazy-loading in the routers (which I think all of the modern SPA frameworks have at this point). Of course, even with lazy... read entire comment from Ben Nadel.
Raymond Camden replied to a post JavaScript Application Size Shouldn't Affect Performance
Comment posted August 1, 2024
I think there's one large issue with your thinking here. You used this as an example: "How could it? To put it in concrete terms, that's akin to saying that the very existence of an "Admin page" will negatively impact the rendering and interaction speed of a "Shopping cart page". But, these two page... read entire comment from Raymond Camden.
Ben Nadel replied to a post Code Isn't Magical, It's Just A Series Of Commands
Comment posted August 1, 2024
@Will, It's a good point about meta-programming techniques like CFInvoke()—that's exactly why I try to shy away from anything that builds dynamic invocation: it makes that code harder to find. The more clearly you can names things and the more clearly you can reference them, the easier it becomes to... read entire comment from Ben Nadel.
Ben Nadel replied to a post JavaScript Application Size Shouldn't Affect Performance
Comment posted August 1, 2024
Over on Twitter, Zac Spitzer raised a good point. I think it's a bit tangential to this conversation, but it's worth sharing: Let me guess you have a modern phone and a powerful laptop? Here, Zac is rightly pointing out that on low-end devices, the size of a JavaScript file does absolutely impact bo... read entire comment from Ben Nadel.
Will B. replied to a post Code Isn't Magical, It's Just A Series Of Commands
Comment posted August 1, 2024
Who relies on the outputs? is the key question here. Without that information, thoroughly testing a refactor IS scary. Now, proper test case coverage can drastically reduce that fear, but... who has 100% coverage? As for output reliance, that way our particular code is structured, aside from a few <... read entire comment from Will B..
Ben Nadel replied to a post Code Isn't Magical, It's Just A Series Of Commands
Comment posted August 1, 2024
After I wrote this post, it got me thinking about something I've been hearing off-and-on for a while on a variety of podcasts. This notion that the size of a JavaScript application somehow has a direct impact on the runtime performance of said application. I believe this sentiment is allowed to take... read entire comment from Ben Nadel.
Ben Nadel replied to a post An "x-input" Property Binding Directive In Alpine.js
Comment posted July 23, 2024
I've updated the code to use framework.effect(), not Alpine.effect(). This should now be automatically cleaning-up any reactive logic when then scope of the component is destroyed (or so I've been told).... read entire comment from Ben Nadel.
Ben Nadel replied to a post An "x-input" Property Binding Directive In Alpine.js
Comment posted July 22, 2024
So, according to Eric Kwoka in my previously-linked Discussion, as long as you use the effect method that is passed into the directive definition, you don't have to release() it - it is doing some magic in the background to make this happen. In my code, I'm actually using Alpine.effect(). I assumed ... read entire comment from Ben Nadel.
Ben Nadel replied to a post Code Kata: Building A Tri-State Switch In Alpine.js
Comment posted July 22, 2024
@Samuel, I'll admit there's a lot of code here; but, it's not as obvious to me (as you make it out to be). I had to make some decisions that I'm not completely confident in. For example, with a simple Boolean switch, the fact that there are only 2 states makes things much simpler. Cycling direction ... read entire comment from Ben Nadel.
samuel replied to a post Code Kata: Building A Tri-State Switch In Alpine.js
Comment posted July 22, 2024
How unbelievably difficult it is to do what is essentially a variable that fits in two bits with still 25% memory wasted should tell us something about how awful the framework is we work in. You have a setter, a getter, a cycle function, a conditional, an array overflow error handler, a class, an in... read entire comment from samuel.
Ben Nadel replied to a post An "x-input" Property Binding Directive In Alpine.js
Comment posted July 22, 2024
I opened a Help question in the Alpine Github discussions forum: Clarity on when / if I need to call .release() on an effect reference? I'll report back when I have more clarity.... read entire comment from Ben Nadel.
Ben Nadel replied to a post An "x-input" Property Binding Directive In Alpine.js
Comment posted July 22, 2024
I'm realizing now that I am using Alpine.release() for the scope-level reactivity but not for the property-level reactivity. This stems from the fact that I'm not sure if I need to use it at all. I'm going to see if I can get some more information about this.... read entire comment from Ben Nadel.
Ben Nadel replied to a post Working Code Podcast - Episode 187: Viability Of The Minimum Viable Product
Comment posted July 20, 2024
@Rick, Getting help is one of those things that is so obvious from the outside; but, isn't always obvious when you're in the midst of things. It's also one of those things where when you don't have the muscle memory for it, it's hard to know where to start (ie, I need help with "XYZ", where do I fin... read entire comment from Ben Nadel.
Rick Mason replied to a post Working Code Podcast - Episode 187: Viability Of The Minimum Viable Product
Comment posted July 19, 2024
Adam and Ben, As a long time solo entrepreneur the advice I'd give is don't be afraid to get help on what you're not good at. In my case its getting AWS servers set up. Ben, one good hang out for one or two man teams on Slack is the MicroConf folks. Around double the daily traffic of the CFML Slack.... read entire comment from Rick Mason.