Recent Web Log Entries By Ben Nadel

Generating Pre-Signed (Query String Authentication) Amazon S3 Urls With User-Specific Data

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

Tags: ColdFusion

Over the weekend, I started to look at using the Amazon Simple Storage Service (S3) with ColdFusion . One of the features that I looked at was generating pre-signed URLs in order to provide temporary access to the otherwise secure objects stored in your S3 buckets. When I found out about this feature, my first thought was, "How can I use user-spe... read more »

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



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 (2)  |  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 (7)  |  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 (10)  |  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 (14)  |  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

June 2013 Entries »

Previously Posted

The UX Of Prototyping: Low-Fidelity Is The New High-Fidelity - Posted May 10, 2013
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

View All Blog Entries »

  • Help Wanted - Find Your Next ColdFusion Job
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
Jun 20, 2013 at 3:15 AM
A Billion Wicked Thoughts By Ogi Ogas And Sai Gaddam
nice post i love it thanks 4 u :) ... read »
seb
Jun 20, 2013 at 2:32 AM
Working With Inherited Collections In AngularJS
@mike, @ben, The best article about scope and prototypal prototypical inheritance in angularjs is http://stackoverflow.com/questions/14049480/what-are-the-nuances-of-scope-prototypal-prototypical- ... read »
Jun 20, 2013 at 2:17 AM
ColdFusion NumberFormat() Exploration
Nice read thanks Ben, Is there a way to mask a negative number? Long story short in the finance sector when you go 'short' on a stock you want the price to fall this is a good thing because you are ... read »
Jun 20, 2013 at 1:09 AM
The Beauty Of The jQuery Each() Method
my html code : <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="nss.js"> ... read »
Jun 19, 2013 at 11:31 PM
Directive Link, $observe, And $watch Functions Execute Inside An AngularJS Context
@Ben, bunch to learn indeed, but thats fun part : ) ... read »
Jun 19, 2013 at 10:41 PM
Referencing ColdFusion Query Columns In A Loop Using Both Array And Dot Notation
Burdock-roots Are you going fat day by day? You need to be good for your family and make some money too. So we bring for you a best product that helps you to be more energetic every day. You will b ... read »
Jun 19, 2013 at 9:52 PM
Working With Inherited Collections In AngularJS
I recognize the applicability of your solution, and how easy it makes to share data across multiple views or even "submodules" of rather simple application. But it seems to me that it creat ... read »
Jun 19, 2013 at 9:38 PM
Directive Link, $observe, And $watch Functions Execute Inside An AngularJS Context
@Alesei, Glad you like it. Even after working with AngularJS for months, I still get a bunch of unexpected, "$digest is already in progress". So hard to debug sometimes! ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools