Fluent Conference Schedule

JavaScript 0 No Comments

This week I’ll be speaking at the O’Reilly Fluent Conference. Come say hello, and be sure to catch my talk at 5:05pm Wednesday. Book Signing 3:15pm Wednesday, 05/29/2013 Exhibit Hall “Classical Inheritance is Obsolete: How to Think in Prototypal OO” 5:05pm Wednesday, 05/29/2013 Continental 5 If you’re interested in a deep dive about inheritance, and…

Read More

This week I’ll be speaking at the O’Reilly Fluent Conference. Come say hello, and be sure to catch my talk at 5:05pm Wednesday. Book Signing 3:15pm Wednesday, 05/29/2013 Exhibit Hall “Classical Inheritance is Obsolete: How to Think in Prototypal OO” 5:05pm Wednesday, 05/29/2013 Continental 5 If you’re interested in a deep dive about inheritance, and…

Read More

qconf 0.1.2 Released

JavaScript | Node 0 No Comments

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:

Create your config object:

Extra credit Create a JSON file: ./config/config.json

Maybe source some environment variables:

Try a command-line…

Read More

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:

Create your config object:

Extra credit Create a JSON file: ./config/config.json

Maybe source some environment variables:

Try a command-line…

Read More

Stampit 0.3 Released

JavaScript | Node 0 No Comments

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() style mixins just by passing…

Read More

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() style mixins just by passing…

Read More

Stampit 0.2 Released

Uncategorized 4 4 Comments

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 objects, just call the function…

Read More

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 objects, just call the function…

Read More

Getting Started With Node and Express

JavaScript | Node 4 4 Comments

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 (create production capable servers with…

Read More

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 (create production capable servers with…

Read More

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

Uncategorized 0 No Comments

Buy Now! This sale is now over. 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

Buy Now! This sale is now over. 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

JavaScript 0 No Comments

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 the web console, and tinker…

Read More

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 the web console, and tinker…

Read More

h5Validate on cdnjs

HTML5 | JavaScript 0 No Comments

h5Validate is now available for quick loading from cdnjs. h5Validate was developed in 2010 in order to bring HTML5 form validation features into the browsers. At the time, no browsers supported the features natively. Now, almost all of the browsers have native support for these features, but the native UI is clunky and awkward for…

Read More

h5Validate is now available for quick loading from cdnjs. h5Validate was developed in 2010 in order to bring HTML5 form validation features into the browsers. At the time, no browsers supported the features natively. Now, almost all of the browsers have native support for these features, but the native UI is clunky and awkward for…

Read More

You’re Optimizing the Wrong Things

Uncategorized 2 2 Comments

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 that standard, we should all…

Read More

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 that standard, we should all…

Read More

Fluent JavaScript – Three Different Kinds of Prototypal OO

JavaScript 29 29 Comments

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 of delegate prototypes, runtime object…

Read More

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 of delegate prototypes, runtime object…

Read More

Backbone.js Tip – Top-Down Rendering

JavaScript 3 3 Comments

For rendering performance reasons (avoiding reflows), it’s common to render child views before parent views (bottom-up rendering). If your app doesn’t need flash elements (i.e., fallback for audio or video), you should consider bottom-up rendering. In the exceptional case where you still need a video here or there, you can use a promise or callback…

Read More

For rendering performance reasons (avoiding reflows), it’s common to render child views before parent views (bottom-up rendering). If your app doesn’t need flash elements (i.e., fallback for audio or video), you should consider bottom-up rendering. In the exceptional case where you still need a video here or there, you can use a promise or callback…

Read More

JavaScript Constructor Functions vs Factory Functions

Uncategorized 5 5 Comments

My previous blog post, Stop Using Constructor Functions in JavaScript has been a bit controversial, so I decided to break down the benefits vs drawbacks (or pros and cons if you prefer). Since everybody is already familiar with constructors, we’ll start there. If you need more information and examples about factory functions, click the link…

Read More

My previous blog post, Stop Using Constructor Functions in JavaScript has been a bit controversial, so I decided to break down the benefits vs drawbacks (or pros and cons if you prefer). Since everybody is already familiar with constructors, we’ll start there. If you need more information and examples about factory functions, click the link…

Read More

Switch … Case Considered Harmful

JavaScript 7 7 Comments

Don’t Use Switch – An excerpt from “Programming JavaScript Applications” JavaScript has pretty normal control flow statements that use blocks delineated by curly braces. There is an exception to this: The switch … case statement. The strange thing about switch … case is that you must include the keyword break at the end of each…

Read More

Don’t Use Switch – An excerpt from “Programming JavaScript Applications” JavaScript has pretty normal control flow statements that use blocks delineated by curly braces. There is an exception to this: The switch … case statement. The strange thing about switch … case is that you must include the keyword break at the end of each…

Read More

How to Conduct a Better Coding Interview

Uncategorized 0 No Comments

Yesterday a blog post on Geekli.st made the social media rounds. It was called “How to Crack the Toughest Coding Interviews”, by Gayle Laakmann McDowell. It was a great post, and it will probably help you get your next programming job. That said, if you’re conducting an interview like this, you’re doing it wrong. The…

Read More

Yesterday a blog post on Geekli.st made the social media rounds. It was called “How to Crack the Toughest Coding Interviews”, by Gayle Laakmann McDowell. It was a great post, and it will probably help you get your next programming job. That said, if you’re conducting an interview like this, you’re doing it wrong. The…

Read More