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() 2010 (Minneapolis, MN) with: Doug Hughes and Ezra Parker and Dan Wilson and John Mason and Jason Dean and Luis Majano and Mark Mandel and Brian Kotek and Wil Genovese and Rob Brooks-Bilson and Andy Matthews and Simeon Bateman and Ray Camden and Chris Rockett and Joe Bernard and Dan Skaggs and Byron Raines and Barney Boisvert and Simon Free and Steve 'Cutter' Blades and Seth Bienek and Katie Bienek

Brian Kotek

Member since Dec 11, 2008

Recent Blog Comments By Brian Kotek

  • Writing My First Unit Tests With Jasmine And RequireJS

    Posted on Jul 6, 2012 at 11:09 PM

    @Sean, thanks, but one thing at a time heh. Gaining the same depth of knowledge about ExtJS that I have with Flex is what I'm currently immersed in. Also, doesn't look like ClojureScript plays very nicely with ExtJS. CoffeeScript, on the other hand, really shines here since so much of ExtJS uses dec... read more »

  • Writing My First Unit Tests With Jasmine And RequireJS

    Posted on Jul 6, 2012 at 8:56 PM

    Jasmine is a very nice testing tool for JS code. I've been using it for my ExtJS apps, and write everything in CoffeeScript. You might want to check out CS, Ben.... read more »

  • Domain Models Expose Behavior, Not State

    Posted on Jul 3, 2012 at 11:58 AM

    Typo: that should say "external to" not "eternal to" heh.... read more »

  • Domain Models Expose Behavior, Not State

    Posted on Jul 3, 2012 at 11:57 AM

    In general this is a good way to think about it. However, in the real world, one must sometimes sacrifice purity for efficiency. A decision like this (to have no getters or setters) can have wider implications. Just for example, what if you need to serialize the entitiy to JSON or AMF? Without gett... read more »

  • Application Services vs. Infrastructure Services vs. Domain Services

    Posted on Jun 7, 2012 at 1:29 PM

    One thing that I really want to try to do is keep the Domain Model unaware of any delivery mechanism. So, while the front end might be getting HTML, JSON, XML, SOAP, or AMF (thought I know nothing about AMF), I don't want my domain model to care. Absolutely. In fact nothing in any of your services... read more »

  • Application Services vs. Infrastructure Services vs. Domain Services

    Posted on Jun 7, 2012 at 1:31 AM

    Ben, I read your post and went down to comment, then saw that Sean pretty much said what I was going to. Looks like you may be over-analyzing this. Services are primarily there to act as an interface to your domain model, persistence layer and other supporting classes (such as adapters for external ... read more »

  • Learning ColdFusion 9: From SQL To ORM - A Conceptual Shift In Relationships

    Posted on Jun 7, 2010 at 8:30 PM

    Deleting all objects of a given type is not a common OO use case. Things that deal with bulk manipulation of data, like reporting queries, are typically best done in SQL. This is not what OO or an ORM are meant to do. On the same level, if all you are doing is taking form data and pushing it into a... read more »

  • String Data Type Gotcha When Using CFGroovy

    Posted on Sep 14, 2009 at 12:43 PM

    Yes it's crucial to understand that Groovy Strings (GStrings) are not Strings. They are a separate class that does lazy initialization of the variables within it. That means that until toString() is called, the value isn't evaluated and transformed into a String. You can see more here, in particula... read more »

  • Learning ColdFusion 9: ORM Inheritance Mapping

    Posted on Aug 25, 2009 at 12:30 AM

    Good things to keep in mind when manually managing denormalized tables, Andrew. But Hibernate makes it very difficult (virtually impossible) to encounter modification anomalies, so I wouldn't worry about that in a Hibernate-managed setup.... read more »

  • Learning ColdFusion 9: ORM Inheritance Mapping

    Posted on Aug 21, 2009 at 1:57 PM

    Well, it's done as "effectively" as one can do joins on indexed foreign keys. Which is pretty efficiently, but it will never be as fast as not having to do the joins at all. ;-)... read more »

  • Learning ColdFusion 9: ORM Inheritance Mapping

    Posted on Aug 21, 2009 at 1:31 PM

    Ben, the main reason for single-table inheritance being the generally preferred option is performance. By using a single table to hold all of the subtypes, you remove a lot of joins that have to be added when using multiple tables. When you start getting into larger sets of objects or deeper inherit... read more »

  • Learning ColdFusion 9: From SQL To ORM - A Conceptual Shift In Relationships

    Posted on Aug 3, 2009 at 5:54 PM

    Well first, I wouldn't say "all those property tags" add up to 60 lines of code. Ben puts every attribute on a separate line. He added 8 property tags. That's about 60 seconds of work. We also haven't seen the template of CFC that contained the original queries, which now don't need to exist. But m... read more »

  • Learning ColdFusion 9: From SQL To ORM - A Conceptual Shift In Relationships

    Posted on Aug 3, 2009 at 3:44 PM

    Jake, I'm assuming that Ben already had CFCs for his Contact, Company, and ContactInformation. So all that is really different is the CFProperty tags. In any application that uses CFCs, leveraging an ORM will actually reduce the amount of SQL, and thus the total amount of code, by a huge amount comp... read more »

  • Learning ColdFusion 9: From SQL To ORM - A Conceptual Shift In Relationships

    Posted on Aug 3, 2009 at 11:44 AM

    Ben, you're right that when you embed an object into another entity, Hibernate essentially merges the embedded object into the parent. So this is useful where you have common properties and behavior that you want to apply to numerous objects. But it doesn't create a separate object and as a result i... read more »

  • Learning ColdFusion 9: From SQL To ORM - A Conceptual Shift In Relationships

    Posted on Aug 3, 2009 at 10:47 AM

    I don't think so Ben, all you should need to do is specify "embedded=true" in the cfcomponent tag.... read more »

  • Learning ColdFusion 9: From SQL To ORM - A Conceptual Shift In Relationships

    Posted on Aug 3, 2009 at 10:36 AM

    Ben, you can also do this with an embedded object instead of a one to one mapping. The docs have full details.... read more »

  • Do Remote CFC Method Calls Add Any Value In ColdFusion?

    Posted on May 18, 2009 at 1:00 PM

    "Regarding the security and granular control - to say that CFCs add more security features is based on an assumption that you would *not* have security with a standard front controller, which is hopefully not true" It is true, I don't implement security in the front controller for exactly this reas... read more »

  • Do Remote CFC Method Calls Add Any Value In ColdFusion?

    Posted on May 18, 2009 at 12:08 PM

    Remote access CFC have very big benefits. First, they allow one to expose a method for consumption via AMF and SOAP in addition to JSON/AJAX. So on this point, there is no debate, since there is no way to expose a method as a web service or a Flex RemoteObject if it is not remote. The second reason... read more »

  • An Experiment In Non-Data-Type ColdFusion Components

    Posted on Apr 14, 2009 at 9:41 AM

    Yes, that's what they're saying. However, I wouldn't get totally hung up on that one. The goal here is to eliminate "primitive obsession" and ensure that the purpose of each object is clearly identified by its type. But I would say the other rules like small classes, one level of indention per metho... read more »

  • An Experiment In Non-Data-Type ColdFusion Components

    Posted on Apr 14, 2009 at 9:11 AM

    As you probably saw in my Object Calisthenics post, I chose to build a Bowling score engine. I found this to be pretty good, since it's not super complex but it's definitely not trivial either, and there is plenty of room to explore: How do you model the final frame vs. the standard frames? What IS ... read more »