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 TechCrunch Disrupt (New York, NY) with: Aaron Foss

Matt Osbun

Member since May 31, 2011

Recent Blog Comments By Matt Osbun

  • How To Store Arbitrary And Transient Attributes With Your User Data

    Posted on Jan 15, 2014 at 10:37 AM

    I'm fine with the "Hash" approach. Fine enough that I've taken this approach a few times. If you view that JSON value as a discrete value, rather than as a set of data points, then it really doesn't violate relational normalization rules. Yes- whichever method you use, there are compromis... read more »

  • The User Experience (UX) Of Manually Sorting Data

    Posted on Sep 20, 2013 at 8:48 AM

    As a User Experience (UX) designer, it's my job to examine that user-pain, trace it back to its source, and then solve the problem that the user is actually having, which is rarely a need to manually sort data. This sentence should be in red 72 pt. font. Possibly blinking. Although, I liked the b... read more »

  • The User Experience (UX) Of Pausing Automatic Investments At The Vanguard Group

    Posted on Aug 16, 2013 at 11:16 AM

    @Ben That's kind of the difference between our worlds. UX has to focus on user value. I have to focus on value to the business. Which sometimes includes adding value to the user- after all, if you're not adding value for the user, the user won't add value to your business. A subtlety that needs poi... read more »

  • The User Experience (UX) Of Pausing Automatic Investments At The Vanguard Group

    Posted on Aug 16, 2013 at 10:06 AM

    It's easy to accidentally mistake a solution for a problem. In fact, it often seems so reasonable that you don't notice it happened until you start implementation and realize that something has gone wrong. This came up recently with something as simple as search. The discussion started with "W... read more »

  • The User Experience (UX) Of Rating Things

    Posted on Aug 14, 2013 at 12:49 PM

    Not only do ratings systems attempt to hammer the unquantifiable into a simple statistical model, but we've turned them into the biggest selection bias error since "Dewey Defeats Truman". The question isn't "How do we make ranking systems better", it's "Why haven't we scrap... read more »

  • The Anatomy Of An INNER JOIN Query In SQL

    Posted on Aug 2, 2013 at 11:39 AM

    "But, ultimately it's irrelevant because it misses the point - when you don't think about how your data is being used, you'll become complacent in how your data is being structured." Brilliant! Even if you skip the rest of the post, read this line several times.... read more »

  • Testing IMG Complete With No SRC Attribute

    Posted on Jul 12, 2013 at 11:23 AM

    In a phrase I use rarely and with great caution, I tend to agree with IE on this one. When it comes to IMG DOM (Document Object Model) nodes, you can programmatically test to see if an image has loaded by examining its "complete" property. If the image cannot load because of an invalid... read more »

  • Learning About Test-Driven Development (TDD) Using Tiny Test

    Posted on Jun 11, 2013 at 8:49 AM

    @David "but writing a test that validates that a function works and passes in a query that does pass doesn't necessarily mean it'd pass if you used a different query as the argument" A unit test makes sure that a method behaves consistently given consistent context. In this case, if you ... read more »

  • A Sub-Class Should Not Access Private Variables In Its Super-Class

    Posted on Jun 7, 2013 at 9:13 PM

    Does ColdFusion have the concept of a protected method yet? I remember you could restrict a method's access to package-level, but not protected. I also stopped using CF a long time ago. Anyway, no- a child object shouldn't be able to access any private method/property in the parent. Public, protec... read more »

  • Writing My First Unit Tests With Jasmine And RequireJS

    Posted on Jul 6, 2012 at 4:31 PM

    @Ben, That's how Rhino Mocks works. It also keeps track of how many times something runs, such as in my project where I populate a Queue from the database, process the items, dequeueing them add they're handled, and them check for more records in the database. The method that retrieves records runs... read more »

  • Writing My First Unit Tests With Jasmine And RequireJS

    Posted on Jul 6, 2012 at 4:22 PM

    That's supposed to read "even to the point...". Stupid autocorrect.... read more »

  • Writing My First Unit Tests With Jasmine And RequireJS

    Posted on Jul 6, 2012 at 4:20 PM

    I just kicked off a project at work incorporating TDD with Rhino Mocks, which also let's me define expectations, Webern to the point of making sure that only the expected methods run and nothing else. Really looking forward to seeing how this goes.... read more »

  • More Thinking About Model-View-Controller (MVC) And Application Architecture

    Posted on Jun 5, 2012 at 3:23 PM

    @Ben If you have parts of an application that use session variables that you want hidden from other parts, try subclassing the SessionWrapper.... read more »

  • More Thinking About Model-View-Controller (MVC) And Application Architecture

    Posted on Jun 5, 2012 at 12:12 PM

    "Spelled-out more bluntly, nothing in your Domain Model should make a reference to Sessions (or URL, or FORM, or CGI for that matter)." I always build an adapter for the session scope, and simply tell the development team to never access it directly. This solves a few problems for me, so... read more »

  • Thinking About Data Gateways, Collections, And Raising Exceptions

    Posted on May 30, 2012 at 12:44 PM

    "But, handling NULL objects in ColdFusion feels like a bit of a burden." Yeah- it did to me, too. To the point where I started building null.cfc and then realizing that I was overreacting. :) "I'm just saying that an exception could make it easier since the transactional layer doesn... read more »

  • Thinking About Data Gateways, Collections, And Raising Exceptions

    Posted on May 30, 2012 at 10:42 AM

    "Any data access request for a single object based on ID (ex. Read, Update, Delete) should raise a "DataAccessException" if the target record cannot be found." I really have to disagree. To me, a DataAccessException would indicate that there's a problem with the query itself- in... read more »

  • Creating Service Objects And Value Objects In A Dependency Injection (DI) Framework

    Posted on May 10, 2012 at 12:42 PM

    Odd that I'm currently working through much the same issue while developing some standards for Unit Testing. And with much the same recommendations: heavier reliance on DI and factories while avoiding objects instantiated within a method using the "new" keyword. As a result, though, our u... read more »

  • The 4th Annual Regular Expression Day (And Prizes) - June 1st, 2011

    Posted on Jun 1, 2011 at 8:33 PM

    @Ben: LINQ is a .Net technology that lets you join and query object using an SQL-like syntax. So, for instance, I could do the following: List<string> fileNames = ( from rule in db.FileRules //A database table join file in new DirectoryInfo("some path").GetFiles("*.txt&qu... read more »

  • The 4th Annual Regular Expression Day (And Prizes) - June 1st, 2011

    Posted on Jun 1, 2011 at 4:43 PM

    @Anna: Yeah, I probably could, but this is more functional than fun. I've got an idea in mind- I just need to find time to fire up GIMP, overlay a RegEx over the image I've got picked out, and upload. Going more for "funny" than "complex". Although 2 weeks before a major release... read more »

  • The 4th Annual Regular Expression Day (And Prizes) - June 1st, 2011

    Posted on Jun 1, 2011 at 4:20 PM

    By the way, how appropriate is this- I've been rocking the regular expressions all day. Using C# (Yeah, I know- it's a M$ platform), LINQ, and RegEx to launch processes with certain behaviors based on masks that match files coming in to an FTP server.... read more »