February 18-20, 2015
Montreal, Canada


Top 20 My wish List
ArchitectureMobile Lately, I have been involved in the design of a personal task manager for IOS, Android and WP8 (built with Xamarin.Forms). Explore with me what I learned during this unique journey. Among others, discover the psychology behind the design elements that attract users and keep them "hooked". Discover how usefulness come from what is not there, the emptiness that generates real value. These topics may seem odd, but the results are not. Less is more.
You've decided to level up your Git skills and have heard that rebasing is where it's at. In this session we'll talk about: WHY rebasing can make it easier to untangle your project's history; WHEN you should use rebase; WHAT rebasing actually does to your repository; and HOW it actually looks when things go right (and how to recover when things go wrong).
ArchitecturePython A talk on how to structure complex production-ready Django applications.
DevOps Salt, a relatively new player in the configuration management space, offers quite an impressive amount of features for startups and agencies, both big and small. We'll look at how Salt's explicit separation of state and data, it's parallel execution model, ease of extensibility and remote data querying capabilities make it a first class candidate for ensuring your servers and development environments are in a known and reproducible state.
DevOps Haven't got time to learn all about nodes and clouds and elastics? This introductory session will give you a baseline for getting started on AWS.

In this talk, we'll cover file hosting (S3), server hosting (EC2, VPC), DNS hosting (Route53), database hosting (RDS), and some additional things like Cloudwatch, CloudFront, and ElasticCache, but we'll focus on the moving parts of EC2.
.NETMobile At Build 2014 the world was introduced to the idea of creating Universal Windows apps. This technology will allow developers to extend platform commonality across multiple Windows devices from one shared project.

In this session I will demonstrate what you will need to know to get going quickly on building one application for both Windows Phone 8.1 and Windows 8.1 OS. We will also see how to extend your project to include other new features.
JavaScriptPython Over the last few years JavaScript frameworks have come of age. Whether you use Backbone, Ember, or Angular, developers are coming to grips with a more MVC type approach that has been used by backend developers for years. Server side development has also evolved to support more REST / API based communication. Learn the ins and outs of Angular and Flask together to build an end-to-end solution.
Architecture It is becoming ever more common for server-side developers to build APIs thanks to the rise of front-end JavaScript frameworks, iPhone applications and generally API-centric architectures. Grabbing data source and shoving it out as JSON sounds easy, but there is so much more. Surviving changes in business logic, database schema updates, using serialization to avoid directly outputting database structure, JSON-API and loads more.
.NET In this session, we will looking at how SignalR has the ability to have your server-side code push content to the connected clients as it happens, in real-time, and also look at the Persistent Connections model of communication . You will then learn how to integrate SignalR into an ASP.NET application, use SignalR to communicate with clients.
DevOps Avast! Do you find your backend sinking whenever a storm hits the shores of your datacenter?
Then it's time to hear the shanty of Docker, CoreOS and Fleet to tame the seas.

The talk covers the concepts behind CoreOS and Docker and shows how to transform an existing application into a docker-based set of containers and how to control and manage them with Fleet.

The audience can use t to better scale and distribute their own backends.
.NETQuality Assurance You may know TDD but do you know BDD? Just like its cousin Behaviour Driven Development is a technique focusing on development using automated tests but at the functional or behaviour level. Think automated acceptance testing using English sentences with a few extra keywords: Given, When and Then.

In this presentation I'll be using SpecFlow, a Visual Studio extension that help us write BDD style tests easily.
DevOps Individual humans do not scale very well, we can barely multitask.  Azure Automation is a highly available automation service which helps you "Automate all the things".  Anything from deployments, to monitoring to maintenance tasks can be set up using this reliable workflow execution engine.  This presentation covers the fundamentals of the Azure Automation service and provides some insights into how to leverage it with your own solutions.
Management Can you navigate among audiences? Do you adapt your speech based on the persons in front of you? Do you walk away from meetings feeling that all your stakeholders understood your message? And yes, sometimes it does include your partner:) Being "multi-lingual" is a skill that can be developed - in this highly interactive session, let's look together at how you can get started!
Management Over the past decade the Agile practice has become the defacto methodology to manage project. But how come we still have projects that go over schedule and budget?

In this presentation, Yann Larrivée will show you how you can improve your team performance by using some of the core concept of Agility. Additional technics will be presented to help fill-in the gaps left by Agility.
Architecture MVC allows you to divide responsibilities in your application but offers no help in building the most critical part: the domain logic. This talk will introduce ways that can help you to encapsulate the richness of your domain. We'll look at patterns such as Action Domain Responder and Hexagonal Architecture before introducing Domain Driven Design. Find out how to get beyond MVC and begin modelling your domains in rich, powerful and reusable ways.
HTML/CSSMobile Bootstrap is a front-end framework that allows you to create responsive layouts, meaning that they automatically adjust to any screen size. It's easy to use, fast to integrate and looks amazing. This presentation will teach you how to quickly create an adaptive layout and with little effort. It will also feature a case study of transforming an existing web application.
Mobile What if instead of a broad location, you could have pinpoint location awareness of someone in a physical space. How could this change everything about how we interact with the physical world? In this session we will be exploring Beacon technology, which enables this, the underlying Bluetooth Smart standard, and how we can use these systems to change everything from shopping, to accessibility for the disabled, all built on top of a mobile device.
JavaScriptMobile See how I worked my way through the web technologies available today to build a mobile banking app that has no backend, uses state of the art encryption and looks gorgeous - all using web technologies.
We will take a look at Phonegap, Ionic, best practices and pitfalls of mobile web development and how to bring something to the app store that does not fall short of competing native apps
Ruby This talk will cover best practices for building HTTP API clients in Ruby. We'll start by examining a few open source examples for inspiration, looking at how battle-tested client libraries are organized, what lower level HTTP libraries they depend on, and what sort of interfaces they expose. That information will guide us in building a simple API client for an imaginary service.
.NETPerformance Microsoft Application Insights for Visual Studio 2013 is a suite of tools designed to help teams derive key metrics from their applications. Users can see detailed information about usage, performance and availability of their websites, Windows Phone apps, Windows Store apps, Windows Azure services and more.

