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 NCDevCon 2011 (Raleigh, NC) with:

Jaime Metcher

Member since Dec 11, 2008

Recent Blog Comments By Jaime Metcher

  • The Anatomy Of An INNER JOIN Query In SQL

    Posted on Aug 5, 2013 at 5:01 PM

    @Ben, I've never used MySQL in anger - or, at least, only for Drupal and Wordpress, which is hardly relational data at all. However, I'm about to port a large system from MSSQL to MySQL, so if what you say is true I'm going to be not too happy. I do like my views. Anyway, I'll report back in a c... read more »

  • The Anatomy Of An INNER JOIN Query In SQL

    Posted on Aug 4, 2013 at 7:29 PM

    I'm glad you guys have a handle on how the query optimizer works, because it's a complete and utter mystery to me. I have consistently found that every time I have a notion as to how the SQL expression influences the ultimate execution plan, I've turned out to be dead wrong. In fact if you ask the... read more »

  • CFAbort And OnRequestEnd() Behavior In ColdFusion 8 And ColdFusion 9

    Posted on Jun 28, 2013 at 4:24 AM

    @Ben, Just replying to your old comment waaay up the comment stream re why Mark filed the bug in the first place. It was actually after a conversation with me. The specific issue was that I was setting up a Hibernate session and transaction in onRequestStart, and tearing it down again in onReque... read more »

  • Object Thinking By David West

    Posted on Jun 11, 2013 at 1:04 AM

    @Ben, You're exactly right - you'd ask the TaskList to instantiate a task. Not sure why that's a problem - if you don't have a list of tasks, then title uniqueness can't be a problem, right? Conversely, if you care about a constraint, you care about it in a particular context. So you instantiate ... read more »

  • What The Heck Is Business Logic Anyway?

    Posted on Dec 16, 2012 at 6:45 PM

    I like webmanwalking's notion that business logic implements business rules, and business rules are basically requirements. At implementation time you then get application logic and domain logic, and the business rules could be implemented in either or both depending on the degree of generality des... read more »

  • How Do You Populate Shared Views In A Complex Layout Using MVC?

    Posted on Jul 17, 2012 at 2:10 AM

    Coming in a bit late here, but it's probably still worth pointing out that MVC as originally conceived actually proposed a hierarchy of controllers, related to a parallel hierarchy of views. In a multi-window desktop app you'd have a view hierarchy that looks something like control->pane->win... read more »

  • Extending Java Objects With ColdFusion Components

    Posted on Jul 14, 2010 at 10:08 PM

    Very cool exploration, Ben. But someone's gotta say this, so it might as well be me - the easiest way to extend a Java object is with another Java object. I can think of some cool use cases for this technique, but I'd hate to see people using it just to avoid having to deal Java.... read more »

  • Performing ColdFusion Processing After A CFLocation Tag

    Posted on Apr 1, 2009 at 9:16 PM

    There's a related issue that CF does not process onRequestEnd() on a cflocation. If you track the functions in application.cfc it goes: onRequestStart for page 1 cflocation to page 2 onRequestStart for page 2 onRequestEnd for page2 which is the screwiest page lifecycle I can think of. Adobe agre... read more »

  • Hal Helms On Object Oriented Programming - Day Four

    Posted on Oct 24, 2008 at 2:50 AM

    @ike: One of the consequences of demanding that objects must always be valid is that at the domain model layer one ends up with a minimal definition of valid. Once you realize how seriously you have to take a class invariant, you really hesitate before defining something as an invariant. To put i... read more »

  • OOPhoto - Unique Coupling Of A Controller To A View

    Posted on Aug 25, 2008 at 6:22 PM

    The point of MVC is that the model doesn't know about the view or the controller. It is absolutely legitimate for the view to know about the model. It's often stated that the job of the controller is to stand between the view and the model, but this is a bit misleading. The view should not direct... read more »

  • OOPhoto - If Object.Validate(), Why Not Object.Save()?

    Posted on Aug 18, 2008 at 11:27 PM

    This has turned out pretty long, so I'll start with my conclusion: 1. save() does not belong on the bean 2. validate() does belong on the bean - but not as much of it as you think. OK, my reasoning: I don't think bean.validate() needs to know about more than just the bean. Things like uniqueness... read more »

  • OOPhoto - No More Validation In The Controller

    Posted on Aug 14, 2008 at 9:48 PM

    @Brian, Good point. Command objects (if one is using that style) would be invoked by the controller, but the controller should actually get those objects from the service layer (or directly from the model if the service layer is vanishingly thin). Jaime... read more »

  • OOPhoto - No More Validation In The Controller

    Posted on Aug 14, 2008 at 9:13 PM

    @Ben, >When you refer to a "collection class", is that akin to my "service" >classes? Yeah, probably. While conceptually a collection can be a first-class domain object, in practical CF the service layer can be a good place for this logic to live. Most people would be managing several col... read more »

  • OOPhoto - No More Validation In The Controller

    Posted on Aug 14, 2008 at 7:04 PM

    Ben, I reckon you were on to something when you were talking about layers of validation. Some discussions about which object is responsible for validation run into trouble because we try to find one correct place, and/or feel bad if we end up with validation in more than one place. "Validation" i... read more »

  • Ask Ben: Working With Lists In An Object Oriented Programming Application

    Posted on May 15, 2008 at 7:32 PM

    @Brad: What Ben said +1. I think you've really hit on something there that could help a lot of us struggling with OO in CF. Squillions of objects in a collection = reporting = different domain - nice! I just want to point out (and getting away from what the OP was asking) that sometimes the fact ... read more »

  • Thoughts On Chained And Dependent Algorithm Steps

    Posted on Apr 10, 2008 at 7:16 PM

    There's a definite school of thought that says you shouldn't use exceptions for flow control. You can google "exception handling" and get more than you'd ever want to read, so I won't say more about that here. Regarding your dislike of wrapping everything in IF - I agree, but I think Bradley's sol... read more »

  • Hal Helms Teaches Me Some Object Oriented Programming

    Posted on Feb 2, 2008 at 5:36 PM

    It would be a mistake to imply that Transfer's decorator facility creates or requires any coupling between the data model and the domain model. Under particular circumstances, where the two happen to be very closely aligned, you *can* use a transfer object or decorator as a domain object, but this ... read more »

  • I Just Can't Understand Object Oriented Programming (OOP) And Join Tables

    Posted on Aug 18, 2007 at 12:17 AM

    Not a whole lot I can add, but just to reinforce what Brian was saying. Forget databases. Think about basic data structures - trees, lists, doubly linked lists, directed graphs etc etc etc. Then think about the OO representations of those. The relational view of the world is neither procedural... read more »

  • Frameworks vs. Object Oriented Programming

    Posted on May 3, 2007 at 6:32 PM

    Well, if Ben's orthogonal I want to be orthogonal too :) I agree that OOP is a means to an end - suits some people, suits some projects. Everyone should know it from a career point of view, but that's a different issue. Having said that, for the nitpicking fun of it I'd draw a distinction between... read more »