February 26-28, 2014
Montreal, Canada

Sessions

Top 20 My wish List
What do you do if you have a single letter Twitter handle and your reply stream is useless due to stuff like "I'm @a bar"? Machine learning to the rescue! I will explain how I used ML and a couple of other tricks to build a program that sanitizes my Twitter mentions and will hopefully inspire you to use ML in your own projects.
DevOpsManagement Some say that as many as 75% of start-up businesses fail, and technology-based companies are no exception. Unlike many business ventures there are some pretty important things when running a technology startup that even seasoned business-owners miss. In this talk I will share my experiences working with companies big and small across the globe and give all an opportunity to learn from their mistakes before you repeat them within your own company.
Management It is know that in the IT industry project have a high percentage of failure. But what if we could see the warning signs before it is too late?

In this presentation, Yann Larrivée will explain through story telling the 10 warning signs you should look for throughout the implementation of your project in order to prevent many sleepless nights and project failure. For each warning signs one or more solutions will be given.
PHPSecurity Two-factor authentication has gotten lots of attention lately. It's being praised as a way to help eliminate passwords and already has several major companies adapting their practices to use it. Let me guide you through the world of 2FA, some of the basic concepts (with examples) and dive deeper into the associated protocols and RFCs.
Databases Neo4j comes with enhanced connectivity of data and whiteboard friendly paradigm. It also brings a gremlin in your code : one of the supported graph query language brings a refreshing look at how one can search for data in a vast and interconnect web of data. Gremlin provides an abstract layer that make it easy to express your business logic without fighting with the code. It may even change your mind on object oriented programming.
DevOpsPerformance Can your app quickly scale to handle massive traffic loads while retaining a fast response time? Varnish can help you to achieve this. We'll look at how you can use it to sit in front of any HTTP server to deliver cached content at lightning speed. We'll also cover configuring Varnish as well as its support for edge side includes. By the end of this talk you'll be able to get started with Varnish, helping your app to do more with fewer resources.
Python Come along for a tour of Python's more advanced features: decorators, context managers, descriptors, iterators, generators, and metaclasses. We'll look at several examples of each in real use, and understand the benefits the feature brings over other approaches. We'll also discuss what problems you might (or might not) want to reach for each of them as a solution to.
.NETMobile Trying to make an app "stick" is tough enough, and keeping users aware of changes to their data or data affects them can be hard - even harder if you want to support different clients. Come check out SignalR, the open-source solution to presence and server-sourced data push. Fully supported through development tooling with templates available for every major mobile platform and OS, SignalR takes long polling and makes it sexy.
JavaScriptPerformance Since bumping into AngularJS a few months ago, we decided to invest more and more time developing with it: coming from a PHP background, the shift of paradigm easy due to the use of patterns and intuitive flows: even though this won’t be a very in-depth technical talk, we are going to see why you should consider working with angular: fast single-page apps, DI, ease of testing, being asynchronous, scaling on the clients.
Welcome to the future.
Security This session will outline security practices and solutions designed to address security issues within application's business and processing logic, which are often overlooked in favour of basic security flaws such as SQL Injection, XSS, etc... The session will focus on how to implement mechanisms for improving data access, avoiding common ACL pitfalls, etc.
.NET One thing is true when working with MVC: if you get the feeling that you’re writing too much code, you are. Ditch the pitfalls and learn better ways to get your project out the door. Write less code and leverage view models, Ajax extensions, action filters and partial views to their maximum potential. Ninja secrets for the masses!
PHPSecurity Les fonctions de réinitialisation des mots de passe sont communes et assez rarement testées. Pourtant, ces fonctions peuvent avoir plusieurs vulnérabilités critiques qui compromettent l'ensemble de l'application.

Dans le cadre de cette présentation, nous allons voir des exemples de code ainsi que les attaques contre plusieurs catégories de failles.
Python [WIP]
Python inclut de base énormément de modules en tout genre et il n'est pas rare de rencontrer des développeurs Python (même chevronnés !) ne pas en connaitre certains, pourtant forts utiles.

Cette session est une balade dans les modules Python de "secondes zones" comme bisect, collections, decimal, filecmp ou itertools. Et vous vous surprendrez peut être à découvrir des nouvelles fonctionnalités :).
PHPQuality Assurance Unit tests give you a good base to ensure your classes are working technically correct. Integration tests show that they play well with each other. But who takes care that all your code actually does what your business owner wants it to do? This session gives you an introduction into Behavior Driven Development on basis of Behat to help you achieve automated testing of specifications.
JavaScriptQuality Assurance Stop eyeballing your UI in a browser to test your JavaScript code - that doesn't count. Many developers have embraced testing their server side code, but very few test their JavaScript - and even fewer use any kind of automation. This talk will cover writing testable JavaScript code, how to write tests for that code, and some solutions for automating the process.
CloudOpen Data Online services like "If This Then That" (IFTTT) are great for automating your life. However they provide few ways for the end-user to add their own services, and not everyone is comfortable with sharing their credentials.