In this talk we will see how to add Application Insights to new or existing Visual Studio projects as well as Windows Azure services.
Quality Assurance Unit testing is now considered a mainstream practice, but that does not mean it is as common, pervasive or as well understood as it could or should be. Many programmers struggle with the quality of their tests and with the focus of their code. In this session we’ll learn how to write good unit testing code.
PerformancePHP One of the biggest bottlenecks in an application is the point at which data is requested from some source, be it a traditional database, web service, or something else. One method to overcome these bottlenecks is the use of caches to store pages, recordsets, objects, sessions, and more. In this talk, we'll explore a variety of caching tools and mechanisms including Memcached, Redis, reverse proxy caches, CDNs, and more.
PHP CakePHP is part of the old guard in the framework space. Throughout its life many things have been added/removed and changed. I’ll be taking a look at some of the mistakes we made, how things went wrong, and how we’ve tried to resolve those problems.

In addition to the framework code itself, I’ll be discussing some of the tooling around the project that people may not have considered, but are vitall
PHPQuality Assurance PHPUnit has had support for code coverage analysis for a long time. This is one of the features that is extended and improved with each release of PHPUnit. This session, presented by the creator of PHPUnit, will code all aspects of PHPUnit's code coverage functionality in depth. Attendees of this session will learn how to leverage this important functionality more effectively to augment and guide their testing effort.
PHPQuality Assurance Le TDD (Test Driven Development) gagne en popularité dans la communauté PHP. C’est maintenant une pratique accepté. Mais commencer peut sembler difficile.

Dans cette session, nous allons voir ce qu’est le TDD. Nous allons commencer par voir les principes. Puis les outils utilisés, et comment s’en servir au quotidien. Nous allons aussi voir les difficultés souvent rencontrées et comment les contourner.
Management More and more companies are realizing that there can be great benefits in allow knowledge workers to telecommute - and developers are dancing in the streets. But what are they actually doing at home? Do they put on pants? Are they working their required 8 hours each day? Are they actually at their desk when you have a conference call? We'll chat about why these are the wrong questions to ask and what to expect both as a remote worker and manager.
Databases Shared data systems try hardly to satisfy data consistency, system availability and tolerance to network partitions.
In a distributed system it is impossible to simultaneously provide all these guarantees at any given moment in time.
The purpose of the talk is to show the mechanism used by data storage systems such as Dynamo and BigTable in order to satisfy two guarantees at a time.
PHP A few years ago, I had an idea to add a new function to PHP: array_column(). Starting out on this journey can be daunting to user-land developers unfamiliar with the landscape of the PHP internals. In this talk, I demystify this process, explaining how to set up an environment, create an RFC, communicate on the mailing lists, and send a pull request. I hope this talk will encourage you to scratch your own itch and contribute to the PHP core.
Ruby Building Rails Engines is a powerful way to organize and reuse modules and functionalities across Rails applications. The whole concept of Engines, however, may sound obscure to new Rails developers. This talk is an overview of the basics of creating an Engine with its own set of models, controllers, views, assets and migrations. Beginners will also learn how to wrap and distribute a Rails Engine as a Ruby gem.
HTML/CSS As a web developer you have all the skills you need to publish your own ebooks, to self-publish or to produce handy ebook versions of project documentation.

In this presentation I'll explain how to create EPUB, MOBI and PDF files of your book using various tools. I'll also show you how to use CSS to format books, using the CSS Paged Media Module and associated specifications.
HTML/CSSRuby Recognize the benefits of using a living pattern library and rapid prototyping to increase communication and collaboration between designers and developers. In this session we will review a case study from an enterprise-level development group traditionally staffed with 60+ developers and no designers and how they were able to implement a pattern library and rapid prototyping framework into their design and development process.
E-CommercePHP Bitcoin and other distributed virtual currencies are revolutionizing how monetary value is stored and exchanged on the Internet. Key opportunities and risks will be described. The two main objectives of this talk will be to explain the underlying blockchain and cryptology technologies that make them work, and to demonstrate PHP recipes for using the web services that enable payment processing, identity validation, and smart contract execution.
HTML/CSS Having a solid understanding of CSS Selectors is vital for any developer writing front-end code as part of their work.

In this session I'll walk you through the Level 3 CSS Selectors specification with practical examples that you can use in your work today. We'll also take a look at the new selectors that are part of the Level 4 specification, ensuring that you leave the session with your knowledge up to date.
Python Through this talk, I will show you how to setup Alembic to enable database migration with SQLAlchemy and how to properly integrate it in your deployment toolchain. I will also highlight strategies to move from SQL scripts to a complete migration system using Alembic. Finally, I will give tips on how to support custom types and specific databases' extensions.
Databases Most software centers around some type of database or at least data structures. As software developers we need to understand the principles of Database Normalization.  For the most part the first three normal forms are common sense. We’ll discuss the normal forms and use the classic example of an invoice to demonstrate how to apply the principles.
JavaScriptSecurity Cookies have been around for decades and have served us well. Nobody questions their usefulness. However, modern apps demand a better approach. This session is all about the natural successor to cookies: using a token-based design. Tokens help build apps that are assembled on multiple stacks, that use your own and 3rd party APIs. They help easily “flow” user identity across all layers and security contexts , regardless of how they authenticated.
PHPSecurity If your web application exists on the public Internet, someone *will* try to exploit it.
Many of these are un-targeted & scripted, their authors hoping that their target will fall to one of the hundreds of un-patched vulnerabilities in frameworks, blog engines or storefronts. Let's go through some common and uncommon exploits in the wild, starting from their traces in server logs, and see how we can detect them and better protect ourselves.
Management Lead your team with The Guiding Principles Activity.

