February 24-26, 2016
Montreal, Canada

Sessions

Top 20 My wish List
DevOpsPython Kubernetes de Google est une plateforme d'orchestration pour des conteneurs Docker sur systèmes Linux. Afin d'automatiser son utilisation avec nos différents outils internes, nous avons écrit un module Python et un module Ansible pour procéder vers du déploiement continu. Nous aborderons les différents composants de Kubernetes, un survol de son intégration avec Mesos et une démonstration d'intégration avec Ansible.
Java & JVM languages Spring Boot, the new convention-over-configuration centric framework from the Spring team at Pivotal, marries Spring's flexibility with conventional, common sense defaults to make application development not just fly, but pleasant!

Join Spring developer advocate Josh Long for a look at what Spring Boot is, why it's turning heads, why you should consider it for your next application or microservice!
Accessibility I will present 10 tests that can be performed quickly to measure the accessibility of a web page. If you are a developer, you can fix before posting live. If you are a project manager or a client, you can ensure the level of accessibility without advanced coding knowledge. Bring a laptop (FireFox with Wave and Web Developer toolbars) and follow the steps to test your web page during the presentation.
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.
Ruby Saviez-vous que ruby "freeze" les clés d'un hash? Que Rails possède une méthode `Array#fourty_two`?

Dans cette présentation, je couvre un large éventail de sujets allant des trouvailles les plus insolites aux pro-tips les plus audacieux. En m'allouant une minute par slide, l'objectif n'est pas autant de tomber dans les menus détails que de piquer la curiosité et d'initier des discussions.
.NETQuality assurance Les tests unitaires font maintenant parti de nos pratiques courantes de développement. Par contre, ils sont encore trop souvent considérés comme du code de second ordre, écrit rapidement après le développement. Dans cette présentation je vais montrer quelques astuces pour que vos tests soient faciles à comprendre, rapides, indépendants et ne testent qu'une seule chose. Les démonstrations sont en C# mais applicables avec d'autres langages.
MobileQuality assurance Mobile testing is getting harder: more devices, multiple operating systems, higher quality expectations and shorter development cycles. Much of mobile app testing is manual and moving to automation is a requirement. But where do you start? Do you know who is the typical user and how the app is used? How do you know which devices to test? How do you measure app performance? Come learn a 7-step process and the tools to improve the testing process.
Databases What do you do when your requirements say you need to be able to reproduce the exact same results that a query did sometime in the past? Including to be able to reproduce incorrect statistics on data that has since been corrected? And being able to reproduce exactly which rows were returned by a query in the past? Without large changes to the app?

Well, you do like any time lord would do - break out the TARDIS. Or maybe just use PostgreSQL..
Accessibility L’accessibilité comporte son lot de défis, et c’est particulièrement vrai avec les tableaux et les formulaires. Cette présentation propose un survol des techniques pour créer des tableaux et formulaires accessibles aux personnes en situation de handicap. Comment les utilisateurs reçoivent-ils votre code? Comment leurs outils l’interprètent-il? Débutants ou aguérris, vous sortirez de cette présentation avec plus d’un tour dans votre sac.
E-commerce Every day, several fraudsters try to attack e-commerce, online games and other online services. They try not only steal financial information but to burglar business processes. In this talk, Jeff will show how to architect an application that using DSL associate with Messaging and Webhooks can be a flexible and robust anti-Fraud system to address automatically Fraudsters' attempts or in a fast way produce data to Risks analysts.
HTML & CSS À travers de cas concrets illustrés, nous verrons comment créer des animations performantes grâce à CSS3 (et un peu de JavaScript) qui vont, si utilisées à bon escient, améliorer grandement l’expérience de vos utilisateurs. Au programme : transitions de boutons et animations d'icônes en SVG, menu off-canvas full CSS, customisation de checkboxs et améliorer la visibilité et compréhension des erreurs de formulaires grâce à des animations.
Accessibility "An image is worth a thousand words", but what about if your clients can't see the image? Worldwide, there are 39 millions that are blind and 246 millions have low vision. How can you post images on your website and still reach to everyone? In this session, I will show you how to make various type of images conform to WCAG. I will also share a variety of free tools to validate your images.
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.
DevOps Automate workflows with Terraform and cloud.ca to simplify development and operations. Terraform is a tool to treat infrastructure as code. Each configuration file can describe and generate the components necessary to run an application or a data centre, which allows users to reuse deployments. The presentation will discuss ways we can use Terraform to leverage infrastructure as code and simplify deployments of simple or complex applications.
RubySecurity If you had to go through PCI compliance, you would know how painful it is to audit and maintain data classification of any Personal Identifiable Information. In this talk, Rida will share how to use tools like Rails' ActiveModel to automate and maintain your classification as part of your application.
Internet of thingsNode.js More mobile technologies are empowering people and machines to become more autonomous. In the same way as people, machines need ways to be identified to other sources in a connected environment.