I'll be discussing the 'exobrain' project, which allows for service integration and extension on a machine *you* control. We'll discuss philosophy, installation, and writing your own extensions and classifiers.
JavaMobile Today's applications don't exist in isolation. REST applications and web services are a great way to connect applications together. REST is a design principle that imposes no constraints on the client except basic HTTP support, which all platforms provide. Designing REST services, however, is still as much art as it is science, as standards are emerging. Join Spring Developer Advocate Josh Long as he introduces some of the ins-and-outs of REST AP
Python This talk aims to demonstrate how the class customization features of the programming language Python can be used to write better code. We will do this by looking at some code that solves cubic equations and we will see how difficult this code is to design and test. Then we will solve these problems by using Python's class customization features to implement a "calculation on demand" mechanism.
ArchitecturePHP We all face a daily battle to write good code for ourselves and others, deliver finished applications fast to satisfy business, and ensure everything is properly tested to prevent end-user fails. Adam Culp will discuss what clean application development is, and how it can help us win those battles.
HTML/CSSMobile Twitter Bootstrap and Zurb Foundation are the most popular responsive design frameworks today. As with most technology, although they look very similar on the surface, they're designed with different applications and target audiences in mind. Get a quick overview of Bootstrap and Foundation, learn how to customize these for your applications, and figure out which is right for your next project.
ArchitectureJava Traditional concurrent development on the Java Platform requires in depth knowledge of threads, locks, and queues. Fortunately, new languages and frameworks have made concurrent programming easier. In this session, I will demonstrate several concurrent processing techniques including Fire and Forget, Fork-Join, and Asynchronous Web Services using the Java Concurrency Library, the Akka Framework and the Spring Framework.
PHPQuality Assurance Continuous integration is a big picture idea for big projects, but what if your projects and pictures aren't big? Is continuous integration worthwhile for every day projects? Learn more about what continuous integration actually is, what tools are available to help you implement it, and how you can make it work for you, even in the small stuff.
PHP The how-to guide on how to work with Excel documents from within PHP. The talk will demonstrate how the php-excel extension can be used to create documents, format data, do image processing and formula calculation. The discussion will also cover the process of parsing Excel documents in both legacy and modern XML formats. A portion of the talk will also do a comparison between PHP libraries that can be used for the same purpose.
HTML/CSS How to avoid styling through the "generations". A closer look at some of the advantages and downsides of nesting rules through selector concatenation with CSS pre-processors and their impact on your application's web performance. In this talk, learn how to effectively plan out your CSS and how to keep building on it without outputting a mountain of over-targeted CSS rules.
HTML/CSS This session gives a solid grounding on modern CSS techniques that delegates can start to use in projects today. It is suitable for both designers and developers covering the basics of how newer selectors are used, browser support and workaround and a number of tips and tricks based on real world examples.
Quality AssuranceRuby Cucumber is a behavior-driven testing framework that allows development teams to describe how software should behave in plain english. Writing features in Cucumber aligns well with Agile and Scrum teams. User stories in Agile or story points in Scrum follow the same plain language rules as Cucumber and can be a large benefit to help improve collaboration between technical and non-technical users.
.NET "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." -- Brian Kernighan.

Join us as we try and defy the odds and make Debugging in .NET something that is fun once again. We will look at the various tricks and tools we can use to understand our site, find hard to get bottlenecks and much more.
DevOps Docker est un moteur de déploiement d'application sous la forme de containeur autonome, virtualisé et portable. Ces containeurs peuvent ensuite s'installer sur une machine physique, des VMs ou sur OpenStack par exemple. Cette session mélange théorie et manipulation live afin de découvrir cet nouvel outil, encore jeune mais offrant déjà des fonctionnalités intéressantes, que ce soit pour le développement que la mise en production.
Java The Java EE 7 platform focuses on Boosting Productivity and Embracing HTML5. WebSocket, JSON Parsing, Batch Processing, and Concurrency Utilities are new additions to the platform. JAX-RS 2 and JMS2 are heavily updated with features and simplicity. This code-driven session will provide a comprehensive introduction to the updated Java EE 7 platform using GlassFish 4.
ArchitectureJava Integrating 2 or more systems seems to be easy. However, depending how complex the systems are this task can become a nightmare and the final product becomes messy and hard to maintain. This talk will show some graceful patterns to integrate systems - the Enterprise Integration Patterns (EIPs), explaining how to apply them in Java EE with JBoss Fuse, Apache Camel and OSGi.
MobileUX Young children can seem to “get” touch devices right away. But there are special considerations to make when designing for young kids, to maximize their engagement and minimize their frustration.

We'll discuss using characters, audio and visual indicators, and inactivity timeouts; as well as which gestures are intuitive for small fingers, how the way children hold tablets affects UI, and what content to include for parents and how.
ArchitectureJavaScriptSecurity API creation within JavaScript introduces a whole new array of security and request issues that traditional APIs never encounter. In this session we’ll explore several principles behind JavaScript API design and architecture, including OAuth 2 in the JavaScript model, Cross-Origin Resource Sharing for browser security constraints, building action automation with HATEOAS, and
challenges behind secure resource consumption through JavaScript
In a world where new frameworks, libraries, and languages seem to be born every week, building tools to support the optimal developer workflow becomes increasingly difficult. This session will cover the evolution of developer tools over the past decade and what to expect of them moving into the future.
PHPQuality Assurance In this talk, we'll explore some of the tools available for measuring software quality. We'll dive into some of the theory behind the metrics that they analyze while looking at some real world applications of those metrics. We'll also explore how to use these tools to gain valuable insight into legacy codebases.
.NETPerformance Glimpse is an open source diagnostics platform born out of the realization that insights into the dynamic inner workings of web applications can be difficult to come by. Starting with the wider ecosystem, find out how the server and client interact, as well as the abstractions that compose this heterogeneous system. From there, learn how extensions can be built to bring advanced diagnostics to all: app framework insights for developers & more.
PerformanceUX As web engineers, we're always looking at ways to reduce page load time. Then one day your product manager asks for a new feature that is "sure to bring in millions of dollars", but of course you know that it will make the site slower.

Do you have the data you need to decide if this tradeoff is worth it? Will enough users wait for the longer page load to get this new feature?