This activity has helped teams and their leaders:
1. Co-create a list of guiding principles;
2. Use list to guide words and actions;
3. Empower individuals to celebrate success & work through challenges;
4. Offer permission to find alignment and solutions;
alleviate pain;
5. Offer hope.

We will run the activity together so you can learn how to apply the activity with your team!
HTML/CSSPerformance In the world of the Internet user's experience is in many cases controlled by the browser, and the browser's ability to render the page is the ultimate measure of how fast or slow a particular page and/or application is in the eyes of the user. This session will outline the tools that can be used to effectively measure the user experience in the browser as well as outline a number of approaches and performance tricks.
Ruby This talk showcases Design Patterns and the Ruby language. We'll provide an introduction to some of the capabilities that make Ruby unique and, at the same time, learn about some common design patterns. More importantly, we'll demonstrate how to use modern programming features like closures, lambdas and dynamic dispatching to re-think the way we implement design patterns.
Architecture 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, guidelines and examples that show what REST really is about and why Hypermedia matters.
Mobile Have you wanted to develop apps for a popular wearable device such as Google Glass? Perhaps you had an idea for a device that you’d like to prototype & bring to market? Not sure where to start, or haven’t found time to get into it? In this session, you'll find out about most of platforms on the market, learn the code to build apps for wearable devices & the steps on how to prototype your own. To quote Tony Stark: "We're back in hardware mode!"
DevOps Infrastructure-as-a-Service (IaaS) platforms now offer a number of advanced tools such as infrastructure deployment through APIs, advanced configuration management and automated build/test/deploy based on code commit. Using these tools properly makes it easier than ever to automate the deployment of code and the creation of development environments, increasing the opportunity to properly test software and reducing time to get code to production.
DatabasesPerformancePython Si la facilité de développement est assurée avec Django, il n'en est pas de même pour la scabilité. L'utilisation abusive de certains modules comme Paginator peuvent vite se transformer en gouffre à IO. Il sera fait une démonstration de l'utilisation de fonctions comme bulk_create ou cursor.copy_from, vous ne ferez plus jamais un .save() dans une boucle sans y réfléchir.
Python Dynamic documentation is relevant to developers because the information lives where they actually interact with it, and relevant to key stakeholders because it can be presented in a consumable, curated format. This talk will discuss a unified documentation system using Python and open source tools that pull from an issue tracker and wiki to export specification documentation on-demand. Let's eliminate outdated docs that require repeated efforts.
E-Commerce Development practices impact on an online business’ bottom line. Building an ecommerce website that satisfies business needs and customer expectations is key. We will share some tips to ensure an ecommerce site that performs well according to digital marketing standards. We will look at things such as up-sells, load time, shopping cart, information architecture; elements that can make or break a website.
With so many "Git how-tos" out there, where to start? This is not another one of those. Instead Adam Culp will give a practical walk through the development cycle and how to use Git as the source control. From initialization of a repository, adding, staging, cloning, and checkout, we will walk through a sample project and how most developers actually use Git to manage the workflow.
Architecture Beaucoup de systèmes stockent l'état final des objets, ne conservant que le résultat et non pas la cause menant à ce résultat. Or, conserver les "événements métiers" entre deux états d'un objet peut avoir une grande valeur à la fois pour le métier et pour la technique. Dans cette présentation, je parlerai de L'Event Sourcing qui propose d'utiliser les "événements" comme un système de stockage très scalable et qui préserve l'information métier.
Many developers (including myself) can spend years writing code that serves up web pages, blissfully unaware of the layers of protocols and infrastructure involved in delivering the experiences we craft to our users. To that end, I’ll attempt to explain every step between electrical impulses travelling through an ethernet cable and a page being shown in a browser.
Python Using Flask, the Python micro-framework, you can expose an API to allow users a simple way to interact with your application. Flask gives you the ability to build an ecosystem around your service. User-accessible APIs are a must-have for any web application. From uploading content to accessing data, Flask is well-suited to securely expose your web app to the larger community.
PHP Adam Culp will give a basic intro to Zend Framework 2 (ZF2) and how to use the foundational pieces. We will get a Zend Framework 2 application up and running quickly using the Zend Framework 2 Skeleton Application, and Zend Skeleton Module to add modules. Adam will also introduce some useful resources to help attendees continue learning on their own. The talk will give attendees enough information to get a jump start into using ZF2.
Architecture I've been a developer at FreshBooks for almost 5 years. Our technology stack was at one point a monolithic flying spaghetti monster. Today FreshBooks is built out of many small services.