In this talk, Jeff will explain the concept of the physical web, show how to emit a URL for a physical object from a RaspberryPi using Node.js, and how to create an app to read and use it.
Quality assuranceRuby Ruby is a language known for its love of automated testing. It has an awesome set of tools to fill all your needs. Which ones are the best or to avoid? What are some good and bad practices in general in testing? I’ll tell you which tools I’m using now, after years of working on multiple apps with different tools. After this talk, you’ll have a great toolset to maintain a useful test suite over time.
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.
PHPInternet of things Are you ready for the robot apocalypse? Can you build your own internet of things? This task is made simple with the use of a web server and an Arduino. Learn how to make household monitoring and management tasks easier with Arduino and a wifi module.
Ruby You want to know how to build great Ruby on Rails APIs but also with other tool? Where should you start? What are the great tools to build, maintain, test and document an API? I'll talk about various tools like Rails, Grape, ActiveModel::Serializer and more! Will we go funky and try Lotus or something else too? Maybe! After this talk, you will know great toolsets for your next API project, their pros and cons and you'll be ready to dive right in!
PHP Let's build a nice REST API with all the recent helper we can find.
First of all, we will take some time to see, in theory, what's asked to build a Restful API.
Then we'll see some code with the usage of :
- FOSRestBundle, and save a lot of time;
- JMS serializer and its awesome features;
- the HATEOAS project, very nice to unlock the third level of the Richardson maturity model;
- And finaly, a little bit of guzzle to ease communicatio
JavaScript Thanks to the wide adoption and availability of WebGL across browsers (including those on mobile) we get control of the full graphics pipeline.

After understanding WebGL basics and the render pipeline, you'll learn what Three.js brings to the table and you'll get a live coding demonstration you can code along to in which we'll build a 3D web app from the ground up with all elements: Lighting, loading 3D models and keyboard/mouse controls
.NETManagementCollaboration The Comprehensive Kerbal Archive Network (CKAN) is a free and open source, cross-platform mod manager for Kerbal Space Program, with hundreds of contributors, tens of thousands of users, and success metrics measured in decades of human joy delivered; but it wasn't just chance success.

We will examine how to help maximize your open source project's chance of success from the beginning, with a focus on community building and contributor growth.
JavaScriptPython With the high demand of data analytics, this presentation will focus on how to build an analytics dashboard with Flask and the HighCharts API. First, we will look at how to set up a basic Flask app with an elegant UI using Bootstrap. Then, we will look at how to use the HighCharts API and integrate some graphs. Finally, well deploy the app to Heroku and discuss advanced topics such as database for dynamic chart update, security, and other APIs!
Quality assurance Projects fail because they don’t test. Some fail because they test the wrong things. Others fail because they test too much. In this session, an enterprise consultant turned startup entrepreneur will share project case studies in testing atrocities and what can be learned from them. You’ll come away questioning your own testing. Check your dogma and let’s build better software.
DevOpsJava & JVM languages Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It’s critical to reduce time-to-production.

But velocity, for velocity’s sake, is dangerous. Microservices invite architectural complexity that few are prepared to address. In this talk, we’ll look at how high performance organizations make short work of that complexity with Spring Boot and Spring Cloud.
Java & JVM languagesFuture techInternet of things Using a small, land-based robotic vehicle assembled from off-the-shelf components and running Java, the presenter will demonstrate the build process, the robot's onboard sensor array, and how to connect it to the cloud. Examples of real-world use cases will be demonstrated and broader applicability will be shown in varied domains, including industrial facilities, public health/safety, and office environmental monitoring.
MobileSecurity Cette présentation vous présentera les vulnérabilités les plus communes sur les appareils mobiles. Elle détaillera entre autres comment stocker sécuritairement les données de l’application mobile en transport et stockage ainsi que protéger l’application au mieux des attaques externes. Des outils simples vous seront donnés pour détecter ces vulnérabilités.
Python Si à la sortie de Python 3.0, avoir du code compatible à la fois avec Python 2 et Python 3 était assez difficile, ce n'est plus le cas actuellement. Des librairies comme "python-modernize" ou "future" vous simplifie grandement la vie. Nous verrons comment ces librairies fonctionnent et quelles sont les erreurs à éviter.
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.
Career At Confoo and other conferences, there's always a full schedule of speakers. Some are from the area, others are international speakers. But how did these speakers come to be speaking at a conference? And why? If you are interested in becoming a speaker and sharing your knowledge, and you want to know how to get there or what to expect, this is your talk!
DevOps A presentation on how to apply configuration management (CM) principles for your various environments, to control changes made to them. You apply CM on your code, why not on your environments content? This presentation will present the infrastructure as code principles using Chef and/or Ansible. Topics discussed include Continuous Integration, Continuous Delivery/Deployment principles, Infrastructure As Code and DevOps.
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
DatabasesPython Django is an “all-in-one” web development platform. Built-in features include full templating technology, routing and object-relational mapping. Using Django’s ORM capabilities, frees you from having to write your own database access code, so you can focus the application you wish to build. The Django ORM can even create and manage the database for you! Learn how to create objects for ORM, and map properties to columns in your database.
.NET For years, due to the nature of C# projects, C# developers were confined to Visual Studio as their only IDE, and Windows as their only development OS.

Recently, community-driven initiatives such as OmniSharp or scriptcs, have helped developers shrug off the VS chains, and liberate themselves - to develop C# in any editor, on any platform.

In this talk we'll explore them and learn how lightweight .NET application development can be.
.NETMobile Cross platform development is all the rage, and thanks to Xamarin, you can develop mobile apps that target multiple platforms. Have you also thought about targeting markets where English is not the primary language? Join me in this session as we explore the various localization strategies that you can incorporate in your Xamarin native and Xamarin.Forms applications which will help prepare your applications for the global marketplace!
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!
JavaScriptPython Data is everywhere, and much of our work as developers is to present it in a way that is useful, usable, and desirable. In this talk, I will walk through some practical examples of using Python's superb data processing capabilities to churn through datasets, and use D3 in your presentation layer to display interactive, beautiful infographics.
Ruby Rather than manually maintaining model fields and attributes for Rails, I prefer to describe them in a single YAML file, and let Rake tasks take care of building migrations and such. This may not be for everyone, but I'm a *big* fan of letting the computers do all that they can (instead of me) -- having everything defined in a data format supports greater automation for testing, _etc._ Edit one file and let the computers do the rest. Here's how.
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.
ManagementCollaboration Lead your team with The Guiding Principles Activity.

