March 7-9, 2018
Montreal, Canada

Top 20 sessions

Architecture & design patternsPHP In this presentation I will show you how to leverage HTTP headers in your PHP application to achieve a maximum hit rate, without losing touch with the challenges of real-world web projects.

We'll talk about cache-control headers, ESI, AJAX calls, vary headers, accept-language, separating stateful from stateless content, conditional requests, and content invalidation.

I'll apply these concepts to a Symfony 3 application to prove my point.
HTML & CSSJavaScript Progressive Web Apps are the new hotness with Google pressing hard to make them the defacto choice for building mobile applications but what's to be done about iOS where many of the key API's are not supported. That's where Apache Cordova/PhoneGap comes in by polyfilling the missing functionality. In this talk I'll show you how to create a PWA that runs on the web, Android and iOS from a single code base. Take advantage of some new tools to easil
Cloud ComputingDevOps Elasticsearch is a scalable text-search engine that replicates its index onto many instances. Managing many clusters can be daunting as their configuration drifts and their intrinsic data distribution diverges. At Shopify, we built an internal search operator with Elasticsearch, written in Golang and using Kubernetes as its foundation to allow deployment on k8s fleets, like Google Cloud. I’ll share lessons learned and benefits of this system.
Node.js Let's build our first Alexa skill with the Serverless framework. We we will walk through the key concepts of an Alexa skill and the Alexa ecosystem, build a skill, test and deploy it to Amazon Lambda. Alexa responds with both voice and visual clues depending on the device you use, so we will look at how to make the most of our users device be it an Echo, Echo Show, a FireTV or a Fire Tablet
JavaScript JavaScript is an incredibly powerful language, and extremely accessible, but is subject to sometimes vitriolic abuse from other language communities for it's 'footguns' or WATs.

We will discuss the history of JavaScript, it's future, and how it's common pitfalls can be worked around. We will also tour over a dozen other language WATs to show that it's not just JavaScript that can cause developers pain.
Architecture & design patternsPHP Laravel makes it really easy to build APIs, we will explore how to use it to build powerful and flexible APIs. We will cover how to use Passport to support oAuth authentication, how to build flexible responses with Transformers and how to rapidly build RESTful logic in our application.
PHPTests & quality A common language, understood by technical and non-technical stakeholders alike, is essential for good communication in a software project. Combining ideas from Domain-Driven Design and Test-Driven Development, this ubiquitous language can be represented in both production code and test code. Attendees of this session will learn how to create tests that are easy to write, fast to execute, and deliver highly reliable results.
DevOpsPHP "Every outage is like a murder mystery" is a common complaint. But it doesn't have to be! This talk gives an overview on how to monitor PHP applications from all possible sides — operating system, webserver, database, logs, metrics, and tracing across systems.
Blockchain The blockchain is a hot new topic in the technology due to the rise of various cryptocurrencies, Bitcoin being a most prominent example. How does it work? What advantages does it give? What problems do they solve? What problems can be solved that way? I want you to dive with me into the immutable world of blocks where I will explain everything, from a simple hash, through Merkle trees, up to implementing your own blockchain.
Career Are you responsible for the code you write? Ask the Volkswagen engineer who's in prison for creating software that allowed their cars to “cheat” on emissions tests. Or think of the ethical issues if you're programming IoT devices that spy on users and report back to the company. The technology we create affects people's lives. We need to be aware of how much power we've been given and start taking responsibility for what we build.
AccessibilityHTML & CSS Developers often have to make decisions that will affect the usability of the finished site, such as choosing appropriate input types, maximizing performance, and including accessibility features. Learn to think like a user and uncover usability problems that might not be apparent at first glance. Hear some tips make your site more usable and accessible. User experience isn't just for designers to think about.
Security We being surveilled! Governments and companies collect data. Hackers want that data.

What can software as a service providers do to protect data at rest? What if you need to work with that data? End-to-end encryption isn't an option, so where do we turn?

In this talk, Ben discusses and demos ways to securely and anonymously handling and distributing sensitive information between users, without allowing the raw data to give anything away.
JavaScriptPerformance WebWorkers have been very useful for performing computation-intensive tasks in parallel, preventing browser lockup. Recently a new beast has appeared: the ServiceWorker. I will show how to use both WebWorkers and a ServiceWorker to add new features to the web development: rendering HTML from data without blocking the main thread, supporting offline mode, computation-intensive tasks.
DatabasesPerformance So you know how to add an index to speed up your queries. Good but do you know how to multiple column indexes, hashed indexes, provide optimizer hints, use generated columns, or understand how character sets & collation mismatches hurt performance? Do you know how Common Table Expression, Windowing Functions, and subqueries work on later versions of MySQL? If you do not know the answers to these then you need to be in this session.
JavaScriptNode.js Developers often waste untold hours a week waiting for rebuilds, manually switching windows, reloading pages, restoring in-page state, and so on. This is unfortunate, as we've been gifted with numerous tools to automate reload, and even *hot reload*, for quite a while now.

In this talk, Christophe showcases workflows, tips and tricks, using widespread editors, tools and browsers, to make that web / Node developer feedback loop ever tighter.
Architecture & design patterns While Object Oriented Programming provides a basis for structuring code, the question "How do I make sense of all those business rules?" remains unanswered. Domain Driven Design (DDD) main goal is to manage complexity by defining how to translate domain logic to code. In this presentation, you will see the main concepts of DDD and how it facilitates communication between developers and domain experts.
HTML & CSS CSS is becoming more and more powerful and nowadays it allows a lot of possibilities. This talk is a compilation examples for more advanced tips and techniques to add to your CSS skills. Have you ever wanted to curve text around a floated image? Or maybe style broken images? How about using attribute selectors more effectively? Then this talk is for you.
MobileMachine learning Core ML a new foundational machine learning framework used across Apple products, including Siri, Camera, and QuickType. Core ML enables you to build apps with intelligence using just a few lines of code. In this session, you'll learn how to use features such as Computer Vision, Image Recognition, and Natural Language Processing (NLP) with immersive code samples and demos.
Security Stopping viruses is hard. They're clever, evolve, and become more resilient over time.

So let's write one! We'll see how they hide, how they propagate.

In this presentation, Ben takes you on a live-demo journey of self-replication, cryptographic obfuscation, and payload delivery.

Now you're thinking like a virus writer, you can anticipate which areas of your applications need hardening. Just remember, we're doing it for good, not profit!
HTML & CSS Although CSS has been part of the web for over 20 years, one of the least understood parts is the cascade and inheritance. Today, we see many developers actively fighting the cascade, class-itis permeating HTML, and site builders adding !important all over their stylesheets. Learn what the cascade is, how it works, and why it makes sense, and you'll be ready to implement cleaner, DRYer stylesheets.After all, without the cascade, CSS is just SS.

View all 154 sessions

Montreal 2018 sponsored by

Become a sponsor