JavaScript Weekly
Issue #13 - February 11, 2011

Welcome to issue 13 of JavaScript Weekly - unlucky for some but not for us. There's plenty to go through today..

It's quite jQuery heavy this week but if you don't want jQuery news and didn't unselect it when you signed up, the 'Update Your Profile' link at the bottom of this e-mail will let you tweak your preferences :-)

This week's top news

Node 0.4 Released
Yesterday, Ryan Dahl announced the release of Node 0.4.0 - an all new stable release of the popular event-driven I/O framework for V8. Most of the improvements are low level but it adds up to a stabler base from which to grow.

Popcorn.js 0.2 Released
Popcorn.js is a popular, stable, and fully unit-tested JavaScript toolkit for working with video in HTML5. The 0.2 release adds a plugin system and better adherence to HTML5 video standards.

Nodester - Node's Answer to Heroku?
Nodester is a new cloud-hosting environment for node.js apps, including Node 'sandboxing' so you can install your own libraries on each app using their NPM API. Intriguingly, Nodester can also deploy to your OWN EC2 or Rackspace instance..

This week's top articles

How to Write Maintainable OO JavaScript Code
Over on Microsoft's ScriptJunkie blog, Ara Pehlivanian explains object orientation and how it applies to JavaScript, as well as how to use OOP to build flexible APIs.

Using Deferreds in jQuery 1.5
'Deferreds' are a new jQuery 1.5 feature that let you bind multiple callbacks to events/tasks even after any such tasks have been started. Eric Hynds presents a code-driven tour of how to use them.

Fun with jQuery Deferred
Staying on the jQuery 'deferred' topic, here's a tidy demonstration from Michael Bleigh of how deferred callbacks have made his life a little easier.

On Bruno's Concern About the Current Coupling of node.js and V8
Bruno Fernandez-Ruiz (Yahoo! Fellow, VP and Platform Architect) wrote about his concerns around the current tight coupling between node.js and V8.

The Difference Between jQuery's .bind(), .live(), and .delegate()
Steve Schwartz presents a tour of jQuery's bind, live, and delegate methods demonstrating their uses and differences. If you want to write tighter jQuery code, this is worth a read.

Interesting new libraries and code

Sinon.JS - Versatile standalone test spies, stubs and mocks for JavaScript
Sinon is a set of handy testing features that you can use alongside any JavaScript unit testing framework (like QUnit or nodeunit). It provides test spies, assertions, stubs, mocks and more.

Query: jQuery For The Command Line
jQuery for the command-line. This is more useful than it sounds - look at the examples. It's a great way to scrape/query HTML content, for example.

Treesaver
Treesaver is a JavaScript framework for creating magazine-style layouts using HTML and CSS. It's open-source and MIT licensed. The results look good.

ql_zoom: Canvas-Powered Image Zooming
ql_zoom is a jQuery plugin that gives you 'ecommerce site'-style image zooming, all powered by the canvas element. Clever stuff.

Introducing Gmailr: A Javascript API for Gmail
Gmailr is a (unofficial) Javascript API for GMail by James Yu. You can use it to extend GMail with your own Rapportive-style features. James shows you how.

davis.js: RESTful Degradable JavaScript Routing
Davis.js is a small JavaScript library using HTML5 history.pushState that allows simple Sinatra style routing for your JavaScript apps.

mapKey: jQuery Keyboard Shortcuts
Josh Pyles has put together a handy jQuery plugin that lets you associate a keyboard event with a function or a page element. Simple keyboard shortcuts!

Isotope: Auto Sorting and Filtering Layout Plugin
Isotype bills itself as a 'exquisite jQuery plugin for magical layouts.' In short, it can sort, filter, and lay out a list of items in various wonderful ways. The effect is great.

KuraFire/runloop - GitHub
With jQuery Runloop, you can create your own 'run loop' with keyframes of your own choosing, each with code to execute. You can put whatever code you want in each keyframe, rearrange keyframes easily, and use reusable maps of code and/or animations to share between runloops. The end result is a rather Flash-like experience.

Last but not least..

25 Videos from the 2010 jQuery Conference
Most of the videos from October's jQuery conference have been released. If you want to see JS luminaries including Rebecca Murphey, Yehuda Katz, Paul Irish, and John Resig waxing lyrical, check them out. (The video and audio quality is good but you need to view the slides separately.)