Recent Web Log Entries By Ben Nadel

Filter vs. ngHide With ngRepeat In AngularJS

Posted: June 18, 2013 at 9:21 AM by Ben Nadel

Tags: Javascript / DHTML

Out of the box, AngularJS feels magical. You add a few notations here, define a few objects there, and suddenly your page is actually doing something. And you didn't even need to write any jQuery to make it work. AngularJS is awesome; and it is magical; but sometimes, side-stepping the magic, so to speak, can give you more options. Take, for examp... read more »

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



Experimenting With The Amazon Simple Storage Service (S3) API Using ColdFusion

Posted: June 16, 2013 at 6:16 PM by Ben Nadel

Tags: ColdFusion

Before I say anything, I should probably mention that as of ColdFusion 9.0.1, ColdFusion has had native file-support for Amazon S3 using the "s3://" protocol. That said, I wanted to try experimenting with the Amazon S3 REST API using ColdFusion's CFHttp functionality. I know that I'm like 5 years (at least) behind everyone else on this topic; so, ... read more »

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


Working With Inherited Collections In AngularJS

Posted: June 14, 2013 at 8:44 AM by Ben Nadel

Tags: Javascript / DHTML

In an AngularJS application, $scope instances are all part of a prototypal chain. That is, every $scope instance (except $rootScope, I believe) has, as its prototype, the $parent scope. This is a brilliant way to architect the view-model because it means that data loaded in one controller can be accessed by controllers (and views) farther down in ... read more »

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



SOTR 2013 - The Best Conference I Never Went To

Posted: June 12, 2013 at 8:58 AM by Ben Nadel

Tags: ColdFusion

While I've been to Scotch on the Rocks a few times before, I haven't been able to attend the last two years. Or, so I thought! That, was, until James Allen started tweeting photos of me hanging out in the crowd, giving thumbs up. It turns out that mastermind, David Boyer , had put together ... read more »

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


Object Thinking By David West

Posted: June 10, 2013 at 9:49 AM by Ben Nadel

Tags: Books

My software is mostly procedural at heart. I've been told time and time again that Object Oriented Programming (OOP) offers great benefits over procedural programming; and I believe this. But, unfortunately, I find Object Oriented Programming to be a topic that continuously eludes my grasp. I haven't had that "ah-ha" moment of clarity where is sta... read more »

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


Creating Ruby-Inspired Modules In ColdFusion

Posted: June 7, 2013 at 10:02 AM by Ben Nadel

Tags: ColdFusion

A couple of months ago, I read Practical Object-Oriented Design in Ruby: An Agile Primer, by Sandi Metz . I haven't reviewed the book yet, but I wanted to explore one of the concepts Metz talked about: Ruby Modules. From what I understood (and this may be somewhat off-base, I'm not a Ruby programmer), a module is a way to "inherit" behavior witho... read more »

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


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

Posted: June 6, 2013 at 9:46 AM by Ben Nadel

Tags: ColdFusion

A few years ago, I read the Fundamentals of Object-Oriented Design In UML by Meilir Page-Jones . It was an interesting book, but definitely went over my head in many ways. A couple of weeks ago, with a few more years of experience under my belt, I wanted to give it another read. A lot of the book still goes over my head, but something stuck out t... read more »

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


Unbinding $watch() Listeners In AngularJS

Posted: June 5, 2013 at 9:09 AM by Ben Nadel

Tags: Javascript / DHTML

In AngularJS, you can watch for changes in your view-model by binding a listener to a particular statement (or function) using the $scope's $watch() method. You tell the $watch() method what to examine and AngularJS will invoke your listener whenever the item-under-scrutiny changes. In the vast majority of cases, the $watch() statement can be run ... read more »

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


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

Posted: June 4, 2013 at 9:57 AM by Ben Nadel

Tags: ColdFusion

Unit testing and Test-Driven Development (TDD) have, collectively, been one of the largest blind spots in my view of the programming world. A couple of weeks ago, in an attempt to remedy this, I created a very small unit testing framework - Tiny Test - such that I could learn about unit testing from the inside-out. Building the Tiny Test framewo... read more »

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


Referencing ColdFusion Query Columns In A Loop Using Both Array And Dot Notation

Posted: May 31, 2013 at 9:30 AM by Ben Nadel

Tags: ColdFusion

