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: Andy Allan

Roland Collins

Member since Jan 16, 2009

Recent Blog Comments By Roland Collins

  • Getting ColdFusion, Helicon Ape, X-SendFile, URL Rewriting, And IIS To Work Together

    Posted on Sep 26, 2013 at 5:10 PM

    Ben, Just out of curiosity, why are you going with Ape instead of native IIS URL Rewrite and CFCONTENT? Is there a limitation that you are working around?... read more »

  • The Anatomy Of An INNER JOIN Query In SQL

    Posted on Aug 14, 2013 at 3:32 PM

    @Ben - One last thing to add, given your last comment. I highly suggest you try writing your SQL queries in SSMS with SQL Prompt from Red Gate, and SQL Enlight from Ubitsoft. It's like a dream - full intellisense, formatting, static analysis, etc. It really makes writing SQL feel like a first cl... read more »

  • The Anatomy Of An INNER JOIN Query In SQL

    Posted on Aug 13, 2013 at 9:10 PM

    @Ben, +1 for FusionReactor. Great product and a great company of people. We actually use all of ther products and I can't recommend them enough. As far as "order" within clauses, that's part of my point! Order is irrelevant. You describe the relations between data and the filtering ... read more »

  • The Anatomy Of An INNER JOIN Query In SQL

    Posted on Aug 5, 2013 at 5:16 PM

    I have to chime in here and be a dissenter. Yes, it is true, that you CAN put filtering criteria in a JOIN clause or a WHERE clause. It's also true that you can define table relationships in the WHERE clause instead of the JOIN clause, but I think just about everyone would agree that that's a bad ... read more »

  • Using A Sandbox To Decouple ColdFusion Components In A Modular Application Architecture

    Posted on Apr 12, 2012 at 6:51 PM

    Ben, This is interesting as an exercise for playing with the new features, but personally, I'd argue against this practice (at least certain aspects of it). The method injection is actually a pretty neat feature, and runtime method injection is something that a lot of people use and swear by. The... read more »

  • Performance Of LEFT OUTER JOIN Insert vs. INNER JOIN Delete Statement

    Posted on Aug 20, 2011 at 3:23 PM

    Ben - I'd be curious to see an EXPLAIN on the two different queries. It seems like an indexing issue.... read more »

  • Using MySQL's TO_DAYS() Function To Group Same-Day Events

    Posted on Jul 12, 2011 at 5:11 PM

    Also, if anyone's curious, here's likely why the 0 date is 12-30-1899 in CF. http://stackoverflow.com/questions/3963617/why-is-1899-12-30-the-zero-date-in-access-sql-server-instead-of-12-31... read more »

  • Using MySQL's TO_DAYS() Function To Group Same-Day Events

    Posted on Jul 12, 2011 at 5:00 PM

    @Dan That's also a string sort/group vs an integer sort/group if you use that method though (10 byte vs 4 byte). If you're dealing with a decent sized record set, as time-series data tends to be - you'll want them as integers for sorting and grouping, or heavens-forbid comparison. That, or just u... read more »

  • Using MySQL's TO_DAYS() Function To Group Same-Day Events

    Posted on Jul 12, 2011 at 1:26 PM

    FYI, here's the MSSQL version if you are working with DATETIME date: FLOOR(CONVERT(FLOAT, dateCreated)) If you haven't modified the default starting datetime in the server settings, you can also do this: SELECT DATEDIFF(d, '1/1/1900', dateCreated) If you're working with DATE, you can convert rig... read more »

  • Printing To The Primary Output Stream From Within A ColdFusion CFThread Tag

    Posted on Jan 3, 2011 at 1:38 PM

    I'm not sure if that OutputStream is thread-safe or not (and I can't find any confirmation via my Google-foo). You may need some locking or syncrhonization around the print() calls. I wonder if you could break it by just spamming a large number of print calls from 2 threads. Again, I'm not sure, ... read more »

  • Ask Ben: Converting A Parent-Child Data Table Into A Nested XML Document

    Posted on Oct 29, 2010 at 1:15 PM

    Just in case anyone was curious, here's the SQL CTE method of recursion. From here, it's just a straight loop over the query to generate xml. CREATE TABLE #tree (id INT, parentID INT, name VARCHAR(50)) -- Create test data INSERT #tree (id, parentID, name) VALUES (1, NULL, 'First Parent') INSERT ... read more »

  • Experimenting With Multiple Class Inheritance In Javascript

    Posted on Oct 28, 2010 at 1:03 AM

    @Ben, I agree that JavaScript in general (and CF, for that matter) does not lend itself to type checking. But there is one giant elephant in the room that you need to be aware of if you're going to break the type checking facilities in JS - validation. At some point in your tool chain, you're sti... read more »

  • Experimenting With Multiple Class Inheritance In Javascript

    Posted on Oct 21, 2010 at 3:33 PM

    Ben, just an FYI, there is actually a name for the problem you describe: the Diamond Problem. Wikipedia has a pretty decent short list of the dirrefent ways that other langauges address the issue. An interesting and quick read. http://en.wikipedia.org/wiki/Diamond_problem... read more »

  • The Integer Division Operator In ColdFusion

    Posted on Oct 12, 2010 at 12:56 PM

    @Ben It's been there since at least version 2.0 (the first version I used). Like some of the other commenters, I discovered it accidentally while working on my first CF app :)... read more »

  • Communicating With The Client Whilst Inside A ColdFusion Custom Tag

    Posted on Sep 30, 2010 at 6:14 PM

    @Ben - sorry for the confusion - I didn't mean CF's built-in whitespace management. I meant any post-processing done by the web server or a load balancer, such as compression or whitespace management.... read more »

  • Communicating With The Client Whilst Inside A ColdFusion Custom Tag

    Posted on Sep 28, 2010 at 1:13 PM

    I have to agree with Dan here - AJAX updates are the way to go. In particular, because whitespace management and content compression break cfflush.... read more »

  • Delaying ColdFusion Session Persistence Until User Logs In

    Posted on Jan 27, 2010 at 5:08 PM

    I guess I mention it becuase of the way that I personally use onSessionStart. In my world, onSessionStart is where I do all of the session setup, but only after a user has been authenticated. If the user isn't authenticated, onSessionStart just gets "skipped" effectively (and we set the session tim... read more »

  • Delaying ColdFusion Session Persistence Until User Logs In

    Posted on Jan 27, 2010 at 4:31 PM

    I like the approach, but you need to be conscious of the security ramifications. As it stands, someone could easily just add a persistSession cookie to their HTTP request and force the onSessionStartDelayed to execute. In order to secure it, you should have some sort of validation routine. Unfort... read more »

  • Adobe Officially Releases ColdFusion 9 - The Newest, Most Powerful ColdFusion Server (Saucy)

    Posted on Oct 5, 2009 at 4:01 PM

    It's been mentioned elsewhere, but in case people didn't see it, the licensing model is much different for CF9 now too - it's a TON cheaper to deploy. A single license now grants you the rights to deploy a production, staging, backup, and development server. An Enterprise license lets you deploy i... read more »

  • Groovy Operator Overloading Does Not Work In The ColdFusion Context

    Posted on Sep 18, 2009 at 1:57 PM

    Slightly off-topic, but the operator overloading stories are some of my favorites at thedailywtf.com :) Definitely worth reading if you have some free time.... read more »