This talk will be about some of the strategies we used to increase test coverage, pay down technical debt and continue to deliver new features to customers. I'll also talk about some of the mistakes we made along the way.
HTML/CSSJavaScript From time-to-time our front-end workflows can get pretty repetitive. Sometimes we attempt to manually compile pre-processed languages, minify & concatenate our code. In this session Bermon will review common front-end workflows and how they can be automated with GulpJS. Front-end developers of any level are encouraged to attend. Discover the differences between Gulp and Grunt, using Gulp as a build tool, writing workflow tasks and plugins.
JavaScript RGB, CMYK, HSV, HSL… We have a lot of ways to write code about colors. One thing they all have in common is that they define a space with more than two dimensions. In this talk we'll experiment with the 3D nature of color spaces using a Leap Motion gesture tracker, some smart light bulbs, and lots of JavaScript. Along the way we'll talk a bit about color theory and a bit about why Node is well-suited to this sort of exploration.
I've had ADHD and OCD my entire life, but didn't get diagnosed with it until I was 33. Up to that point, I struggled as a developer to get things done. This talk is all about the tips, tricks, and techniques I used to get things done. From managing your time, prioritizing, and being a better leader, this talk is full of the things I still use on a daily basis to overcome having both ADHD and OCD.
Regular Expressions are a powerful pattern-matching tool for any developer to have at their disposal. From search and replace in a text editor, to web server redirect rules, to string manipulation in your application code, regular expressions are everywhere. This session is an introduction for any developer who feels like they never understood regexp and wants that to change. The code focus will be on PCRE in PHP, but similar for many languages.
HTML/CSSJavaScript Grunt makes building JavaScript, Sass, HTML and any other front end code dead simple. It is quickly becoming an indispensable tool among front end developers because it can fit into just about any build or continuous integration system. In this talk we'll bring developers up to speed on how to get Grunt running and integrated with your project. Then we'll move onto some core tasks that should appeal to every web developer.
Java The new Java 8 stream library is the most exciting addition to come to Java in a long time. It allows entire algorithms to be expressed in one line, parallelism to be obtained on-demand, and plumbing code to be flushed down the drain. This session will show you how to think in streams, effective parallelization, plus advanced concepts like mutable reduction and declarative collection. Write better code with streams. This talk will show you how.
Databases NoSQL document databases are increasingly being used in a large number of use-cases for web and mobile apps. This session provides a brief overview of Couchbase Server, a document database, its underlying architecture, and drill down into three specific customer use cases : Paypal – A multi data center session store, LivePerson - A scalable, real time analytics system, and Orbitz – A highly available cache solution.
HTML/CSSJava The HTML5 juggernaut is radically changing client-side development on mobile devices as well as the desktop. Given the pervasiveness of HTML5, where does JavaFX fit in the picture? This presentation examines both HTML5 and JavaFX, covering the technical strengths and weaknesses of each. This is a code-intensive session. An app written in HTML5 and JavaFX will be compared. Also shown how the two technologies can complement each other.
HTML/CSSSecurity HTML5 brings both new markup (tags, attributes) and new JavaScript APIs, both directly from the W3C/WHATWG HTML5 specifications, and within other standards documents. But what does that mean from a web application security point of view? Which new attack vectors exist, and how can we protect our web sites from them? This session will feature markup that evades filters and APIs that allow developers - and attackers - to do more than ever before.
JavaMobile Java EE 7 provides a strong foundation for developing the back end for your HTML5 mobile applications. This heavily code-driven session shows you how you can effectively utilize Java EE 7 as a back end for your Apache Cordova mobile applications. The session demonstrates Java EE 7 technologies such as JAX-RS 2.0, WebSocket, CDI, and Bean Validation. It provides an overview of the basics of Apache Cordova and important JavaScript libraries.
Mobile Ways of identifying a person to the technology around them is shifting from antiquated external body definitions, to internal body functions. In this session, we'll explore how the technology behind this embeddable and wearable movement works, exploring vein recognition biometrics, heartbeat identification, and going into embeddable body modifications as sources of identification.
.NET 10 years after the release of the original book Domain Driven Design by Eric Evans we are seeing more and more applications built on the core concepts of DDD. Still, there is a long way to go before we fully grasp all its potential. First we need to change the way we do things in our projects. I this session I will show one of the possible implementation in C# that I've been using for many years now.
Databases Every time you choose how to store data in your database, a lot of things happen under the hood.
Making the best choice is even more important in those applications that aim to high performance.
The purpose of the talk is to show how indexes work and how slightly changing their combinations can impact on the performance of your application.
HTML/CSS Modern website design has expanded beyond the traditional page model. "The movies" are a source of inspiration for a new generation of websites such as interactive music videos. Discover the cinematic language used by filmmakers to deliver emotional experiences, and see code that makes it work. The examples, including JQuery effects, CSS3 animations, and the HTML5 Canvas, will demonstrate how to deliver content for maximum emotional impact.
Python Aren't sure your mobile app will play nice with your next web app release? Got a tricky session-related bug that's difficult to reproduce in the browser, but is confounding your support team? Just want to see what your HTML pages are loading, and when? Sounds like a job for an inspecting proxy server like Charles or mitmproxy!

We'll cover inspecting HTTP(S) proxy basic, & some use cases for why and when this skillset should be in your toolkit.
JavaScript Why, How, and What We Did Wrong.

Most of us don't have the luxury of building a new application from scratch and being able to do it "right". In this talk, I'll discuss how we integrated AngularJS into an existing round-trip application.  What we did wrong.  What we did right.  Lessons learned.  How users reacted to the changes.  What are our next steps. Finally, I'll include some tips on how to plan your own integration.
HTML/CSS As a product goes global, multiple languages and currencies becomes a major requirement. Sounds straightforward, but is simply displaying localized content enough? Will a design choice work for both Japan and US markets? Will that 200px wide column fit long greek words? Will your layout still work on a right-to-left language? In this talk, we'll see the challenges of implementing a front-end that works for 42 languages and 54 currencies.
PHPQuality Assurance L’intégration continue permet d’exécuter automatiquement les tests à chaque fois que du code est poussé.