This is a super short blog post, and might be completely obvious to most people; but, I know that my understanding of ColdFusion query column references has evolved over time, so I thought there might be some people who don't know this yet. When it comes to ColdFusion queries, column names can be referenced using both array-notation and dot-notati... read more »

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


The 6th Annual Regular Expression Day (And Prizes) - June 1st, 2013

Posted: May 29, 2013 at 9:45 AM by Ben Nadel

Tags: ColdFusion, Javascript / DHTML

Holy cow! I can't believe that it's been six years since we launched the first International Regular Expression Day in honor of one of the most powerful tools in programming history - pattern matching. From validating email addresses to parsing CSV files to transforming data, regular expressions make our lives better; they make our software stro... read more »

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


My Approach To Building AngularJS Directives That Bind To JavaScript Events

Posted: May 28, 2013 at 9:11 AM by Ben Nadel

Tags: Javascript / DHTML

As I've blogged before, AngularJS has a bit of learning curve. For me, the two biggest hurdles have been request routing and Directives. At this time, I think I have a pretty good handle on request routing and rendering nested views ; but some aspects of Directives , on the other hand, are still a bit confusing. I see Directives as having two di... read more »

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


Strange Interaction Between DeserializeJson(), ArrayContains(), And Database Values In ColdFusion

Posted: May 22, 2013 at 9:58 AM by Ben Nadel

Tags: ColdFusion

Yesterday, I was trying to use the arrayContains() method introduced in ColdFusion 9 . Unfortunately, it wasn't working. Even when I double-checked all the values in play, arrayContains() kept telling me that a known value was not in the given array. I tried switching over to arrayFind(), but unfortunately, this exhibited the same broken behavior... read more »

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


Using A Dynamic Column Name With ValueList() In ColdFusion

Posted: May 20, 2013 at 9:49 AM by Ben Nadel

Tags: ColdFusion

For the most part, ColdFusion is awesome when it comes to creating and consuming dynamic variables. Using quotes, we can easily create dynamic variable handles ; we can define dynamic class paths ; we can define dynamic struct keys ; and, we can access dynamic struct keys. ColdFusion even provides ways to invoke dynamic methods on components ... read more »

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


The UX Of Prototyping: Low-Fidelity Is The New High-Fidelity

Posted: May 10, 2013 at 10:08 AM by Ben Nadel

Tags: Work

As a User Experience (UX) designer, I spend a lot of time with pen and paper, sketching interfaces, testing ideas, and fleshing out use-case workflows. I work exclusively in grayscale. This holds true for both sketching and digital prototyping. On paper, I use a black pen (Pilot Precise Grip, Bold) on white, unruled paper; on the computer, I use a... read more »

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

June 2013 Entries »

Previously Posted

