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 cf.Objective() 2013 (Bloomington, MN) with:

WebManWalking

Member since Apr 2, 2010

Recent Blog Comments By WebManWalking

  • Exceptions Are For Exceptional Circumstances Is Not A Value-Add Answer

    Posted on Oct 31, 2014 at 10:27 AM

    Some exceptions tend to scare end users. My end users are largely loan officers, clerks and data entry specialists (not techy at all). If I don't handle an exception from the database, for example, the nerdy column-does-not-allow-null and syntax-error-at-procedure-line-57 messages downright terrify ... read more »

  • Catching CFLock Timeout Errors In ColdFusion

    Posted on Apr 30, 2014 at 12:20 PM

    @Phillip, You could also follow @BenNadel on Twitter. He generally announces all of these blog posts there.... read more »

  • Finding HTML Comment Nodes In The DOM Using TreeWalker

    Posted on Apr 25, 2014 at 4:37 PM

    Oh you definitely need to see the 1960 version. It got nominated for 2 Hugo awards: http://www.imdb.com/title/tt0054443/ The book was called The Midwich Coocoos . The coocoo bird lays its eggs into another bird's nest, to get the duped bird to feed/raise the coocoo's offspring. I think Stephen... read more »

  • Finding HTML Comment Nodes In The DOM Using TreeWalker

    Posted on Apr 18, 2014 at 10:45 AM

    @Ben, Day of the Triffids (novel by John Wyndham), MacBeth and Lord of the Rings. Apparently, trees uprooting themselves and walking around is a thing. Also an army disguising themselves as a forest (MacBeth). Based on your book and movie choices in the past, I really think you would like the Day... read more »

  • Finding HTML Comment Nodes In The DOM Using TreeWalker

    Posted on Apr 17, 2014 at 3:59 PM

    @Ben, Instead of "treeWalker" (var treeWalker = document.createTreeWalker), I'd like to suggest calling your variables "triffid", "birnamWood", "Ent", "treeBeard", "Fangorn" or "fangornForest". Odd that literature has given us... read more »

  • Sending And Receiving UDP (User Datagram Protocol) Messages With ColdFusion

    Posted on Feb 11, 2014 at 4:55 PM

    @Ben, Okay, now I have a moment to talk about holding connections open. You probably are familiar with "COMET", the tongue-in-cheek opposite of AJAX. In CF terminology, COMET involves doing a bunch of cfflush commands during a process that you know is going to take a long time. Usually,... read more »

  • Sending And Receiving UDP (User Datagram Protocol) Messages With ColdFusion

    Posted on Feb 6, 2014 at 6:19 PM

    @Ben Can't answer in depth right away, but servers are typically left on, listening to ports, 24x7. It's very, very typical to never take them down at all. Between messages, the server process that listens to a port is idle (because it blocked on the listen). The active process checking for incomin... read more »

  • Sending And Receiving UDP (User Datagram Protocol) Messages With ColdFusion

    Posted on Feb 6, 2014 at 10:03 AM

    P.S.: I forgot to respond to the "should I close anyway" part of your quick question. Yes. Your ColdFusion request can time out, but the Java objects you connect to don't know about cfsetting setrequesttimeout. I'm sure you've experienced overrunning your request timeout because you wer... read more »

  • Sending And Receiving UDP (User Datagram Protocol) Messages With ColdFusion

    Posted on Feb 6, 2014 at 9:46 AM

    @Ben I've never specified a client port number. Never. Not in C. Not in Java. IMHO, that's why you're getting the "Already in use" error. You're unnecessarily restricting your client to 9001. On the second try, the first try still has 9001. The place to allow port reuse is on the server... read more »

  • Sending And Receiving UDP (User Datagram Protocol) Messages With ColdFusion

    Posted on Feb 5, 2014 at 4:06 PM

    Hmmm... Looks like they're calling the File Namespace the "Local Namespace" nowadays: http://www.gnu.org/software/libc/manual/pdf/libc.pdf#413... read more »

  • Sending And Receiving UDP (User Datagram Protocol) Messages With ColdFusion

    Posted on Feb 3, 2014 at 4:31 PM

    @Ben, In response to "I don't fully understand TCP or HTTP". At last! A chance for me to return the favor of all the good teaching/experimentation you provide! First, the origins: The C term "socket" is logically just a file that's open for input and output at the same time. ... read more »

  • Code Golf: 2014 In ColdFusion

    Posted on Jan 6, 2014 at 1:51 PM

    I'm sure you'll be happy to learn, today's xkcd cartoon is on regex golf: http://www.xkcd.com/1313/... read more »

  • After 2013, I'm Looking Forward To 2014

    Posted on Jan 2, 2014 at 9:17 AM

    You need to watch Ferris Bueller's Day Off again. Set aside some unstructured time (perhaps on a weekend, perhaps on a vacation, perhaps before getting ready for bed) and just do any old random shit that won't get you in trouble, just because why the fuck not. Life can be fun too. Don't miss it... read more »

  • Default Argument Expressions Are Executed Only As-Needed In ColdFusion

    Posted on Aug 21, 2013 at 9:32 AM

    This is kinda like cfparam behaving as the cfelse condition of a cfif IsDefined. Or like short-circuited booleans. Sometimes it's really impressive the extent to which ColdFusion avoids executing unnecessary code. Like cfinclude, for example: When you think about it, CFML doesn't behave like othe... read more »

  • Strange Interaction Between DeserializeJson(), ArrayContains(), And Database Values In ColdFusion

    Posted on May 24, 2013 at 11:18 AM

    @Ben, Ah, so it was indeed how I vaguely remembered it to be: A direct assignment value = users.id[ i ] causes value to retain the sticky datatype of the query column. Although unnecessary in all other situations, n00bs are right to use value = "#users.id[ i ]#" when the quo... read more »

  • Strange Interaction Between DeserializeJson(), ArrayContains(), And Database Values In ColdFusion

    Posted on May 23, 2013 at 11:06 AM

    @Ben, Are you talking about As Number: YES As String: YES As Java: YES? If so, that's with 3 different ways of referencing the constant 1, not users.id[1]. Query object references(*) are what seem to be adversely retaining their datatypes in CF9. (*) It's possible that other-scope references th... read more »

  • Strange Interaction Between DeserializeJson(), ArrayContains(), And Database Values In ColdFusion

    Posted on May 23, 2013 at 9:49 AM

    @Ben, I think the problem is that we're used to loose typing in ColdFusion, like JavaScript. If a value is a number but it's needed in an expression to be a string, noooo problem. I've encountered this CF9 problem before. It's not really related to SerializeJSON or DeserializeJSON. It's that valu... read more »

  • Using CSS Pseudo Elements :before And :after

    Posted on Jan 23, 2013 at 8:09 PM

    @Ben, You know what's even more appealing about :for(subselector)? It fits some of the things they're doing in CSS4 selectors: http://coding.smashingmagazine.com/2013/01/21/sneak-peek-future-selectors-level-4/ Checkout :matches(). It takes a subselector as its argument! So you just KNOW they w... read more »

  • Using CSS Pseudo Elements :before And :after

    Posted on Jan 21, 2013 at 10:50 AM

    @Ben, Speaking of CSS and mandatory fields, y'know what I wish you could say? :for(subselector). Example: label:for(input[required],select[required],textarea[required]) {font-weight:bold} label:for(input[required],select[required],textarea[required]):after {content: " *"} Then all ... read more »

  • Using CSS Pseudo Elements :before And :after

    Posted on Jan 21, 2013 at 10:15 AM

    @Ben, You know those websites that mark mandatory form fields with asterisk on the label? :before or :after is usually how they do it (hopefully with redundant styling for graceful degradation): label.mand {/* font-weight:bold or whatever */} label.mand:after {content: " *"} Cool b... read more »