Nous allons voir les types de tests qu’un serveur d’intégration continue peut exécuter. Comment créer le script ‘build’. Et comment configurer Jenkins pour qu’il exécute le build et affiche les rapport produits.
Java Functional programming techniques and principles are important tools for software developers. They tend to produce code that is concise, reusable, simple to test and easy to parallelize. This talk will cover the basics of functional programming such as pure functions, higher-order functions, immutable data structures, data types, pattern matching, etc. Java and Scala will be used to illustrate the concepts.
Mobile Swift is Apple's brand new language that simplifies the process of building iOS apps. In this session, no matter if you have zero experience coding, you'll learn how to build a retail app end-to-end using Swift! You will find out how to design interfaces using storyboards, make phone calls, launch websites & add images and maps. You'll be coding along so bring your Mac & download Xcode (available for free in the AppStore) before the session!
Management Offering and receiving feedback are tough skills to master, yet critical to be able to work effectively and grow professionally. Knowing feedback is coming or that you have to give it, can be scary!

In this session learn how to offer "feedback that gets used" & how to "receive feedback like a pro". Get ready to learn more about your own preferences for offering/giving feedback and how your own actions/words can impact how people perceive you.
Java After some time of Java EE 7, we can finally get a feedback from the good and bad parts. What will be expecting us for Java EE 8? A big community survey was made to define new JSRs, CDI questions and NoSQL. This talk will summarise the results and risk some predictions based on Java EE 7 production systems.
Java This session introduces JMS 2 (JSR 343), the first update in more than a decade and easily the longest-awaited component of the Java EE 7 standard. The biggest new feature of JMS 2 is a new API that makes JMS much easier to use, especially in a Java EE application. With JMS 2 final with Java EE 7, now is an ideal time to find out more about it. In this session, we will also discuss what might be next for the JMS specification.
Java Curious about those weird parameter we pass as arguments for JVM? This talk will show them in a didactic way, explaining the basics about byte code, memory model, garbage collector and many other concepts that developers usually have problems. Some performance tips based on JVM internals will be presented as well.
Management Que pensez-vous de votre équipe? Quelle serait votre équipe idéale? Il n'est pas toujours facile d'arriver à cet idéal.

En agile, on prone l'équipe par rapport à l'individu. Pourquoi? Comment pouvez-vous aller chercher le plein potentiel de votre équipe?

Basée sur des expériences concrètes, cette présentation vous permettra d'enrichir votre boîte à outils pour souder votre équipe et relever le défi.
JavaSecurity La sécurité d'une application est en constante évolution. Un jour, elle peut être considérée comme sécuritaire alors de lendemain elle ne l'est plus. Comment est-ce possible? Tous les jours, des vulnérabilités sont découvertes dans des composants dont vos applications dépendent. Il existe des outils pour supporter des activités comme la revue de code ainsi que la revue des dépendances. Cette présentation fera un survol de ces outils.
PHP Facebook introduced Hack lang for HHVM in March, 25 2014. So what's Hack? It's an almost interoperable language with PHP that tries to introduce new features to PHP. You get static typing, enforced typing hinting, generics among other features.
We will go through a few example to see what can Hack offer for a PHP developer.
JavaScriptSecurity Everybody has been creating Single Page Apps lately. They look neat and fast. Handling authentication in an SPA can be tricky though: Cookies, Tokens, Right to access URLs and Resources. Which one is better? In this talk, I explore all these options: pros and cons. We’ll use AngularJS as an example but the concepts apply to any other client technology like Ember.js or vanilla JS.
E-Commerce Who ever said payments were complicated/boring? This is a quick introduction into the world of online payments and how to make it fun and enjoyable for your customer. Whether it be on your smartphone or website, we'll show you how you can get setup and accept payments quickly. We'll also show you some cool tricks, tips and best practices. and ways to get started.
There are numerous reasons why asynchronous messaging should be introduced in applications, as well as many approaches in incorporating messaging subsystems. In this talk we'll cover several scenarios where introducing messaging can help, discuss a few messaging patterns, as well as look at abstracting your messaging subsystem to guard against evolving technology and designs. Techniques can be applied to any platform, examples will be in Azure.
JavaScript Ever wondered how to get rid of that spaghetti, single-filed JavaScript code? Wouldn't it be nice if you could write maintainable modules, easily test them, port them to different projects, handle its library dependencies, and have them decoupled from other modules?

In this talk, we'll see how using the AMD API and an event-driven design will help taming an application's JavaScript code and scaling it to the future and beyond.
DevOps Do you know how many calls per second your server is processing? Should you increase the heap size? What's the response time for each of the API endpoints? If your service fails, will you know? Can you identify the performance bottlenecks quickly? Is new feature working as expected? Why has the CPU increased since the last deployment?

This talk will be about logging, monitoring, alerting and tracing strategies, systems and tools.

Management What does it take to move up to the next career level? Who are the people taking those decisions, and what are they looking for? How soon do you start asking yourself these questions? How do you even figure out if that's what you really want? I'll try answering these questions (plus the ones you'll come up with - yes, I do offer chocolates for each question you'll bring up) in this highly interactive session!
.NETMobile Writing apps for Android and iOS? Tired of writing the same code twice? How about one code base that would be compiled natively (yes, natively) on each platform? In this presentation, we’ll take a look at the Xamarin platform and how you can reuse your code across iOS, Android (even Windows Phone) and create apps that run natively on each platform.
HTML/CSSMobile In this talk, we will see how to use the power of the JVM in conjunction with libGDX, and develop native 2d or 3d games for Windows, Mac, Linux, Android, iOS and html5.
We will take a look at the various technologies that enable cross-platform distribution. Then we will look into the performance problems we can face using a garbage collected language. Finally, we will go through the development of a small 2d game for native desktop and html5.
DevOps Did you ever configure Apache and think: "Oh I'm already done? I wish there was more to do!"

