Check back here while we announce speakers over the coming weeks.

Erik Corry.jpgSpeaker: Erik Corry

I'll be doing a tour of the issues around garbage collection in JavaScript. How to create a memory leak in your program, how to debug it when you've made it. Then we will get down to nitty gritty of the new GC in V8, and how its karma can improve your life.

jacek.jpgSpeaker: Dean McNamee

Plask is a multimedia programming environment. It brings together many of the recent advances in web-related technologies, graphics rendering, and languages, and brings them away from the web.

david-point.jpgSpeaker: David Coallier

Javascript is ubiquitous. Node.js tries to be the next PHP but it just can't. This talk talk about an experiment that freaked out many people: node-php.

During the talk, the speaker goes over what "node-php" is and more importantly how is that possible or why would anyone do this. Towards the end, he shows how the two technologies can be coopetitors rather than competitors.

dmandelin_kauai.jpgdvander.pngSpeakers: David Mandelin, David Anderson

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.

james_coglan.jpgSpeaker: James Coglan

In 1997, the Flaming Lips released the album 'Zaireeka'. This record, which came on four discs to be played concurrently, followed a series of experiments in which the band gave out cassette tapes to dozens of people for them to play in unison on their car stereos.

In 2007, the band Boredoms invited 77 rock drummers to perform a monumentally loud concert in Brooklyn, New York. These days they're touring with just seven but the effect remains staggering.

It's 2011, and you can do what these people did using nothing but a bunch of laptops.

WebSockets and the messaging systems we build on top of them are opening up new ways of building applications. Plenty of people are using this technology to push data to browsers, but I'm more interested in how we can use it to control them.

Using WebSockets and the new audio APIs available in modern browsers, you can synthesize music and play it in real time to anyone over the web. Or in this case, a room full of JavaScript nerds. I need you and your laptop to come and take part in a big experimental glitchy synthesizer armed with hundreds of speakers, and then I want to show you how it works.

kaefer.jpegSpeaker: Konstantin Kaefer

V8 makes it fun to write native C++ modules for node.js. During this talk, I'll walk through creating a binding to a third-party C/C++ library.

I'll discuss when it actually makes sense to create your own module, the different methods for programming asynchronously in C/C++, memory management and how to adapt a C interface so that it "feels" like JavaScript. You'll also learn about various pitfalls of the v8 API to make sure your module runs both stable and fast.

CIMG5761.jpgSpeaker: Eduardo Lima Mitev

GNOME, the free desktop environment, has embraced Javascript. Starting from version 3.0, Javascript is at the core of the user experience delivered to tens of thousands of GNOME users out there. We call it the gnome-shell, but the real beauty lies within.

This presentation will give you a brief tour around the great technology behind the shell, a technology that GNOME hackers use to have automatic reflection of their core libraries into Javascript. Yes, you read well, automatic! It is called gobject-introspection and gives you the super-powers of Javascript-ing most of the hardcore C libraries that powers GNOME, from multimedia, web browsing, accelerated 2D and 3D graphics, communications, UX, hardware interaction, and many more.

During the talk, a couple of examples will be discussed, some demos dropped, and we might hack the shell on-the-fly as well!

tobias.jpgnikolai_edit.jpgevilhackerdude.jpgSpeakers: Tobias Schneider, Nikolai Onken, Stephan Seidt

Arduino's, explosions, boats, AR-Drones, robots, Uranium-235 enriched awesomeness and more Arduino'

THE GUYS REALLY WANT YOU TO PUSH THE MUSTACHE BUTTON IN THE NAVIGATION

jed_schmidt.jpgSpeaker: Jed Schmidt

The first rule of 140byt.es was: "no more than 140 bytes". With that in mind, Jed Schmidt kicked off JavaScript's answer to the LPGA tour: the largest code golf competition the language has ever seen.

But what started as a novelty soon became surprisingly useful, with entries to date including usable modules handling AJAX, pubsub, dom events, routers, physics engines, polyfills, testing frameworks, validation, color converters, and screen savers.

In this talk, Jed will discuss the challenges and advantages of writing JavaScript code under such demanding constraints, and lessons about how it's not the size that matters, but how you use it.

tim_becker.pngSpeaker: Tim Becker

Deep in the heart of the bank card industry, where you would least expect it, JavaScript is running on industrial machines to transform pieces of plastic into universally accepted payment vehicles.

This talk will introduce an effort of the chipcard industry to implement various aspects of payment technology, ranging from functionality of the cards themselves to mechanisms used to interact with cards for testing and injecting personal data. GlobalPlatform chose ECMAScript to enable chipcard personalization (http://www.globalplatform.org/specificationssystems.asp), providing interfaces to physically talk to the cards, access hardware security, crypto routines, etc.

I'll demonstrate an open source implementation based on Rhino, which will allow you, provided you have a card reader, to see what's actually stored on your credit card.

jakob.jpegSpeaker: Jakob Mattson

Have a peek into the future. JavaScript is now more popular than Java/C# and even ACME uses it to write enterprise applications. But there's a new language in town. It's called Blub and all the cool kids are using it. They say that Blub is more powerful than JavaScript, but exactly what does that mean? And shouldn't we just keep using JavaScript?

JavaScript won't be our first choice forever. As attendees of a developer conference, we have broad horizons already, but keeping it up requires constant work. This presentation will do the work for you. It will examine some core features in languages more powerful than JavaScript. It will hurt your feelings, but it will also make you think about what evolution's next step might be like. In the end, it will make you less reluctant to getting your hands dirty with Blub when the time comes.

bluesmoon-100k.jpgSpeaker: Philip Tellis

While building boomerang (Yahoo!'s performance measurement tool), we developed many interesting methods to measure network performance characteristics using JavaScript running in the browser. While the W3C's NavigationTiming API provides access to many performance metrics, there's far more you can get at with some creative tweaking and analysis of how the browser reacts to certain requests.

In this talk, I'll go into how we measure things like bandwidth, latency, TCP connect time, DNS time, IPv6 connectivity, and if time permits, port scanning using JavaScript in the browser.

hans.jpgSpeaker: Hans Hübner

Node is famous for making a client side programming language available on servers. This talk is about using node in a different setting and to a different purpose: To connect musical instruments. Some examples of connecting various hardware controls to a node instance are shown. Furthermore, using node as programming environment on an embedded system is presented.

jan_kleinert.pngpaul_kinlan.jpgSpeakers: Jan Kleinert, Paul Kinlan

Users use many different services on the web to handle their day-to-day tasks, such as sharing images, editing documents and listening to music. They expect their applications to be connected and to work together seamlessly.

It's impossible for developers to anticipate every new service and to integrate with every existing external service that their users prefer, and thus they must choose to integrate with a few select APIs at great expense to the developer.

Help is on the way, in the form of Web Intents. Web Intents is a framework for client-side service discovery and inter-application communication.

Web Intents put the user in control of service integrations and makes the developer's life simpler. This talk covers use cases, demos, and a look at what's coming next.

57948_1594954962054_1481355399_1529305_5188630_n.jpgSpeaker: Jakub Siemiątkowski

Have you ever played Crysis or Minecraft ? Than you've seen voxels in action. Some say that voxels based rendering with data structures stored in octree is the future of 3D Games. Terrain generation seems to be one of the best applications. I'm gonna show how this can be achieved with WebGL and modern browsers. Is John Carmack right?

thilo.jpgSpeaker: Thilo Utke

I like to talk about my private relationship with JavaScript. How I met it for the first time and disregarded it, like most others. How I fell in love with a beautiful language called Ruby and how it first tried to hide JavaScript from me with Rails. But one day I found jQuery which was fixing browser bugs and was less nasty than the JavaScript code that Rails pretended was not there. After that Sammy came along and showed me that MVC apps are sane in Javascript too. From there everything happened quickly. I heard the excitement from the first JSConf that Javascript had freed itself from the browser with node.js. I saw what wonderful crazy things were possible at js1K and that there were LASERS, a thing I never had in Ruby. I wanted to know more about this language, so I joined the newly founded Berlin JavaScript user group, attended the second JSConf.eu and ordered books that would make me a Ninja with patterns. I still sucked at JavaScript, but while I was reading these books JavaScript unfurled its beauty to me. While I advanced in JavaScript more things happened. Jed Schmidt, the JavaScript Maniac, kept blowing people's minds with 140 byt.es hacks that exploited the language brutally. In the end it all came together at nodecamp.eu where Ryan Dahl hacked happy as a child in C and I discovered that CoffeeScript looks a lot like Ruby. Language nirvana and world peace were in reach.

jared.jpegSpeaker: Jared Wyles

Everyone seems to have their favourite misfeature of javascript:

- Hoisting
- Lack of block scope
- ASI
- The list goes on...

Let's take a walk back in time to discover what could have been, the horrors that will be explored from other languages at that time.
I will construct a language on stage made from the best bits of the most popular languages of the time to see what could have been!

We will then reconstruct javascript from the languages that it borrows heavily from, to show just how lucky we were, even after those marketing boffins twisted brendan's arm.

amos.jpgSpeaker: Amos Wenger

At the age of 12, I attempted a sprite engine on top of Excel.
Then I tentatively worked on a scripting languages on my calculator, in TI-Basic.
Then I contributed to Java projects such as a 3D engine and a physics engine.
Then I implemented a high-level language on top of C, with objects and first-class functions.
My latest crime? Decoding and playing mp3 files in pure JavaScript.

Some still think JavaScript exists to make dynamic menus.
Some still think JavaScript engines are AST walkers.
Some still think JavaScript coders are script kiddies.
(Those have evidently not met Andreas.)

This stops here and now. There are few quality references on high-performance JavaScript code, and most of them are focused on very specific aspects.In this talk, I will attempt at giving you the big picture. We will briefly considerNaCL and WebCL, and why having mixed feelings about them is normal. I'll try to list the biggest issues we've encountered when developing jsmad.

I will discuss why, for many applications, JavaScript doesn't have to be slow. Why despite its many shortcomings, it's the only target language that matters, and finally: why the momentum of web development trumps everything else.

  1. CW
  2. BE
  3. Microsoft

paul_bakaus.jpgSpeaker: Paul Bakaus

In early 2010, Paul Bakaus presented a prototype of the first comprehensive HTML5 game engine. His vision was a future with cross-device, cross-platform HTML5 games that run everywhere, every time. Although HTML5 gaming is trending more than ever, the core challenge still remains: everyone wants to jump on it, but nobody knows how. It is a new frontier, for both web, game, and browser developers. In his talk, Paul will provide an overview of the industry today including the current state of the HTML5 landscape, how it has evolved, and what is to come.

tom.jpgSpeaker: Tom Robinson

Most JavaScript developers don't usually think about compilers in the course of their work, but they are all around us. For the enlightened few they are a powerful tool. If you've always thought compilers were "something C programmers have to deal with" this talk will indeed be very enlightening.

We'll take a look at the vast but largely unknown landscape of JavaScript compiler technology:

  • Compilers and interpreters for executing JavaScript (V8, TraceMonkey, Nitro)
  • Compilers that parse JavaScript (minifiers like Closure Compiler, linters like JSLint)
  • Compilers that output JavaScript ("AltJS" languages like Objective-J, CoffeeScript, language feature prototypes like Traceur, secure subsets like Caja, concurrency extensions StratifiedJS)
  • Interpreters written in JavaScript (the Narcissus meta-circular interpreter, HotRuby)
  • Tools for building and debugging all of these things (parser generators like Jison, Language.js)

These are just a few examples. Any parser, compiler, or interpreter technology that consumes, outputs, or is implemented in JavaScript will be fair game!

I'll also be presenting a new universal JavaScript debugger and code coverage tool called "Xebug" that applies some of techniques presented.

jsconfeu.jpgSpeaker: Andrea Giammarchi

For many out there HTML5 is nothing more than an acronym to use during some geek conversation in order to show off some pretending modern knowledge. This is probably what happened here as well at the very beginning of our recent web challenge: "...come on guys, let's buzz!!!"

Mobile HTML5 Development is extremely challenging and exciting but it can also be frustrating if we don't keep in mind problems and solutions never faced in the Desktop Web. Dealing with standards not complete yet, fragmented builds of the same product, facing both weakness and potentials of these portable devices, this is just a slice of what we are doing on daily basis in Nokia R&D.

This talk is about main technical problems, solutions, and goals achieved while we were building our online Maps application and we hope to inspire and give useful tips to anybody that is dealing with building HTML5 apps for iOS and Android.

Vorschaubild für alex_gyoshev.jpgSpeaker: Alexander Gyoshev

Kendo UI is a shiny new framework (still beta!) for building stunning UI for both desktop and mobile. It provides everything you need for building sites and apps with JavaScript and HTML. In this quick session, you will get an introduction to Kendo UI from one of the core team members, you will see Kendo UI in action, and you will get a sneak peek at some of what's to come in Kendo UI. Also, be sure to stop by the Kendo UI booth to learn more!

lea_verou.jpgSpeaker: Lea Verou

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.

dyn.jpgSpeaker: Douglas Campos

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.

Slides*

marijn.jpgSpeaker: Marijn Haverbeke

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.

*Sorry, messed up slide recording. Won't happen again. Sorry!!!

awszynga.jpgSpeaker: Michal Budzynski

Evolution has equipped humans in awesome brain supported by two concurrent eyeballs for a reason - it is the only way we can calculate distance and feel the depth of what we see. Years before inventing computers or even television we were able to create real third-dimensional photographs. Over the years, on the basis of this invention we created tons of movies and even some video games using anaglyph techniques. Now it's time for the JavaScript and Open Web Technologies - let's create something really 3D!

Slides

raphael.jpgSpeaker: Dmitry Baranovskiy

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.

emscripten.jpgSpeaker: Alon Zakai

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.

mathias.jpegSpeaker: Mathias Bynens

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

kuvos.pngSpeaker: Peter van der Zee

This year js officially becomes jailbait. And even though there is a lot of work in the field, the number of solid tools available to js devs is pretty limited. How many decent IDE's do you know about? Now try other languages. Why has there been so much work in pretty much every popular language except for js? Even though js is one of the most popular lanugages around. Because it's dynamic? Oh sure, the dynamic aspect of the language has some major pitfalls for IDE's, but it's not all hopeless. There is a lot of information to infer. And whether this information is solid or weak, it doesn't matter. The aim of the game is to help the coder, you!

I'd like to show you why creating tools for js is not that difficult. Why the field is lacking in tools. And why, even though you shouldn't rely on tools, they really do make your life much easier. I will use my tool, Zeon.js, as an example on how you can create such tools. I will showcase some simple tricks of getting information from your source and how it can help you be more productive. We might not have the static run through type checking of, say, Java or C, but we can sure get a long way of spotting errors before actually running the code.

andreas_gal.jpgSpeaker: Andreas Gal

PDFs are traditionally rendered using native code plugins. Often enough those native code viewers turn into unintentional native code execution platforms. I will talk about Mozilla's new PDF.js pure JavaScript PDF render. Flashy demos aside I will in particular focus on performance tricks we use to make rendering fast (we just-in-time compiler PDF content!), and report on limits of the canvas API, and how we plan to fix those since we conveniently also make a popular browser: Firefox. Have you heard of it?

Slides

aq.pngSpeaker: Aaron Quint

Yeah, yeah. I'm the Sammy Guy. I've spent a lot of time thinking about client side tooling and frameworks and building some sizable apps. I have come to the conclusion that they all suck. Maybe even one step further - frameworks in general are not always the correct solution for your problem. That doesn't, however, mean that they're irrelevant. It just means that its not so cut and dry, one is not really better than the other, they all present tradeoffs and all have their strong points. I'll talk in general about why you shouldn't use a client side framework like Sammy or Backbone or Sproutcore or Cappucino and also why you should. These sound like opposites and like I'll be doing a lot of contradicting myself, but thats the whole point! Don't believe the hype, know the facts about framework development and make your choice and stick to it.

JS Reference

Categories

Twitter

  •