Bacon and singing
I checked out the following talks (alternating between Production and Bubble):
Effectively Building Language Tools
by @lennartcl of Cloud9 IDE
The description was very broad but this was basically a Cloud9 IDE promo talk, but an entertaining one with some interesting tidbits like that Cloud9 has 300.000 lines of code and it uses the ACE code editor. Definitely taking a closer look at Cloud9 again sometime soon.
Client Side Internationalization
- Always say yes
- Say yes, and
- Make statements.
Which was all about error handling and took JQuery as a model for how to handle errors, she seemed to advocate the opposite of the Unix philosophy (Rule of Repair: When you must fail, fail noisily and as soon as possible.). At the time this seemed very wrong, although that may have been motivated by a Unixy background. Another presentation that I look forward to re-watching. Also the slides are already up at Speakerdeck.
Break all the rules
By Angus Croll, @angustweets
Let your tool help you imagine
Kirill Safonov of JetBrains (maker of WebStorm and PHPStorm)
I caught only the last bit of this presentation, but it used getUserMedia to capture the input from a guitar and perform effects on it. Certainly one of the coolest demos at JSConf.
Rendering Mona Lisa by Solving TSP
Substack has contributed a lot to the Node.JS ecosystem, he showed off modules like code-art that shows your indentation like this: and shoe extolling the virtues of Streams which apparently is new in Node.JS? He also linked to some good advice on the callback hell problem.
Dinner and dancing... or sweet sweet sleep
JSConf is a full service conference, breakfast, lunch and dinner is included, free drinks , frozen yogurth and gourmet coffee whenever you want it. Even the parties were included and the day 1 party was actually hosted at the venue and featured a live band (same singers as the opening) and lots of beer... I'm told. In all honesty I have a 3 month old baby and the prospect of spending a quiet night at the hotel catching up some sleep was just too tempting!
Static typing, assembly and mad Russian VM hackers
Where day 1 was good, day 2 was awesome, deeply technical.
When I first heard of TypeScript I was a fan of optional typing and type inference. After this talk (again deeply technical) I am a fan of TypeScript. As soon as TypeScript support makes it in PHPStorm and they auto-generate JSDoc (please help by voting!) it will definitely be a big help.
Iframes: A look in to the black heart of the browsers
by @rem, author of jsbin.com and jsconsole.com
Ibuildings is no stranger to working with OpenSocial gadgets, which are basically glorified iframes, so many of the strange behaviors were not foreign, but it's still good to see someone mention X-Frame-Options and window.postMessage. This is definitely a presentation to watch before you have to run untrusted code in an iframe.
We do more and more mobile web development and it's not always easy (I'm looking at you Android). Kamen is an engineer from the KendoUI (commercial jQuery widgets) team and does an excellent job of laying out how to trigger hardware rendering and walks though some gotchas, his presentation is at: bundyo.github.com and is worth clicking through if only for the excellent example of impress.js a Prezi inspired CSS3 slideshow.
Inspector Web and the Mystery of the Shadow DOM
The new HTML5 elements like video and the date picker are nice and completely native looking, which is what you probably want on most devices but one... your laptop / desktop (seriously anyone still have a desktop?). Web Components seek to fix this and more, by allowing you to create custom elements that are 'secretly' their own documents. I had not heard of Web Components before JSConf, but it seems like a great solution for letting web developers finally declare their own elements. Angelina mentioned the official W3C Introduction to Web Components document as a good way to get started and she has "An ongoing project to catalog all of these sneaky, hidden, bleeding edge selectors" at GitHub. Web Components has me excited for the future and even for some use-cases today where you can use the (IE9+) polyfill at X-Tags
The Footprint of Performance
By Michael Starzinger of the Google Chrome V8 Team
This is definitely one to (re)watch, but the basic lesson is to remember that the engine tries to statically type your language and if you let it, it will be faster (at least in V8).
mo.js - explaining js vm in js
Vyacheslav is a compiler writer that worked on V8 and now works on Dart. His talk was very amusing and he dove deeper into 'what actually happens when you do...' than I've ever seen (showing generated assembly, doing crazy stuff like manipulating stack frames). Below is another talk of his so you get an idea of what he's like, highly entertaining, but as a JS guy not a compiler engineer, hardly practical.
by @cramforce of Google
Google Module Server was open sourced by Malte Ubl (who is crazy for both organizing and speaking) and the description is
Module server is a system for efficient serving of CommonJS modules to web browsers. The core feature is that it supports incremental loading of modules and their dependencies with exactly 1 HTTP request per incremental load.
It sounds really interesting but unfortunately I will have to (re)watch this as I was in the Bubble overflow room and didn't catch much.
A story of when assumption met a magic hat
The circuit as a point-free general model of computation
While this talk, which features a lot of functional programming, seemed very interesting and had an interesting promise (no pun intended):
Inspired by category theory, point-free, and functional reactive programming, this talk will present some ideas on how to describe a program as a circuit, and why it could help to minimize complexity over the program’s development.
By Andrew Miadowicz
Why functional is the new black
What's next for three.js?
Recently having looked at Three.js I was aware of just what you can do with 3D in the browser with it. But seeing stuff like their 3D scene editor was very impressive.
I thought this was a strange talk, I suppose it was to highlight conference organizing and encourage attendees to 'just do it', but it seemed like navel gazing at funconf.
Conclusion: The Good, the Bad and the Ugly
You can really tell that JS also attracts amazing designers and people who care about high quality. The venue, lighting, catering was all top notch and the seating was maximized for social interaction (round tables in production room) or relaxation (bean bags in the bubble room). The WiFi was a special point of pride and apart from some start-up problems (and my S3 phone that kept losing it's connection?) it worked fast and flawless. But these things are tangentially related to what you're actually there for:
Both were excellent, the content was deeply technical and very relevant and the people were friendly (if a little standoffish, but that's just in the nature of developers). One thing that JSConf did really right was to get so many female speakers and relatively more female attendees.
Transportation and lodging
If you're going to JSConf 2013, note that:
- Berlin public transportation is very good
- Android: Turn on Google+ Party Mode and have your photos automatically uploaded to the event
- Android: save Berlin as an offline map
- Once they fix their showers Derag Hotel Henriette is pretty good and right near the venue
JSConf.eu 2012 was awesome, lots of cool stuff, definetely worth a look once the videos come out. Watch @jsconfeu for information about the videos and 2013.JSConf.eu.