August 2011 Archive

Today final ticket sale

Today, Sunday, 28th of August, will be our final ticket sale at 18:00 CEST! We'll be selling tickets at the regular coder (€499 + Fee + VAT) and the late coder (€599 + Fee + VAT) rate.

To answer a frequent question: The fee is collected by our payment provider Amiando and I currently don't really know how high it is.
As we've been all along, JSConf remains to be a not-for-profit conference. Rest assured that we spend every single dime you give us on making that one weekend really awesome.

If you haven't seen it yet (which means you are not following our twitter account): We selected the venue for this year's event.

Surprise talks

  1. CW
  2. BE
  3. Microsoft

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.

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.

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.

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?

Web Intents

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.

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.

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.

Beyond JavaScript

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.

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.

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.

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

Javascript, the GNOME way

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!

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.

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.

JavaScript JITs

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.

Breaking Technologies

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.

Plask

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.

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.

JS Reference

Categories

Twitter

  •