February 29 - March 2, 2012
Montreal, Canada

Top 20 sessions

Web Services A lot of Web Services today claim to be RESTful APIs. But are they really? Do the URLs accurately identify resources? Are the powers of HTTP leveraged properly? What is "hypermedia", what is the Uniform Interface, and what is the secret behind the HATEOAS acronym that is so essential to the REST architectural style? This talk gives answers and guidelines using real-life examples.
Front-end Pushing data from the server to the client as events happen has not really been possible in the web so far. While there have been some workarounds for this issue, most commonly referred to as "Comet", most of these were hacks. Luckily, there is an upcoming W3C WebSockets standard. This talk will discuss use cases for WebSockets, show you compatibility issues/fallbacks and different ways of dispatching your events. You will learn about fully-asynchronous stateful applications, but also about how to enhance existing apps with realtime capabilities.
Data PersistanceJavascript Les nouvelles APIs HTML5 ouvrent aux développeurs web des horizons nouveaux. Le stockage en local, tout d'abord, permet aujourd'hui de concevoir des applications pouvant fonctionner sans connexion. Vous découvrirez les différents types de stockage disponibles et l'état actuel de leur implémentation dans les différents navigateurs, ainsi que des techniques de synchronisation client-serveur. Les WebSockets permettent quant à eux, grâce à la communication bidirectionnelle, de pousser des données depuis le serveur et ainsi d'envisager le développement de meilleures applications de travail collaboratif. Je vous présenterais à l'aide d'un exemple d'application le fonctionnement de cette technologie.
Cloud ComputingJavascript Node.js is becoming more and more popular every day, and Joyent is working hard to keep the community stimulated, and engaged.

In this talk James presents the state of the world of compute - in the cloud, and out of it, a vision of the future of the internet, and an introduction to the ideas behind node, and the reasons why Joyent thinks the technology is so important.

While the talk does present a brief introduction to Node.js as an enabling technology, the primary goal is to get the audience looking at the web, and perhaps the world in a slightly different way.