That's exactly how I currently feel about Nginx. It's a Web server that already knows about your use case and is waiting to offer you the solution.

Let me show you how it can be your Web server, Load balancer, SSL off-loader, reverse proxy and/or cache in 50 short lines of config or less.
Databases NoSQL and Big Data are conflated – many view them as synonyms. But the problems these technologies address are quite different. While hadoop "the Big Data poster child", is focused on data analysis, NoSQL tech focuses on delivering operational data management for modern web and mobile apps; the Big User problem. In this presentation, we will explore why every NoSQL deployment should be paired with Hadoop by exploring some real-life use-cases.
Nearly all open source projects have some form of peer review system. In this session you will learn the pros (and cons) of adopting a peer review system in-house. To illustrate how this unfolded in the real world, a case study will be used. We'll talk about the overall setup, the impact on the team, and give you tips on how to conduct a good peer review.
PHP Are you still stuck on PHP 5.2? Looking to migrate from 5.3 to the latest and greatest?

This talk will cover all the best new features and tooling since PHP 5.3, all the way up to PHP 5.6 and beyond.

Namespaces, Closures, Traits, Generators, Variadics/Argument unpacking, and more!
PHP Performance issues can be caused by many things, from database interactions, i/o and, less frequently, the code itself.

This talk will take that profiling a step further and look under the hood of PHP, at the C internals of how things tick.

This talk covers what every PHP developer should know about their tools — like what's really going on when you use double quotes vs single quotes.
Python Python 2.7, derniere version majeure de la série 2.x, est sorti en juillet 2010, et ne sera plus maintenue aprés 2018 (dans 3 ans !). Il est donc impératif de passer à Python 3 pour disposer des nouvelles fonctionnalités sorties depuis. Cette session est un passage en revue de toutes les nouvelles fonctionnalités depuis Python 3.0 pour vous remettre au niveau et comprendre les apports du passage à la version 3.
JavaScript Long gone are the days when your Javascript functions were cluttered with HTML or when you injected AJAX responses into DIVs. Meet AngularJS, the framework that brings you clean separation between application logic and templates, does the heavy lifting for backend communications, helps with multilingual support and much more. I will help you build better applications with less effort.
PerformancePHP Measuring and improving the performance of your PHP application is critical to giving your customers a great experience. To get the deep understanding where the performance flaws lay you need a profiler. XHProf is an open source, minimal overhead profiling tool for PHP that can be easily deployed on any machine and readily provide the answers to your performance questions.
Java Every Java developer should understand the basics of JVM bytecode. It’s fun, it can help improve performance, diagnose problems and even opens the door to building languages of your own. In this talk, you’ll learn how the most common bytecode operations work and see visual representations of how the JVM executes that code. Ultimately, we'll create a new language by using a few Java libraries that generate bytecode.
HTML/CSS Wireframing a new site or app is key to not only anticipating logical inconsistencies and identifying potential development roadblocks but can also be instrumental in garnering client respect and achieving project commitment. This session will cover the best prototyping tools available: from basic views and quick turnarounds to complex functionality for seamless access across multiple devices (including client feedback integration).
DevOps Deciding how and where to host your company's data and services can be a difficult choice with many variables. The choice you make today will affect you for years to come, but what works now may not work when your business doubles or quadruples in size. I will share some of the lessons I learned as Vanilla grew from 2 virtual machines to over 600, and how to plan ahead.
Architecture Dans cette présentation nous verrons une introduction aux « design patterns » et pourquoi il est bon de les connaître. Nous allons ensuite transformer un vrai bout de code en introduisant les bons patterns.
HTML/CSS Content is the most important feature of your website, so you need to make sure that the text looks good and is easy to read no matter what device type or screen size it's being viewed on. Use media queries to adjust type qualities such as size, line height, column width, margins, hyphenation, and even typeface depending on the viewport size. Use CSS to apply design rules that will make your typography look better & perform better across devices.
Python Pendant 7 ans, j'ai participé au développement d'un produit développé en Python / C (~180k SLOC) chez un éditeur logiciel. Je vous propose un retour d'expérience et quelques réflexions personnelles sur l'utilisation de Python sur un projet de cette taille. Je détaillerai ce qui est pour moi des points de friction avec le langage et les moyens de les contourner.
Ruby Many digital camera manufacturers refuse to share their camera communication specifications with users. That’s a big pity, without this, we can hardly make applications for cameras. gphoto2 was created for this, but it’s a reverse engineering software just like wine.

This talk will cover the introduction of Sony Camera Remote API, the API integration with Ruby and demonstration of how Ruby can process binary and streaming.
E-CommercePerformanceRuby Shopify is an e-commerce platform that powers over 100,000 online shops such as Budweiser and Tesla. During the weekend of Black Friday and Cyber Monday, the platform gets hit with over a million requests per minute resulting in over 6,000 orders per minute (~50 million dollars.)

Learn how we scale our Rails app and the measures (load testing, monitoring, caching, browser tests, etc.) we take to ensure that there are no hiccups.
PerformanceRuby At Ballistiq, we run sites with millions of page views and hundreds of thousands of users each month. One of the concerns often brought up by clients is whether Ruby on Rails can scale to a large user base. Absolutely, yes. In this talk, I show some strategies for how to build a scalable architecture with a Rails application. I talk about architecting a scalable infrastructure on Amazon, caching, background jobs, and more.
Databases Traditional relational databases have a rigid schema, and most NoSQL databases are completely schemaless. But reality often demands something in between, and this is why PostgreSQL 9.4 ships with new and enhanced JSON support that allows the best of both worlds.