This activity has helped teams and their leaders: co-create a list of guiding principles, use list to guide words and actions, empower individuals to celebrate success & work through challenges, offer permission to find alignment and solutions, alleviate pain, offer hope.

We will run the activity together so you can learn how to apply the activity with your team!
Management Too many teams are working themselves to the bone day after day with no relief in sight. Too often, this unsustainable pace becomes permanent and work continues to pile on top of everything that's already in progress. Julia will share how Kanban helped teams at TBS and F5 Networks deliver more, reduce stress and tame the craziness of the new normal. Come ready to learn concepts you can adapt and apply to your context to make the everyday better!
MobileQuality assurance With hundreds of mobiles and tablets running different versions of iOS and Android and multiple languages, continuous testing is the only sane way to address mobile testing. Tom presents the landscape of automated testing tools for mobile apps, including tools that require programing tests and tools that record mobile app actions for replay, requiring no programming at all. Tom discusses when to use your own devices versus a remote device cloud,
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.
DevOpsPHP Learn how PHP 7 is likely to impact your application and how to identify potential BC breaks. Now would also be a good time to revisit your deploy strategy to make sure it is safe, efficient and atomic and makes use of the latest features of PHP 7.
DevOpsRuby Having a team of 250 engineers is great, but their happiness and productivity is heavily influenced by the tools made available to them.

This talk will focus on our use of GitHub, Slack, Docker, Datadog, Splunk, Buildkite, and many other tools to ensure all our developers can continue to deploy changes to Shopify, a ten year old Rails app, over twenty times a day directly affecting the lives of our 160,000 merchants.
HTML & CSSJavaScript Utilisées par des compagnies telle qu'Adobe, Twitter et jQuery, Gulp et Grunt vous permettrons d'automatiser des tâches récurrentes liées au développement Web. Comprenez les différences entre Gulp et Grunt. Apprenez à automatiser les tâches récurrentes et découvrez les possibilités de Gulp (Validation et compression de JavaScripts avec JSHint et Uglify, Compilation CSS avec SASS et Compass, Synchronisation de navigateurs avec Browser Sync, etc.)
Architecture & design patternsPHP Doctrine ORM is a complex tool that enables development of very advanced applications, but are you actually using it correctly?

What if you have been using the ORM incorrectly or in an inefficient way?

We are going to inspect the advantages and disadvantages of various approaches to application design with this Data mapper, and come up with a set of best practices that will be useful for your projects.
Architecture & design patternsJava & JVM languages Microservices seems to have become the new kid of the buzzword block in our ever colorful industry. In this session we will explore what microservices really mean within the relatively well established context of distributed computing/SOA, when they make sense and how to develop them using the lightweight, simple, productive Java EE programming model.
Architecture & design patterns It is well said that "The more you sweat on the field, the less you bleed in war". Failures are an inevitable part of complex systems. Accepting that failures happen, will help you design the system's reactions to specific failures.

This talks on best practices for building resilient, stable and predictable services:
preventing Cascading failures, Timeouts pattern, Retry pattern,Circuit breakers
and many more techniques in microservices
Python From 'Space Oddity' to 'Blackstar', Bowie inspired us with his diverse personas. What can IBM Watson reveal about those iconic characters through natural language analysis? That's the mission of 'Ziggy' a little Python app that builds a database of songs, and digs into the style and tone of writing within them. This session explores the findings, and shows how it works. We'll consider real world use cases, and future iterations.
HTML & CSS CSS layouts are a pain in the neck. Fortunately, the flexible box layout, also known as FlexBox, is here to address those problems and concerns. Now incorporated as an option in layouts with Bootstrap 4, this new CSS layout methodology has hit the mainstream. Take a quick look at FlexBox, including what it is, how it's configured, where it's useful, its terminology, and browser support.
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.
.NETJava & JVM languages General-purpose computing on the GPU (GPGPU) is no longer the domain of pure academic research. It is being used in real-world applications such as image processing and face recognition, cryptography, big data analysis, and Bitcoin mining. In this session we will examine the available GPGPU frameworks, learn how to integrate GPU processing into our regular .NET and Java applications, and see demonstrations of some interesting GPGPU use-cases.
Architecture & design patterns Did you know there are research institutes dedicated to software engineering, and academic journals full of studies dissecting Agile practices and coding styles? Come survey the latest and greatest in software engineering research. Get the empirical evidence you need to defend "cutting edge" practices like unit testing and version control to your boss, and learn how the ivory tower can help you be a better software engineer.
JavaScriptNode.js Real time notifications are becoming the norm for getting updates to consumers. Socket.IO is built on Node.js and allows developers to send real time data from the backend servers to the client. I will be focusing on using Socket.IO within a web application to provide real time notifications to your client.
DevOps Learn the Pros & Cons of each style of web scaling. Should you keep buying bigger machines or lots of small ones? How does Cloud hosting now change the game? Experiences from working at Hubble Space Telescope (vertical) and Digg.com (horizontal) will be drawn upon.
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.
.NET This talk takes a tour through a number of open source initiatives that only exist out there because of the new .NET compiler - Roslyn. It is single-handedly responsible for a whole wave of new and wonderful .NET OSS projects, and enables, and empowers, .NET developers to work with with some very exciting scenarios and possibilities. Learn why it is so important for the ecosystem and how you too, could become a part of the Roslyn wave of changes.
E-commercePython You are growing your e-commerce business, so what’s the next move that will get you your next sale? Exploratory data analysis to identify opportunities is key. We’ll start small, using Python to illustrate some effective and simple data explorations. Then we’ll talk about how we scaled that at Shopify to automatically give data-driven advices to our 175k+ merchants using PySpark. You'll be able to apply those tricks in your favorite language too.
HTML & CSSAccessibility SEO and accessibility share a lot of core principles. SEO represents almost 60% of online traffic coming to most websites. Accessibility aims to help individuals who have difficulties navigating the web. In Canada, nearly 1 in 10 adults are concerned by accessibility standards.

