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 Scotch On The Rock (SOTR) 2010 (London) with:

Marc Funaro

Member since Mar 2, 2009

Recent Blog Comments By Marc Funaro

  • The User Experience (UX) Of Rating Things

    Posted on Sep 5, 2013 at 9:50 AM

    I would recommend Ben's post to others: . Strongly Agree . Ben should be president . Ben should have a nobel peace prize . See it in the theater . Pray every day that ends in 'y' that his blog is never shut down . Chuck Norris... read more »

  • ColdFusion DateTimeFormat() Utility Function

    Posted on Sep 5, 2013 at 9:12 AM

    A very old post this is, but for anyone that stumbles onto it as I just did... I had created my own DateTimeFormat function (global function in CFWheels) in my last couple of projects (great minds think alike...). We're in the process of upgrading to CF10 enterprise, and when running the code a... read more »

  • Creating A Centralized Point Of Entry For ColdFusion Scheduled Tasks

    Posted on May 23, 2011 at 8:49 AM

    For this one particular app, I have set up my scheduled tasks in CFAdministrator a little differently, setting up one for each interval I need (2 minutes, 15 minutes, 4 hours, one day) and each task calls it's own function in an Automation.cfc controller. I can then drop cfhttp calls into whatever ... read more »

  • Using NULLIF() To Prevent Divide-By-Zero Errors In SQL

    Posted on May 7, 2010 at 1:14 PM

    VERY late to the party here, but I had occasion to work on a Divide By Zero error today, and came across your post. With MSSQL (2005 anyway) you can add these two lines ahead of the query that could potentially fail with a DBZ error: SET ARITHABORT OFF SET ANSI_WARNINGS OFF With both ARITHABORT a... read more »

  • Way Of The Warrior: The Poison Of Sarcasm

    Posted on Apr 12, 2010 at 11:33 AM

    The bite marks of sarcasm linger for longer if the target of that sarcasm has any faith in the old adage that humor quite often "contains an element of truth". Even if it's not the truth you were hoping to convey in any way whatsoever. I'll openly admit I'm too sarcastic at times, and in more "stu... read more »

  • Using Appropriate Status Codes With Each API Response

    Posted on Mar 17, 2010 at 2:40 PM

    Simon, If you're serving up what is essentially a blank page "template", and then getting the actual content for that page using javascript, how on earth are you getting the search engines to see your content? Or was that not a priority for that particular project? Overall the REST API for EVERYT... read more »

  • Using Appropriate Status Codes With Each API Response

    Posted on Feb 26, 2010 at 11:34 AM

    @Justice, I think you actually made my point for me. It's exactly what I was trying to say/thinking of saying. The more I thought about this whole idea, the less I liked it. A web server throws errors related to serving up web files. It doesn't feel right (to me - this is strictly opinion of co... read more »

  • Using Appropriate Status Codes With Each API Response

    Posted on Feb 24, 2010 at 4:30 PM

    Hi Ben, I guess what I was asking was, do these status codes appear in the web server logs because a 500 error message indicates "internal server error", and if you're throwing that for *application* purposes, it could be difficult to differentiate between app-generated 500's and actual web server ... read more »

  • Using Appropriate Status Codes With Each API Response

    Posted on Feb 24, 2010 at 10:52 AM

    Do these status codes get written into the web server logs?... read more »

  • Putting Your Geolocation iPhone Photos On A Google Map Using ColdFusion And jQuery

    Posted on Jan 28, 2010 at 5:13 PM

    My Moto Droid also attaches GPS data to the pictures it takes. Can't wait to play with it some day, maybe even make a Droid app or mobile web page that can accept my photos directly from the phone. Nice work as usual, Ben. It makes me sick to see how much time you have to learn new things and exp... read more »

  • Selecting Top X From Each Group

    Posted on Dec 22, 2009 at 4:08 PM

    And.... Looks like my solution is just like Jaden's... sheesh... sorry.... read more »

  • Selecting Top X From Each Group

    Posted on Dec 22, 2009 at 4:04 PM

    Super late to the party here, but I just came across your post, and later I separately found an MSSQL2005-specific solution that I thought might be useful to add to the conversation. It may be just like one of the other solutions posted; in this case the data's all in one table. Here, I have a sing... read more »

  • Building Custom jQuery Event Types: Hesitate Event

    Posted on Dec 16, 2009 at 8:47 AM

    I think it should be called "entice" instead of hesitate :) (great post!)... read more »

  • Why My Queries Hate Application Service Layers

    Posted on Jun 19, 2009 at 2:16 PM

    "IMO, Preventable bad database interactivity for only application structure's sake is the REAL root of all evil, and it's expensive to have to go back and fix. Optimization that is right there at your fingertips, that you force yourself to ignore for the sake of a framework or methodology... that's ... read more »

  • Why My Queries Hate Application Service Layers

    Posted on Jun 19, 2009 at 2:14 PM

    They DON'T do lazy loading using joins... they make multiple, delayed database calls. Great if you're using objects, but not really very efficient. I don't feel this type of optimization is premature, because lack of this type of optimization is more expensive than any other. IMO, Preventable ba... read more »

  • Why My Queries Hate Application Service Layers

    Posted on Jun 19, 2009 at 12:00 PM

    I agree, someone more proficient in SQL will most likely start out with a more efficient query. Someone that is not may start out by actually doing what you proposed -- splitting out the function into separate datasets, perhaps because it's all they know to do, and the side "benefit" would be the c... read more »

  • Why My Queries Hate Application Service Layers

    Posted on Jun 19, 2009 at 11:08 AM

    You already know this -- there's no right answer to your questions. I think the right answer is, start out with an efficient, well constructed query. Look for obvious places where you can make it dynamic (i.e. which columns to return), but if you find yourself making the query more inefficient s... read more »

  • Why My Queries Hate Application Service Layers

    Posted on Jun 19, 2009 at 10:17 AM

    P.S. If you don't like long method names, why not shorten it somewhat and then put the description of what the method does in the HINT or DESCRIPTION attributes of the cffunction tag? Documentation is the key difference between amateur and professional, and this would seem a perfect place for it. ... read more »

  • Why My Queries Hate Application Service Layers

    Posted on Jun 19, 2009 at 10:06 AM

    You've got abstraction into layers vs. inline queries, and then you have reusability vs. non-reusability. They are two different things. My vote would be to put stuff where it "belongs", but don't worry so much if you have a method that contains your complex query, may or may not have a longer nam... read more »

  • You Practice Gymnastics, I Practice Everything

    Posted on Mar 2, 2009 at 11:12 AM

    THAT'S IT. SOMEONE FINALLY SAID IT. For god's sake, it's finally okay to think about these things. Does it take time away from other tasks sometimes? Yes. Does it lead to a dead end sometimes? Yes. Does it nearly always lead to a certain level of elegance -- whether you're an architect of buil... read more »