Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at BFusion / BFLEX 2009 (Bloomington, Indiana) with:

Ben Nadel

Member since Dec 11, 2008

Recent Blog Comments By Ben Nadel

  • Using Scope.$watch() To Watch Functions In AngularJS

    Posted on Aug 22, 2014 at 8:24 AM

    @Andrei, Awesome! I'm super excited to hear that :D... read more »

  • MySQL GROUP_CONCAT() Fails Silently When It Hits Its Size Limit

    Posted on Aug 11, 2014 at 9:34 AM

    @Adam, Totally agree - the function is working exactly as it is documented. My gripe is simply that the implementation seems sub-optimal. Using this function was a poor choice, which we unfortunately didn't catch until it was in production. And, since I've never used it before, it didn't set off an... read more »

  • Looking At Nested Event Timing And DOM Structure In AngularJS

    Posted on Aug 11, 2014 at 8:58 AM

    @Emilio, I think the order of the scopes is guaranteed; in that the higher-up scopes will receive it before the lower-down scopes (just a guess). But, once you are inside a scope, I think you're right - there is no guarantee as to which callback will be invoked first. I think it mostly has to do wi... read more »

  • MySQL GROUP_CONCAT() Has Buggy Interaction With UNION Clauses

    Posted on Aug 11, 2014 at 6:33 AM

    @Tanyar, If I do 147, then I still get 147 in the first group (since that's all there is). And, more importantly, I still get 49 in the UNION-based select. So, that's one's still problematic even if I am not truncating my result set.... read more »

  • MySQL GROUP_CONCAT() Fails Silently When It Hits Its Size Limit

    Posted on Aug 9, 2014 at 7:59 AM

    @All, Unfortunately, it looks like MySQL's GROUP_CONCAT() is even more problematic and fails even more mysteriously when it's used in conjunction with a UNION or UNION ALL clause: http://www.bennadel.com/blog/2670-mysql-group-concat-has-buggy-interaction-with-union-clauses.htm This erratic beha... read more »

  • MySQL GROUP_CONCAT() Fails Silently When It Hits Its Size Limit

    Posted on Aug 8, 2014 at 7:09 AM

    @Adam, I think it is a cool function. And, when I first learned about it, I was really excited since so much of programming is related to gathering groups of IDs :D I guess my biggest gripe is simply that it didn't throw some sort of error - that is just silently truncated the results :(... read more »

  • Parsing Http Time Strings With ParseDateTime() In ColdFusion

    Posted on Aug 5, 2014 at 10:51 AM

    @Brian, It's funny you mention that. I actually started off trying to use the dateTimeFormat(). But, I was getting a really odd output. I had a mask that was something link: "Mmm d, yyyy 'at' h:nn:ss TT" ... but the 'at' kept getting converted to 'p'. Not sure why. Even the examples in ... read more »

  • Using Plupload For Drag & Drop File Uploads In ColdFusion

    Posted on Aug 1, 2014 at 10:23 AM

    @Dani, The IDs for each Plupload instance most likely need to be unique, especially if you're going to have several instances in the DOM (Document Object Model) at the same time. Regardless of Plupload, your IDs need to be unique on the given state of a page, otherwise the underlying query selector... read more »

  • Sticky CDN - A Content Delivery Network (CDN) For Your Local Development Environment

    Posted on Jul 31, 2014 at 1:38 PM

    @James, Re "local storage", correct, it's just reading/writing to the filesystem. Essentially, it makes an HTTP request to the origin server; then, saves that file to the local file system: sticky_cdn/site/cache/ Then, on subsequent requests, it looks at the local file system first, and... read more »

  • Node.js Transform Streams vs. Through2 Streams

    Posted on Jul 24, 2014 at 9:38 PM

    @mathrick, Ah, no problem :) When I hit the "reply" button, the code automatically upper-cases the first character. Cheers.... read more »

  • Node.js Transform Streams vs. Through2 Streams

    Posted on Jul 24, 2014 at 8:38 AM

    @Mathrick, Oh man, you're absolutely right. I can't believe I missed that! I think I was trying so hard to wrap my head around Node.js streams, it didn't even occur to me that patterns could have forward-slashes. Excellent catch! I took a stab at a more durable version of the cloning, with the abi... read more »

  • CFFinally Tag Will Execute Even After An Abort In ColdFusion

    Posted on Jul 22, 2014 at 9:13 AM

    @Adam, Those Railo guys are so freaking agile. No matter what, you have to given them that! Awesome stuff :)... read more »

  • My First Look At Streams In Node.js

    Posted on Jul 22, 2014 at 9:12 AM

    @All, This post uses a Node.js Transform stream that I constructed by explicitly extending stream.Transform and defining prototype methods. It seems that this kind of stuff - in Gulp.js - is often encapsulated using the Through2 module. As such, I wanted to refactor this experiment using Through2: ... read more »

  • My First Look At Streams In Node.js

    Posted on Jul 21, 2014 at 9:21 PM

    @Ray, Thanks for the link. I think I've heard of them, but have definitely never seen that site before. This looks like some really good content. Awesome sauce!... read more »

  • CFFinally Tag Will Execute Even After An Abort In ColdFusion

    Posted on Jul 21, 2014 at 8:33 AM

    @Brad, It's funny, you just get so used to "abort" being the "final say", that it's hard to imagine that anything else can run after it. When in doubt, I test it out :D I'm just guessing here, but I assume the CFLocation tag is just setting the status-code and the "Locatio... read more »

  • CFFinally Will Execute Even If CFCatch Throws An Error In ColdFusion

    Posted on Jul 19, 2014 at 7:42 AM

    Ok, one more sanity check - CFFinally and CFAbort interactions: http://www.bennadel.com/blog/2661-cffinally-tag-will-execute-even-after-an-abort-in-coldfusion.htm I just like to cross my T's and dot my I's.... read more »

  • Experimenting With Compress() And Uncompress() In MySQL

    Posted on Jul 10, 2014 at 4:16 PM

    It will be interesting. In the near future, I'm looking to break out non-core stuff like error/event logging to its own datasource/database. Will be a good time to start digging into the practicalities of this more closely.... read more »

  • Url-Encoding Amazon S3 Resource Keys For Pre-Signed Urls In ColdFusion

    Posted on Jul 10, 2014 at 8:23 AM

    @James, I am *so* glad you were also seeing differences cross-browser! I thought I was going insane! In some cases, things worked fine in Firefox, but then broke in Chrome/Safari. At first, I was convinced that I must have been doing something wrong (I mean browsers are always "right", ri... read more »

  • Which ASCII Characters Does urlEncodedFormat() Escape In ColdFusion

    Posted on Jul 9, 2014 at 8:19 AM

    This whole urlEncodedFormat() exploration was brought on by the fact that I've recently run into some issues with encoding Amazon S3 object keys in pre-signed URL generation: http://www.bennadel.com/blog/2656-url-encoding-amazon-s3-resource-keys-for-pre-signed-urls-in-coldfusion.htm It looks lik... read more »

  • Experimenting With The Amazon Simple Storage Service (S3) API Using ColdFusion

    Posted on Jul 9, 2014 at 8:13 AM

    @All, It looks like ColdFusion can be a bit too aggressive with how it encodes URL values when using urlEncodedFormat(): http://www.bennadel.com/blog/2656-url-encoding-amazon-s3-resource-keys-for-pre-signed-urls-in-coldfusion.htm... read more »