This presentation aims to show how HTML5 can dramatically improve accessibility and what it could mean for the future of SEO.
PerformancePHP With the Varnish caching proxy you can greatly increase the speed of websites and handle a lot more load. The basics are quite simple once you understand how the cache handling in HTTP works, so we will look into that first. Then I will go into advanced topics like cache tagging and cache invalidation or using edge side includes.
PHPQuality assurance An indepth dive into using Behat/Mink/Selenium for BDD testing.

I will cover Installation, building Contexts, avoiding data deadlocks, common gotchas and "test user account" syndrome, using Selenium to test JavaScript, best practices for writing tests (what to avoid, what to aspire for, writing stories like you mean it, how to get your product owners to write them) and integrating that into your continuous integration toolset.
E-commerce In an age of Google dominance, search is a pervasive habit for visitors. Those who use the internal search are 70% more likely to convert. Users expect a great internal search. Learn how to leverage this core component to increase conversions and distinguish an e-commerce website from its competitors without a negative impact to UX or SEO. We’ll be looking at pertinent examples from Solr, Lucene and ElasticSearch.
Functional programming Rust is a systems programming language focused on three goals: safety, speed, and concurrency. In this talk, you will get a high-level overview of the language, its syntax and semantics, and some code examples.
Architecture & design patternsDatabases Considered by many as the successor to Hadoop, Spark is today used by many major players such as Amazon or Ebay. With its ability to perform fast in-memory computing on clusters with thousands of nodes, Spark has become one of the most promising technology regarding large datasets analysis. After a quick overview of how distributed systems evolved, we'll introduce Spark's core functionalities and briefly cover its libraries.
Java & JVM languagesFunctional programming Java 8 est désormais la seule version supportée. Vous y êtes? Votre monde est peuplé de lambda? Mais vous n'êtes même pas sûr d'avoir digéré les génériques? Je vous comprends.

Les lambda, aussi sexy soient-ils, ajoutent à la complexité. Mélanger aux génériques, il s'agit d'un cocktail explosif.

Nous allons parcourir les tréfonds des génériques et des lambda. Expliquer pourquoi. Fournir des solutions. Tout pour aborder Java 8 sereinement.
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.
PHP When Node.js made its first appearance in 2009 many declared that to be the end of PHP. Yet today, about 6 years later, both environments are very much alive and kicking! Even better: Combining the two may very well be the answer to the needs of the next generation of web applications. This talk will introduce you to a system- and software-architecture that combines Node.js, PHP and Redis into a truly powerful web stack.
Mobile Vous rêvez de pousser des informations sous forme de notifications en fonction de la localisation géographique de vos utilisateurs mobiles ? D'un système de chat 100% dans le navigateur avec vidéo et audio intégré sans la moindre application mobile à installer ? Je vous propose un petit tour d’horizon illustré de cas réels et concrets de ce que les APIs HTML5 et CSS3 pourraient nous réserver pour le futur du web dans nos navigateurs mobiles.
Career As developers, we’re constantly learning: whether it’s figuring out how to solve new problems and bugs, or focusing on new skills and knowledge to apply to our work. At FutureLearn, we reflect our company mission of providing the best learning experiences to everyone, within the way we work as well. This talk will help you make learning a more integral part of your processes and explain how to run internal events to support this.
Architecture & design patterns HTTP is the fabric of the web and the growing API economy. Whether you’re building a backend or a frontend application, creating an API, or consuming an API, it’s helpful to understand the basics of HTTP. Topics covered will include HTTP methods, request headers, request URIs, response status codes, response headers, resource representations, authentication, content negotiation, and caching.
Mobile For over a year, I designed a productivity app targeting IOS, Android and Windows. Discover what I learned. Among others, to validate the concept before anything else, to define a simple design language and to prototype at all stages. Based on the saying attributed to Einstein -that everything must be made as simple as possible, but not one bit simpler- we will explore the intersection of user experience with consumerization.
Java & JVM languages This talk covers Java 8 Streams in details and using programming puzzles will discuss about various techniques with Streams: how to do complex data processing , queries with Streams API, how to use all the goodies like map, flatMap,filter, how to group, and partition data, how to use infinite streams, parallel streams, creating lazy lists.
If you are a beginner or a pro with Java 8 wanting to challenge your knowledge there is something for all!
Management Are you a manager in a world that increasingly wishes you didn’t exist? The positional power structure of traditional management is at odds with an agile approach. But, don’t despair… there’s hope! Fortunately, it is possible to do your job well and have your team want to hug you instead of kill you. Julia Wester will talk about how to transform your role away from its command and control roots and be a valuable member of an agile team.
Management As a tech lead, team lead or other senior-level member of a development team, you may at any time run into the problem where you want your team members to improve themselves, but you have a hard time actually pushing your team members in the right direction. This talk will help you with practical tips and tricks and examples on how to get developers to push themselves to their limits and level up.
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?
PHPRuby The new, shiny app you built solves all the problems of your business. However, as time goes, as new features are added, it's been getting slow. Your manager has noticed and asks you to make it faster. Where do you start? What can you do? Before you start thinking about rewriting feature (or worse, the whole app) from scratch, we'll see how you can profile, benchmark, and restructure tiny parts of your application to make it much faster.
.NETPerformance Speed is king on mobile devices, embedded systems, and even run-of-the-mill desktop applications that need to start up quickly and deliver good performance on low-power machines. In this talk we will review a collection of practical tips you can use today to make your .NET applications faster. We will talk about choosing the right collection, improving startup times, reducing memory pressure, and many other techniques for improving performance.
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.
Performance Modern processors are extremely complex. Writing fast code means not only avoiding slow APIs, but also taking advantage of every last bit of performance the processor has to offer. In this session we will review some key performance wins you can get from modern processors by properly using instruction-level parallelism, vectorizing loops, avoiding store-to-load forwarding stalls, making better use of the CPU cache, and other optimizations.
Architecture & design patternsHTML & CSS Just because an online process works doesn't mean it's as simple as it could be. When users encounter forms with unnecessary steps, content that requires too many clicks to access, or things that just don't make sense, they often give up. In this talk, you’ll see some practical examples of sites that do a good job of making interactions and content easy to use and understand. You'll be able to apply many of these patterns to your own website.
JavaScriptPerformance It’s hard to tell when a new component of an SPA was requested as a result of an intentional user action or something else. Add on the various ways of building SPAs, ranging from raw XHR to Angular, Backbone, and sometimes all of the above, and you have an interesting problem in traffic analysis.