In this talk we'll look at the new "jsonb" datatype, it's flexible and performant indexes, and how to use those to get a "dynamic schema" architecture.
JavaSecurity OAuth 2.0 is an open authentication and authorization protocol which enables applications to access each others data. This talk will presents how to implement the OAuth2 definitions to secure RESTful resources developed using JAX-RS in the Java EE platform.
Python Of the microframeworks out there, the big boy on the block is Flask, and the other popular alternative, that offers a super simple API with a lot of power, is bottle.py. While you can build out server-side web with bottle, we'll focus in on building out an RESTful API, and see why this microframework offers big things for your development.
Ruby When building large applications, we often end up with at least one complex controller doing a lot of work. In this talk we will go over a few refactoring techniques, such as flows and form objects, that allow moving your code out of controller actions. The result strays away from the Rails conventions, but allow writing code that is simpler, easier to understand and easier to test.
Management We'll initially examine how and why estimation in Agile goes so wrong, so often. A new, structured and empirical method for estimating story points will then be introduced. The method involves taking into account human and environment-related factors, as well as technical ones, assigns weighted points to them and uses a numeric formula to derive a user-story's point estimate.

It's estimation, Jim, but not as we know it.
Java The popularity of cloud environments is real and the deployment of SaaS applications is becoming a strong business model. To support these applications is essential to create a multi-tenancy environment separating each customer data and providing a single execution environment with security and isolated customer contexts. This talk will demonstrate different technologies and strategies used to implement those features using the Java EE platform.
PHP The Symfony full-stack framework and its Standard Edition are so flexible that you can build your application the way you want. When it comes to build a Symfony application, many architectural questions arise and everyone tries to give his\her Symfony best practices. This talk will introduce some of the new best practices recommended by the Symfony core team and SensioLabs to make your code follow the standards!
You’ve been programming for a while now. You’re beginning to feel that you’ve got a handle on things but at the same time can’t escape the feeling that you’ve somehow plateaued in your growth as a software developer. In this talk Yitzchok, a rabbinic scholar and software developer, shares the “wisdom of the sages” as practical, actionable advice – strategies and tactics – that you can use to reinvigorate your growth as a software developer.
Quality Assurance Automated developer testing is part of the foundation of agile software projects, but for many teams testing is something we do without question, not something we think critically about. Its time to put strategy back into developer testing. In this presentation we will look at understanding quality requirements, identifying risk and problem areas in software and planning developer testing efforts.
JavaQuality Assurance This session outlines how to effectively test Java EE APIs like JSF, Servlet, CDI, EJB 3, JPA, WebSocket and JAX-RS. Java EE includes a number of new features that enhance testability like generic dependency injection, portable extensions and embedded containers. Using these features and best of breed tools like JUnit and Arquillian it is possible to perform unit, integration, system and functional testing for Java EE APIs at all layers.
Architecture If you're building or consuming APIs, there are some tools you should know about.

Tunnels make it easy to point callbacks and webhooks to your local development server. Proxy services capture, debug, and replay API traffic. External monitors track uptime for the APIs you use - or provide - and verify expected responses.

Learn about tools that can make you more effective at integrating and releasing APIs, save time, and simplify debugging.
Security It's pretty common for developers to go with the same kinds of authentication handling when they're creating their applications with permissions and groups. Unfortunately, as applications grow in side an interact with other systems, this kind of system sags under the weight of its own technical debt. Follow along with me as I talk about some alternatives to the typical RBAC authorization including attribute-based, multifactor, pattern-based and f
JavaScript A new version of JavaScript is on the horizon, with features include built-in class support, iterators, templates, destructuring assignment, promises, just to name a few. We don't need to wait to use it! Google's Traceur compiler "transpiles" these new ES6 features, so you can write future compatible code, today!

This talk will cover new features of JavaScript, demonstrating how they can be used to write more maintainable OO JS code.
Security Secure development has become a necessary part of any development process, there’s no way around that. Protecting the various parts of your application (and users) is also becoming more complex. Writing the code is only half the battle - it still needs to be tested. What tests do you need to worry about, though? Join me as I walk you through the most recent version of the OWASP Testing Guide and guide you with a few recommendations of my own.
PHP From ReactPHP to Facebook Hack's Async implementation and many more, asynchronous programming has been a 'hot' topic lately. But how well does async programming support work in PHP and what can you actually use it for in your projects ? Let's look at some real-world use cases and how they leverage the power of async to do things you didn't know PHP could do.
HTML/CSSPython WebSockets are notoriously difficult to setup with Django. In this talk, Rami will present the state of WebSockets in Django and showcase several of the methods available to developers.
DevOpsPHP Horizontal scalability has always been at the core of PHP application design, and in the cloud, that approach shines the brightest. But to fully leverage the power and convenience of PaaS offerings such as Heroku, it's worth following certain best practices and methodologies when developing applications. This presentation covers and demos the steps from code and dependency management over configuration to maintaining dev/prod environment parity.
JavaScript This talk will an intro to Persistent (Immutable) Data Structures, what they are and why they're awesome. We'll then look at React.js, how their approach of building a "Virtual DOM" is such a different take on UI than other traditional JavaScript frameworks. Finally, it will show how combining the two provides huge benefits in both perf and consistency when building robust user interfaces, with numerous real-world examples.
In this talk, Jason will introduce tmux, the terminal multiplexer. He’ll cover why you’d want to use it, and then teach you how to actually use it with practical examples. He’ll teach you his favorite key bindings, and then go into some incredibly handy plugins that you can use that will make your tmux experience so much better. Once you are done learning tmux, you’ll never understand how you got along without it.
JavaScript Single page web applications have been all the rage recently. We created our own JS MVC framework and used it to rebuild our admin. Less than a year later we changed course. What fuelled this decision? What lessons have we learned? What worked and what didn’t? This talk will share our experiences, as well as our new hybrid approach: a modified version of Turbolinks combined with a lightweight binding system.
Databases How can you track all changes to your data across time? This talk will introduce you to the techniques you need to do that. We’ll examine the theory behind temporal database tables as well as the changes in the SQL:2011 standard that support them. We’ll also look at how you can implement temporal tables, both for DBMS that support SQL:2011 and those that don't. By the end of this talk you should be able to take your data to the fourth dimension.
Performance Développer une application scalable aujorud'hui est à la portée de tous, la tester pour lui faire supporter de 1 à 1 millions d'utilisateur est aussi simple, si on utilise Tsung. Après une présentation générale on entrera dans les arcanes des modules Erlang pour développer des tests de peformance riches en fonctionnalités

