Speaker: Oktober 2010 Archive

Ryan_Dahl.jpgAfter last year's standing ovations performance, he is back. His last talk's video was viewed 12 thousand times. We're excited what will happen this year.

Node.js presents the same non-blocking, single execution stack programming model of client-side Javascript. However, Node is arguably aiming at more complex problems than browsers have faced: massively concurrent servers that may shell out to many different processes, that might need to execute many sequential file system operations. Can this programming model support such systems or does the code degenerate into a spaghetti of callbacks? This talk will present an emerging set of patterns being used in this new domain.

HTML5 and friends have been getting implemented in browsers at an impressively quick pace. But that leaves us as web developers wondering, "Great, but how am I supposed to build cross-browser applications with these features when I still have to support IE".

We'll take a look at what the landscape of implementable features are, detailing best practices of implementation and fallback solutions where appropriate. For example, how do you pair WebSockets with a standard comet stack and what do you have to watch out for.

We'll also review your available feature set if you're only targeting webkit mobile, or if you've already given IE6 the boot.

paul_irish_lasers.pngThe data will be up-to-the-day accurate, covering all major browsers and filled with best practices from topic experts.

About Paul
Paul Irish is a front-end developer and user experience designer. He is on Google Chrome's Developer Relations team. He is also a member of the jQuery Developer Relations team as well as a host of the yayQuery Podcast about Javascript.
He maintains the HTML5/CSS3 feature detection library Modernizr the HTML5 Boilerplate, and other bits and bobs of open source code.
Paul is passionate about finding ways for regular web developers to be more effective and adopt things like HTML5 and CSS3 in their work today.

Over the last five years, JavaScript has gone from a language for adding interactivity to a key driver for innovation on the web. A new generation of applications such as Gmail and Office Web Applications use thousands (or hundreds of thousands) of lines of JavaScript to deliver functionality and complexity similar to traditional desktop applications. With the advent of AJAX and script libraries, nearly every new site today makes use of JavaScript. These changes have also pushed browsers and script engines to evolve rapidly to keep up with user and developer needs to have fast, responsive applications and sites.

pete_lepage.jpgInternet Explorer 9 introduces a new JavaScript engine, codenamed Chakra, which fundamentally changes the performance characteristics of JavaScript inside Internet Explorer 9. We'll dive into what's new in Chakra, including the new compiler that compiles JavaScript source code into high-quality native machine code, a new interpreter for executing script on traditional web pages, and improvements to the JavaScript runtime and libraries like ECMAScript 5 support.

About Pete
Pete LePage works at Microsoft on the Internet Explorer team as a Senior Product Manager, helping developers take advantage of the web platform in Internet Explorer. LePage has been designing websites since his early days in high school, evolving from overlapping <blink>, <marquee> and <font> tags on GeoCities to properly styled CSS, managed hosted websites. Prior to joining the product management team, LePage was a tester on Microsoft's Visual Web Developer where he tested much of the web design experience.
In addition to his career at Microsoft, LePage enjoys travelling and is an avid film photographer; he has studied and taught at the prestigious Photographic Center Northwest in Seattle where he has recently completed his Thesis in Fine Art Photography.
LePage keeps an irregular blog at http://PeteLePage.com

contra.jpgWith "limit" Ben is referring to his JavaScript NES emulator.

Applications that were once on the desktop are now appearing on the Web, bringing a whole new set of performance challenges. After writing a console emulator in JavaScript, I have a few tips to share that might be applicable to your more sensible applications. I will talk about the differences in performance between modern browsers, tweaks that can have a huge impact on the speed of your code, and some fun hacks

ben_firshman.jpegAbout Ben
Ben is a Django developer who, after writing JSNES, was sucked into the exciting world of JavaScript development. He has worked for the Guardian and Global Radio, and in his spare time makes newspapers and
studies at the University of Warwick.

At least 87% of all talk submissions for this year's JSConf.eu were about Node.js. We picked Philip's:

In order to find out whether node.js is ready for production use and to scratch an itch, tempalias.com was started as a fun project.

The service allows anybody to create a temporary email alias with a limited validity (either time- oder usage based). Mail sent to that alias within the validity constraints is then forwarded to any address of your choice.

The talk gives a behind-the-scenes look on how the (free software) project was built and how its architecture works. On the process, we'll learn how to build a web application without dynamically generating a single byte of HTML on the server side, how SMTP works, and how to implement a bookmarklet without destroying arbitrary target pages. And we'll learn how to design a daemon in a way sure to bring your server down under load :-)

The whole service reeks of JavaScript all over: Webserver? Javascript. SMTP-Server? Javascript. Web-Application? Javascript (and a bit of HTML).

philip_hofstetter.jpgAside of the technical issues, we'll also have a look at how to be a good citizen in the open source community by providing upstream with usable and easily applied patches. And as it's the case with all cool free services, we'll learn how to deal with Spammers.

