Eric Elliott

San Francisco, California

JavaScript engineer, photographer, musician, author.

Areas of Expertise:

  • javascript
  • viral applications
  • consulting
  • speaking
  • programming
  • training
  • writing
I am a 15 year veteran of JavaScript development, currently on the Creative Cloud team at Adobe. My past roles include head of client side architecture at Zumba Fitness (the leading global fitness brand), Senior JavaScript Rockstar at BandPage (the top music app on Facebook), several years as a UX consultant, and author of h5Validate, an HTML5 form validation plugin for jQuery. I have also photographed many famous musicians and DJs, and worked in recording studios as a musician and audio engineer.

Programming JavaScript Applications Programming JavaScript Applications
by Eric Elliott
February 2013

Eric blogs at:

qconf 0.1.2 Released

May 19 2013

qconf on Github Painless configuration for Node apps with defaults file, environment variables, arguments, function parameters. defaults file < process.env < command line arguments < function call override   Getting started Install qconf: [crayon-5199620ab1464/] Create your config object: [crayon-5199620ab184d/] Extra credit Create a JSON file: ./config/config.json [crayon-5199620ab1c33/] Maybe source some environment… read more

Stampit 0.3 Released

May 19 2013

Right on the heels of Stampit 0.2, there’s a new release. Stampit 0.3 works with Node, Browserify, AMD, Bower, and a plain old browser global if you’re still using those. Tested with IE8+, Chrome, Firefox, Safari, and Android. Another convenient addition has landed, as well. Now you can do _.extend()… read more

Stampit 0.2 Released

May 16 2013

Stampit lets you create objects from reusable, composable behaviors. Instead of pretending that JavaScript is class-based, stampit embraces the power and flexibility of prototypes (see “Three Different Kinds of Prototypal OO”). It produces object factories which you can then compose to create more factories. When it’s time to instantiate your… read more

Getting Started With Node and Express

May 06 2013

This post is an excerpt from my new book, “Programming JavaScript Applications”. Enjoy! Node is a server-side JavaScript environment with many attractive features: A fast JavaScript engine (built on V8). Asynchronous by default philosophy (nothing should block). Event-loop design (much like the browser environment). Networking as a first class citizen… read more

Day Against DRM – 50% Off Programming JavaScript Applications Today Only!

May 03 2013

Buy Now! Today Only Get 50% off of “Programming JavaScript Applications” and every other DRM-free E-Book from O’Reilly! Just apply the coupon code DRM2013 to your order! read more

Fun With JavaScript Destructuring Assignment

April 27 2013

By now you’ve probably heard that JavaScript is getting destructuring assignment in ECMAScript 6. It does just what it sounds like it does — it helps you extract values from structured data (such as arrays and objects). You can play with this right now. Just pop open Firefox, pull up… read more

You’re Optimizing the Wrong Things

April 08 2013

It seems like every time somebody suggests to the JavaScript world that there’s a different (often better) way to do things than the status quo, the knee-jerk response is to say that the old way is faster, and start pulling out perf scores. That’s all well and good, but by… read more

Fluent JavaScript – Three Different Kinds of Prototypal OO

February 11 2013

In order to claim fluency in JavaScript, it’s important to understand how JavaScript’s native inheritance capabilities work. This is an often neglected area of JavaScript writing and learning, but understanding it can be dramatically empowering. JavaScript is one of the most expressive programming languages ever created. In particular, its combination… read more