Find out how boomerang measures the performance of SPAs in a way that works for real websites.
ManagementCareer Does your company encourage mentoring? Do you currently have a mentor? Or, even better, do you mentor someone? How do you start a mentoring program? An overview of mentoring both from a company perspective, and from the perspective of those personally involved. Mentoring as a tool for personal development, employee retention and knowledge transfer in the age of "The Apprentice".
Java & JVM languages Groovy is a dynamic language that provides different types of metaprogramming techniques. In this talk we'll mainly see Runtime Metaprogramming.
In this talk you'll understand the Groovy Meta-Object-Protocol (MOP), the metaclass, how to intercept method calls, how to deal with method missing and property missing, the use of mixins, traits and categories. All of these topics will be explained with examples in order to understand them.
Java & JVM languagesFuture techInternet of things Learn how to build scalable, self-sustaining Embedded Ecosystems powered by small-scale Renewable Energy (solar, wind) systems – and connect those systems to cloud services. Hardware components include Raspberry Pis, Arduinos, weather/environmental sensors, & physical control devices; software includes Java Embedded, Cloud services, & JavaScript.
HTML & CSSJava & JVM languages How many times have you ever heard the term "Full-Stack developer"? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS... What if I told you that you can be a Full-Stack developer using only Groovy?

In this talk I'll present the technological stack of Polaromatic, and you'll learn that it's possible to write the whole stack using Groovy. Isn't that amazing?
PHPQuality assurance Satisfied with your unit test code coverage? Are you sure that your code is thoroughly tested, and not merely executed by the tests? Learn what mutation testing is, and how Humbug can help you give your test suite a run for its money. Humbug is a tool that injects defects and regressions in your code and then checks if your tests noticed.
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
Databases With the newly added JSON support in MySQL, you can combine the flexibility of NoSQL with the strength of a relational database. In this session, Morgan will explain the new JSON datatype, and the new set of functions for handling JSON documents, available storage and indexing options. In addition, he will present benchmarks showing how much one can expect from the MySQL server in different use case scenarios.
Databases It's far too common today that both applications and organizations don't use more than a tiny portion of the functionality in the tools they use - even that which has been available for years.