About Philip:
Philip Hofstetter is the head of development of Sensational AG in Switzerland, which he co-founded back in 2000 right after having finished high-school. Philip's roots in development go back to the late nineties when his parents finally allowed him to own a computer even though they still think that computers make one stupid (the audience of the talk may be the judge of that). As a disciple of Crockford, Philip is fascinated by JavaScript which lead him to build tempalias.com as a fun-project which he's now going to talk about.

With all the talk and hype over server side platforms and technologies, somehow we've been neglecting the most ubiquitous and widely used javascript platform - the browser. Differences aside, the web browser and the desktop are becoming more and more entwined and just generally faster. Now is our chance to make web applications that surpass the usefulness and awesomeness of desktop counterparts. Sure, there are technologies that allow you to bring desktop style code to the web. With Sammy.js, I'm more interested in creating web style apps that can compete as desktop experiences. Sammy.js is a very simple aaron_quint.jpgframework for organizing browser based javascript applications. Despite its size, when combined with other cutting edge technologies, (CouchDB, other RESTful DB's, Comet) it becomes a very powerful way to write entirely front-end, entirely JavaScript applications. I'll walk through the basics of Sammy, show some cool examples of Sammy in production, and talk about new features and technologies that make this all a pretty exciting time to be writing JS.

About Aaron
Aaron Quint splits his time between coding and cooking and between The Bay Area and New York City. When he's not curing meat, he's working as the CTO of Paperless Post. He is also the creator and maintainer of over 30 different open source projects, most notably Sammy.js, and has contributed to many more. He's also really good at eating.

Canvas DemoDoing animations in the dark ages of the internet led you to technologies like Flash, or even Java Applets. Early arcane magicians tried bending the will of the DOM to create shiny stuff. It felt wrong.

With HTML5 two technologies arrived to fix that: Say hi to Canvas and SVG!

Our talk will cover basic usage and use cases of both technologies. By showing demos and real world examples we'll try to give you an understanding of when to choose what. Eventually we will show you libraries based on Canvas or SVG which should save you some time.

9elements.JPGAbout Sebastian
Sebastian is one of the founders of 9elements, a small software boutique in the heart of the Ruhrarea. He loves to program shiny things with javascript + html5 like the canvas demo we did a year ago. In our spare we run our pet project img.ly which is a twitter based photo sharing platform.

About Stephan
Stephan is an elite ninja at 9elements since 2007 who became partner in 2010. He and 9elements find it very important for everyone with us to split up their attention into both frontend and backend. Orly? Yarly: Sebastian and Stephan recently wrote an iPhone app which sends live sensor data via node.js to browsers for i.e. WebGL vizualisations. Now that we have node and a great commmunity to boost, rich browser web apps and their server counterparts finally converge. It is a great time to do JavaScript now! Stephan's currently into node, several document/KV-stores, iOS and websockets and other HTML5 APIs.

mikeal_rogers.pngFor a variety of reasons CouchDB and node.js are a perfect fit. This talk will focus on node.js tools and utilities for accessing CouchDB, writing Couchapps and responding to _changes events.

About Mikeal
Mikeal Rogers is a lover of fine whisky, cocktails, food, and JavaScript. Mikeal has the pleasure of writing open source js code all day for node.js and CouchDB. He lives in Oakland, CA, because Oakland is just straight up better than San Francisco :P

thejit.pngThe Web has never been more open to everyone. Open Data services exist in almost every web application: from social networking apps to governmental pages and the news, all this data can be instantly accessed by exposed APIs. However, although most of this data is offered in a simple interchange format, its structures are quite complex, ranging from complex networks to time-based information, hierarchical data or heavy graphs. Displaying this data in a manner that enables the viewer to gain some insight can be challenging, especially if we aim at providing some interaction and doing it in a cross-browser/cross-device manner. The JavaScript InfoVis Toolkit creates interactive data visualizations for the Web. It's based solely on Web Standards, leveraging the power of native browser technologies to provide insights on complex data. In this talk you will learn about the JavaScript InfoVis Toolkit and how it can help you create advanced data visualizations for the Web.

About Nicolas
nicolas_garcia_belmonte.jpgNicolas is the creator of the JavaScript InfoVis Toolkit, a web standard based toolkit to create advanced data visualizations for the Web, and V8-GL, a hardware accelerated graphics library built on top of Google's V8 JavaScript Engine. Nicolas's main interests are web standards and information visualization. You can find him on Twitter, or blogging at http://blog.thejit.org.

Jed proved that the only way to become a real JavaScript ninja is by actually moving to Japan to practice the art.

jed_schmidt.jpg(fab) is an HTTP framework for that eschews the conventionally muddled web stack of middleware, routers, and handlers for a cleaner, more functional approach. By stressing convention over code, (fab) enables any web app to be recursively composed of other web apps, using a chained pattern that enables the full power of javascript but the simple readability of a site map. In this presentation, Jed will show you how to use (fab) to get up and running with your own reusable apps on both the client and server.

About Jed
Trading in natural languages for a living as a freelance Japanese translator, Jed moonlights as a Javascripter in cafes around Tokyo. You can follow him on Twitter at @jedschmidt

Jed at JSConf.us 2010

volcano.jpgFelix was supposed to speak at JSConf 2010 in Washington, DC, but then there was a volcano!

What would happen if your database would have no network interface, no query abstractions and less than 250 lines of node.js code? You would end up with a very flexible in-memory database that is wonderfully suitable for dirty tasks such as rapid prototyping or performing millions of GET/SET operations per second.

felix_geisendoerfer.jpgThis talk is about rethinking current database technology and exploring situation-based CAP tradeoffs.

About Felix
Felix loves node.js and other single threaded acrobatics such as unicycling. He is a co-founder of Transloadit and Debuggable, but mostly known for his contributions to CakePHP and node.js. In an alternative life he wants to either work in robotics or develop nuclear solutions to the growing thread of volcano terrorism.

At JSConf we do not tollerate product pitches (not even by our sponsors). The only exception is when the product rocks and has the potential of moving the community forward.

At ajax.org our goal is to create a completely web based IDE. Of course one of the key features is a code editor that developers really enjoy to use. The ajax.org code editor (ACE) uses the DOM for rendering and doesn't depend on any external JavaScript library. It is capable of working with huge documents even in older browsers like IE6. In this talk I will demonstrate the features developers are interested in. For example code completion, syntax highlight, toggle comment, auto indent/outdent or moving/copying lines. Further I will take a look under the cover and show how it is implemented so every attendee can start hacking on it right away.

Fabian_Jakobs.jpgAnother important feature of the IDE will be the integrated debugger. With this debugger developers are able to debug node.js and Chrome and thus have an end to end JavaScript debugging solution. I will show how this is acomplished and demonstrate how to debug a node.js server with a JavaScript client running in Chrome.

About Fabian
Fabian has been working on the cutting edge of JavaScript for his entire professional live. First as framework architect at 1&1 for the JavaScript RIA framework qooxdoo and now as lead developer at ajax.org. There he is working on the next generation of web based IDEs.

This topic will cover the concept of what rapid prototyping is, why it is important in the design and development process, and how you can not only leverage the power of JavaScript to rapidly develop proof of concepts and prototypes, but build them with multiple devices in mind.

Digging Deeper
The area of Research and Development (R&D) in software, web and user interface engineering is making quite a statement in many large and small scale organizations lately. With such a vast amount of data and web service APIs available to developers, coupled with a huge demand for multiple systems integrating seamlessly across several platforms and devices, it should come as no surprise that companies are creating "Labs" departments left and right to create the "next big thing."

In order to cultivate innovative products and services, designers and developers need to research, ideate, and collaborate to develop creative approaches to current products or services, or even fill voids for users for products or services that have not been created. Developers need to quickly build out prototypes of these ideas in order to not only implement the ideas and prove the value of the concept, but to also provide new products and/or services for the business itself (and keep the R&D department alive!).

Rapid prototyping is exactly as it sounds: creating a prototype of a concept or an idea in a very short amount of time. For years, such rapid prototyping and development of various simulations was heavily dominated by the Flash and Actionscript world. Now, with the speed and power of current JavaScript interpreters and its ubiquity across arguably the most used piece of software known to man (the web browser), JavaScript, in harmony with HTML and CSS is quickly becoming a go to resource for hashing out proofs of concepts.

From My Presentation, You Will Learn...
joe_mccann.pngWhat rapid prototyping is and why it is important.
Some actual results of rapid prototyping (case studies) with JavaScript.
What tools you can use right now to build rapid prototypes (including Titanium Desktop, Phonegap, CouchDB, Node.js, JavaScript Templating, Webview for Android and plain HTML5 and CSS3).
Tips on baking in ideas like performance, scalability, and maintenance into the prototypes and why you should avoid them.
How to utilize a single codebase for usage across various devices and platforms including the desktop browser, the mobile browser and mobility products (e.g. Ipad).

About Joe
Joe McCann, a Senior Technologist at frog design, works on innovative design initiatives including the building out of rapid prototypes for companies such as Hewlett Packard and other confidential clients. Joe is also the Principal Consultant at subPrint Interactive, the founder and curator of the Austin JavaScript meetup group, a staunch supporter of the open web and a complete data junkie. Joe's current technical interests lie with machine learning, sentiment analysis, Node.js, Phonegap and Android.

JS Reference