JavaScript Weekly
Issue #25 - May 6, 2011

Welcome to issue 25 of JavaScript Weekly. This week was intense! I don't know if it was due to the buzz around JSConf 2011 in Portland, Oregon, but lots of stuff has been going on in the JavaScript world. So much so that I've had to put my curator's cap on super-tight for this issue..

Headlines

jQuery 1.6 Released
jQuery 1.6 is now available for mass consumption. It includes a major rewrite of the Attribute module and a number of performance improvements.

Microjs: Fantastic Micro-Frameworks and Micro-Libraries for Fun and Profit!
Thomas Fuchs has put together a site that lists all of the major JavaScript 'micro' frameworks and libraries.

npm 1.0 Released
The Node Package Manager, a popular JS library and program installation tool, has hit version 1.0. A big new feature is support for both global and local installation of packages. A 6 month 'code freeze' for major new features or architectural changes has also been enacted so you can feel confident about upgrading.

CoffeeScript 1.1.0 Released

CoffeeScript: Accelerated JavaScript Development - Beta Book Available

John Resig, Creator of jQuery, Answering Lots of Questions on Reddit

Ryan Dahl, Creator of Node.js, Answering Lots of Questions Too..

Articles

Building JavaScript Web Apps With MVC & Spine.js
Spine.js is a new JS MVC framework that presents an interesting alternative to Backbone.js. Addy Osmani presents a thorough tour of the framework and interviews its creator, Alex MacCaw.

Understanding Monads With JavaScript
If you've taken even a mere glance at functional programming, you'll have heard of monads. They provide such a brain bending experience that it seems there can never be enough explanations of what they are and how they work so this JavaScript version is much welcomed ;-)

A CoffeeScript Intervention: 5 Things You Thought You Had to Live with in JavaScript
After just a few days of playing with CoffeeScript, Trevor Burnham was smitten. In this article he shows off five 'nasty bits' of JavaScript and how CoffeeScript plasters them over.

JavaScript Loves Continuous Integration
James A Rosen of Zendesk shows off how they've tied together Jenkins, Jasmine, PhantomJS and JSHint to test their code on every commit.

Brendan Eich's JSConf.US Presentation
Brendan Eich, creator of JavaScript, went on stage with Jeremy Ashkenas (of CoffeeScript fame) at this week's JSConf conference and shared some thoughts and updates on the future of JavaScript/ECMAScript. He shares the slides here.

Walkthrough of Creating a Twitter Client with Express, Node, and CoffeeScript

What Does Douglas Crockford Mean When He Says jQuery Doesn't Scale?

Special: JavaScript Performance Corner

Updating JavaScript Benchmarks for Modern Browsers
Chrome team believes that JavaScript benchmarks must evolve in order to keep pushing browser and JavaScript VM developers in the right direction. They share their opinions here.

A JavaScript Performance Issue with Chrome and Safari
Erik Moller of Opera discovered that Chrome was clocking in at 60 times slower than Opera for unzipping data using JavaScript. He's distilled the experiment into a tiny test case and while Firefox, Opera and IE are all fast, Chrome and Safari are miles behind.

IonMonkey: Mozilla's new JavaScript JIT System
Dionysios G. Synodinos of InfoQ takes a look at IonMonkey, Mozilla's new JavaScript JIT compiler for Spidermonkey, and interviews its lead developer, David Anderson.

Code and Libraries

Traceur: Google's Vehicle for Javascript Language Design Experimentation
Traceur is a JavaScript.next-to-JavaScript-of-today compiler that allows you to use features from the future today. Traceur's goal is to inform the design of new JavaScript features which are only valuable if they allow you to write better code. Traceur allows you to try out new and proposed language features today, helping you say what you mean in your code while informing the standards process.

Waterbear: Scratch-Influence Visual Programming Tool for JS
Waterbear is a a toolkit for making programming more accessible and fun influenced by MIT's Scratch project. You drag and snap together 'blocks' to implement functionality.

Humane JS: Simple Notifications in the Browser
Humane JS is a simple, framework-independent, well-tested, unobtrusive, notification system that degrades gracefully. It uses CSS Transitions where available otherwise falls back to JS animation.

Queue.js: Simple and Efficient Queues in JavaScript
Queue.js is a simple and efficient queue implementation for JavaScript whose dequeue function runs in amortised constant time. As a result, for larger queues it can be significantly faster than using arrays.

Awkward Showcase: Impressive 'Content Slider' jQuery Plugin

Supersized: Fullscreen Slideshows with jQuery

A CoffeeScript Compiler for Windows

Maga: Lightweight Framework for Multiplayer Physics-Based Games

Backbonejs adapter for IndexedDB

Last but not least..

Hacker Monthly Issue #11
Hacker Monthly is a great magazine based on popular Hacker News submissions. Its editor, Lim Cheng Soon, has helped me out in the past so I want to repay the favor by linking up a recent issue whose cover features a crazy bit of JavaScript code. We hope to give away some free subscriptions to JavaScript Weekly readers in a future issue..