This talk covers how to get that data.
Architecture When it comes to Object Oriented Programming, there is no shortage of guidelines and principles for how to properly design an OO system. There is also no shortage of acronyms to describe these principles: DRY, SRP, LSP, LoD, ISP, OCP, etc. However, there are two acronyms that really shine through to describe how to, and how not to do OOP well. The two acronyms are SOLID and STUPID (respectively).
ArchitectureJava Today’s interconnected world requires that organizations rapidly deliver flexible-integrated solutions. The conventional approach is to integrate heterogeneous applications using web services but unfortunately that tends to tightly couple those applications. In this session we will explore several alternatives for achieving Enterprise Integration Agility with examples using ActiveMQ/Camel, Mule ESB, and NetKernel.
ArchitecturePHP Under the pressure of deadlines and endless change requests, under the weight of years of legacy, code becomes unmaintainable. With the right tools, techniques, and mindset, any codebase can be brought under test, and be refactored towards a better architecture. Let’s skip the theory and dive straight into the spaghetti code. In a live coding session, I will demonstrate how you can start refactoring your way out of a mess today.
HTML/CSSUX Une présentation pour expliquer comment l’équipe web à CIC a développé une boite à outil qui permet 1) aux développeurs Web et aux codeurs HTML de valider leurs pages rapidement et efficacement (WCAG2 et Normes Web du gouvernement du Canada) et 2) à la gestion de confirmer la validation des pages et d’apporter des corrections si nécessaire.
DatabasesOpen Data Pubs and OpenStreetMap are both a hobby. In this talk, I will be explaining
MongoDB's geospatial features to help you (and me) to find the closest pub.
The talk covers how the OpenStreetMap data works, how to store this in MongoDB
and what types of different queries we can run to find the closest pub. We will
be looking at some theory (some scary maths!) and some practical examples.
Mobile Android is an incredibly popular mobile platform that has taken over the smartphone and tablet world. Luckily, it's very easy to get started. In this talk we'll cover the basics of setting up for Android application development - downloading and configuring the development environment, creating a basic application, and exploring some of the Android APIs through a live coding demo. The talk is a jumpstart for developing your own Android app.
Mobile iPhones and iPads everywhere, and you want to get your app through the gates of the App Store? This talk will set you up for iOS application development. We'll cover the basics of Xcode and Objective C, create our first iOS application using storyboards, and explore some additional iOS APIs through a live coding demo.
E-Commerce Stripe is a disruptive payments start-up, challenging the status quo. Its JS library means you don’t have to worry about PCI-DSS compliance, while still being able to host your own payment pages. Subscriptions, one-off payments, metered billing, payouts to suppliers or referrers, and even collecting commission are all an absolute breeze with Stripe. This talk will walk through integrating Stripes various flexible options into your applications.
Management In the current market, freelancing has become a very appealing option for many IT workers, conscious about their freedom, professional development, balancing work and family life, and quite simply making the most out of life. Many options are now available, ranging from full-time consulting through an agency, to maintaining a portfolio of clients and a "nomad" lifestyle. This conference will explore those various options and what they entail.
Databases In this talk I will explain the differences between different types of noSQL databases. I will then progress to illustrate which paradigm shifts are necessary to successfully implement noSQL, using MongoDB as an example.

Covered subjects will be: CAP theorem, schema design, dealing with error
situations and architecture of multi-node set-ups. Everything you need to effectively use MongoDB.
HTML/CSSPerformance The very first requirement of a great user experience is actually getting the bytes of that experience to the user before they they get fed up and leave.

In this talk we'll start with the basics and get progressively insane. 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.


Java With the release of version 8, functional programming has finally come to Java – bringing a brand new way of thinking about code. But will this mesh with Java’s object-oriented legacy or will Java just become... dysfunctional? This talk will answer all plus explore lambdas, functional interfaces and the refreshed functionally-flavored Collections library. Prepare to see Java in whole new way!
PHPQuality Assurance Every kind of automated test requires you to create fixtures. Be it the input objects to unit test a method, setting up an object structure for integration testing or creating a database for system tests. But what makes a good fixture? In this talk we dive through the variety of automated test approaches and show fixtures can be created, what principles you should obey to and techniques to avoid pitfalls.
PHP TDD (Test Driven Development) is getting a lot of traction in the PHP community. Driving your development with tests is now an accepted practices. But beginning TDD can be a daunting task.

In this session we will go over what TDD is. Starting with the principles that drives it. Go over the tools and finally show how it can be done in your day to day work. We will also looks at the common difficulties developers encounter and how to solve them.
ArchitectureJava This session provides a primer on WebSocket and Server-Sent Events and their supported use cases. It explains WebSocket support in the Java programming model, from a simple annotation-driven programming model and integration in the Java EE containers using JSR 356. The session also explains how Server-Sent Events can be easily written using Jersey, the Reference Implementation for JAX-RS 2. All of this support is available in Java EE 7.
RubySecurity What's the worst that could happen if your app has a dependency on a malicious gem? How easy would it be to write a gem that could compromise a box?

Much of the Ruby community blindly trusts our gems. This talk will make you second guess that trust. It will also show you what malicious gems can do, how an attack could be executed, how to vet gems, and what the Ruby community can do to increase security around gems.
Architecture.NET C# lets you write applications for every app store in the world. Successful C# apps are on iPhone, iPad, Android, Xbox, Windows Phone and Windows Store. You can write embedded apps in 64k and run them on a watch or run apps in 64 gigs and run them in the cloud. Join Scott Hanselman as he shares his journey from a humble VB3 programmer 20+ years ago to a happy C# programmer today writing apps he can write once and debug anywhere.
ArchitectureRuby Rails is a great framework for creating web apps... for awhile. What do you do when your codebase grows large? How do you handle large teams of developers? When performance becomes an issue, how do you scale? Most importantly, how do you write code which can easily be refactored later?

