JavaScript Weekly
Issue #41 - August 26, 2011

Welcome to issue 41 of JavaScript Weekly. My new newsletter, HTML5 Weekly, had an awesome launch last week and you can read issue 1 on the Web if you're intrigued. It's more CSS, WebGL and 'browser technology' focused than JavaScript Weekly which I intend to keep focused on JavaScript itself as much as possible :-)

Headlines

Fabric.JS 0.5 Released: Now Bringing Canvas Fun to Node
Fabric.js is a library for working with Canvas elements, including text rendering and the ability to parse and render SVG files to canvases. 0.5 has a smaller footprint and, importantly, adds Node and NPM support for command line based image shenanigans.

Building Web Applications with Backbone.js (Training in Boston, MA)
Bocoup has opened registration for a new 3 day Backbone.js workshop taking place in Boston, MA in both November and February. It's not cheap but if an intensive workshop is what you need, this could fit the bill.

Articles

Addy Osmani's Lessons From A JavaScript Code Review
Addy Osmani was recently asked to do a code review of a new JavaScript application and in this article he shares some of the things he encountered and feedback he gave (with code examples too).

How to Open Dragged and Dropped Files Using JavaScript
Craig Buckler demonstrates how to open local files that have been dragged into the browser using JavaScript. (If you want to know more about dragging and dropping in the browser in general, there's a link to a prior article in there too.)

Building a Game's 'Main Loop' in JavaScript
Want to create a real time game in JavaScript? A 'main loop' (or an approximation of such) may be what you need. Joe of Play My Code demonstrates how to create such a system, what it should contain, and how you can maintain a consistent frame rate.

Asynchronous Code Design with Node.js
This article by Marc Fasel shows how to replace old synchronous programming patterns with shiny new asynchronous programming patterns, as supported by Node.js.

Hosting node.js Applications in IIS on Windows
Want to host Node.js applications using Microsoft's IIS on a Windows server? Tomasz Janczuk explains how his iisnode project can get it going for you.

How to Test Ajax Requests with JS Bin
JS Bin is a great site for doing in-browser, live interactive JavaScript coding. Its creator, Remy Sharp, demonstrates how to use it to create and test Ajax requests using only the JS Bin service itself.

Building A Math Expression Evaluator in JavaScript
The first in a series of blog posts by Ariya Hidayat showing how to build a simple mathematical expression parser and interpreter in JavaScript. He starts off this week with a tokenizer.

The Danger of += in JavaScript

Videos / Media

Beam.js: Erlang Meets JavaScript
In a 28 minute presentation, Yurii Rashkovskii presents Beam.js, a JavaScript platform built on erlv8 and providing bi-directional integration between JavaScript and Erlang.

Code and Libraries

Batman: A Rich Single-Page Browser App Framework from Shopify
Batman is a framework built by e-commerce giant Shopify for creating rich single-page browser applications using JavaScript. It's primarily aimed at CoffeeScript developers but JavaScript is welcome too.

FlexSlider: A Fully Responsive jQuery Slider Plugin
FlexSlider is a powerful 'slider' (think carousel/slideshow) plugin for jQuery. It looks good, is only 5KB minified, supports all major browsers, and the documentation is great.

yepnope.js: A Conditional Polyfill Loader
yepnope is a fast, asynchronous conditional resource loader (ideal for polyfills) that allows you to load only the scripts that your users need.

accounting.js: Money and Currency Formatting

Pagination: A jQuery Mobile Pagination Plugin
The Pagination plugin creates touch-drag navigation between separate HTML pages if you're using jQuery Mobile. It even integrates well with browser history, bookmarking, and back/forward buttons.

TransformJS - 3D and 2D Transforms for jQuery
TransformJS provides 2D and 3D transforms as regular CSS properties you can set and animate using jQuery's .css() and .animate() methods. It comes from Strobe, Inc, the company behind SproutCore.

ldapjs: LDAP for Node.js
ldapjs is a new, pure JavaScript library for implementing LDAP (Lightweight Directory Access Protocol) clients and servers in Node.js. It's aimed at developers used to interacting with HTTP services with Node and Express.

node-xmpp: XMPP Library for Node.js

Jtalk Smalltalk: A Smalltalk Implementation Running on JavaScript
Jtalk is an implementation of the Smalltalk language that runs on the JavaScript runtime. Notably, it's written in itself and compiles down into efficient JavaScript.

Rasta.js: A Public, Anonymous Cross-Domain Key Value Data Store

Last but not least..

The TechZing Podcast: Technology, Startups and So Much More
TechZing is an in-the-trenches discussion and interview podcast about technology, startups and related geekery hosted by Justin Vincent and Jason Roberts, two friends of the JavaScript Weekly crew. If Hacker News had audio, this might be it :-)