In this talk we'll go through some of the features added to PostgreSQL in the past 4-5 years that can make a huge difference if used right - and yet very few people use things like FDWs, Range Types, Ordered Sets and more.
SecurityNode.js The arena of proper auth & data security standards is often some of the most misunderstood, confusing, and tricky aspects of building Node apps. Using open source auth techniques and proper data encryption standards, we’ll learn how to make intelligent decisions on creating a solid infrastructure to protect our users and data. We’ll dive into auth systems, data attack vectors, how to protect your systems, and common security pitfalls in Node.
Architecture & design patternsNode.js This presentation is for you, if you’re a JavaScript engineer who is interested in deepening your understanding of Node.js patterns. Node.js patterns covers callbacks, factory, middleware, observer and other common patterns. With the right pattern, applications will be more scalable and easier to maintain. Join the session, if you aspire one day to become a Node.js architect or to extend your knowledge.
.NET If you could drop a box of TNT on the ASP.NET stack and start over, what would it look like? Fewer dependencies, faster builds and viewing changes without compiling? Check! A composable, injectable, self-hostable stack? Check! The MVC 6 Framework has several new features, but these aren’t only skin-deep. In this session we’ll walk through the MVC pipeline, expose the new parts and discuss what the changes mean to real-world developers.
DatabasesJavaScript Web and mobile apps shouldn't stop working when there's no network connection. Based on Apache CouchDB, PouchDB is an open source syncing JavaScript database that runs within a web browser. Offline-first apps built using PouchDB can provide a better, faster user experience—both offline and online. Learn how to use the HTML5 Offline Application Cache, PouchDB, and CouchDB to build offline-enabled web and mobile apps.
Architecture & design patterns Retour d'expérience sur les outils que nous avons mis en place pour rendre la plateforme de l'Opendata français (data.gouv.fr) explicite sur la disponibilité des milliers de ressources distantes. Petit laïus sur l'impermanence du Web avant de proposer des solutions concrètes pour y pallier localement et/ou tous ensemble…
DatabasesPerformance Relational databases have been the center of the world for many years although they suffer from a prefixed schema you have to adhere to. Now you have a choice: using a NoSQL database.
OrientDB is a NoSQL, multimodel and amazingly fast database since it can store 220,000 records per second on common hardware. This talk will show you some graph theory and the main advantages of using a graph database such as OrientDB.
RubyFuture tech For certain problems, parallel computing blows away the serial style we learned in school. Parallella is an 18-core, credit card sized supercomputer that developers can use to start learning parallel computing right now. The hardware is open source, circuit diagrams are on GitHub, and it runs Linux. This presentation will show how developers can start learning Parallella and parallel computing today. Code examples will be given in C and in Ruby.
E-commerce Learn how to easily implement credit card payments into your web applications with Stripe. This talk will teach you the basics of the core Stripe API. You’ll also learn how the Stripe Connect gateway works for supporting payments in a marketplace for platform solution. Finally, you’ll learn about the Stripe Relay API, a solution that allows your customers to buy products from within other mobile applications.
PHPQuality assurance Heard about PHPSpec? Well its PHP object mocking framework called Prophecy is quite nice. We'll discover its API, similarities and improvements regarding the one from PHPUnit. Finally, we'll take a look at the integration of Prophecy in PHPUnit.
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.
Databases NoSQL databases are every where and they are here to stay. For a successful scalable web application it is vital to understand capabilities of NoSQL databases.

Also relational databases are not dead and they will not be. Understanding abilities of each, would help making better architectural decisions.

Hybrid database solutions could use bests of the both worlds. We would go in to the important decision making factors for each.
HTML & CSS Coming from typical frontend development this talk shows how to use Web Components and the Polymer Framework to build reusable components and wire them up into a full-blown web application. The talk will cover the basics of web components and expand to using Polymer to build such components. It will be a walkthrough of a real showcase application. Last but not least we will discuss pros and cons of Web Components.
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!
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.
DevOpsPHP For designers and developers working alone or in small teams, making websites live, or making updates can often involve remembering what has changed and manually syncing files over FTP. This fragile process can easily leave your site broken.

In this talk aimed at designers and new developers, I look at some of the ways we can improve this process.
E-commerceSecurity We are in an age where more people have phones than toilets, and there are more active cell phones than people on the planet. How do we protect all of these devices roaming around unsecured locations, especially when they want to pay for something. Learn the secrets behind building a secure mobile backbone, as we explore how to harden security, build systems based on identity confidence, and work towards a future proofed mobile framework.
Architecture & design patternsPython Django, Flask ou Falcon ? REST ou GraphQL ? Comment rendre une API Web compréhensible par les (ré)utilisateurs et par les futurs mainteneurs ? Quels sacrifices (performances, sémantique, utilisabilité, etc) sont possibles ? Quelle stratégie d'évolutivité mettre en place ? Quelles statistiques pour quelles décisions ?
Architecture & design patternsPython We'll examine the "Meta" inner-class pattern used in popular python libraries such as Django, Factory Boy and Django REST Framework. The use of inner classes is part of a technique that allows for library creators to place constraints on provided customization points at class definition time. This talk will span the Python type hierarchy, how to define new types and review magic methods related to class construction.
Python Depending on who you ask, PEP 484's Type Hints are either the next big thing in Python, or the harbinger of doom upon our entire community. Which is it? Let's find out by looking at a language that isn't Python in any way at all!
JavaScript From start to finish, a simple HTML5 game can be designed and developed in less than one hour. With a dose of creativity, the conceivable styles and scenarios are limitless. In this session, learn how to apply object-oriented JavaScript programming techniques to create instant web games with custom graphic sprites and the CreateJS code library.
Architecture & design patternsJava & JVM languages As our industry matures there is an increasing demand for high-throughput, low-latency systems heavily utilizing event-driven programming and asynchronous processing. This trend is rapidly converging on the somewhat well established but so-far not well understood term "Reactive".

This session explores how Java EE as a whole aligns with this movement via features and APIs like JMS, MDB, EJB @Asynchronous, JAX-RS/Servlet/WebSocket async, etc.
Architecture & design patternsDatabases ElasticSearch is a real-time search engine with powerful querying and analytics capabilities. Couchbase Server is a leading NoSQL database, designed for scalability, reliability and speed, with a mechanism for replicating data into ElasticSearch. On its own, each one is awesome; combining the two turns the awesomeness up to eleven! In this session, we’ll see how to tie them together into a seamless data storage and analysis platform.
HTML & CSS Discover the secrets behind CSS color values, and how to adjust color attributes like saturation and brightness using Sass. Find out how user context, perception, and color blindness affect what people see, and what you can do to make the colors on your site more accessible. Learn why colors look different on different devices and how you can ensure your color choices make your site look good for all users and on any type or size of screen.
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
Security Single use codes delivered by Email and SMS, mobile phone verification using automated phone calls and installed apps, or standalone physical devices - there's more than one way to do 2-factor authentication.