This is a story of a real life project built from day 1 with all these questions in mind. Learn from our mistakes and successes!
JavaScript A spectacular amount of MVC-like JavaScript frameworks have been released in the last few years. Instead of arguing over which one is best, developers should focus on asking themselves “Which one best suits my needs?”.
With both design considerations and concrete examples, this presentation will help developers and architects understand the current offering of JavaScript frameworks, what they were designed for, and how to find the one they need.
HTML/CSSSecurity HTML 5 is the latest incarnation of the HTML standard. While HTML 5 brings a number of widely criticized security issues, it also includes important security advances. This talk will press beyond the hype and examine some of the new features of HTML 5, explain how they work, and relevant security topics. The intent is to familiarize the audience with the new, security related aspects of HTML 5 and how they will change the app security landscape.
CloudDevOps Most websites haves several frequently-accessed or slow-downloading files. They might also have content that could be very popular one day. This talk shows how you can use cloud storage for these files to greatly increase your website's bandwidth and responsiveness. This requires minimal website changes. The demonstration includes Amazon S3 bucket configuration, mapping DNS subdomains to S3 buckets, and using Linux's s3cmd tool to upload files.
E-Commerce User tracking is easy: just use Google Analytics, which also supports A/B tests. Done. But wait! Are you sure you want Google to have all your data, and depend on an external service for crucial functionality to improve the user experience? In this presentation, the speakers will explain why user tracking and A/B testing should be self-implemented, and present strategies and concepts to successfully do that.
PerformancePython Using high performance caching is an excellent way to speed up most websites, and the closer to the end user you can put the cache, the more efficient it is. But often problems show up with fast updates (such as price changes in a webshop). By integrating an external close-to-user cache (in this case Varnish) with the backend systems (in this example, Django+PostgreSQL), we can can get best of both worlds - long cache time, and fast invalidation.
ArchitectureDevOps Have you notice how much people are talking about Big Data nowadays, but you still not 100% sure of what it is or what will this change your future. Join this lecture to discover what Big Data is, some fun facts and how companies are working to to solve the Big issues that come with such Data.
Management Have you ever wondered why it's sometimes easy to communicate with people and sometimes not? Do you want to learn how to better communicate with each other? The Process Communication model provides pragmatic tools to identify and understand each individual's personality. This will help you to adapt your communication to your interlocutor in order to better communicate with him/her and avoid wasting energy that often leads to miscommunication.
E-CommerceRuby Spree (https://github.com/spree/spree) is one of the most prolific Ruby on Rails e-commerce applications. It is highly customizable, and powerful. We'll talk about how to customize Spree through changing CSS & views, adding models, and controller actions. We'll present some sample business cases and how they can be implemented within Spree.
PHP Zend Framework has become a standard in the PHP world for web application development and it's successor, Zend Framework 2 is even more powerful. However, there have been many changes architecturally to the new framework that even those who are familiar with ZF1 will find hard to understand initially. In this talk we will explore the fundamental concepts of ZF2, both architecture and intent as we build ourselves a simple application.
DatabasesOpen Data This presentation shows how mongo and hadoop can work together to provide scalable access and analytics. It will show how you can you use mongodb as input for your M/R jobs as well as input for Pig jobs.
HTML/CSSJavaScript Une immense majorité de développeurs connaissent jQuery, mais pas vraiment JavaScript. Nous verrons comment faire en pur JS ce que vous avez l’habitude de faire avec jQuery, en mettant l’accent sur le support par les navigateurs des fonctionnalités JS utilisées, et sur les polyfills disponibles. Nous proposerons également des idées d’architecture pour la mise en place de ces techniques.
Security C'est la position numéro un du fameux Top10 d'OWASP depuis le début des temps. Certains disent (OK, juste moi) que tout en sécurité est à propos de l'injection à un moment où un autre.

Si vous ne savez pas du tout ce que c'est l'injection, et qu'est-ce que ça peut faire à votre application au niveau de la sécurité, cette présentation est pour vous.

Le contenu en détails sera adaptée à l'audience au cours de la séance.
Python In this talk you will learn how to develop Web Applications using Django, a framework written in Python that is used in sites like Instagram, Pinterest, Disqus, and The New York Times. You will learn the basics of Django, how to deploy your app, and how to use Javascript and Ajax with Django.
JavaScript In the not-so-distant past, cross browser JavaScript support was painful to deal with. This lead to the rise in popularity of libraries and a lot of developers have since never looked back. This talk will explain the importance of learning native JavaScript and how libraries may not be the answer in the near future.
ArchitectureOpen Data This talk will dive into TimBL's four Linked Data design principles. In which ways can you publish your data and still be ultimatily in control? How would it be flexible and re-usable down the road? This talk will address these questions, among others, as well as an overview of some of the Linked Data design patterns: Data modeling, URIs patterns, Provenance, Interlinking.
Databases Relational databases offer a number of features to protect data integrity and protect against concurrent modification of data. This session will describe how those features work, including table/row locks, MVCC, deadlocks & lock waits, transactions and isolation levels.

Attendees will also get a better understanding of they are expected to be handle database errors in applications. Examples will use MySQL 5.6.
Ruby The upsurge in asynchronous programming has brought event-driven patterns to the forefront. But even without a rewrite in Node.js, the concept of eventing can improve your application.

This talk demonstrates how events benefit the layers of your application. We'll see how events aid in the fight against fat controllers. We'll use eventing to simplify tests and manage dependencies. We'll even see events reshape our data for maximum flexibility.
Management This presentation highlights the challenges of managing a global team of employees. Topics include management basics, leadership styles, the challenges of distant employees, and recommendations. Details include communication, coordination, and monitoring. This talk is useful for anyone who manages distributed teams.
.NETCloud With the arrival of the BigData revolution it’s time to start getting familiar with tools of the trade. MapReduce is large data processing model proposed by google and now available on Microsoft's Azure platform. This crash course will introduce some common MapReduce patterns for processing large, unstructured data with examples in C# with Hadoop.
ArchitectureJavaScript This talk will feature and overview of an architecture that enables heavy reuse of even the smallest components by showing the details of the researchgate.net implementation. This approach enables developers to take page elements, like a follow button, and place it everywhere on the site without having to duplicate any PHP, JS, HTML or CSS in the process enabling huge scalability, performance and UX improvements beyond a classic (H)MVC approach.
Git and GitHub are great tools for making software. Are you making the best use of them? Are you still doing work that robots can do for you?

Are you scared of rebase and filter-branch? Do Emoji and mentions vex you? Are you looking to move your team to the next level?

This talk is for you. Learn how to let Git and GitHub help you make better software.
Python In this talk you will learn the best practices and tools for modern Python development. You'll learn how to control and isolate the dependencies in your projects, how to automate tasks and deploy to remote servers, how to test your code against multiple Python versions, and how to write beautiful documentation. Not only you will learn how to apply these tools and techniques, but also the best practices and pitfalls to avoid.
Architecture Need to integrate 2 systems and don't know how to do it? Tired to hear about 'JMS', 'AMQP' , 'asynchronous messaging' , 'queue', 'topic' and still in doubt about what does it mean and when use it? This talk will show and explain all these concepts and give some examples to use them, in and out of Java world. Cool buzzwords explained here: synchronous x Asynchronous, MOM, JMS, 0MQ, ActiveMQ, Kafka.
Security While embarking on a year long project to deploy SSL to 100% of Twitter users, our team worked through many challenges and performance issues.

In this talk, I'll discuss those challenges and issues involved deploying SSL to 200 million+ users.

I will also discuss the current risks facing administrations (NSA/Prism, Key management, CRIME, BEAST, and BREACH) when implementing SSL at any scale, and mitigations (HSTS, cipher selection,etc.).
DatabasesJava This presentation begins with a basic introduction to MongoDB and how data is organized. It covers several options for interacting with MongoDB and then walks through an example JPA application and then a version for MongoDB. It also explores how MongoDB’s paradigm can affect not only your object model but how you interact with the data as well.
ArchitecturePython Using REST means a wide range of clients can talk to your service. This talk will introduce REST and explain how to create RESTful services using Flask and Python. We'll look at how to design RESTful services using the example of my home automation system. Then I'll demonstrate a couple of clients that work with it written in Javascript and .NET.
PerformancePHP It's nothing new that speed is important for the success of any web application. This talk will show how you can correctly measure the performance of your site and track down bottlenecks with tools like Xdebug, XHProf or the Symfony Debug Toolbar. And if you still need to get faster after optimizing and fixing all these issues, I'll introduce you to some tricks, techniques and patterns to even further decrease load times.
Databases Everyone wants a more organized database with less repetition, right? Quick answer: normalize! Great, but what does this actually mean for the structure of your tables? Which normal form should you use, and what is a normal form? Learn the pros and cons of normalization techniques and find the right balance for your next project.
ArchitectureHTML/CSS Using HTML5 appCache and localStorage to give your web applications life while offline. Not just learning the ins and outs of the cache manifest and it nuances by browser, but how to architect your application so that the experience can be transferred to a mobile device and used offline without degrading the user experience, and seamlessly transfer back to online when a connection becomes available again.
Management In Open Source, they say, all good work starts by scratching a developer's personal itch. They also say that to solve an interesting problem you have to find problems that are interesting. Sebastian Bergmann has been working on Open Source software in the PHP ecosystem for over decade. Join him for this session to learn how a problem a single user of a software has is turned into a solution that brings benefit to all users of the software.
Cloud In this lecture will show an introduction to OpenStack, starting with the basic concepts of Cloud, keywords, what Openstack project is, the use cases, history, the project overview, features, tools and roadmap. The following topics will be covered:
* Introduction to Cloud Computing (Virtualization; Iaas, Paas, Saas; Public/Private/Hybrid/Community Cloud; Concepts: scalability, elasticity, provisioning,
self-service, multi tenant, and much more)
JavaScriptPerformance Whether you're building a frontend-heavy, single-page app using multiple JavaScript libraries, or simply writing a few lines of DOM manipulation, you probably want your code to run as efficiently as possible. This talk will go over the basics of JavaScript optimisation: what to avoid, and why; some best practices for speeding up your code; and specialised techniques for improving performance, complete with several case studies.
DatabasesPerformance OrientDB is a NoSQL graph database which also includes a document layer (like MongoDB): it gained a lot of attention, enough to push big companies like Sky and UltraDNS to use it in production: it's written in Java and it's amazingly fast, since it can store up to 150,000 records per second on common hardware; moreover, thanks to being a graphdb, it can manage relationship so fast that, compared to traditional DBs, can be 1000% faster than them.
HTML/CSSMobile In this session, I discuss the use cases for responsive websites versus custom-build mobile websites and discuss how to increase efficiency while developing for specific devices. I present ways to modularize our CSS using using LESS/Sass, how to use CSS grids to reduce time spent customizing CSS for specific devices, and how wireframes can reduce the amount of time we spend developing our products.
.NET With parallel programming becoming a bigger part of our life, a growing need for advanced patterns emerges. This session overviews parallel programming patterns and anti-patterns, and the use of async methods and await calls, for both .NET 4.0 TPL API and the newer .NET 4.5 and C# 5 syntax.
Management Estimer, encore et toujours estimer... Pourquoi? Comment? Quelle est la meilleure façon d'estimer? Venez parfaire vos estimés pour devenir une équipe encore plus performante!

Cette présentation vous montrera plusieurs façon d'estimer et vous aidera dans vos planifications de projet.
Ruby One strength of the Ruby community is the simplicity of sharing code via gems. Popular gems even develop their own ecosystem of plugins around them.

But extending a gem that wasn't built with flexibility in mind isn't easy. This talk covers the highs and lows of interacting with other gems. We'll cover how to make your gem easy to plug into, from patterns and events, to configuration and documentation.
Quality Assurance We've all been guilty of writing bad code. Sometimes it's due to laziness, other times we don't know any better.
You and your team can start writing better code today by integrating code review in to your development process. We'll look at Gerrit, Jenkins, and other tools to help your team to reliably produce higher quality code.
PythonQuality Assurance Come check out some battle-tested tools for improving your Python testing. I'll demonstrate intermediate and advanced features of py.test (fixtures, parametrized tests), testing web applications with WebTest, testing across a matrix of multiple Python and dependency versions with tox, writing test doubles, stubs, and spies with mock and pretend, and measuring code coverage with coverage.py.
Python Get a basic application and running with the Flask microframework in under an hour, from backend to frontend.
Ruby Testing in our applications is essential to inspire confidence, catch regressions, and encourage simple designs. However, since tests have become such a large percentage of our applications, they're also prone to various code smells and anti-patterns. In this talk, we'll discuss various strategies to combat common testing mistakes found in Rails applications that reduce test code quality, performance, reliability, and maintainability.
HTML/CSSRuby Discover the benefits of rapid prototyping with Sass & Compass along with the static site generator, Middleman. Rapid prototyping is an easy way to streamline your development process and bridge the gap between UX & visual designers while meeting in the middle with the view layer. The session will cover:

• how to bend the view layer to your will
• creating a modular front-end framework
• working with pre-processors
• Mobile & Desktop
Mobile Many mobile developers these days focus their efforts on only a single platform, limiting the potential gains of an entirely new audience. These same developers are also unaware of how much existing resources they can reuse to reach that audience in a short period of time. Join Manny Elawar as he walks you through some of the key ways you can start developing for multiple mobile platforms from the very start with little overhead.
Management What does it take to be Agile? One key practice is the Agile Retrospective, a look back after each iteration to talk about what worked, what didn’t and to plan how to improve how your work for the next iteration. In this talk, we share the real world experiences of how we’ve been running retrospectives for the last year. Learn from our stories and share your own stories about your real world retros. Co-presented by Sean Yo and Matt Campbell.
Databases Most database lovers have heard of memcached for application-level data caching, but many haven't had the opportunity to play with Redis, a powerful in-memory data structure store.

In this presentation, we explore Redis data structure operations through a number of patterns: key-value storage, leaderboards, membership, counters and message queues. To keep things fair, we'll provide relational database versions for comparison as well.
ArchitecturePHP Refactoring legacy applications can be a daunting task, especially with the desire to take advantage of more modern technologies, frameworks and tools.

We will walk through a real world example of how to refactor an existing application to use the reusable Symfony components, and how these provide a stable, robust groundwork for future development.
Popular saying: if you need a regex to to solve a problem, you now have two problems

If you a programmer of any sort (JS, PHP, Java), sooner or later you are going to need them. As a 10 year Perl programmer, I'll walk you through beginner, intermediate and advanced regular Expressions.

Believe it or not, they are fun. And useful. I love them!
Management Over the past 7 years, I've worked as a 100% remote employee for 6 different companies. Through this, I've learned the good, the bad, and the ugly about remote work (as well as time shifted asynchronous work). In this session we will discuss the benefits and drawbacks of remote work, for both the employee and the company. Remote work can be a very beneficial and rewarding experience, but requires some shifts in mentality to make it successful.
HTML/CSSMobile Most people have heard of Responsive Design by now. Simply the idea of a website adjusting its display to the size/shape/capacities of the browser viewing it. But there is a lingering question: Should you do responsive design? Why? Why not? What are the other options? When should you consider it in your product lifecycle? These and more questions will be addressed.
E-Commerce Nothing is more exciting that rolling one's website for a real audiance. After a significant time of development with Magento, everyone is eager to see the new e-commerce site behaves. Every stake holder, may it be security architect, SEO expert, speed freak or your beta testers, everyone mentionned something crucial to check. We'll review what configurations, architectures recipes or data preparation may be used.
PerformancePHP PHP is used by the likes of Facebook, Yahoo, Zynga, Tumblr, Etsy, and Wikipedia. How do the largest internet companies scale PHP to meet their demand? Join this session and find out how to use the latest tools in PHP for developing high performance applications. We’ll take a look at common techniques for scaling PHP applications and best practices for profiling and optimizing performance.
PerformanceRuby Shopify is a hosted e-commerce platform with over 60k customers.

Four million dollars goes through Shopify's checkout each day.

This talk is an in-dept look at our strategies for scaling this beast of an application.

Expect interesting stories such as how we overcame 350k requests per minute flash sales.

We will also talk about sharding, caching, and other practices we've adopted to keep our servers happy and our customers happier.
ManagementSecurity What happens when end-users have the motive, opportunity, and skillset to attack our software? When two hacker conferences hosted a six week capture-the-flag contest, organizers learned first-hand how this impacts the software development life cycle (SDLC). We will discuss wins and losses, successes and failures, and hard lessons learned.
ArchitectureSecurity Constructing a successful and simple API is the lifeblood of your developer community. As we construct our API we need a secure way to authenticate and track apps & requests; OAuth 2 provides us with a secure and open way of doing just this.  

In this talk, we will examine REST and OAuth 2 as standards for building secure API infrastructures, exploring architectural decisions in choosing REST standard variations and implementations of OAuth 2
JavaScriptSecurity Avec l'érosion du respect de la vie privée que nous observons ces derniers temps, ne devrions-nous pas être plus engagés à protéger les données de nos utilisateurs, parfois même de notre propre application? Cette présentation suivra l'évolution de la crypto en Javascript : les bons et mauvais coups. Nous discuterons par la suite de l'importance d'apporter plus de sécurité du côté client, et quels outils nous pouvons construire pour y arriver.
MobileUX With over a billion people using smartphones worldwide, mobile app developers must create amazing user experiences in order to compete. And with the ability for these smartphones to interact with other devices in the user's environment, the potential for innovation is endless. Join BlackBerry Developer Evangelist Manny Elawar as he talks about the Sense, Understand, Adapt paradigm in mobile computing, which encourages developers to think not only about the smartphone experience, but the entire user experience within the context of the environment and behaviour of the user.
ArchitecturePHP Symfony2 is one of the de-facto standards for developing enterprise-ready applications in PHP: being a very structured & decoupled framework, it becomes very handy and suitable for building Service Oriented architectures, which require loose coupling and a clean and tested structure: we will see hot to create a Service Oriented Architecture in Symfony2, taking advantage of messaging systems like RabbitMQ, HTTP APIs and Sf2's internals.
DatabasesPerformance Are your queries slow? Learn how to speed them up through better SQL crafting and use of meaningful indexes. You will understand what works well and what doesn't, and will walk away with a checklist for faster databases. Through examples and benchmarks, I will demonstrate how to go from almost a minute of SQL execution to less than a millisecond. I expect that you will all be itching to analyze queries to see how much you can shave off.
ArchitectureOpen Data Do you want to work with high profile big data from governments and other institutions? This talk will briefly cover Linked Data design principles and the deployment life cycle using datasets from the World Bank, European Central Bank, IMF, FAO, OECD, BFS, as a real-world case study: http://270a.info/ . Data analysis will be demonstrated using this data: http://stats.270a.info/ . This presentation is for developers, architects, and analysts.
.NETQuality Assurance Unit and integration testing have made their mark in our industry, and are now common practices on many projects. One of the unspoken realities is that these tests deteriorate and over time undermine the continued success of the projects they once helped.

This presentation will review strategies to ensure your unit tests continue to be healthy and helpful even for long running projects. Examples in C#.
Databases We've all heard in recent years about how Key-Value stores cast off the scaling problems of SQL-based solutions and give developers the flexibility to choose in-memory or disk-persistent, single-node or clustered options.

In this talk, we review design and performance of several key-value stores (Riak, LevelDB, and MySQL API), and several techniques such as efficient compression and schema extraction to get the most out of any KV store.

Git is an amazing tool for making software. Are you wondering what the fuss is about?

If you're currently using another system, and are thinking of making a switch to Git, this is the talk for you. Find out what it is that makes Git so attractive to developers, and how it can help with deployment, ops, and testing.
JavaScript Si beaucoup de développeurs testent leur code côté serveur, bien peu le font côté client. Je vous présenterais au cours de cette session un panorama des (bonnes) solutions pour les 3 niveaux de tests : unitaires, fonctionnels et d’intégration, à travers des exemples utilisant QUnit, Jasmine, Mocha, Chai, CasperJS et Karma. J'insisterais naturellement sur les choses réputées difficiles à tester, notamment le DOM et le code asynchrone.
.NETQuality Assurance Après un bref rappel des enjeux particuliers liés aux applications web, nous irons à la découverte des outils dont disposent les développeurs pour s'assurer du bon fonctionnement de leur application. Nous étendrons notre approche aux problématiques de performances et de montée en charge ainsi qu'à la vérification des services web ou des communications entre de multiples services distants.
JavaScript The key to understanding JavaScript's object model is understanding the prototype object and prototypical inheritance. This talk will guide attendees through the prototype: how it is created, what's in it, and how to use it to create an object-oriented structure in JavaScript. We'll cover some related OOP concepts along the way like constructor methods, parent method calls, and member access types.
ArchitecturePHP This talk will explore the evolution of HTTP abstractions. We will take a look at inetd at the TCP level, CGI and FCGI at the HTTP level, language level abstractions like Rack for Ruby and WSGI for Python. Finally we will arrive at the Symfony2 HttpKernelInterface. The PHP community can take many ideas from Rack. We should be building composable stacks of re-usable middlewares.
Databases InnoDB became the default storage engine in MySQL 5.5, and continues to improve in MySQL 5.6 (GA) and 5.7.

This talk describes how InnoDB works under the hood, and describes how various features such as MVCC, REDO/UNDO, double write buffer, change buffering and adaptive hash work.

There will be some discussion around configuration, but the main goal of this talk is to give attendees "x-ray vision" when debugging future problems.
HTML/CSS I’m very excited about the possibilities that await us by way of proposed layout modules for CSS. In this presentation I introduce and show practical examples of Grid, Flexbox, Multi-column layout, Regions and Exclusions. The presentation is based on the work I did for my Five Simple Steps book however is constantly updated with the changing specs.
The Perl Renaissance is in full swing. Object frameworks have been updated, web frameworks are easy and powerful, and modules are easy to manage and install. We'll cover:

* Object Oriented perl with Moose.
* Method::Signatures for beautiful classes.
* Building web applications using Dancer
* Not worrying about web servers by using Plack.
* Critiquing your code with Perl::Critic
* Debugging with Regexp::Debugger
* Much more! (Really!)
DevOpsPHP You probably have heard of the "Gang of Four" before? This talk is not about design patterns or music but will give you some valuable insights how to improve your development and deployment workflow. Learn what tools like Composer, Phing, Vagrant and Jenkins can offer you and how to combine these tools to get the best of out it.
ArchitecturePHP There exist quite a few misconceptions when it comes to the Dependency Injection (DI) pattern. While the principal pattern is easy to understand, it can be difficult to succeed with
DI. In this session I will share some of my real world experience with DI. I will guide you to use DI in "the right way"(tm) to get the most out of it and to increase the maintainability of your application.
JavaOpen Data Data challenges today are as demanding as they are exotic. From data ingestion, online transaction processing, offline batch processing, and integration with specialized domain models to the data-grid, NoSQL store, clustered file system and search index, Pivotal's data stack (Reactor, Spring Data, Spring XD, Spring Integration and Spring Batch along with Pivotal GemFire, Redis, and HD) has got you covered.
PHPSecurity PHP developers must consider a variety of factors to ensure the utmost security of their software. Programming errors are not always to blame for failures; conceptual flaws and simple configuration mistakes risk rendering an implementation useless. In this talk, security expert Arne Blankerts provides PHP-specific solutions to common problems. Since security hazards are best avoided, there is a strong emphasis on detection of sources of trouble.
.NET Write once read many. Stop rediscovering what you already figured out. In this presentation we will see five effective low-cost refactoring practices that will help improve the clarity of your code. You should take time once to make your code easier to read so no one else will have to spend that time again. In this session you will gain valuable tips to help you accomplish just that.
Management Il était une fois un ogre qui mangeait tous les logiciels qu'il rencontrait : l'ogre Dehbt.
Avec son ami le Temps, ils étaient si affamés, que tous les logiciels qui croisaient leur route succombaient, certains rapidement, certains lentement, à leur appétit insatiable.
Dans cette présentation, je raconte trois histoires de chevaliers blancs (mes équipes) tentant de terrasser (ou au moins apprivoiser) ces deux gloutons.
DevOpsPHP Many of us only look at our log files during an outage or crisis. Wouldn't it be great if they could be mined in real time? This talk will show you how to do that. We'll examine tools such as Monolog and Rsyslog to collect information as well as Logstash and Graylog2 to send alerts, store and make searchable millions of log records. By the end of this talk you'll be able to mine your log data in real time, helping you to avoid major problems.
ArchitecturePHP The design patterns from Domain-Driven Design can help us to evolve from structural data models, to rich behavioral models. They capture not just state and relationships, but true meaning. Building from practical examples in PHP, I’ll show you how to use invariants, encapsulation, and specifications, to manage and test complex logic in the language of the business. These ideas will make your Domain Model expressive, unbreakable, and beautiful.
PHPQuality Assurance Everyone tells you that you need to write tests. You tried it, but your tests ended up not very useful and consumed valuable time. What to test? What conditions to write? Through realistic examples, this presentation will take you from var_dump() and ease you into the testing business. All this without losing sight of the tight deadlines. You will come out of this presentation with a renewed interest in writing unit tests.
HTML/CSSMobile Bootstrap, an open source front-end framework, is one of the hottest front-end frameworks for building responsive websites. Follow along and learn how to build a Bootstrap-based website from scratch, incorporating the responsive grid system, see the basic CSS in action, incorporate Javascript-based components, and customize CSS using LESS.
PHP Composer is the not-so-new dependency manager for PHP. It secretly encourages better practices by implicitly making evil things painful. Let's make it explicit. I will help you gain an understanding of how to structure your dependency constraints, which features to avoid and how to be a good citizen in the composer ecosystem.
E-CommerceUX Every eCommerce site should have a good front-end user experience, but you can't stop there. Inventory needs to be received, orders need to be delivered, returns need to be processed, and any delays can result in your customers having a bad day. Join us for a journey of how Gilt grew from a warehouse in Brooklyn into a supply chain network spanning the continent, and how we've built a best-in-class order fulfillment platform.
Security Le téléversement de fichiers fait partie intégrante des applications web moderne. Qu'il s'agisse d'images ou de documents, plusieurs risques guettent l'acceptation de fichier provenant d'un utilisateur. Les attaques les plus communes seront présentées allant de simples "webshells" à des problèmes de configuration plus poussés liés au "same orgin policy".
ArchitectureJava Let's get back to simplicity when doing Java web development. Forget about DI frameworks, ORMs and complex build tools and see how we can develop well-tested, well-crafted web applications using only simple tools, libraries and techniques.

In this talk, I will share my experience rewriting a web application based on Spring MVC, Spring, Hibernate and Maven with only Simple and JDBC. We'll discuss the benefits and challenges of simplicity.
Python Scraping information from the web is a really useful technique. This talk will show you how to write robust webscraping services using Python, lxml and the Requests library.

I'll cover how to disassemble a webpage to identify the data you want. Automatically testing scrapers to ensure continued reliability. Handling difficult cases.

My examples will be a price monitoring service and EventCity, an online events guide.
HTML/CSSJavaScript As a front end developer, I want to write code. Dealing with the mundane tasks that come with static assets such as concatenation, minification and versioning, I don't care much for. In this session, I'll explain how to setup Grunt tasks to handle CSS and JavaScript assets in both development and production environments. This automated workflow allows you to easily reproduce both environments locally for testing and debugging.
.NET The .NET framework 4.5 is adapted for Windows 8 development allowing you to access and work with the Windows Runtime directly from your managed code. Features, such as the “await” keyword used to employ the runtime’s parallel tasks, causing the app to always be responsive and user friendly, or the new GC enhancements optimized for better performance are already included in v4.5.
Databases PostgreSQL 9.3 was released in September 2013, and as usual brings a lot of new features both for application developers, database administrators and general sysadmins. This session will give an overview of the new features, what they do, and how to use them. Depending on how much is decided at the time, some teasers for the next version will also be included.
Cloud Join Hanselman as he digs into the open source SDKs of Windows Azure from a Mac. Let's access Azure from the command line and deploy and redeploy with Git. We'll fire up Linux VMs, setup Mongo and run node.js apps in the cloud. We'll look at things like SendGrid and New Relic. The future of the cloud is open and it's a hybrid. We'll also pinch pennies in the cloud and look at how our mindset needs to change if the cloud is to save us money.
CloudMobile Mobile app developers don't -- and shouldn't! -- care about servers and clouds, push notification services and databases. Windows Azure Mobile Services (WAMS) is a cloud-based offering that provides a complete backend for mobile apps including data access and push notifications, enabling you to focus on the mobile app infrastructure and code and forget about the server management intricacies.
JavaPHP In this new wave of wearable computing, Google Glass is an exciting device that could change the way we interact with technology. In this session, you'll learn how to write PHP & Java apps for Glass, get live demos, and real best practices. The first part will focus on PHP, we'll go deep in code & learn how we built Stereo, the first music streaming media player for Glass. In part two, you will learn how to write Java Android apps for the device.
Yellow Pages Group, a leading digital media and marketing solutions company in Canada, is transforming into a digital media powerhouse. Key to this is a complete revamping of the technology platforms, software development processes, people, and culture to a more agile organization. This involves building of new platforms, including Solr-based search engine, content and asset management, content distribution and tracking, SOA built on an ESB deployment, Master Data Management, and mobile applications for consumers and advertisers.
Cloud Cloud is the new style of IT. Discover how HP can help accelerate your journey to the cloud with breakthrough innovations and technologies.

Montreal 2014 sponsored by