Recent Activity
Recent Heroes of the BenNadel.com Community
-
Posted 41 comments since December 11, 2008
-
Posted 414 comments since October 5, 2014
-
Posted 2 comments since July 25, 2022
-
Posted 15 comments since March 29, 2011
-
Posted 10 comments since January 22, 2020
-
Posted 2 comments since June 12, 2022
-
Posted 1 comment since July 25, 2022
-
Posted 1 comment since July 27, 2022
-
Posted 1 comment since August 3, 2022
-
Posted 1 comment since August 3, 2022
Recent Comments
Charles Robertson replied to a post The Value Class java.time.LocalDateTime Cannot Be Converted To A Date In ColdFusion
Comment posted August 7, 2022
@Ben, Ha ha 😂... read more
Ben Nadel replied to a post The Value Class java.time.LocalDateTime Cannot Be Converted To A Date In ColdFusion
Comment posted August 7, 2022
@Charles, Boom! 💥 My brain is just getting going on this fine Sunday. Caffeine hasn't kicked in yet.... read more
Charles Robertson replied to a post The Value Class java.time.LocalDateTime Cannot Be Converted To A Date In ColdFusion
Comment posted August 7, 2022
Hi Ben I am getting this issue after a migration for a client from CF2018.02 to CF2021. I have just managed to secure a new Coldfusion contract after 3 years of pure Angular development. Coldfusion projects in the UK are rarer than hen's teeth. 😕 I am over the moon.🙂 Anyway, just a little more inf... read more
Ben Nadel replied to a post Rendering A TemplateRef As A Child Of The Body Element In Angular 9.0.0-rc.5
Comment posted August 3, 2022
@Marcel, I'm glad this post has helped. I'm a bit rusty on my Angular (been working on a lot of server-side code the last year or two); so, I had re-read this blog post in order to get my bearings 😄 I'm super excited to jump back into Angular and try the new "stand alone components" that are in the... read more
Marcel Jöstingmeier replied to a post Rendering A TemplateRef As A Child Of The Body Element In Angular 9.0.0-rc.5
Comment posted August 3, 2022
Thank to you i was able to solve a serious problem. I was inserting EmbeddedViewRef´s created from Templates from another Component. This only renders a comment as native element, so i was not able to get it to apply styles before it is attached to the DOM. It seems that the part <viewRef>.detectCha... read more
Ben Nadel replied to a post RequestTimeout Setting Affects CFThread Execution In Lucee CFML 5.3.6.61
Comment posted August 3, 2022
@BKBK, Honestly, I have no idea what the underlying mechanism is. I assume it's just a native part of the thread-pool in Java, which ColdFusion is built on top of. But, I only dip down in to the Java layer occasionally to take advantage of some existing library - I don't really know much about the b... read more
BKBK replied to a post RequestTimeout Setting Affects CFThread Execution In Lucee CFML 5.3.6.61
Comment posted August 3, 2022
Great article on a crucial subject. The ability to time out a thread has huge implications. For one thing, it can mean the difference between a rogue thread being stopped in its tracks or being free to hang about and hog memory for as long as it wants. However, there are questions I should like to b... read more
Murray Hopkins replied to a post Pretty-Printing JSON Using GSON In Lucee CFML 5.3.9.141
Comment posted July 29, 2022
Oh yes, I had forgotten about that! Subliminal learning. Lol. 😉 We just need to convince the people over in Lucee-land. 😃... read more
Ben Nadel replied to a post Pretty-Printing JSON Using GSON In Lucee CFML 5.3.9.141
Comment posted July 29, 2022
@Murray, That actually sounds a lot like how the JSON.stringify() method works in JavaScript. It's signature is like this: JSON.stringify( value [, replacer [, space ]] ) ... where the second param is your callback, and the third param is for the pretty-printing functionality that I'm doing in GSON.... read more
Murray Hopkins replied to a post Pretty-Printing JSON Using GSON In Lucee CFML 5.3.9.141
Comment posted July 27, 2022
@Ben, Yes, the GSON builder with its customisable policies and strategies is a good pattern that makes the serialization very ... customisable. However, I also found it didn't play well with Lucee Structs without having to do even more work. I thought the idea was a good one and made a Lucee languag... read more
Ben Nadel replied to a post Having Fun With The SpeechSynthesis API In Angular 11.0.5
Comment posted July 27, 2022
@Nana, Awesome! Glad you got it working. It's a really fun little API to play with.... read more
nana replied to a post Having Fun With The SpeechSynthesis API In Angular 11.0.5
Comment posted July 27, 2022
@Ben, Thank you very much for your answer. Finally I ran this code (which you posted) and it worked without issue. I figured out it was just a TypeScript item. Before, I thought I had to install plugins to make it work. And I'm not running it on electron, just on browser. and i don't either use elec... read more
Ben Nadel replied to a post Pretty-Printing JSON Using GSON In Lucee CFML 5.3.9.141
Comment posted July 27, 2022
@Murray, Yeah, I tried looking at the GSON "builder" to see if I could define some sort of setting for numbers. They have some number strategy options, but it looks like they were for the deserialization aspects, not the serialization aspects. You can define some sort of custom Java classes; but, th... read more
Murray Hopkins replied to a post Pretty-Printing JSON Using GSON In Lucee CFML 5.3.9.141
Comment posted July 27, 2022
Thanks Ben. I recently looked at GSON in my exploration of Serialisation options for a Lucee project (mainly trying to get lowercase keys). Forum post One thing I noticed (probably not relevant for your use-case here) is that GSON is not accurate in its JSON representation. For example, your count a... read more
Ben Nadel replied to a post Pretty-Printing A ColdFusion Query Object In Lucee CFML 5.2.9.31
Comment posted July 27, 2022
@Adam, So cool!! I've heard of Fuseless, but haven't tried it out yet. I'm not really that experienced with Lambda to begin with. Will definitely check out your project. Glad to be able to have helped in some small way!... read more
Adam Chapman replied to a post Pretty-Printing A ColdFusion Query Object In Lucee CFML 5.2.9.31
Comment posted July 27, 2022
Hey Ben.. Thanks for this function.. I used it to output some unit test results in a bash test runner. https://github.com/chapmandu/serverless-cfml Regards, Adam... read more
Ben Nadel replied to a post Understanding Struct Key-Casing Using SerializeJson() In Lucee 5.3.2.77
Comment posted July 25, 2022
@Frederic, Oh heck yeah! I've been a big fan of ordered-structs since I realized that Lucee (and ACF) have this syntax. For the most part, in a production app it doesn't really matter what order keys are in. But, when doing demos with screen shots or outputting JSON, seeing the keys in a "human frie... read more
Ben Nadel replied to a post Having Fun With The SpeechSynthesis API In Angular 11.0.5
Comment posted July 25, 2022
@Nana, Unfortunately, I don't have any experience with Ionic. But, my understanding is that the Ionic package is just a UI framework for the web; so, I don't think it would impose any additional constraints. As such, I think you can just use the Browser's native speech synthesis API (as I have done ... read more
nana replied to a post Having Fun With The SpeechSynthesis API In Angular 11.0.5
Comment posted July 25, 2022
Good Morning there. Thank's for your blog @Ben Nadel. Please I'm try to make use text-to-speech witch ionic. How can i config it ? witch plugin should i use ? I hope you will answer me. Thank you in advance.... read more
Ben Nadel replied to a post Validating Complex, Nested, Dynamic Data Structures In ColdFusion
Comment posted July 25, 2022
@Roberto, Do you have a sense of where in the application should be responsible for this kind of JSON validation? I've been struggling to wrap my head around a solution that feels right. I think for the JSON validation itself - ie, the data that is to be persisted - then that should be in the data p... read more
Roberto replied to a post Validating Complex, Nested, Dynamic Data Structures In ColdFusion
Comment posted July 25, 2022
JSONValidate of Lucee should be the perfect library to do these things, but it's a bit buggy 😅 We have created this wrapper (of a Java library) which we use with satisfaction: https://github.com/Nimesia/json-schema-validator... read more
Frederic Fortier replied to a post Understanding Struct Key-Casing Using SerializeJson() In Lucee 5.3.2.77
Comment posted July 20, 2022
@Ben, You probably know this by now, but this will also create a struct that will maintain the order the key's are inserted in the struct newStruct = [:];... read more
Hexydec replied to a post Replacing jQuery (110kb) With Umbrella JS (8kb)
Comment posted July 20, 2022
@Ben, Thanks for taking the time to look at it. Appreciated.... read more
Ben Nadel replied to a post Validating Complex, Nested, Dynamic Data Structures In ColdFusion
Comment posted July 20, 2022
@Adam, You are 100% correct. The tests within a rule are and'ed but the rules are or'ed. Basically, I am just looping over the rules and finding the first one that matches all the tests and then returning it's variant (based on the rollout, which is either a single value or a weighed distribution). ... read more
Adam Tuttle replied to a post Validating Complex, Nested, Dynamic Data Structures In ColdFusion
Comment posted July 18, 2022
Looks pretty neat. I will admit that I didn't read through the entire source of the final embed, but this part caught my eye: And, of course, the tests array can have multiple entries that are all AND'ed together. My gut reaction was that you're skipping OR support for now (as I did with Semaphore h... read more
Ben Nadel replied to a post Building-Up A Complex Objects Using Form POST-Backs In ColdFusion
Comment posted July 7, 2022
@All, As a fast-follow to this post, I wanted to rework the demo into a multi-step wizard. I realized that using JSON to post the pending form state back to the server with each submission actually unlocks some very interesting potential. Specifically, we can break our form up into parts without hav... read more
Gary Stanton replied to a post Splitting An Array Into Groups In ColdFusion 2021
Comment posted July 7, 2022
Just thought I'd come back and update this with some new information... Having been using this approach for many years, I've finally run into an issue whereby SQL Server is unable to process such a complex query. In this instance we're passing a list of around 60k IDs, which to be fair, is a bit exc... read more
Will Belden replied to a post Working Code Podcast - Episode 82: GitHub Charging For Copilot
Comment posted July 6, 2022
As far as I can tell, it's all from "your code". I think it runs locally, mostly, and dependent on your CPU, resources. There is a paid version that is "smarter" (I guess?) and talks to their servers. I found it to be pretty amazing, just the local, free version. You start noticing pretty quickly. O... read more
Ben Nadel replied to a post Working Code Podcast - Episode 82: GitHub Charging For Copilot
Comment posted July 6, 2022
@Will, I've heard people say great things about Tabnine as well, though I haven't tried it myself. Do you have an idea where it gets its test data from? Wasn't sure if it was also using GitHub public repos or something.... read more
Will Belden replied to a post Working Code Podcast - Episode 82: GitHub Charging For Copilot
Comment posted July 6, 2022
Been a pretty big fan of the Tabnine extension for VSCode. Not sure if it's the same thing, but I can't imagine how different it could be. Will have to research it, but pretty sure, too, I won't be paying for it! :)... read more
Ben Nadel replied to a post Thought Experiment: Splitting A Single Data Table Up Into High-Writes And High-Reads For Better Performance In MySQL
Comment posted July 6, 2022
@Bryan, My big hesitation with Kafka is that, as a technology, it's not something you can lightly "sprinkle" into an existing application. From what I've seen, pulling in Kafka usually means that you are fundamentally changing the way the application is architected and wired together. I'm not saying... read more
Bryan replied to a post Thought Experiment: Splitting A Single Data Table Up Into High-Writes And High-Reads For Better Performance In MySQL
Comment posted July 6, 2022
I agree with Alex that Kafka solves this problem at scale. Specifically, you're "enqueuing writes" which is a requirement at high scale. If the writes had to be eventually consistent and fast, you'd enqueue the write to kafka with Log Compaction enabled. You'd then have competing consumers, one set ... read more
John D Farrar replied to a post Building-Up A Complex Objects Using Form POST-Backs In ColdFusion
Comment posted July 5, 2022
@Ben, agree. Just was not a good choice of words. In the spirit of Ortus and the community you definitely did modernize the approach.... read more
Ben Nadel replied to a post Building-Up A Complex Objects Using Form POST-Backs In ColdFusion
Comment posted July 5, 2022
@John, I'm just going to have to say that "Great minds think alike" 🤪 but, seriously, I think my code is probably little more than the "more modern" version of what Brian was doing. By that, I just mean that the syntax / build-in methods are lighter-weight and easier to deal with. That said, I thin... read more
John D Farrar replied to a post Building-Up A Complex Objects Using Form POST-Backs In ColdFusion
Comment posted July 5, 2022
Brain K. used to have a CFC that did something simular. Look at the buildFormCollections method. https://github.com/sosensible/Collaboration/blob/master/share/objects/collaboration/FormUtilities.cfc... read more
Lionel Holt replied to a post ColdFusion Performance Experiment: Caching Per-Application Settings In Lucee CFML 5.3.3.62
Comment posted July 3, 2022
In your experience have you found that the lack of significant performance difference also applies to UDF library components in the Application scope? I'm exploring that very topic over in the Lucee dev forum.... read more
Ian Turton replied to a post It's OK To Be Super Explicit In Your Data Access Method Names
Comment posted July 3, 2022
@Ben, Sweet! 🤓... read more
Ben Nadel replied to a post It's OK To Be Super Explicit In Your Data Access Method Names
Comment posted July 1, 2022
@Ian, I just used the VALUES(col) in a production query. Woot woot 💥... read more
Ben Nadel replied to a post The Value Class java.time.LocalDateTime Cannot Be Converted To A Date In ColdFusion
Comment posted June 30, 2022
@Steve, Oh that's good to know. That could work in a pinch if it wasn't an entire application breaking, but just a small script something. 👍... read more
Steve Withington replied to a post The Value Class java.time.LocalDateTime Cannot Be Converted To A Date In ColdFusion
Comment posted June 30, 2022
Posting another solution would be to CONVERT(theDateField, DATE) in the SELECT statement too (assuming you're not doing a SELECT * ....... read more
Ben Nadel replied to a post Using An Array To Power Weighted Distributions In Lucee CFML 5.3.8.201
Comment posted June 29, 2022
@Chris, I will wait for the math nerds 🤓 the maths is too hard for me!... read more
Chris G. replied to a post Using An Array To Power Weighted Distributions In Lucee CFML 5.3.8.201
Comment posted June 29, 2022
@Ben That was my first thought too, but then you'd have to track each range, which is additive... A = 0 - 0.1 B = 0.11 - 0.3 C = 0.31 - 1 That does seem more complex. Even if your solution does more "work", in the end I love how easy it is to comprehend. It's just simple and straight forward. But wh... read more
Ben Nadel replied to a post Using An Array To Power Weighted Distributions In Lucee CFML 5.3.8.201
Comment posted June 29, 2022
@Chris, 😛 Honestly, I don't even know what the mathy solution would have been. The approach I outlined is the only way I know how to do it. I guess you could have called something like rand() to get a decimal between 0-1; then, checked the decimal against the desired distributions ... but, that fee... read more
Chris G. replied to a post Using An Array To Power Weighted Distributions In Lucee CFML 5.3.8.201
Comment posted June 29, 2022
Clever! I like it. And now I'm wondering how I would have handled it. Probably not as elegantly as you. I'd love to know what the Mathy solution would look like out of curiosity, but as the saying goes...when all you have is a hammer, everything looks like a nail. And you (my friend) nailed it! 🤣... read more
Ben Nadel replied to a post Code Kata: Array Intersection, Union, And Difference In Lucee CFML 5.3.8.201
Comment posted June 27, 2022
@If, To be completely honest, I struggle a lot with truly Functional Programming. A few years ago, I tried reading Functional Light by Kyle Simpson. It was an interesting read. But, most of it went over my head. I think that FP is something you must have to practice a lot for it to make any real sen... read more
if replied to a post Code Kata: Array Intersection, Union, And Difference In Lucee CFML 5.3.8.201
Comment posted June 27, 2022
Thanks bro: I would like to ask you how can I use all array and query method as functional programming? I follow many of your posts with reduce, map, filter something more powerfull like query to sql or LINQ.... read more
Ben Nadel replied to a post Case Study: Removing Implicit Variable Access At Scale In Lucee CFML 5.3.7.47
Comment posted June 24, 2022
@Lionel, Very cool -- taking a look 👍... read more
Ben Nadel replied to a post Looking At The Performance Overhead Of A Read-Only Lock In Lucee CFML 5.3.8.201
Comment posted June 24, 2022
@Charlie, Oh so awesome, heading over to read it now!... read more
Charlie Arehart replied to a post Looking At The Performance Overhead Of A Read-Only Lock In Lucee CFML 5.3.8.201
Comment posted June 24, 2022
Interesting thought experiment, Ben. If you'd been taking bets, I'd have put down good money that there'd be virtually NO impact in this scenario. The reason I say that may add some value to this post, whether one is using Lucee or ACF. And as the comment I was writing got longer and longer, I reali... read more
Ben Nadel replied to a post Updating My Mental Model For Shared Array / Struct Iteration In ColdFusion
Comment posted June 24, 2022
@All, In this demo, I'm in a read-only mode. But, if I needed to mutate the shared data some time, then I'd have to put a readonly lock around the data for the reads, and an exclusive lock around the data for the writes. This got me wondering if a read-only lock has any overhead in and of itself: ht... read more