There are benefits and downsides to each. Learn how each one works, and what is best for you and your users. Avoid common mistakes when rolling out 2FA, and take a look at how you can add one, or many, to your application's login's flow.
Java & JVM languagesFunctional programming Whether you like it or not, Scala is here to stay. Appeared about 12 years ago, it is today widely used among high traffic websites such as Netflix or Twitter, and is supported by an ever growing community. However, despite its hype, Scala is still considered as relatively obscure by many developers. In this talk, we'll introduce its main aspects, and expose the reasons why you should consider it as your next skill to learn...or not.
Security This is not your normal security talk. We're going to look at the data from an ongoing 4 year project to see just how vulnerable the average consumer website is.

We'll dissect the results, pull out some interesting tidbits, stare at horror at the rats-nests we come across and, hopefully, come away with some insights and awareness of the insecurity of the web around us.
Architecture & design patterns This question has been haunting managers since the beginning of software development. We can now ask ourselves the same question about web applications. In this talk, we will discuss elements that could influence your decision. We will also expose a way to evaluate if the rewrite-solution really worth the investment.
Architecture & design patterns.NET Developers now have a great, open source library for implementing real time communication solutions. SignalR is a cool, real-time library that simplifies and abstracts all the complexities and can be used across web, mobile and desktop applications. Join Christos Matskas as he shows you how to get started with SignalR and leverage this amazing, community-driven library to provide real-time experiences for your users.
JavaScriptInternet of things Nowadays, more and more things are getting connected on the Internet. It is now easier than it has ever been to automate some stuff around your house. It's nice to have a button to control lights from your phone but what if you wanted to add some more advanced interactions with your other connected devices. Using WinkJS, a wrapper around the Wink ecosystem APIs, the attendees will learn how to make their smart home smarter.
Mobile Are you thinking about developing mobile apps? Are you wondering what you need to know to hit the ground running aside from just the development aspect? In this session, I will talk about the non-technical side of becoming an independent app developer and things to keep in mind as you start on this journey, including costs, source code management, analytics, end user support, marketing and monetization.
JavaScript More and more, people seem to be obsessed with real-time data. But what does real-time mean in the world of REST servers and one-way communication? Most modern web applications are now either displaying a snapshot of data at a given time or use a polling mechanism to update series of data at a given interval.
In this talk, you will learn about the power of WebSockets and how they can (and should!) be used in your modern web applications.
Java & JVM languages Have you ever wanted to build your own Siri? Building a custom speech recognizer may be easier than you think. Java has many many open source tools for DIY speech recognition, including state-of-the art libraries like deeplearning4j, caffe, and CMUSphinx. In this session, we will demonstrate a few of these tools in action and show you how to use them to build a robust and accurate voice user interface for Java applications.
PerformancePHP PHP 7 is here. It brings drastic performance and efficiency improvements to the point that it will reshape the data center footprint of PHP sites globally. It also brings a number of new features including new coalesce and spaceship operators, scalar typing, zero-cost assertions, anonymous classes and much more.
PerformancePHP PHP 7 is here. It brings drastic performance and efficiency improvements to the point that it will reshape the data center footprint of PHP sites globally. It also brings a number of new features including new coalesce and spaceship operators, scalar typing, zero-cost assertions, anonymous classes and much more.
ManagementCollaboration This is a talk for anyone who wants a more diverse engineering culture at work. If you've ever been frustrated by the sameness of your engineering peers, you'll hear practical advice you can use immediately.

Creating a diverse team is more than a moral issue - it makes business sense. Diverse engineering teams recruit the best talent, are more innovative, better reflect the needs of their users and make for incredibly fun places to work.
Career Working from home is a great privilege and also a great responsibility. You’ve likely heard horror stories of people who have worked from home who end up sacrificing their personal space and falling out of love with their job. It doesn’t have to be that way! Learn the tricks, hear some anecdotes and discover a few of the secrets of those who find success in remote work.
Management From Developer to Lead to Manager, everything changes at each step and it’s not easy. You don’t get to code anymore and need to sit back and wait while others fix problems you know you could fix immediately. You find yourself in lots of meetings and they are frustrating. It isn’t easy.

Having done it twice, I’ll try to show you what I’ve learned in the process and ways to make a success of it.
Mobile At WWDC 2014, Apple announced Swift, a new programming language for iOS and OS X. In this session, we will review Swift’s fundamental concepts, including built-in types and collections, optionals, closures, protocols, extensions, generics and custom operators. We will see how Swift improves upon Objective-C in terms of type safety, readability and developer productivity.
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.
PythonQuality assurance This is a story about the unit tests suite at the National Film Board of Canada. An analysis and presentation was done on September 2013. The suite was too long so we were not always running our tests locally.

