Recent Web Log Entries By Ben Nadel

The 5th Annual Regular Expression Day (And Prizes) - June 1st, 2012

Posted: June 1, 2012 at 3:10 PM by Ben Nadel

Tags: ColdFusion, Javascript / DHTML

It's June 1st. You know what that means - it's the 5th Annual Regular Expression Day! A day where we set aside our differences and come together, unified as one people, brought together by our love of pattern matching! And, while we all have access to that love year-round, let's make sure we take today to share that love with each other. NOTE :... read more »

Comments (3)  |  Post Comment  |  Ask Ben  |  Permalink



Thinking About Data Gateways, Collections, And Raising Exceptions

Posted: May 30, 2012 at 10:05 AM by Ben Nadel

Tags: ColdFusion

Since my talks with Steven Neiland at cf.Objective(), I've been trying to think very deeply about Model-View-Controller (MVC) architecture . To move me along in my understanding, I've been slowly trying to put together a small MVC example in ColdFusion . It's been a tough and humbling process as it is really forcing me to think differently abo... read more »

Comments (11)  |  Post Comment  |  Ask Ben  |  Permalink


Experimenting With RESTful Error Response Codes And CFThrow's ErrorCode Attribute

Posted: May 25, 2012 at 9:07 AM by Ben Nadel

Tags: ColdFusion

Earlier this week, in my comments about understanding MVC (Model-View-Controller) architecture in ColdFusion , I was describing my API workflow to Steven Neiland. When processing a RESTful request, I tend to use a CFTry-CFCatch-CFThrow workflow that short-circuits request processing using explicit exceptions. This workflow prevents the request ... read more »

Comments (8)  |  Post Comment  |  Ask Ben  |  Permalink



Programming JavaScript Applications (Early Release) By Eric Elliott

Posted: May 23, 2012 at 9:56 AM by Ben Nadel

Tags: Books, Javascript / DHTML

On my journey up to cf.Objective() 2012, I read the Early Release edition of Programming JavaScript Applications by Eric Elliott . I've read a couple of "early release" editions lately and I have to admit that they kind of confuse me. The O'Reilly website states that early release books should have all the content, just in its raw, unedited for... read more »

Comments (0)  |  Post Comment  |  Ask Ben  |  Permalink


A Better Understanding Of MVC (Model-View-Controller) Thanks To Steven Neiland

Posted: May 22, 2012 at 10:28 AM by Ben Nadel

Tags: ColdFusion

In my web applications development, I use and love ColdFusion components! However, my use of them is definitely sub-optimal. My approach makes use of a two-tier model consisting of what might loosely be thought of as a Controller and a Gateway layer. This is fine for small applications where not much business logic is repeated. But, in larger appl... read more »

Comments (50)  |  Post Comment  |  Ask Ben  |  Permalink


Movies As A Religious Experience

Posted: May 14, 2012 at 10:51 AM by Ben Nadel

Tags: Life, Movies, Relationships

Over the weekend, I went to see The Best Exotic Marigold Hotel. The story line took a little while to pick up momentum; but, once it sucked me in, it ended up being a truly delightful movie. Definitely one that I would recommend. While watching it, however, I started to think about the relationship between the body and the soul and how the reality... read more »

Comments (8)  |  Post Comment  |  Ask Ben  |  Permalink


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

Posted: May 10, 2012 at 11:19 AM by Ben Nadel

Tags: ColdFusion, Javascript / DHTML

For the last couple of months, I've been thinking a lot about my level of programming and my architectural understanding. Currently, I feel like I know enough to get most things "done." But, with the increasing complexity of my applications, especially those that require robust, modular client-side JavaScript, I'm filled with anxiety that I won't ... read more »

Comments (8)  |  Post Comment  |  Ask Ben  |  Permalink


Good APIs Are Transparent In Their Expectations And Dependencies

Posted: May 9, 2012 at 9:38 AM by Ben Nadel

Tags: Javascript / DHTML

Last week, I read Maintainable JavaScript by Nicholas Zakas . One of the chapters that really struck a chord in me was that on Event Handling in a JavaScript application. Event handling, and the responsibility of event handlers, is a topic that I have struggled with in the past . In his chapter, Zakas outlines two rules for proper event handling... read more »

Comments (3)  |  Post Comment  |  Ask Ben  |  Permalink


Object Calisthenics In JavaScript - My First Attempt

Posted: May 7, 2012 at 2:07 PM by Ben Nadel

Tags: Javascript / DHTML

Last week, I brought up the topic of Object Calisthenics which is an idea defined by Jeff Bay as an exercise to force people to think in "objects." Object Calisthenics imposes very strict rules that require you to jump through potentially unnecessary hoops. The point of the exercise, as I understand it, is not to use rules that apply in every si... read more »

Comments (11)  |  Post Comment  |  Ask Ben  |  Permalink


Object Calisthenics In JavaScript - An Introduction

Posted: May 4, 2012 at 10:30 AM by Ben Nadel

Tags: Javascript / DHTML

Several years ago, Brian Kotek introduced me to the concept of Object Calisthenics . Object Calisthenics is an exercise defined by Jeff Bay to help programmers think very critically about their application design choices in an object-oriented context. I attempted this exercise a long time ago; but, I was quickly flustered by my lack of understand... read more »

Comments (9)  |  Post Comment  |  Ask Ben  |  Permalink


Using ImagePunch() And ImageIntersect() With ColdFusion

Posted: May 2, 2012 at 10:36 AM by Ben Nadel

Tags: ColdFusion

Earlier today, Evagoras Charalambous asked me about cropping a ColdFusion image on a diagonal. Cropping wasn't really what he wanted; but, since ColdFusion's list of native image functions doesn't have some advanced functionality, "cropping" is the terminology we're most comfortable with. What I believe Evagoras really wanted was a way to "punch... read more »

Comments (6)  |  Post Comment  |  Ask Ben  |  Permalink


Best Of ColdFusion 10 Contest Entry - HTML Email Utility

Posted: May 1, 2012 at 9:45 AM by Ben Nadel

Tags: ColdFusion

As you know, Ray Camden has been hosting the latest "Best Of ColdFusion" contest for the public beta of ColdFusion 10. The point of the contest is to have fun, naturally, but also to showcase one or more of the features added in the latest release of the language. For my entry, I created a single-page application that will take an HTML page wi... read more »

Comments (4)  |  Post Comment  |  Ask Ben  |  Permalink


Maintainable JavaScript By Nicholas C. Zakas

Posted: April 30, 2012 at 10:58 AM by Ben Nadel

Tags: Books, Javascript / DHTML

Over the weekend, I finished reading the early release edition of Maintainable JavaScript, Writing Readable Code by Nicholas Zakas . To be honest, I had no idea what this book was about before I purchased it; it was by Nicholas Zakas, and that's all I really needed to know before I made my decision. That said, this was book was not exactly what I... read more »

Comments (7)  |  Post Comment  |  Ask Ben  |  Permalink


Overcoming Asynchronous Anxiety By Testing JavaScript's Event Loop

Posted: April 27, 2012 at 9:48 AM by Ben Nadel

Tags: Javascript / DHTML

JavaScript runs on an event loop. I know this. I've tested this before . I understand race conditions and intervals. And yet, I still find myself harboring anxiety when it comes to asynchronous JavaScript actions in the browser. My latest unfounded and irrational fear comes from monitoring the location Hash of the browser. Specifically, keeping t... read more »

Comments (1)  |  Post Comment  |  Ask Ben  |  Permalink


Mouse vs. Keyboard - Determining Click Initiator Using A jQuery Custom Event

Posted: April 26, 2012 at 10:29 AM by Ben Nadel

Tags: Javascript / DHTML

When filling out online forms, I love to use my keyword as a means to both provide information as well as to navigate from form field to form field. This works great; but from time to time, an "itchy Tab finger" causes me to accidentally hit "Enter" on an inappropriate form element (such as a Cancel link). Falling victim to this problem the other ... read more »

Comments (3)  |  Post Comment  |  Ask Ben  |  Permalink

June 2012 Entries »

Previously Posted

JavaScript Method Context With Circular Invocation In Conjunction With Call() Or Apply() - Posted Apr 24, 2012
ColdFusion 10 - Looping Over Queries Using A For-In Loop In CFScript - Posted Apr 19, 2012
ColdFusion 10 - Don't Use Dynamic Query Values In CFLoop - Posted Apr 18, 2012
Calculating CSS Selector Specificity Using ColdFusion - Posted Apr 17, 2012
ColdFusion 10 - Looping Over Function Arguments - Posted Apr 16, 2012
Using A Sandbox To Decouple ColdFusion Components In A Modular Application Architecture - Posted Apr 12, 2012
ColdFusion 10 - Selectively Exposing ColdFusion Component Behaviors - Part II - Posted Apr 12, 2012
ColdFusion 10 - Selectively Exposing ColdFusion Component Behaviors With Closures - Posted Apr 11, 2012
ColdFusion 10 - ColdFusion Query Of Queries vs. Functional Programming - Posted Apr 10, 2012
ColdFusion 10 - Using The Group Attribute With CFLoop To Group Query Rows - Posted Apr 9, 2012
Parsing, Traversing, And Mutating HTML With ColdFusion And jSoup - Posted Apr 6, 2012
Hashing Byte Arrays (Binary Data) With ColdFusion Before ColdFusion 10 - Posted Apr 2, 2012
ColdFusion 10 - Hashing Binary Data And Byte Arrays - Posted Mar 30, 2012
ColdFusion 10 - reEscape() vs. Java Pattern's Quote() Method - Posted Mar 29, 2012
ColdFusion 10 - Script vs. Tags And My Coding Methodology - Posted Mar 28, 2012
ColdFusion 10 - Creating A Simple Expression Evaluator - Posted Mar 23, 2012
ColdFusion 10 - Native WebSocket Filtering And Channel Listeners Are Mutually Exclusive - Posted Mar 22, 2012
ColdFusion 10 - Using WebSockets To Push A Message To A Target User - Posted Mar 20, 2012
ColdFusion 10 - Cross-Linking Standard Session Management To WebSocket Session Management - Posted Mar 16, 2012
ColdFusion 10 - WebSocket Authentication And The onWSAuthenticate() Event Handler - Posted Mar 13, 2012
ColdFusion 10 - Control Flow And Scopes During A WebSocket Request - Posted Mar 12, 2012
ColdFusion 10 - Creating A ColdFusion WebSocket AMD Module For Use With RequireJS - Posted Mar 9, 2012
ColdFusion 10 - Accessing The Call Stack With CallStackGet() - Posted Mar 6, 2012
ColdFusion 10 - An Augmented Virtual File System (VFS) - Posted Mar 5, 2012
ColdFusion 10 - Invoking ColdFusion Closures From Within A Java Context, Part II - Posted Mar 2, 2012
Node For Front-End Developers By Garann Means - Posted Mar 2, 2012
ColdFusion 10 - Invoking ColdFusion Closures From Within A Java Context - Posted Mar 1, 2012
ColdFusion 10 - Parsing Dirty HTML Into Valid XML Documents - Posted Feb 28, 2012
ColdFusion 10 - XmlSearch() And XmlTransform() Now Support XPath 2.0 - Posted Feb 28, 2012
ColdFusion 10 Beta - Generating Hash-Based Message Authentication Codes With Hmac() - Posted Feb 27, 2012
Hostek.com Offering Free ColdFusion 10 Beta Hosting - Posted Feb 24, 2012
ColdFusion 10 Beta - Miscellaneous Parsing Bugs And Oddities - Posted Feb 24, 2012
Join Me At InVision - We're Looking For Another ColdFusion / JavaScript Developer - Posted Feb 23, 2012
ColdFusion 10 Beta - Closures, Function Expressions, And Functional Programming - Posted Feb 23, 2012
ColdFusion 10 Beta - Closures And Components And The THIS Scope - Posted Feb 22, 2012
ColdFusion 10 Beta - Closures And Function Expressions And Threads - Posted Feb 21, 2012
ColdFusion 10 Beta - Critical Bug In Compiling Function Expressions / Closures - Posted Feb 20, 2012
ColdFusion 10 Beta - Closures And Function Expressions - Posted Feb 20, 2012
ColdFusion 10 Beta, Apache Tomcat, And Symbolic Links On Mac OSX - Posted Feb 19, 2012
Building Executable Scripts For The Mac OSX Command Line With Node.js - Posted Feb 14, 2012

View All Blog Entries »

  • Help Wanted - Find Your Next ColdFusion Job
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
Jun 3, 2012 at 2:42 PM
A Better Understanding Of MVC (Model-View-Controller) Thanks To Steven Neiland
@David Ames In Mach II we don't allow branching logic in the xml config file. The Mach II config is more like a roadmap for your application that shows which controllers (listeners in Mach II), even ... read »
Jun 3, 2012 at 7:47 AM
The 5th Annual Regular Expression Day (And Prizes) - June 1st, 2012
I love the idea, it was entertaining :) ... read »
Jun 3, 2012 at 3:56 AM
Viewing jQuery DOM Event Bindings With FireBug
I am one who likes to take a sneak peak in what others have done on their sites but always kept on wondering if this is so difficult and its a problem I am only facing. With time sure development of ... read »
Jun 2, 2012 at 6:38 PM
The 5th Annual Regular Expression Day (And Prizes) - June 1st, 2012
Love the game, Ben. I've played through it a few times, scoring between 14 and 23. So hey, other players, at least you know a number to beat. :) With some additional features, I think this could act ... read »
Jun 2, 2012 at 4:46 PM
A Better Understanding Of MVC (Model-View-Controller) Thanks To Steven Neiland
@Ben, Yeah I think that is a better approach for learning. The way I started to learn mvc was I started purely with views where everything needed to generate the view was in the template file (querie ... read »
Jun 2, 2012 at 4:13 PM
A Better Understanding Of MVC (Model-View-Controller) Thanks To Steven Neiland
@Steven, Uggg, that's exactly what I was afraid of. I think I've been going about this completely backwards. I started out with the Gateway - way too deep. Then, I started to think about Services - ... read »
Jun 1, 2012 at 8:35 PM
Getting One Record Per Group From A One-to-Many Join
Great masters have gathered here. Pupils like me can only put that page into Favorites and mark it "Special" ... and make a back up copy of the Favorites' folder. ... read »