March 8-10, 2017
Montreal, Canada

Top 20

JavaScriptPHP The time of static or dynamically generated sites is long gone. Non-stop interaction with users is the new normal. However, polling with Ajax requests is processor intensive and cumbersome. Websockets allow you to interact with users in real-time without increasing system load. We'll go through the basics and see all the different options, illustrated with live examples.
JavaScript This is about JavaScript, clutter, purity, and thoughts on what should be in the language that comes after, assuming that we all live that long.
HTML & CSSJavaScript The modern web browser is a powerful and flexible platform that is far more capable that you might think. Many advanced features can get lost in the gap between front-end and back-end development skill sets. Find out about the HTML5 APIs you've never heard of, from audio to video to physical sensors, and interaction methods for mobile users. Learn where they are supported and how you can start work with these APIs in your next project!
Networks After 16 years a new version of the HTTP protocol has now been finalized and wide support in browsers and web servers is coming quickly. In this talk I'll explain how HTTP and browsers work in general and what you currently have to do to make your application as fast as possible. Based on this I'll show what HTTP/2.0 is all about, what it changes and how it can help your application's performance.
DatabasesPerformance ElasticSearch is a really powerful search engine, NoSQL database & analytics engine. It is fast, it scales and it's a child of the Cloud/BigData generation. The focus of this talk is on doing actual work & achieving actual results.

Topics: filters and queries; cluster, shard & index management; data mapping; analyzers & tokenizers; aggregations; security & proxying; the ELK stack; ElasticSearch integration.
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 some of the most useful design patterns with practical code samples to solve real world problems.
In 30 minutes, I'll quickly cover some tools and platforms that are worth considering in your next project no matter what it is. All are ready for large scale, million-user per day deployments. Some you may be familiar with and others you might not have considered and some you might not have heard of. Most will be worth looking up after the the talk finishes.
Architecture & design patternsJava & JVM languages Let's examine the ups & downs of adopting a microservices architecture and why, in most cases, the pros outweigh the cons. The presenter will discuss & demonstrate how to build & integrate microservices using popular open source tools. Risks & mitigation strategies will be discussed & shown, including load balancers, circuit breakers, tests, & other mechanisms at your disposal to increase software quality.
Machine learning This talk will show the most frequent used algorithms for machine learning, comparing the advantages and disadvantages for each of them.
Both supervised and unsupervised learning will be covered in this talk. We will walk through Linear Regression, Logistic Regression, Regularization and Support Vector Machines for Supervised Learning. For Unsupervised Learning, we will talk about Anomaly detection and Recommender Systems.
PHP I love programming. I've been messing around with code since I was a kid and the Internet started to pick up. I've been to a couple of companies and seen some great code as well as some very "WTF" stuff. In this talk, we'll look at what makes good quality code and how you can make your code better for yourself as well as others, along with some examples of how to rewrite some basic code to make it better. We'll use PHP, but it applies to others.
HTML & CSSJavaScript Have you ever wondered how the computer takes a bunch of boxes, makes them ones and zeroes and then puts them as little dots with vibrant colours on screen?

You will gain understanding of the nitty-gritty details of how your browser processes and renders your web application or website. It also explains all the weird things, like the mysterious and often-quoted “GPU acceleration” and why some CSS animations are smoother than others.
Architecture & design patternsPHP Resistant, highly testable, safe and maintainable code: or not?

There are a thousand ways to break your code, and a lot of ways to prevent that from happening.

Let's explore defensive programming and learn how to protect our code from invalid usage.
Architecture & design patternsRuby As an application starts to grow, the flexibility that inclined us to build a monolith vanishes. The once reliable system is now prone to errors, bugs leak to unexpected places and new features take a considerable time to be delivered. Spotify, Amazon and Netflix solved these problems moving to microservices, giving back productivity and confidence to developers and stakeholders. I want to share some guidelines that helped me do this transition.
Tests & quality Après des années à faire des tests unitaires et du TDD, qu'avons-nous appris?

Quels sont les pièges les plus courants pour les tests unitaires? Qu'est-ce qui fait que les tests deviennent difficiles à maintenir? Comment augmenter son retour sur investissement?

Qu'est-ce qui a changé depuis les dernières années dans les meilleures pratiques de tests unitaires et de TDD?
JavaScriptMobile Offline First is an approach to application design in which a web, mobile, desktop, or Internet of Things application is built for offline usage first and is then progressively enhanced to take advantage of network connectivity when available. An Offline First app can provide a better, faster user experience — both offline and online — by storing content and data locally and synchronizing with the cloud when a network connection is available.
Architecture & design patterns Web APIs are relatively simple to implement, which has led to many ill-conceived APIs out in the world. Creating APIs that make developers jump for joy is a goal we should all have, and this proposal outlines a process for API development which will result in a better considered product.
Machine learningPython Neural networks have seen renewed interest from data scientists and machine learning experts for their ability to accurately classify high-dimensional data like images and sound. In this session we will discuss the fundamental algorithms behind neural networks, and develop an intuition for how to train a deep neural network. We will then use the algorithms we have learned to train a simple handwritten digit recognizer using TensorFlow.
Dev Environment Have you ever wondered how to get out of a bad merge? Have you ever gotten stuck trying to push your changes? Git is a wonderful and empowering tool, but it's not your father's version control system. Bring your Git questions for this no-slides demo of Git command line and GUI tools. We'll harvest your curiosities, add in some common concerns, and run through these scenarios together. Have an open-source project you're stuck on? Bring the GitHub
JavaScriptNode.js Bots and conversational apps give you the opportunity to bring your apps to your users right where they are. Users can interact with you via various messaging services, including text messages. Not only does this mean they don't need to install yet another app, they can access the information and services they want directly, without navigating a UI. This session will show you how to get a bot up and running quickly using Bot Framework.
Security It happens even to tech giants: they get hacked and client databases get leaked. Let's look at what data is the most sensitive and what steps we can take to protect it, while still keeping all of the user experience intact. Come see why most web applications do passwords and credit card information wrong.

Montreal 2017 sponsored by