During the presentation, a summary of the analysis will be given and you will be told a series of tricks that helped us accelerate the performance of these mysterious tests.
Databases If one of your 'duties' is taking care of a MySQL database despite having not DBA training, then you need to attend this session. Come learn why database are often difficult, troublesome time sinks that never seem to work as you needed. Topics covered will be proper hardware for your server, configuration settings to make the server more responsive, how to monitor your server efficiently, when to do backups, and security tips to keep data safe.
Python Python 3.5 est sortie le 13 septembre 2015 et apporte comme à chaque version son lot de nouveautés : langage normalisée pour le typage optionnel, un opérateur pour le calcul de matrices, de nouvelles expressions pour la programmation asynchrone ou une nouvelle fonction beaucoup plus rapide pour le scan de répertoire. Nous ferons un tour des nouveautés et nous nous attarderons sur les plus importantes, notamment et surtout le type hinting.
Architecture & design patternsDocumentation When designing a web application, drawing diagrams can help programmers understand the requirements of a project and test their mental model of implementation. UML diagrams can capture both application behaviors and data structures. Ones useful to web developers include the deployment, use case, sequence, and state diagrams. The best approach for using UML diagrams with modern web development methods like agile will also be discussed.
JavaScriptQuality assurance Writing unit tests is a time-consuming chore; but it is necessary before we can fix bugs or develop new features. Testing AngularJS code in particular requires a lot of boilerplate. In this presentation I will show a simple helper library can remove all the extra code and allow to unit test code in seconds.
Performance "Ces paramètres sont réputés comme améliorant les performances", dit le consultant. "Pourriez-vous faire une analyse statique des performances?", dit le CIO. "Je suis sûr que le problème de performance vient de X", dit le développeur. "En production, les machines sont super puissantes, c'est sûr que ça va être rapide", dit l'optimiste.

Et si on apprenait à tester nos performances sérieusement?
Future tech As more and more apps record audio and video we need to think about what to do with the files. Playing them back isn't enough. These files are full of data that developers can start exploiting thanks to an emergent category of signal and natural language processing technologies. Some of these are accessible via developer-friendly APIs.
HTML & CSSMobile Bootstrap is one of the most popular responsive design frameworks in use today. With the release of Bootstrap 4, this powerful framework modernizes its CSS and integrates Sass as the CSS preprocessor of choice. This talk will compare Bootstrap 3 with Bootstrap 4, including identification of new features, removal of older features, and summarizing what Bootstrap 4 means for your upcoming web development work.
DatabasesDevOpsRubyDocumentation At Red Hat we make very extensive use of Puppet to manage systems, and Hiera to make things as data-driven as possible. With thousands of systems, and hundreds-to-thousands of Hiera keys, keeping track of what affects which *could* be a monumental manual task -- but we let Hiera's own structure automatically build and maintain its own documentation with some help from Ruby scripts. In this session I show how we do it.
DevOps Learn how to get a Vagrant environment running quickly, using a project called Oh-My-Vagrant. I'll show some tools such as vscreen & vcssh which make it possible to connect to many vm's easily. I'll demo how to integrate with config management, and how you can use these techniques to simulate clusters of containers. This talk will include live demos of building docker containers, orchestrating them with kubernetes, and all glued together nicely.
ManagementCareer Most of the times when people talk about imposter syndrome, it’s from the perspective of the person who is suffering from it. This talks looks at the various things companies can do to create an environment to stop imposter syndrome from happening.
PHP 'When all you have is a hammer, everything looks like a nail.' Do you find yourself always reaching for your favorite language whenever you need to build a solution? In this talk, we’ll explore a real-world PHP project that selectively migrated to Go. We’ll discuss where PHP shines, why we chose Go where it doesn’t, and how an investment in finding the right tool for the job improved not only the project itself, but the team as a whole.
.NETMobile Would you like to learn how to create intuitive, powerful apps that can run across multiple devices? With the new unified Windows platform and Universal apps, it is now easier than ever to write code that is re-usable, modular and responsive. Join Christos Matskas as he shows you how to get started with application development using the new Universal Apps project template and discusses the advantages and disadvantages of this approach.
Mobile In this presentation we’ll take a look at Xamarin.Forms, a cross-platform UI toolkit abstraction that allow developers to easily create mobile applications that can be shared across Android, iOS, and Windows Phone. Xamarin.Forms apps are written in C# using Xamarin Studio or Visual Studio, leverage the .NET Framework and are rendered as native applications that retain the appropriate look and feel for each platform.
Security Il existe une panoplie de mécanismes de protection contre les XSS. Pourquoi les XSS sont-ils toujours d'actualité? Dans la mire de cette présentation, on retrouvera le Chrome XSS Auditor, IE/Edge XSS filter, Request Validation de ASP.NET et les entêtes Content Security Policy. Comment ces mécanismes peuvent être contournés? Que doit-on vérifier pour prévenir ces vulnérabilités? C'est ce que vous découvrirez dans les multiples démonstrations.
Future tech Every company wants to predict the future, that’s why Machine Learning is so exciting. In this session we will use Azure ML Studio to get you started with Machine Learning. We will show you how to use a dataset to train and evaluate the accuracy of a predictive model. Then we will show you how to take your predictive model and expose it as a web service based on REST so you can create a website or application that makes its own predictions.
Architecture & design patternsNode.js This talk will give a sneak peak of the most interesting and powerful Node.js features. This talk dives deep into the core mechanisms of the Node.js platform and some of its most interesting features such as: brush-up on the core concept which enables the non-blocking I/O, streams and buffers, how to access more info, crash course in the event-based pattern, clusters, AsyncWrap, domain and uncaught Exception, C++ addons.
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.
PythonQuality assurance Test-driven development's great, but what happens when you find yourself working on code where automated testing took a back seat to being shipped? This talk looks at techniques for automated testing of late-stage or even production code, and how to use this to fix bugs in your code. Testing late in life isn't a lost cause any more!
Architecture & design patternsPHP ZF is a highly customizable and very powerful framework, and with great power comes great… chaos!

Yes, you will eventually introduce problems in your application by taking shortcuts and using dirty hacks "just because you can".

Fear not! There there are some simple strategies that you can use to avoid problems.

We will look into various ways of developing flexible and reusable modules, services and configurations, and uncommon mistakes.

Montreal 2016 sponsored by