Issue #97 - September 21, 2012
Welcome to issue 97 of JavaScript Weekly. I haven't done a written introduction for several issues so I thought I'd just say "hi" and reassure you a person is behind all of this. No algorithms here! I hope to inject more of a human element over time but for now.. it's more juicy JavaScript links for you. Hope you're having a good week! - Peter.
Headlines
Smashing Node.JS Book Now Available
A new Node book by Guillermo Rauch (of Socket.io fame) is now available in paperback, Kindle, and PDF formats. Digs into non-blocking IO, REST, the realtime Web, using databases, and testing. 320 pages and published by the Smashing Magazine folks.
Announcing YUI 3.7.0
The latest version of Yahoo's JavaScript library for building rich webapps is here. Primarily architectural tweaks and fixes this time but it continues to grow.
jQueryUK 2013 Call For Proposals Open Till October 11 (Oxford, England)
From our Sponsor
Cloud-based image management for your website
Let Cloudinary manage your image upload process, storage, image manipulation and CDN delivery, end-to-end. Create thumbnails using face-detection, apply effects, convert formats and much more. jQuery integration library available. Sign-up for free.
Reading
The Distinction Between Expressions and Statements in JavaScript
Dr Axel Rauschmayer (be sure to see him speak at JSConf EU next month!) looks at an important syntactic distinction in JavaScript.
Test-Driven Node.js Development with Grunt
Mark Dalgleish walks through getting started with Grunt, the JS command line build tool, to kick off a test driven development process on a new Node project. A handy intro.
Computer Science in JavaScript: Insertion Sort
Nicholas C. Zakas explains the properties and technique of the 'insertion sort' and shows how to implement it in JavaScript.
WebMatrix 2: Front End (and JS) Web Developers Take Note
Scott Hanselman gives a screenshot-driven walkthrough of Microsoft's latest free front end webdev tool (Windows only, of course..) Includes a JS editor with Intellisense for both JS and NPM modules, templates for things like Express, and CoffeeScript support.
Jeremy Ashkenas on Why Coffeescript Really Does Understand Lexical Scope
Over on Reddit, someone posted 'Coffeescript devs don't understand lexical scope' and things blew up quickly. Here, Jeremy Ashkenas, creator of CoffeeScript, explains its approaches in this area.
Actually, YOU Don't Understand Lexical Scope!
A longer, more code driven explanation of CoffeeScript's approach to lexical scoping (related to the previous item).
Advice On and Instruction in The Use Of Ember.js
Testing Backbone + RequireJS Applications with Jasmine
ECMAScript Internationalization API: One Step Closer
Norbert Lindenberg writes in noting that 'ECMA TC39 this week approved the ECMAScript Internationalization API' and has referred it for final approval in December.
Watching
Pure JavaScript: 48 Minutes of Getting Functional in JS
Christian Johansen, author of "Test-Driven JavaScript Development", demonstrates how to leave loops behind and embracing functions as the primary unit of abstraction in your JavaScript code.
Practical KnockoutJS: A 9 Episode Screencast Series
Knockout is a popular MVVM library for JS UI development by Steven Sanderson and this series digs into using it over 88 minutes and 9 videos. Costs $12.
Lo-Dash: Why You Shouldn't Always Opt for Native JS Methods First
John-David Dalton responds to criticisms of Lo-Dash, a drop-in replacement for Underscore.js that avoids slower native methods in its implementation.
Hygienic Macros for JavaScript with Sweet.js
Tim Disney of Mozilla gives a demo / walkthrough of using the sweet.js macro parser to get runtime macros in JavaScript and how to implement the language syntax of your choice.
Code, Libraries and Tools
Deployd: Simple Way to Build Node-powered Backends and APIs
An open source API development platform that makes building backends for web and mobile apps simple. Includes a visual editor to quickly and securely add server-side resources like data and user authentication to rich client apps.
hashid: Generate Unique Decryptable Hashes From Numbers
Want to turn numbers into hashes suitable for URL shortening/tracking/private tokens, etc? hashid makes it simple. Comes in Node.js, CoffeeScript, browser JS, and PHP libraries.
JSLogger: Log Javascript Errors and Events in The Cloud
Another entrant in the growing remote JavaScript error log and event tracking space. Currently free and in beta.
Nunjucks: A JS Port of Python's jinja2 Templating Language
Good looking templates, fast, supports template inheritance, works both browser and server side, thoroughly tested, installs with NPM.. Worth a look.
Chai: BDD / TDD Assertion Library for Node and The Browser
Zombie.js: Fast, Full-Stack, Headless Testing / Browsing
Simulates a headless browser, loading a page into memory and executing JavaScript in an environment that approximates a browser. First linked in JSW #7 but continues to be updated.
Node.js 0.9.2 (Unstable)
Introducing Gith: GitHub WebHooks For Node.js
model: Datastore-Agnostic ORM in JavaScript
Backbone.StickIt: Yet Another Model-View Binding Plugin for Backbone
Pedalboard.js: JS Framework for Developing Audio Effects for Guitars
Punch Reloaded: A Modern Web Publishing Framework Built on Node.js
Jobs
JavaScript Developers (London, UK) - £competitive
I am looking for several JavaScript Developers for various roles based in London. Up to £60,000. Email [hidden email]. Advanced JavaScript is essential.
Developer Evangelist at Firebase (San Francisco)
Sr. JavaScript Engineer at Blueprint Health (San Francisco)
Post a job in a future issue of JavaScript Weekly here
Last but not least..
GlowScript: An Online WebGL Animation Development Environment
This 'Graphics Library on Web' (Glow) makes it easy to write real-time navigable 3D animations that run in the browser and is based on JavaScript and WebGL. By 'easy', you can have a rotatable and zoomable cube in a GlowScript-flavored JavaScript one-liner! (Tip: Go to 'Example programs' to play with some demos without having to sign in.)
|