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 CFinNC 2009 (Raleigh, North Carolina) with:

Jonathan

Member since Jan 31, 2012

Recent Blog Comments By Jonathan

  • Using Isolate Scope In Directives In AngularJS

    Posted on Jun 16, 2014 at 11:04 AM

    On a previous project I used to create one-off directives with isolated scopes instead of using ng-include. I only passed to them what was needed and it completely broke scope inheritance... on purpose. To me scope inheritance always felt dangerous and risky. If you use something inherited from scop... read more »

  • Coercing Non-Truthy Values In JavaScript

    Posted on Apr 28, 2014 at 2:36 AM

    Another solution would have been to just reverse the if statements... if timeout has "then", we know it's a promise. Then we don't need to bother confusing programmers.... read more »

  • CFDirectory Filtering Uses Pipe Character For Multiple Filters (Thanks Steve Withington)

    Posted on Mar 28, 2014 at 12:18 AM

    This definitely just saved me. "*.png|*.jpg" :)... read more »

  • ColdFusion GetTempDirectory() Stops Working

    Posted on Feb 11, 2014 at 12:00 PM

    Ha, our app has been in production for 4 years and just ran into this today! Out of the blue! Guess this issue is not resolved, at least on CF9.... read more »

  • After 2013, I'm Looking Forward To 2014

    Posted on Jan 16, 2014 at 11:20 AM

    I get into this horrible recursive catch-22 cycle as well and I recently realized, for me, it all has to with sleep. Lack of sleep causes anxiety -> Anxiety causes lack of sleep How do you break that cycle? I have no freaking idea. Here are some things that have helped me: 1) Completely quit ... read more »

  • How To Store Arbitrary And Transient Attributes With Your User Data

    Posted on Jan 15, 2014 at 12:30 PM

    Oh, and if you don't want to deal with an entire map you can also use redis.hset('user:100', 'anotherVariable', 'somevalue'); that sets a specific value within a map. And var anotherVariable = redis.hget('user:100','anotherVariable'); You should see the benchmarks on this stuff, it's ... read more »

  • How To Store Arbitrary And Transient Attributes With Your User Data

    Posted on Jan 15, 2014 at 12:20 PM

    @Ben I just think clogging up your MySQL database with a key-value store might not be the best solution. This data is not exactly critical (if you were previously willing to use a cookie), probably won't be used in a relational manor, and is infinitely expandable. Redis couldn't be simpler. It s... read more »

  • How To Store Arbitrary And Transient Attributes With Your User Data

    Posted on Jan 15, 2014 at 11:45 AM

    What you guys are basically suggesting is the perfect use case for Redis. Redis is basically a super fast key-value store. A lot of backends actually use Redis to store their persistent user sessions, so it's well suited for storing persistent user data of any kind. There are a few adapters for ... read more »

  • My Experience With AngularJS - The Super-heroic JavaScript MVW Framework

    Posted on Jan 6, 2014 at 4:26 PM

    @Bob, Plenty of "real world" apps use angular very successfully. Order a sub from JimmyJohn's, you're using Angular. Load up the YouTube app on PlayStation, you're using Angular. And JS is very suitable for development. Paypal recently switched their main account overview page from pure Ja... read more »

  • Compound Transclusion Prevented In AngularJS 1.2

    Posted on Dec 9, 2013 at 4:05 PM

    by the way, I bet if you rolled all that up into a PR, they'd accept it since they've done so for ng-repeat and ngif.... read more »

  • Compound Transclusion Prevented In AngularJS 1.2

    Posted on Dec 9, 2013 at 3:40 PM

    Oh, and you'll probably have to add the same logic to bnSwitch that ngif got since nginclude changed to manually cleanup old elements. See how it was done on ngif here: https://github.com/btford/angular.js/commit/4c390161e4486c7a00177ceb627d42e58c5ab190 Not an ideal solution, but probably a 30 mi... read more »

  • Compound Transclusion Prevented In AngularJS 1.2

    Posted on Dec 9, 2013 at 3:37 PM

    Lucky for you there's an easy work-around. The Angular team knows about the problem and they've included workarounds to fix this issue with ng-repeat+ng-include and ngif+nginclude but they have not added a work-around for ngswitch+ng-include. To get past the assert, they add a special parameter to ... read more »

  • My Experience With AngularJS - The Super-heroic JavaScript MVW Framework

    Posted on Jan 7, 2013 at 10:38 AM

    @Ben The only issues I've found with mobile are that you basically need to replace the ng-click directive with ng-tap. Ng-tap is a custom directive but there's a few examples out there if you google. the ng-tap listens for touch events and has a workaround for the 300ms delay. If you want animati... read more »

  • My Experience With AngularJS - The Super-heroic JavaScript MVW Framework

    Posted on Jan 3, 2013 at 3:02 PM

    @Ben an even more fun exercise is to make ng-slide-show and ng-fade-show without using jQuery at all. Bonus points for using CSS3 animations. AngularUI has a nice example of this. Anytime you use jQuery within a directive, you are adding a jQuery dependency to your directive. Some people like Zept... read more »

  • My Experience With AngularJS - The Super-heroic JavaScript MVW Framework

    Posted on Jan 3, 2013 at 2:53 PM

    @Ben It's worth mentioning that the Directive's guide on AngularJS.org reads more easily backwards... if you read it forwards it starts off with low level compiling and everything and then at the very end it shows you a simple example!... read more »

  • My Experience With AngularJS - The Super-heroic JavaScript MVW Framework

    Posted on Jan 3, 2013 at 1:47 PM

    Oh, and don't forget about http://plnkr.co/ it's like JSFiddle, but built with Angular, has live social programming, chat, and lots of great AngularJS forks already existing.... read more »

  • My Experience With AngularJS - The Super-heroic JavaScript MVW Framework

    Posted on Jan 3, 2013 at 1:45 PM

    We're pretty active on IRC as well! On freenode in angularjs. The one thing I'll say about learning AngularJS... don't resist the Directives. You must learn to write directives, when to write directives, and why. The jist of it is, pretty much anytime you want to manipulate or interact with the DO... read more »

  • Getting GitHub's v3 API To Work With oAuth

    Posted on Jun 21, 2012 at 10:55 AM

    Looks good. You don't need authorization to post a Gist. It's 100% optional. The only reason to have it is to tie it to your own personal account. Also, If you don't want to cache the token, maybe you can cache the authorization ID? Then you don't have to create/delete new tokens, you can just cal... read more »

  • Using jQuery Deferred To Chain Validation Rules In An Asynchronous, Non-Blocking Environment

    Posted on Jan 31, 2012 at 2:48 PM

    The "console" at the bottom of the C9 IDE has GIT integrated. You can use GitHub, or any other GIT repository. When you create a project in C9, it tells you how to setup GIT. Also, you can instantly create projects from your own GitHub account, fork, push/pull all day and night! The editor... read more »

  • Using jQuery Deferred To Chain Validation Rules In An Asynchronous, Non-Blocking Environment

    Posted on Jan 31, 2012 at 12:09 PM

    Just a quick tip, if you want to play with Node.JS without having to deal with setting up an EC2, http://www.C9.io lets you write, build, and run node.js apps completely within the browser. It even has a built in console for installing modules, i.e. npm install express-validator... read more »