HashKeyCopier - An AngularJS Utility Class For Merging Cached And Live Data - Posted May 7, 2013
Delegating Nested Directive Behavior To Parent Directive In AngularJS - Posted May 1, 2013
What If All User Interface (UI) Data Came In Reports? - Posted Apr 30, 2013
Tiny Test - An Exploration Of Unit Testing In ColdFusion - Posted Apr 29, 2013
Forced Repaints In Directive Can Cause Accidental Scrolling In AngularJS - Posted Apr 24, 2013
Looking At Prototypal Inheritance To Determine Data Types In JavaScript - Posted Apr 12, 2013
Stateless Service Singletons vs. Stateful Service Entities - Posted Apr 2, 2013
ColdFusion Implicit Getter Has Incorrect Type For Being Called As A Function - Posted Apr 1, 2013
The Clean Code Video Series By Robert C. Martin, aka Uncle Bob - Posted Mar 28, 2013
CFFile Upload - The Filename, Directory Name, Or Volume Label Syntax Is Incorrect - Posted Mar 22, 2013
Understanding CSS Transitions And Class Timing (Revisited) - Posted Mar 20, 2013
Understanding CSS Transitions And Class Timing - Posted Mar 19, 2013
Matthew McCullough And Tim Berglund On Mastering Git - O'Reilly Video Series - Posted Mar 18, 2013
Removing Inline Opacity Filters After Fade-In / Fade-Out Transitions In IE8 - Posted Mar 15, 2013
Reading Images With Fallback Approaches In ColdFusion - Posted Mar 8, 2013
Accessing $scope On The DOM Using AngularJS - Posted Mar 1, 2013
Grouping Nested ngRepeat Lists In AngularJS - Posted Feb 28, 2013
POIUtility.cfc Now Hosted On GitHub - Posted Feb 26, 2013
Exploring Sample Software Application Layers And Responsibilities - Posted Feb 22, 2013
Using AtomicInteger To Create Uniquely Named CFThreads In ColdFusion - Posted Feb 20, 2013
Mixing Static And Dynamic Data In An AngularJS Select Menu - Posted Feb 19, 2013
Adding An ngRepeat List Delimiter In AngularJS - Posted Feb 17, 2013
Using ngController With ngRepeat In AngularJS - Posted Feb 15, 2013
Directive Link, $observe, And $watch Functions Execute Inside An AngularJS Context - Posted Feb 13, 2013
Using jQuery Event Delegation In AngularJS - Posted Feb 12, 2013
Exploring Directive Controllers, Compiling, Linking, And Priority In AngularJS - Posted Feb 9, 2013
Using Controllers In Directives In AngularJS - Posted Feb 1, 2013
Using CSS Pseudo Elements :before And :after - Posted Jan 21, 2013
Exploring Directives, $scope, DOM Rendering, And Timing In AngularJS - Posted Jan 18, 2013
Rendering DOM Elements With ngRepeat In AngularJS - Posted Jan 16, 2013
Clearing Inline CSS Properties With jQuery - Posted Jan 15, 2013
Nested Views, Routing, And Deep Linking With AngularJS - Posted Jan 14, 2013
Creating A Custom Show / Hide Directive In AngularJS - Posted Jan 4, 2013
My Experience With AngularJS - The Super-heroic JavaScript MVW Framework - Posted Jan 3, 2013
Command-Query-Responsibility-Segregation (CQRS) Makes Domain Models Practical - Posted Dec 28, 2012
Software Application Layers And Responsibilities - Posted Dec 21, 2012
What The Heck Is Business Logic Anyway? - Posted Dec 14, 2012
Are HTML FORM Tags Required To Display Form Input Controls? - Posted Oct 26, 2012
HTTP Status Codes For Invalid Data: 400 vs. 422 - Posted Oct 17, 2012
Using RESTful Controllers In An AngularJS Resource - Posted Oct 17, 2012

View All Blog Entries »

  • Help Wanted - Find Your Next ColdFusion Job
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
Jun 18, 2013 at 9:20 PM
Mapping AngularJS Routes Onto URL Parameters And Client-Side Events
I couldn't find examples of passing multiple arguments using the when() routing statement so figured out through trial and error that you can pass multiple arguments using the following format: .whe ... read »
Jun 18, 2013 at 3:39 PM
Experimenting With The Amazon Simple Storage Service (S3) API Using ColdFusion
Hi Ben, THANKS! While not bleeding edge, it is new to me & I like learning new things every day! ... read »
Jun 18, 2013 at 12:30 PM
Disabling Auto-Correct And Auto-Capitalize Features On iPhone Inputs
Also spellcheck="false" should be mentioned as part of html5 specs ... read »
Jun 18, 2013 at 8:40 AM
Using Named Functions Within Self-Executing Function Blocks In Javascript
Hi Ben, you forgot to mention the most important thing for named self-executing functions - they can be referenced by name ONLY inside their execution context (which is parens in this case), it mean ... read »
dee
Jun 18, 2013 at 7:01 AM
My Safari Browser SQLite Database Hello World Example
hai ben, this program is really good i could understand the concept but i dint know how to save it and how to open it as you have done in the video can u give that details pls ... read »
Jun 18, 2013 at 6:04 AM
Clearing Inline CSS Properties With jQuery
Thanks a lot for for post! It helped me a lot... after being stuck since 24 hrs.. found solution from your post. Thanks again! ... read »
Jun 18, 2013 at 2:31 AM
SOTR 2013 - The Best Conference I Never Went To
I keep watching it, should keep me happily distracted until SotR14 ;) ... read »
Jun 17, 2013 at 9:45 PM
What If All User Interface (UI) Data Came In Reports?
@Jonah, As I was reading what you wrote, it occurred to me that maybe I do something similar to that in some of my client-side code. In an application I'm working on, there are a bunch of unrelated ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools