December 5-7, 2016
Vancouver, Canada

Sessions

Top 20 Wish List
AccessibilityQuality assurance During the talk, I will present ten tests that can be performed quickly to measure the accessibility of a web page. If you are a developer, you can fix before posting live. If you are a project manager or a client, you can ensure the level of accessibility without advanced coding knowledge. Bring a laptop (FireFox with Wave and Web Developer toolbars) and follow the steps to test your web page during the presentation.
Management It is a well-known fact in the IT industry that projects have a high possibility 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 storytelling the 10 warning signs you should look for throughout the implementation of your project in order to prevent many sleepless nights and project failures. Yann will provide one or more solutions for each warning sign.
.NETQuality assurance I started using unit tests eight years ago and failed miserably. It took me two years and the right company to start over and learn how to properly use unit tests and TDD as development tools. But it wasn’t always clear sailing. As I progressed, I found more than my fair share of pitfalls and blind alleys, as well as a fair amount of success. In this talk, I’ll cover the essential facts I learned over the years about unit testing.
MobileQuality assurance Mobile testing is getting harder: more devices, multiple operating systems, higher quality expectations, and shorter development cycles. Much of mobile app testing is manual, and moving to automation is a requirement. But where do you start? Do you know who is the typical user and how the app is used? How do you know which devices to test? How do you measure app performance? Come and learn a 7-step method and the tools to improve the testing process.
HTML & CSSMobile The AMP (Accelerated Mobile Pages) project is a new open source initiative that allows you to build mobile HTML pages that load nearly instantaneously. The guidelines laid out by AMP are mainly restrictive, leading to a simpler, faster mobile web. This technology is taking off, and Google will be rewarding websites that use AMP with an SEO bump. In this talk, join the big names in technology today by learning how to write AMP HTML.
Node.jsRuby How do you achieve real time, bi-directional, event-based communications in your apps? The Socket.io library is tested and true. ActionCable, new with Ruby on Rails version 5, is a challenger. Which solution is better, and why?

This presentation will compare Socket.io and ActionCable head-to-head. We’ll discuss speed, ease of implementation, and fitness for a particular purpose.
.NETJava & JVM languages This session introduces the concept of “Virtual Actors” - a new abstraction on top of the Actor Model, which is designed to be cloud-native and aims to accelerate the development of distributed applications.
We will cover the classic Actor Model, why Virtual Actors makes distributed application programming a lot simpler, and which open source implementations are available for .NET and Java.
Humans. As a species, we suck. The only real evolutionary advantage we have is our brains, and by using them we've become the dominant species on the planet. Our brains are superbly adapted for our survival and success in the environment in which they evolved... the African savanna 200,000 years ago. Join us in a tour of some of the most amusing bugs and exploits wetware has to offer.
Node.js This session delves into the opportunity for artificial intelligence to improve practical, everyday experiences. Ana (short for Analytics) is a message bot developed using IBM Watson Natural language technologies and Node JS.

We'll learn how to build bots like this, look at the pain points and benefits, consider the future of AI, Natural Language and Node js, and play back the analytic info from usage.
JavaScript AngularJS 2 is just around the corner, so it's time to have a look at the upcoming version of this wildly successful framework. We will start from scratch and implement a simple app during the course of the session, explaining the core architecture, features, and need-to-knows of AnguarJS 2 along the way. This includes templates, components, and services.
AccessibilityCareer “You either die a hero or you live long enough to see yourself become the villain.” Billy Gregory works in accessibility, and he wants you to take his job.

In this session, Billy will look at common accessibility issues across three basic principles: design, build, test. Using real world examples drawn from years of experience, he’ll show you how you can fix your code, improve your processes, and most importantly-- Take. His. Job.
DevOpsRuby The infrastructure for your application is made up of components. Maybe they’re virtual machines, storage, network, web app, database, etc. You do not see these as separate components; instead you see them as related and interdependent parts of a single entity. The Azure REST API and Ruby SDK help you to manage these resources to build applications upon Azure's scalable infrastructure. Let's build some infrastructure!
HTML & CSSJavaScript Google’s Firebase provides a suite of products to help you quickly build realtime apps. We’ll show how Firebase can take care of authentication, database, storage, and scaling while you concentrate on user experience and building an amazing product.
Java & JVM languagesPerformance Is caching data in your application still relevant today with all those HTTP caches, very fast key value stores, and micro services?
During this presentation, the attendee will learn the basics of caching (TTL, TTI, invalidation, tiering, etc.), key figures in the caching world, how the Java community came up with a specification (JSR 107) and how you can leverage it in your application with the implementation of your choice (EhCache 3).
.NETMobile .NET developers today enjoy a bountiful source of platforms, with many tools at their disposal. With Xamarin, they can target all the major mobile platforms. Azure provides cross cutting features for mobile developers, along with the necessary scale to support any level of mobile client. The answer is Yes!
Databases Built mostly in Java, Cassandra is a powerful open source NoSQL database, based on the model of partitioned row store. This talk will provide key features, general uses cases, Cassandra architecture, benefits, tools, and integration with existing Java applications.
Architecture & design patterns When it comes to designing and writing software, we should make handling change one of our main concerns. Nearly all of us do it, even if we don't usually call it that. In this talk we'll discuss the principles of Change Driven Design. We'll also explore some software architecture methodologies that position handling change as a core concept and design principle.
Security Cross-Site Scripting is one of the main risks for web applications - a position it has heal for over a decade! With Content Security Policy, this threat may finally come to an end. The W3C standard provides techniques to close many XSS vectors, offers fine-grained control over the security limitations you impose, and enjoys a decent browser support. We will show what CSP is capable of and also discuss how you may need to refactor your website.
Python Django is an “all-in-one” web development platform. Built-in features include full templating technology, routing, and object-relational mapping. Using Django’s ORM capabilities frees you from having to write your own database access code, so you can focus the application you wish to build. The Django ORM can even create and manage the database for you! Learn how to create objects for ORM, and map properties to columns in your database.
E-commerce The future of retail is in removing the divide between the offline shopping state and the enhanced online buying experience. To create this type of enhanced retail experience, we can remove complexities in the process, such as simplifying checkout.

In this session we’ll learn how to use internet-connected microelectronics to attach to a buyer’s mobile device to provide the functionality to buy products right from the aisle.
HTML & CSSPerformance Paint? Layout? Composite? Browser Workload? How the browser interprets CSS can get very complicated. Strategic CSS and specificity make a difference. We all just want fast websites and beautiful code, but learning about these topics can be daunting for a beginner. This session will present these ideas in a friendly, simple way, as well as explore the different ways of monitoring performance with Chrome Devtools. Get the best from your CSS!
Architecture & design patternsDatabases There are many considerations you should take into account when designing the database architecture of a Software-as-a-Service (SaaS) product. Scalability, geography, security, ease of implementation and deployment, performance, and data retention are all factors to consider. We’ll explore these issues, look at single and multi-tenant database models, and discuss options in both relational SQL and non-relational noSQL worlds.
Java & JVM languagesMachine learning Machine learning has seen a flurry of recent progress thanks to the growth of big data, fast hardware and clever algorithms. And Java is uniquely well suited to the task, with new Spark-based tools like h20 and dl4j. With these open source libraries, developers can harness deep learning technologies to discover new and untapped patterns in big data. Join us and learn how to train your own machine learning models using open source data and tools.
DevOps Our city's arts community is dependent on a 24/7 high volume Rails application. We revamped our deployment process to use the new AWS CodeDeploy. CodeDeploy is a free AWS service that efficiently deploys your released code to a “fleet” of EC2 instances while taking care to leave as much of the fleet online as possible. In this talk, you will learn how to skip writing custom deployment tools and celebrate rapid development cycles.
Python Django has been the largest web framework in Python for more than 7 years. However, web development hasn't stood still, with tools like Node.js and Go taking a more asynchronous approach to web development. Channels is Django's answer to this, giving Django an answer to other async web frameworks, allowing native support for WebSockets and more. This talk will be an introduction to the architecture and implementation of Django Channels.
DevOpsJava & JVM languages Docker is a famous containerization technology, but how can Java developers leverage it?
During this talk, attendees will discover how to create a Docker image from their Java app, how to deploy it to an internal or public registry, how to leverage Jenkins to automate those steps, and some nice IDE goodies to help them along the way!
DocumentationQuality assurance Going through an internal or external audit can be uncomfortable. Based on my experience as a former auditor, let’s look at documentation for your business in a detail-oriented way. We will cover important areas of proper documentation, including disaster recovery summaries, risk assessment information, internal controls, and guided business policies that need to be done correctly and maintained!
Architecture & design patternsDatabases Applying principles from Domain-Driven Design such as strategic design and bounded contexts, this presentation will help you choose and apply the right data layer for your application's model or models. We will explore traditional relational databases, graph databases, document databases, key/value stores, polyglot persistence, CQRS, event sourcing, and data layers for microservices.
E-commerce Ecommerce is what, a web page that lets people buy things? How hard can that be? Spoiler: It’s very hard.

Let’s say, against all odds, you succeed. Great! Get used to saying the words "But how will it work on Black Friday?"

This will be a guided tour through the intricacies of tax systems, payment gateways, and logistics providers-- all the things that make ecommerce hard.
JavaScript Did you know that your web browser has a full suite of built-in JavaScript debugging tools? With the developer tools in Chrome, Firefox, and Safari, you can debug JavaScript on the fly with breakpoints, watch expressions, an interactive REPL with autocomplete, and much more. Learn how to troubleshoot bugs and memory leaks like a pro, armed with the same web browser you already use everyday - no extra plugins or downloads required.
These days, every developer has the power to control the real world using Arduino.
Suddenly confronted with resistors, digital inputs, analog interfaces, and a weird bread board full of holes – a developer is reminded that the world of hardware can be confusing and sometimes downright frustrating.
The good news is that an electrical engineering degree is not required in order to build electronic circuits.
DevOpsRuby Creating personalized CLIs can help you streamline recurring tasks, such as setting up new development environments, managing deployments, and wrangling data. We will walk you through building CLIs in Ruby to help you avoid costly mistakes and to ensure consistent results. Create simple commands that perform powerful tasks!
DatabasesDevOps I will show how one can use the Elastic Stack to extract the events from application logs, structure them, and prepare them to be explored within the Elastic Stack. This will involve indexing real world logs from applications. This talk will also explore how to re-structure data that already exists within Elasticsearch via re-indexing. Listeners will learn how to take their own logs and extract meaningful visualizations using The Elastic Stack.
PythonMachine learning From implementing new research to validating results, running machine learning experiments can often be a process of trial and error. TensorFlow is an open source computing framework that places state of the art algorithms and tools into developers' hands, allowing you to rapidly iterate experiments, monitor their results, and scale into production. We'll show you how to train machine learning pipelines from conception to release with TensorFlow.
HTML & CSSPython From “Space Oddity” to “Blackstar,” Bowie inspired us with his diverse personas. What can IBM Watson reveal about those iconic characters through natural language analysis? That's the mission of Ziggy, a little Python app that builds a database of songs, and digs into the style and tone of writing within them. This session explores the findings and shows how it works. We'll consider real world use cases and future iterations.
Python What are closures all about anyway, and why is there a new keyword in Python 3? In this talk, we'll look at what closures are, their history in the Python language, what the Python 3 nonlocal keyword is about, and examine how closures are idiomatically used (and avoided) in Python.
Databases Very few developers receive training in Structured Query Language (SQL), but they are expected to have highly efficient database queries. Add in bad data normalization and lightning quick applications suddenly crawl. This session is a must for new developers who do not want to suffer hours of extra effort working with their data. We will cover how to avoid situations like the N+1 Problem, primary key violations, improper relationships, and more.
HTML & CSS Building linear layouts in CSS has been hard. Tables are bad, inline-block has quirks, and floats are insufficient. Thankfully CSS Flexbox enables us to solve our layout problems elegantly . While the specification has been around for over four years, increased browser support has finally pushed Flexbox mainstream. Let’s deep dive into Flexbox: what it is, why you should use it, how it’s configured, and where it’s most useful.
PHP Full frameworks are heavy, slow, and internally coupled. On the other hand, microframeworks can lead to “not invented here” because of missing functionality, or a minefield of tradeoffs connecting to other components.

Zend Framework 3 features separated components, and is blazing fast, with skeleton apps to leverage as a PSR-7 middleware, or as a full stack framework, with highly connective APIs. This will get attendees up and running quickly.
Management Everyone wants to have happier and more productive teams. We all know the benefits of loving what you do, so why does it seem so hard to have happy teams? In this talk I share my experience of cultivating happier teams that are empowered and enthusiastic to solve the problems they are tasked with. We will discuss the importance of autonomy, team norms, mission statements and other important factors in building awesome teams.
Developers, designers and others whose day job is spent using a professional desktop operating system are demanding more than having their apps trapped in browser tabs. We'll talk about how high value apps such as Slack, Microsoft Visual Studio Code, Brave browser are using web technologies but run on the desktop. We'll talk a bit about the tech (Electron.js and friends) but the focus will be on the usability, value, and what this trend means.
Java & JVM languages The Java 8 stream library is the most exciting addition to come along 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 parallel processing, plus advanced concepts like mutable reduction and declarative collection. Write better code with streams. This session will show you how.
CareerManagement The tech industry is straining to place the thousands of self-taught new developers and bootcamp graduates in junior developer roles. Why are new developers only considering junior developer roles? PMs, IT, tech evangelists, DBAs, and support roles can all be filled by a new ambitious developer. This talk is intended for job-seeking new developers and allies who are seeing how difficult it can be to land the few coveted “junior developer” jobs.
AccessibilityHTML & CSS "A picture is worth a thousand words." But what if your clients can't see the image? Worldwide, there are 39 million people who are blind and 246 million who have impaired vision. How can you post images on your website and still reach everyone? In this session, I will show you how to make various types of images conform to the Web Content Accessibility Guidelines (WCAG). I will also share a variety of free tools to validate your images.
Management You can be the greatest designer, developer, or content author in the world – and it doesn’t mean anything if you can’t deliver on projects. In this talk, you’ll learn what we learned from our shop's candid and honest failures. That includes learning how to set projects up for success; how to handle scope creep; best practices for communication; how to stay on budget; how to launch properly; and how to maintain the relationship afterwards.
HTML & CSSJavaScript The modern web browser is a powerful and flexible platform that is far more capable that you might think. Many advanced features can get lost in the gap between front-end and back-end development skill sets. Find out about the HTML5 APIs you've never heard of, from audio to video to physical sensors, and interaction methods for mobile users. Learn where they are supported and how you can start work with these APIs in your next project!
DevOpsPerformance With the Varnish caching proxy, you can greatly increase the speed of websites and handle a lot more load. The basics are quite simple once you understand how the cache handling in HTTP works, so we will look into that first. Then I will go into advanced topics like cache tagging and cache invalidation or using Edge Side Includes.
JavaScriptMobile Since 2008, PhoneGap has been free as in beer and speech, and has championed the hybrid development approach. This talk will be about embedding a Cordova WebView inside an application, and how Cordova can work with native application development to deliver the best of both web and native development. This talk will focus primarily on Android.
Management Web design costs come in a huge range. Thanks to that range, clients can struggle with understanding why websites cost what they do, and freelancers/shops can struggle with how to price their services. That’s what we’re going to uncover: the processes, variables, logic, and math that goes into pricing custom web design & development from the perspective of someone who’s grown from a two-person shop to a nine-person award-winning firm.
PHPSecurity In this talk, we will go over some of the most common attack vectors in code and how to protect against them while you write or edit a WordPress theme or plugin. Topics covered: escaping in WordPress, SQL and data sanitization, current_user_can(), using nonces to protect against CSRF, and WordPress and PHP security gotchas.
.NETMobile Apple Watch is an intriguing platform, supplementing the iPhone by providing the user with unique experiences and features.


With Xamarin, .NET developers are now able to develop and deploy Apple Watch applications. By mixing and matching outstanding .NET libraries such as Reactive Extensions, we can create remarkable apps that will amaze even the most avid iOS fans.
Ruby Ruby is 21 years old this year. Despite Rails being a popular tool that startups use, and despite the lushness of the RubyGems ecosystem, there are plenty who would declare Ruby as being on the wane. However, at Lighthouse Labs, we are still convinced that Ruby is the best vehicle for students to learn OOP programming. In this talk, we will discuss some of the strategies used to demonstrate the power of Ruby to a new generation of developers.
Security To protect our users and provide reliable, useful services, we need developers, engineers, SREs, information security, and the business savvy to all pull together. Rather than rely on onerous and (seemingly) abstract security recommendations, we need to understand what we're up against: who is attacking us? What are their motives, their capabilities? Let's threat model! Learn how to assess what defenses are meaningful and which are a waste of time.
Databases.NET When we were asked to move our SQL migrations to under 5 minutes of client downtime we said, “Impossible.” But we actually managed to achieve 0 minutes. In this talk, I will share how we achieved large scale (200 developers and terabyte sized databases) fully online migrations every month to our production SQL Server databases. We will cover the scripting changes, DB validations, and CI improvements we introduced to make this possible.
Whether you're building a backend or a frontend application, creating an API or consuming one, it’s helpful to understand the basics of HTTP. Topics covered will include HTTP methods, request headers, request URIs, response status codes, response headers, resource representations, authentication, content negotiation, and caching. Examples will be provided using an HTTP REPL (read–eval–print loop) client and an Apache CouchDB server.
Architecture & design patternsJava & JVM languages Devices already consume most services/data, but they have to get those services somewhere! Learn how to use proven patterns and open source software to quickly and effectively build edge services that marshal and streamline communication between your key services and end-users with devices in hand. The presenter will demonstrate how to develop & manage microservices using OSS tools employed by Netflix to keep movies streaming globally 24/7.
.NET So you’re a .NET developer, and you’re through with Windows. It’s not him, it’s you; you’ve just grown apart, and after spending so much time with MacOS, you’re ready to move on. From replacing tools like Process Explorer to learning the basics of Bash to becoming friends with Terminal, we’ll write our first MacOS .NET core app, edit old 2005 projects, and even see how we can still compile on Windows with Packer for those times when things just plain don’t work.
Python Websites often have little collections of data that need to be managed by internal staff, which traditionally require additional work from the site creator - you - to either provide a UI for administration, or you're updating the database manually. Neither are good solutions. Enter Django administration, which allows you to quickly create a fully customizable site for your internal users.
.NET Actor based development frameworks such as Scala and Akka have become popular for the development of scalable and fault-tolerant web services. Project Orleans brings the power of distributed actor-based development to the .NET platform.

In this session, we will examine how to develop with Project Orleans and discuss some practical use cases and applications for development. We will also discuss operational and development considerations.
E-commercePHP One challenging aspect of ecommerce projects is the wide variety of payment gateway APIs, each one different from the last. Learn about Omnipay, a payment processing library for PHP that acts as an abstraction layer between your code and a wide range of popular payment APIs. Learn how it can help keep your code portable between projects and provide business continuity if you need to switch providers, as well as the limitations of this approach.
Career Mental health issues are often overlooked or stigmatized. I'll go over my own personal experience with mental health, depression and anxiety. How to overcome the Imposter Syndrome and tips and tricks for working from home.
Architecture & design patternsJava & JVM languages Let's examine the ups & downs of adopting a microservices architecture and why, in most cases, the pros outweigh the cons. The presenter will demonstrate how to build & integrate microservices using popular open source tools. We’ll discuss and learn risks & mitigation strategies, including load balancers, circuit breakers, tests, & other mechanisms at your disposal to increase software quality.
Security Building a modern API architecture is a constant struggle between ease of development and security. JSON Web Tokens (JWTs) introduce a means of building authentication into JSON objects being transmitted through APIs.

In this session we’ll explore how JWTs work to build verifiable and trusted objects, allowing them to be combined with standards such as OAuth 2 for capturing access tokens, leading to a secure means of JavaScript SDK dev.
PerformanceQuality assurance We all understand the need for functional testing with every build and release We write unit tests and QA creates user acceptance and other functional tests. Often, performance testing is put off until later, maybe even until the app is in production. Why isn’t performance testing a part of every build? With today’s performance and continuous integration tools, performance can be continuous.
Architecture & design patternsRuby Music and code. Two things that outwardly seem very different. And yet, whether performer or programmer, you have a number of the exact same considerations. This talk will demonstrate how approaching both roles with the same mindset can improve your performance in both.
Databases Relational databases such as MySQL usually required a document schema to be defined before documents can be stored. But now you can store data in a JSON format without a schema without needing SQL programming skills. Plus you get both the schemaless document store and simultaneous SQL access to your data with developers needing SQL programming skills. You get the best of the relational database world and the schemaless docstore in one.
DatabasesPerformance Insert latency going up? Replication delay getting you down?

This talk will show you how to make your MySQL deployment lean and mean without resorting to rewriting your schema or application queries. We'll go through how to instrument your cluster, how to quickly write and run load tests specific to your workload, and how to analyze the results and determine what you should change in that default my.cnf you copied from StackOverflow in 2008.
Java & JVM languages Java was born at the dawn of the Internet and continues to evolve and thrive alongside the changing landscape of programming languages. The latest example is Java 9, set for release in 2017. But with over 80 new enhancements planned, what will it mean for Java developers?

Nick will cut through the clutter by presenting some of the most exciting features, including JShell and Jigsaw. Prepare for change!
Node.js Most people think Capital One is solely a bank. In reality, we are a technology company, and we often use open source. When it comes to Node.js, Capital One has many uses of the platform. In this talk, you’ll learn how Capital One uses Node.js, as well as some of the hurdles of being in a heavily regulated industry like finance.
Architecture & design patternsDatabases There are myriad data storage systems available for every use case imaginable, but letting application teams choose storage engines independently can lead to duplicated efforts and wheel reinvention. This talk will explore how to build a reusable data pipeline based on Kafka to support multiple applications, datasets, and use cases including archival, warehousing and analytics, stream and batch processing, and low-latency "hot" storage.
Architecture & design patterns.NET No one ever wants to write another REST API client. AutoRest (https://github.com/Azure/autorest) + OpenAPI (https://openapis.org) specifications (Swagger) can make this a reality. Join me as we talk about API specifications, REST API patterns, and how you can combine the two to create an opinionated code generator to create beautiful REST API clients. We'll generate code for C#, Java, JavaScript, Ruby, Python and Golang.
Security This talk will teach you the principles and practices of how to protect yourself from both active and passive attackers during day-to-day operations. We will focus on human aspects and the psychology of how people work to help you protect your information from any number of adversaries, in part by understanding, developing and applying suitable defenses across all layers of "cyber."
Ruby Excel spreadsheets are ok for quick analysis, but when the rows are too many and the formulas are too complex, recalc time slows to a crawl. Plus, sharing a spreadsheet is cumbersome due to security and version control headaches.

This presentation will take the audience through a conversion from an old, slow spreadsheet into a zippy Ruby on Rails app. We’ll discuss UX, extracting formulas, database loading, testing, and performance.
E-commerce Learn how to easily implement credit card payments into your web applications with Stripe. This talk will teach you the basics of the core Stripe API. You’ll also learn how the Stripe Connect gateway works for supporting payments in a marketplace for platform solution. Finally, you’ll learn about the Stripe Relay API, a solution that allows your customers to buy products from within other mobile applications.
PHP Whether you are a brand new developer or an experienced coder, the PHP object model can hold some mysteries that are worth exploring. This session will briefly cover the basics of working with Objects in PHP, then dive quickly through inheritance, abstracts, interfaces, traits, late static binding, magic methods, namespaces, and maybe even reflection. It’s a lot to cover, so make sure to show up with your eyes open and be ready to move quickly!
PHPQuality assurance phpdbg has been bundled with PHP since version 5.6, and provides first class runtime debugging for PHP without needing to install an extension. It’s easier to get up and running than XDebug, and provides a command line interface that’s eminently usable without needing to set up IDE integration.

In this talk, we’ll walk through examples showing how to use phpdbg to find and track problems with Web pages, CLI scripts and your test suite.
Databases Postgres - a powerful DBMS with a big feature set, good performance, and stability. Yet in PHP, it's commonly overlooked for mySQL (and its forks) or NoSQL options.

If you’re a mySQL user, Postgres might seem strange - from the way you install and configure it to the way you interact with it and create schemas. Things are different.

Liam discusses reasons you might use Postgres, and looks at the differences between the two.
DevOpsPHP Developers love to "automate all the things,” but where to start? What tools exist, and what can be automated? Without unit tests, can it still benefit to automate? We will show how a PHP application pulled from Git, complete with unit tests, composer dependency management, and package creation, can be repeatedly deployed flawlessly using Jenkins. Then see how "Dev" and "Ops" are supported if the application breaks through automated rollbacks.
Machine learning Machine learning is amazing, but to get accurate predictions you will need to spend time working with your data to get the best possible outputs. Like the old adage says: garbage in garbage out! So if you are trying to learn more about machine learning, stop by and learn the basics of preparing your data for machine learning. We will start with a real world dataset and transform it to get more accurate predictions from our training model.
Python Python is one of the most popular programming languages, and one of the most flexible. You can create pretty much any type of code you need: object oriented, procedural, functional... And it can be used to create any type of application, and is used in many big data scenarios. You can also get up and running in a short period of time if you’re experienced with another programming language.
Mobile If you consider yourself a web developer first and a complete N00b in mobile, this hands-on talk is for you. Unlike other hybrid approaches (e.g., PhoneGap/Apache Cordova), React Native allows developers to build truly native mobile apps. What’s even better, developers can do it using familiar web dev tools like Chrome DevTools and JavaScript. On top of that, you get hot reloading-- meaning there’s no need to wait for the compilation!
RegEx is scary. At least, if you ask Google, that's what you might think (257,000). And slow (441,000). In fact, regular expressions are neither of these, and indeed are a powerful tool in your utility belt.

In "RegEx Is Your Friend", Liam aims to provide some real-world and usable examples of how it can be used in a way that's fast, explaining how the different parts of regular expressions work and execute to make it understandable for all.
PHP Have you ever had to maintain a 15-year-old application? Dead code everywhere, database queries in between HTML tags, and some pages still in PHP 3. This strategy-level presentation will lead you through a progressive rewrite, from very old legacy to the latest shiny version of PHP. Learn how to automate legacy testing, how to seamlessly jump between the old and new parts, and how to overcome other challenges that arise from dealing with legacy.
PerformanceRuby Ruby developers have known for years that our beloved language is one of the most joyful to write. And yet, "Ruby can't scale" seems to be a daily article on Hacker News. In this presentation, aimed at intermediate-level Ruby developers, I'll present some tips and tricks that we've learned at New Relic writing Ruby services that scale to hundreds of thousands of requests per minute.
DatabasesPHP Where is the truth in sentences like "ORMs are slow" or "SQL is insecure?"
We will walk through the reasons that shaped ORM architecture, their potential and limitations.
After this talk, you will be in a better position to choose the best fit for you and your next application.
Architecture & design patternsJava & JVM languages Inspecting your data and telemetry in real time before storage in a latent data analysis solution like Hadoop gives your data pipeline opportunities to leverage insights that can be used in immediate decision making.

In this talk, we will discuss the power of real time data analysis when used in combination with latent data processing, discuss development with Apache Storm, and examine operational considerations in production deployments.
JavaScript ECMAScript 6 is the new version of JavaScript available in the engines of our modern browsers and servers. Many of its features are just a little syntactic sugar to help make our code clearer and more concise. Learn how to use arrow functions, destructuring, rest parameters, and other sweet ES6 features.
PHP Symfony is a powerful and very flexible framework for building web applications. Symfony is also a collection of base components that you can use separately in any PHP application. This modular nature allows many frameworks to build on top of it, the most notable being Drupal 8 and Laravel. In this talk, I will give an overview of the fundamental Symfony components and show how to use the full stack framework.
.NET Tired of projects where the wrong thing is tested? Finding TDD too time-consuming or too hard? High test coverage and your users still find bugs? Don’t understand if your tests are unit, integration, automation? InVEST in your future; come and discover how to write those tests that matter using this approach, based on a lifetime of test-driven development and unit testing practice. The hyperboles are included for free.
Management The Four Pillars of Management will cover Time, Budgeting, People and Stress. For Time, we will switch the paradigm from worrying about having enough of it to assessing our daily habits. Budgeting will cover the latest techniques to ensure actual results are not a surprise. People will include the latest hot topics for management. Stress is either Eustress (positive) or Distress (negative); let's focus on the former and fuel our successes!
HTML & CSS CSS Layout in 2016 is a mess of hacked together methods using techniques that were never designed for complex web and application layout. However change is in the air, brought to us by specifications such as CSS Grid Layout, Flexbox, and the Box Alignment Module. In this session Rachel will introduce these specifications, explaining how they fit together to create a new system for layout.
Quality assurance We all make mistakes. As much as we try to write flawless code, every now and then an error slips through. In order to reduce the number of mistakes, we perform code reviews to ensure the code meets certain standards and to see if the feature was properly implemented. But how do you do a good code review? How do you handle technical discussions? How do you keep your reviews focused and your discussions relevant? Attend the talk and learn the answers.
Architecture & design patterns The talk will cover exactly what the state pattern is and how it's used in a game. Then we'll be discovering what this can do for us in the world of web applications. Following that we'll take a brief look at the state machine to see how it's different from the pattern and why it's useful to us. We’ll put theory into practice throughout the talk by continuously showing examples. And we’ll even include some live coding.
Architecture & design patterns Have you heard about type theory and always wanted to understand the principles behind it, but always thought it was too complicated since it has a lot of Lambda Calculus and algebra? Type Theory is a concept that is sometimes regarded as boring or too difficult, and this talk will show that any developer can understand those principles and maybe apply them to improve their decisions on architecture.
PHPQuality assurance How often have you rewritten your unit tests from scratch just because the code it was testing evolved slightly? In this session we will explore some unit testing techniques from other languages to produce more robust tests in PHP. You’ll never have to send your unit test to the trashcan again.
DocumentationPython This talk will cover the internals of how a system for documenting software works. This talk will include specific examples from the Sphinx documentation generator, and cover the concepts they use to make documentation generation powerful.

The talk aims to impart high-level understanding of the concepts around documentation generation, which will be applicable to most documentation tooling, whether it be Commonmark, RST, or Asciidoc.
DatabasesPerformanceRuby N+1 queries are prevalent and problematic in almost every web application. However, they are a silent performance killer. Often they go under the radar and their existence will not cause a web application to grind to a halt. There exists standard ways to eliminate them but they fall a little short. This presentation will dive into a way to detect these the problems as well as improvements to the known solutions.
Architecture & design patternsPython Elm, Figwheel, Redux, and other environments that carefully manage state have popularized reliable, straightforward implementations of undo, hot code reloading, and time travel. Although these techniques are harder to implement in more traditional environments, sometimes their power is worth it. We'll walk through some hacky strategies: saving state with fork(2), replaying operations to rebuild state, and deeply copying webs of mutable objects.
AccessibilityHTML & CSS n this session we will jump right in and use ARIA and HTML5 to create modern, accessible web applications. Using real code examples, Billy will demonstrate various techniques developers of any skill level can implement into their existing code to improve accessibility. Starting with the basics and working up to some more advanced examples, attendees will learn how to start using ARIA right away.
We're no strangers to VoIP. You know XML, and so do I. A full implementation is what I'm thinking of. You wouldn't get this from any other talk!

I just gotta tell you how to code this, gotta make you understand…

Learn how to set up VoIP; how to tear calls down; how to run high availability, and stateless.
Learn how tech makes you cry; how to upgrade on the fly; how your call will be monitored for quality assurance and training purposes.
JavaScriptMobile Any developer with a modern Android or iOS device and a cardboard viewer can get started making unique experiences relatively quickly. This introductory talk will go over the basics of three.js and the WebVR Boilerplate and will discuss how to to use standard web development practices to bring these experiences quickly across devices.
PHP PHP isn't the same as it was 5 years ago. Now with the release of PHP7, it continues to evolve. If you haven't looked at PHP in a few years, you won’t recognize it! Namespaces, SPL, Traits, Closures, Scalar Type Hints, and so much more was added to the language in recent years. Not to mention ecosystem additions of Composer and PuPHPet. Join us for a whirlwind tour of what PHP has become.
HTML & CSSPerformance Today we have CSS specifications for animation and transitions, complex layout, custom properties and much more. In addition to the breadth of modern CSS specifications, our evergreen, auto-updating browsers sneak in new features with every release.

In this talk, I’ll be taking a look at some of the things that CSS is capable of, some of which you might think you need a JavaScript framework or at least a pre-processor to achieve.
JavaScriptNode.js Node.js can be a powerful platform used in the right situations, but it also has more footguns than PHP does for new developers. Asynchronous programming style, concurrency issues, error handling, the event loop, and no default timeouts for HTTP requests or network calls will give new developers more than their fair share of troubles. This talk gives a thorough introduction to node.js and the event loop model, and covers common pitfalls to avoid.

Vancouver 2016 sponsored by