February 24-26, 2016
Montreal, Canada

Top 20 sessions

Architecture & design patterns Those first moments of using an API are pivotal. There’s nothing like downloading this week’s PDF of the documentation, setting up a SOAP client, reconfiguring all your URLs, and decoding the latest binary payloads. It makes your heart sing and your blood pressure rise.
Just like there are code smells through the rest of your project, there are API smells that make them hard to design, hard to launch, and hard to maintain.
HTML & CSSPerformance There’s no such thing as fast enough. You can always make your website faster. This talk will show you how.

The first requirement of a great user experience is getting the bytes of that experience to the user before they they get tired and leave. We’ll go over several frontend performance best practices, a few anti-patterns, the reasoning behind the rules, and how they’ve changed over the years. We’ll also look at some great tools to help you.
Architecture & design patternsPHP Design patterns are conceptual solutions to solve common redundant problems in software engineering. However, learning them is not easy as litterature or tutorials on the Internet often introduce them with theorical examples. This talk gives you a slightly different approach by introducing design patterns with practical code samples to solve real world problems. You won't just learn design patterns, you will also discover how to leverage them!
Architecture & design patternsPHP Implementing a REST API is not only about designing correct resource URLs. I will talk about the software and system engineering half it takes to build a data API. I will show concrete examples from a PHP project where we gather data from dozens of different services and systems and build a quickly accessible data index. The main technology stack is Symfony, Elasticsearch and Varnish.
Architecture & design patternsPerformance Choosing the right way to process data is a strategic decision. Especially in applications where an high percentage of the time is spent elaborating informations behind the scenes.
A solution is to use a message queuing system and run tasks asynchronously.
The purpose of the talk is to show how to use the AMQP in order to strengthen your application.
HTML & CSSJavaScript We have been using JavaScript toolkits like jQuery to make manipulating the DOM easier. New features in HTML5 & CSS3 should’ve made old development strategies obsolete, and yet we’re still using jQuery to do things better suited for HTML5 & CSS3. Why? Well, old habits die hard. In this session let’s look at ways we used to build interactivity in JavaScript and see how we can transform them into more optimal solutions using plain old HTML and CSS.
Architecture & design patternsQuality assurance Best practices are important, but are they always the best? I've worked on large projects where best practices were crucial. But I then blindly applied those to every project afterwards. In retrospect, that hurt many projects, especially in smaller companies where speed of innovation was crucial and downtime acceptable. Learn from my experience and discover where cutting corners is not only acceptable, but better for the project.
JavaScript Something terrible happened here. Traces of errors litter the floor; memory leaking from cracks in the ceiling. Someone lost their object context in the corner. Everything reeks of jank. In this session, a JavaScript error tracking expert breaks down a series of common and complex crimes against web applications. You’ll leave the session armed with techniques and tools to detect, diagnose, and fix your JavaScript web applications.
HTML & CSSPerformance Paint? Layout? Composite? Browser Workload? How the browser interprets CSS can get very complicated. Strategic CSS and specificity make a difference. Learning about these topics can be daunting as a beginner. We all just want fast websites and beautiful code. This session will present these ideas in a friendly, simple way, as well as explore the different ways of monitoring performance with Chrome Devtools. Get the best from your CSS!
Architecture & design patternsPHP Did you ever have to maintain a 12-year-old application? Dead code and tables everywhere, static methods, database queries in between HTML tags and some pages still in PHP3. This presentation will lead you through a progressive rewrite from very old legacy to the latest shiny version of PHP. Learn how to automate legacy testing, how to seamlessly jump between the old and new parts, and how to overcome other challenges that arise from dealing with
A practical step-by-step guide to Git, taking you through each phase of a project and explaining the use of Git at each step of the development process. Expect lots of how-to, but also some how-not-to, to avoid going down the wrong path.
Time to market is crucial. And new features are more important than doing things right on a technical level. Developers may not be happy with this perspective, but often fail to convince decision makers to think different. In this talk, we analyze what the hidden costs of rapid software development are, and work out strategies to make those costs visible to decision makers.
Architecture & design patternsDatabases There are lots of considerations you should take into account when designing the database architecture of a Software as a Service (SaaS) product. Scalability, Geography, Security, Ease of Implementation and Deployment, Performance, and Data Retention are all factors to consider. We’ll explore these issues, look at single and multi-tenant database models, and discuss options in both relational SQL and non-relational noSQL worlds.
HTML & CSS CSS Layout can seem mysterious, but there are some basic rules that can make it all seem a lot simpler. This is even more true with the new layout specs such as Flexbox and Grid, that introduce a whole new world of layout concepts for us to wrap our heads around.

I've read the specifications so you don't have to. I will show with clear examples how layout works, and the rules that can make it all make sense.
PHPQuality assurance New versions of PHPUnit that add new functionality are released bi-monthly. These releases do not break backwards compatibility, making it easy to stay up-to-date. PHPUnit 5.0, however, had to break backwards compatibility in October 2015 to support PHP 7. We will discuss how PHPUnit had to be adapted for PHP 7, how PHPUnit benefits from PHP 7, what additional changes PHPUnit 5.0-5.2 have brought, and we'll close with a look ahead to PHPUnit 6.
Future tech Technology is advancing at a faster rate than society's expectations, and can go from science-fiction to being consumer-available, with very little in the way of discussion in between, but the questions they raise are critically important: What happens when self-driving vehicles cause unemployment, when medical expert systems work on behalf of insurance agencies rather than patients, and weapon platforms make their own lethal decisions?
JavaScript Features from ECMAScript 6 have been in browsers since early 2012. We’ve seen ES6 syntax used in talks for compact code, but can it really be used right now for cross-browser compatible production code? Let’s uncover a broad range of new features, like arrow functions, rest parameters, and generators, that will have you itching to start developing your favorite app in ES6.
Architecture & design patternsJavaScript Love the idea of React and Flux but don’t know how to start? Or perhaps still working out deep angry feelings about mixing javascript code and presentation markup in the same file in a real project? This presentation is for you, friend: we’re gonna tackle how to go from mockups and requirements, to a real architecture of reusable, highly efficient components.
Security With more and more sites falling victim to data theft, you've probably read the list of things (not) to do to write secure code. But what else should you do to make sure your code and the rest of your web stack is secure ? In this tutorial we'll go through the techniques of securing your web and database servers, securing your backend and frontend javascript code. We'll also look at intrusion detection to make sure your customer data stays secure
Architecture & design patterns Web frameworks help you build an API quickly but most have little support for dealing with an API that needs to evolve, forcing you to prematurely version your API. But many industry professionals are telling us not to version. How can we avoid it?

In this talk I’ll show techniques that can be used to build responses that are easier to evolve and highlight the types of practices that encourage breaking changes and force you to version your API

Montreal 2016 sponsored by