Architecture Quick and reliable data processing keeps businesses at the forefront of their industry. Applications and their data continuously change in the face of non-stop near-real-time analysis requirements. This can pose major delays for businesses and cost money. We present some of these difficulties and address how we use versioning, evolution, and type safety to processing streams and allow for data-replay; with Avro, Kafka, and Scala.
Quality Assurance Getting started with unit testing is not hard, the only problem is that most programs are more than a simple calculator with two parameters and a returns value that is easy to verify.

Writing unit tests for multi-threaded code is harder still.

Over the years I discovered useful patterns that helped me to test multi-threaded and asynchronous code and enabled the creation of deterministic, simple and robust unit tests.
Databases MySQL 5.7 will be the first release of MySQL to enable the strict SQL mode by default for all installations. This change means that instead of truncating input and returning a warning to the application, MySQL will now refuse input and return an error. This change is one of a series of related changes to make MySQL safe by default.

This talk will describe what breaks, and how you can be best prepare for the upgrade.
DatabasesQuality Assurance In this session I will describe tools and best practices for using MySQL as part of your continuous integration or continuous delivery environment.

Topics covered will include using MySQL Sandbox to bootstrap new MySQL installations, optional configuration for MySQL that is faster (but not safe for production), and extracting test-run metrics from MySQL.
Performance Varnish is a high performance http cache/accelerator, used to speed up almost any website. It's unparalleled flexibility is what makes this possible, but also makes it necessary to look beyond what people usually think of as caching in order to exploit properly. In this talk we'll go through some tips & tricks for how to set up Varnish and how to adapt your application to reach maximum effects.
JavaScriptPHP Describing an alternative to various common (H)MVC architectures this talk demos the architecture behind the researchgate.net platform.

Using a component based approach enables developers to take page elements, like a single "follow" button, and place it everywhere on the site without having to duplicate any PHP, JS, HTML, CSS or AJAX endpoints in the process.

It goes on to show what scalability, performance and UX implications this has.
Did you know that you can store your data in something better than an array in PHP? Ever heard of B-trees? Wondering what a big O notation is all about? This talk is not going to make you a computer scientist, but it will help you get a better idea of all that stuff. We will explore some of the common data structures and how they could be utilized in your PHP projects.
HTML/CSS Accessibility testing using browser tools is already a daunting task; add screen reader testing to the mix, and for most people, it soon becomes too complicated to even bother. In this session, we will be going over a series of techniques for testing the accessibility fundamentals of HTML, CSS and JavaScript using NVDA, an open source screen reader. No technical ninja skillz required! Join us to discover 12 simple techniques in 30 quick minutes!
Security No week passes without another successful high-profile attack against a well-known website. The reason is not only that old vulnerabilities still exist, but also that bad guys came up with new approaches to mess with a web site. We will have a look at some recent events that made the news, and dissect what went wrong, and what we can do about it for our applications. You will see old attacks with a new twist, and modern ways to mess with a site.
HTML/CSS WET is a front-end framework for building websites that are accessible, usable, interoperable, mobile friendly and multilingual. WET includes a collection of flexible and themeable templates and reusable components. It is collaborative open source project led by the Government of Canada. In this presentation, you will learn about the benefits of WET, how to use/contribute to WET and see some WET components in action.
Performance Tools like Varnish can improve scalability for static sites, but when user-specific content is needed, a hit to the backend webserver is still needed, causing scalability issues. We'll look at a new Nginx module which implements a fast and scalable solution to this problem, changing the way developers think about designing sites with user-specific content.
PHP Developers usually have their favourite framework. But when did they choose it, and why? Was the decision rational, or rather emotional? This talk will not name "the best framework", but rather give the attendees a good background on how and why to choose frameworks and third-party-code in general. Topics covered include code quality, metrics, sustainability, and performing a general project assessment.
.NET Visual studio is the one shop stop for most .NET developers; it’s a shame since there are other powerful tools out there.
WinDbg is such a tool – it can help analyze and solve bugs, memory issues, deadlocks and is crucial to solving bugs that are found on the client machines.
The problem is that WinDbg is not as friendly as Visual Studio (to say the least) – or is it?
In this talk I’ll show how a .NET developer can use WinDbg to crash bugs.
Ruby People can choose Ruby to speed up development or C for performance. It's a trade-off between different goals. A compromising approach is to use Ruby and replace the part of performance bottleneck with C extension. This talk will cover a brief introduction of C API in Ruby, and how to create a C/C++ extension Gem.
PHP Writing PHP code to run in unknown environments is hard. Writing self-hosted products and library code presents a unique set of challenges to cope with different PHP versions, available C libraries and hosting platforms. Hear some of the lessons we've learned in 5 years developing a self-hosted PHP CMS, including practical tips for writing code to run in as many places as possible.

Montreal 2015 sponsored by