This week's JavaScript news

Read this issue on the Web

JavaScript Weekly

Issue #135 - June 21, 2013


Use Forensics and Detective Work to Solve JavaScript Performance Mysteries
A from-the-trenches story of the V8 team using the Chrome DevTools to track down an obscure performance problem in the online game “Find Your Way to Oz”.

Announcing TypeScript 0.9
The first release of TypeScript’s 0.9.x series brings improvements on two fronts. On one hand, the language has been extended with features such as generic types, enums, and more. On the other hand, the compiler has been significantly re-engineered to enable better editing performance for large code bases. More information on this release of TypeScript is provided by a blog post by S. Somasegar and a video interview with Anders Hejlsberg, Steve Lucco and Luke Hoban.

JS.everywhere(2013) - San Francisco, October 25
Want to be one of 200 JavaScript developers in a winery on an island in the San Francisco Bay this October?

From our Sponsor

Frontend Masters: New Fall 2013 Live Workshop Series
Dramatically upgrade your skills with our upcoming workshop series featuring experts on Backbone.JS, Angular.JS, D3.js (Interactive Data Visualization), Web Animation, Tooling (Yeoman, Dev Tools, etc) and HTML5 Media APIs.

Attend LIVE online in full HD! Or In-Person (Minnesota residents only). Event details here.


Effectively Managing Memory At Gmail Scale
JavaScript provides automatic memory management but it's not a substitute for effective memory management within applications. This article looks at how the Gmail team used Chrome DevTools to identify, isolate, and fix their memory problems.

What asm.js Is and What asm.js Isn’t
asm.js is a subset of JavaScript that runs much faster in browsers optimized for it. Alon Zakai (Emscripten creator and asm.js co-creator) provides detailed background information on this project.

Using JavaScript’s “toString” Method
The standard JavaScript method toString lets you configure how your objects are converted to strings. This article explains how it works.

Information Hiding in JavaScript
Mike Pennisi surveys five techniques for keeping object-related data private in JavaScript: property naming conventions, closures, ECMAScript 6 symbols and more.

The JavaScript Behind Touch-Friendly Sliders
Kevin Foley explains how to implement a swipeable gallery in JavaScript.

Referencing DOM from JS: there must be a DRYer, safer way
Pamela Fox explains why hard-coded references to CSS classes in JavaScript code are problematic and what can be done about it.

What's the Big Deal with Generators?
A thorough explanation of how this ECMAScript 6 feature works and why it is useful.

Adding Support for Search Engines to your JavaScript Applications
Discourse added search engine support to their web application in a single day, thanks to a simple trick: each page that they serve contains both application code and indexable text. The latter is hidden inside a <noscript> tag.

AngularJS Versus Ember.js
A comparison of AngularJS and Ember.js from someone with an Ember background. Combined with the comments, where AngularJS proponents get their say, you get an interesting overview of the philosophies of the two frameworks.

A Tale of two Web Technologies
A pro-Dart article that describes Dart as an attempt to “move beyond the inherent limitations of JavaScript”. There are many issues involved in this seemingly simple topic. In the comments after the article, JavaScript creator mentions some of them and defends “his” language.

Test-Driven Node.js Development with Grunt and Nodeunit

Learning How to Write A Software 3D Engine From Scratch (A Tutorial Series)
Each code example is given in three languages: C#, TypeScript and JavaScript.

Learning Advanced JavaScript Via The Backbone.js Source Code

Solving the Expression Problem in JavaScript
The expression problem is a classic from the world of functional programming. This article shows how to solve it in JavaScript.

Using Promises in AngularJS Views

`with` Makes It Harder to Evolve JavaScript
Recently, a method Array.prototype.values was added to Firefox, which broke a library that used the with statement. This blog post explains why.

Building An App In 45 Minutes With Meteor


Frontend Workflows with Grunt and Angular JS
A screencast that shows front-end developers how they can craft workflows with GruntJS, along with some specific workflow improvements when working with Angular JS. (Part 4 of a series of screencasts on AngularJS.)

Code and Libraries

FunScript: F# to JavaScript with Type Providers
FunScript translates F# code to JavaScript. It has one standout feature: You can generate F# types from TypeScript definition files. This enables Intellisense and more for the DOM and JavaScript libraries.

kwargsjs: Keyword Arguments for JavaScript
Enables Python-style flexible parameter handling in JavaScript: switch between positional and named parameters on the fly. Caveat: you have to be careful with minification and tell your tool not to minify functions managed by kwargsjs.

Aristochart: Sophisticated JavaScript Charts
Customizable and flexible line charting library for Canvas.

Phoria 3D: WebGL-Free 3D Graphics for Canvas
A JavaScript library for simple 3D graphics on a 2D HTML5 Canvas. It does not use WebGL - so works on any device that can display HTML5 Canvas

shuffle-array: Randomize The Order of Elements in An Array Using The Fisher-Yates Algorithm

adaptive-speech: Control AngularJS Apps Using Voice Commands

slugg: Make Strings URL Safe from JavaScript

Simple Statistics: Library for Descriptive Statistics, Regression and Classification

loglevel: Minimal Lightweight Logging for JavaScript

Pomelo: Fast, Scalable, Distributed Game Server Framework for Node.js

Gaslight: An AutoSave Pattern for Ember and Ember Data


Front End Software Engineer at Citrix
We're looking for amazing JavaScript engineers to help us solve hard problems, explore new technologies like WebRTC, and take products like GoToMeeting to the next level. Think that's you? Get in touch!

Front End Developer at in Amsterdam
Are you interested in building the best accommodation website used by millions of customers? Do you have solid experience developing with HTML/CSS/JS? is looking for an experienced Front End Developer. Learn more in our video.

Front End / Full Stack Developer at InCrowd (Cambridge, MA)
Come join our small in-house development team and work on a suite of web apps fed by our Scala-based REST API. Interesting problems, fun technologies, and the opportunity to work on the full stack from database to client.

Post a job in a future issue of JavaScript Weekly

Last but not least..

“Programming JavaScript Applications” by Eric Elliott
Free early release version of this O’Reilly book.

Editor: Dr. Axel Rauschmayer | Publisher in Chief: Peter Cooper

Want to see more? Check out the archive of all our old issues!

Reading this as a non-subscriber? Click here to subscribe.
Want to advertise? See our media kit for details.
Want to post a job? Use our self serve system or reply to this e-mail.
To otherwise contact the editor, just reply to this e-mail :-)

© 2013 Cooper Press Ltd. – Office 30, Lincoln Way, Fairfield Enterprise Centre, Louth, Lincs, UK
Unsubscribe or Update / Change Your E-mail Address