A practical walkthrough of using map/reduce with MongoDB to aggregate statistics for generating a report.
Addy Osmani introduces backbone.js as one part of the toolkit for building mobile JavaScript web applications. Backbone is an MVC-like framework to structure your application, simplifies server-side persistence, decouples the DOM from data, succinctly separates apps into Models, views and routers and provides synchronisation between DOM, model and collections.
JavaScript is coming more and more to the fore as a server-side language with a new generation of servers based on the CommonJS (ServerJS) standard. Kris Zyp one of the active members working on CommonJS gives us a summary of the state of play (from January 2010). This includes future directions such as concurrency, promises. And also includes a brief overview of many server-side JavaScript frameworks including Node.js
MSDN reports that 8.4% of all IE9 hangs recently are caused by XMLHttpRequest objects blocking the UI thread because they are using synchronous requests instead of asynchronous. This is a good example of the harm of working against the grain of asynchronous approach in a single-threaded JavaScript environment.
Stuart Colville investigates the differences between form.getAttribute('action') and form.action, also the cross-browser differences, when the action is a relative URL. One way returns a relative URL, and the other returns a fully qualified URL.
Another Douglas Crockford video. This time Douglas talks about the Document Object Model, about how Java failed, and JavaScript evolved thanks to DHTML and DOM. He talks about how to use DOM to traversing and manipulating elements in an HTML document, walking the DOM, making elements, innerHTML, as well as Events, memory leaks. He talks about the cracks in DOM, and how we must be prepared to back off when we hit the browser limits of DOM.
First in a series of talks from Douglas Crockford about the JavaScript language. These talks cover the JavaScript language, from the history, the language, advanced features, platforms, standards and programming style. Talks about inheritance, using functions to build objects, closures, as well as the basic JavaScript syntax. Also covers code conventions. JavaScript is a language that requires discipline.
Joe Hewitt, in this Dr Dobbs article talks about using the Firebug extensions to inspect and debug Ajax applications (or any browser-based JavaScript application). It also has CSS inspecting capabilities, editing JavaScript on the fly, inspecting HTTP request and responses, logging, breakpoint debugging and profiling. A useful howto.
Svend Tofte puts together a detailed guide to setting up and using the Venkman debugger. From basic debugging to watchlists and call stacks, breakpoints, and more advanced techniques like meta comments and profiling. It also contains a list of other useful Venkman resources.
A collection of gotchas and guidance in Greasemonkey scripting. Positioned as an addition to Mark Pilgrim's dive into Greasemonkey
Mark Pilgrim dissects the security issues of the 0.3 Greasemonkey, and describes how the new architecture of Greasemonkey works, pointing out pitfalls and how to address them.