02 11 / 2011

JSConf.eu Video Roundup

The videos from JSConf.eu have started to come out, and they are some really fantastic talks.  If you missed the actual event a few months ago, check out the videos, some of which are embedded below, and others of which are coming out soon!  Watch this space for more.

David Mandelin & David Anderson – JavaScript JITs

We’re going to get down and dirty with just-in-time compilers for JavaScript, all the way down to the bare metal. We’re going to present three major JavaScript JIT technologies. First, we’ll crack open general-purpose JIT compilers like Firefox 4’s JaegerMonkey. Next, we’ll dive into inline caching, which allows JaegerMonkey to optimize property access, and more generally adapt and re-optimize as code runs. Finally, we’ll show off fully optimizing compilers like our next-generation IonMonkey project, which uses type information to enable advanced optimizations. For each technology, we’ll give an overview, discuss performance characteristics, and analyze generated assembly code in depth. Warning: presentation includes self-modifying code.

Marijn Haverbeke – DOM implementation techniques

As Sun Tzu says, ‘know your enemy’. To effectively work with the DOM you must first understand the DOM. Not just on the surface, but down to the dodgy hacks that browser vendors use to make it as fast as it is today. To treat those hack exhaustively would take several weeks, but I’ll do my best to cram a suitable portion of them into 40 minutes.  Slides here.

Brendan Eich – LOLJS

Alon Zakai – Emscripten

Emscripten is an open source LLVM to JavaScript compiler. It lets you take code written in C or C++ and run it on the web. It can also be used to compile entire language runtimes, like CPython, letting you run code in those languages on the web as well. Currently a major focus of work in Emscripten is connecting with ‘normal’ JavaScript code. In other words, making it easy to compile some existing C++ library, then use it from your handwritten JavaScript on the web.

Lea Verou – Polyfilling the gaps

Polyfills, a term coined by Remy Sharp back in 2010, are scripts that mimic a future API providing fallback functionality to older browsers. The rise of HTML5, CSS3 and ES5 resulted in various polyfills being written by developers all over the world to fill in the gaps of browser support, so we can use new standards before they are universally adopted by browser makers. In this talk, we will explore various techniques commonly employed in good polyfills and shims, so you can start writing your own when a polyfill for the feature you need is not already available. This way, not only you will be able to improve your own workflow, but also share it with the world and give back to the community.

Douglas Campos – dyn.js - 100% invokedynamic JavaScript implementation

dyn.js project born from the idea of leaving the past behind, and starting from scratch, using dynamic language jvm native support (present on JDK7). This means that we can get free performance improvements, get a concise codebase, and steal ideas^H^H^H get inspiration from other JS implementations, without worrying with backwards compatibility. 

Mathias Bynens – Using jsPerf correctly

jsPerf makes it easy to create performance test cases and run benchmarks across different browsers and devices — but it also makes it very easy to do it wrong. Incorrect test cases lead to incorrect results, and we don’t want to spread misinformation when it comes to JavaScript performance. In this presentation, we will be taking a look at some common mistakes in jsPerf tests, and we’ll learn how to avoid them for great justice.  Slides here.

Dmitry Baranovskiy – Whole New Raphaël

You have never heard of Raphaël? Prepare to be amazed. You know everything about this library? You know nothing about 2.0. 60% of library have been rewritten for a good reason. New animation, transformation and event APIs. I will explain what has changed and more importantly why.  Slides here.

Enjoy!