Project Management / Agile Clients need to know how much a project will cost. Waterfall development is always late and over-budget. Agile development is done when it's done. You're left with estimates that you know are too low and then you squeeze them anyway. It shouldn't be this way. We'll look at how this happens, early warning signs, ways out and ways of avoiding it in the first place.
Front-end Ever thought how much better CSS would be if you only had variables or expressions or "x" or "y". Tired of remembering all of the browser prefixes for the new CSS3 features? Enter LESS CSS. LESS CSS is a CSS pre-processor that offers variables, mixins, expressions and much more. This is how everyone dreamed CSS would be ran. In this session, you will learn how to fully harness all the functionality of LESS while avoiding some of the pitfalls many new users face. CSS3 will never seem easier!
Front-end The value of keeping all code D.R.Y (Don't Repeat Yourself) is universally accepted and demanded in the world of programming, but when it comes to CSS it can seem like the limitations of the language offer no way to achieve proper DRYness without becoming dependent on external pseudo-CSS-parsing tools like LESS or SASS. Don't believe the grief, we've just all been doing_it_wrong()!

This talk will go over how you can use thematic and structural CSS definitions to cut down on wasted code, simplify maintenance and unify your site styles just by DRYing out your standard CSS. I'll explain how tools like Firebug enable a whole new way of understanding complex style interrelationships and give examples of the particular patterns that let me cut one stylesheet from ~4200 to ~2400 lines without losing anything but wasted code!

I'll also cover how DRY CSS principles simplify cross-browser compatibility and Right-To-Left (RTL) language support by grouping workarounds into structural sets.
Scaling / Performance Based on the HTTP specification, Varnish Cache is able to speed up all your websites, independently of the language you are using to develop them. This session will focus on how you can easily benefit from installing it, and it will give you hints on how to get the most out of it with unique features like ESI support.
Scaling / PerformanceFront-end The performance of a web site is one of the criteria used by Google and other search engines to determine the site's ranking. This should be reason enough to make performance optimization a mandatory step in your development process. We will cover several aspects of optimizing a site from a performance perspective: we try to minimize markup and client-site code, intelligently distribute HTTP requests, reduce bandwith and connections overall, and will also have a look at server-side code. Talking about code: as usual, the session will also feature code and demos.
PHPScaling / Performance Today, large-scale PHP platforms like Facebook demonstrate strikingly that it is quite possible to build scalable, high-performance web applications with PHP. It does not work out to just use an MVC framework as architecture, though. This session allows a peek into web architectures and technologies that large-scale PHP platforms use, and demonstrates how you can use them in your own projects.
MobileJavascript Michal will talk about game development with Open Web Technologies such as JavaScript, HTML5 and CSS3, it’s history, creating crossplatform games for desktops, mobiles, tablets and other devices Javascript could run on. During the talk he will present couple methods of animations, implementation of game’s logic and different ways to communicate between players.
Project Management / Agile One of the most overlooked Agile techniques may also be the most useful one.

In the context of software product development, Refactoring (improving the design of existing code) is absolutely mandatory to continuously deliver quality code in reasonable timeframes.

Teams that do not practice continuous refactoring see their quality and
velocity go down with time.

Developers should understand from this presentation:

How to practice useful refactoring?
How to explain the topic to managers?
How to make sure refactoring is done, and regularly?
What are the usual challenges when implementing refactoring? Why do so few developers actually do it?

Managers should take away from this session:

What is refactoring?
What to do to maintain a good velocity as products are being built?
What is technical debt?
What to answer developers who claim they need time to refactor? When to refactor and when not to?
Data Persistance ElasticSearch is quickly becoming one of the primary contenders in the search space: it is distributed, highly available, fast, RESTful, and ready to be plugged into Web applications. Its developers have been busy in the last year; this talk will do a quick introduction to ElasticSearch and cover some of the most interesting and exciting new features. We might even take down a live server or two to illustrate a point.
Data Persistance MongoDB's architecture features built-in support for horizontal scalability, and high availability through replica sets. Auto-sharding allows users to easily distribute data across many nodes. Replica sets enable automatic failover and recovery of database nodes within or across data centers. This session will provide an introduction to scaling with MongoDB by one of the developers working on the project.
PHPScaling / PerformanceData Persistance As soon as you decide to use an ORM tool, one of the biggest factors is Rapid Application Development.
Everything is wonderful during development phase, but when it hits production, performance doesn't work like you expect.
You may think it's ORM's fault, your expected it to write as efficient queries as you manually do, but like guns, ORMs don't kill your database, developers do!
This talk will go deep into Doctrine 2 ORM by exploring performance tips that can save your application from its deepest nightmare.
Javascript Anyone who runs a website needs to at some point analyse how that site behaves. Who's visiting the site, where do they come from and what do they do when they're there.

This talk will cover a bunch of NodeJS modules that help analyse your web traffic to get insights into your user behaviour.
PHPScaling / Performance At Smith Electric Vehicles we process billions of pieces of data every week into our telematics system, all coming from remote collection devices continually sending us data. With that data, we need to be able to continually add it to our database, report against it, display recent data, maintain it, and most importantly - ensure we receive every byte of data. No easy challenge!

This talk will discuss some of the concepts, tools and technologies available to help deal with continually processing and managing data through heavily de-coupled systems. From the services needed to ensure you can safely perform maintenance without loosing data, to reporting, storing, managing, displaying and reacting upon this data from within your web application, your database systems while keeping your hair in the process.
Data Persistance Emailing *.sql files to the in-house DBA before each release used to work for your single-node, single-environment website. You have recently been tasked with building a multi-environment application architecture when you realize that you need to come up with a more professional process which is less error-prone. You also see the benefits of having your schema versioned along-side your code.

You've read a few blog posts by some fairly enterprising developers on the subject but you still can't quite get your head wrapped around how to start or even what tools to use or how to integrate the tools into your project. You now have that sinking feeling in your stomach as you think that maybe you are in over your head.

In this session, we walk through real-world refactoring scenarios using a tool called Liquibase. Liquibase is an open-source and cross-platform database refactoring tool which allows changes to be tracked and automated across environments.
Front-endJavascript jQuery is known to many developers. It is an extremely compact yet very
powerful JavaScript library which facilitates our daily work.

jQuery focusses on essentials which results in its small size. You do not find
unnecessary animations, widgets or rarely needed features. But what can you do
if you actually need all these things? Write them yourself? Install from
different plugins?

The correct answer is jQuery-UI. jQuery-UI is a collection of additional
effects, features and widgets based on the jQuery library ready to be
used. But there is even more to it. The components are based on a framework
which facilitates the creation of widgets.

Get to know jQuery-UI in this session! Get an overview of the features and
widgets which are at your disposal without much effort. Learn furthermore how
to create your own widgets conveniently with the jQuery-UI framework which
obeys your every word.
System Administration Maintaining a consistent development environment is hard—especially for
junior developers and designers with no interest in system administration.

In this talk, I'll show you how my team develops locally, in VPN (Virtual
Private Network) connected Virtual Machines, and how we make a team distributed in 5 cities feel a little like we're all working in the same
room.

We'll touch on VirtualBox, Puppet, Vagrant, dpkg/APT, Amazon AWS (EC2, especially), IRC, HTTP Proxies, and lots of other fun tech.

Presented by

Sponsored by

Media