Filter based on category or technology!

10 Tips to be Successful at DevOps. You Won't BELIEVE #6!

Dylan Smith


After working with dozens of companies on their DevOps journeys, I’ve noticed some common mistakes teams make, and some common advice I end up giving.  I’ve distilled it down to 10 simple tips and practices that all teams can apply regardless of technology choice (VSTS/TFS, TeamCity, Jira, GitHub, etc).

Adding ES6 to Your Developer Toolbox

Jeff Strauss

Web, JavaScript

Web developers constantly look for the latest and greatest ways to hone their craft, but changes come fast. From jQuery to Angular to React to Aurelia, CoffeeScript to TypeScript, it seems there is always something new. But ES6 is something different. With ES6 we are seeing the evolution of core JavaScript. It includes syntactic improvements and great new features never before seen in client-side code. Linters and transpilers for ES6 are readily available and easy to use. There is no need to wait; learn how to leverage the power of “the new JavaScript” in your applications today!

Advanced Messaging

Donald Belcham

Dev Practices

If you’re already using messaging, or you have a good understanding of the fundamentals, its time to start looking at some of the more adventurous messaging patterns. These are the patterns that really start to enable your systems to do more.

I will show the saga pattern and a real world example that everyone can relate to; password resets. I will add the element of time to the problem space and show how you can easily expire a reset request. Another area I’ll talk about will be message flow. I’ll cover polymorphic dispatch, forwarding messages, auditing and why you care. Finally I’ll talk about messaging with large payloads.

When you work on a messaging system you’ll be able to identify areas of the business that are suited to more complex messaging patterns. You will also be able to create solutions that are elegant and effective which could be the first steps towards world domination…or your next project.

An Introduction to TypeScript

Jason Bock

Web, TypeScript

JavaScript is the language for web development, but it’s not the only way to write code in web applications. TypeScript is a language that emits JavaScript, but provides constructs and features currently missing in JavaScript. In this session, you’ll see what TypeScript is, how it works, and why you should consider using it on future web projects.

Angular: You’ve Talked About It, You’ve Read About It, Now You’re Ready to Build an Application

Richard L. Taylor Jr.

Web, Angular

There has been a lot of activity with Angular over the last couple of years. As a developer, especially a web developer, the term/name Angular is not foreign to you. You have probably discussed it with other developers, you have read about it in developer trade publications, and you have probably written a sample “Hello Angular” application just to get a feel for Angular’s value proposition. Now you are ready to build a real application but you have some reservation on how to get started or if you have started, you are questioning if you are building your application correctly. In this session, we will explore using Angular to build the major features common to all modern web applications. This should give you a solid foundation for using Angular as an effective tool in your development toolbox.

Assembling the Web - A Tour of WebAssembly

Jason Bock

Web, JavaScript

WebAssembly. It’s coming to JavaScript. But…what exactly is it? Is it a new VM? A way to create a binary version of JavaScript? A new standard to get everyone to code in C/C++ for the web? In this session, we’ll demystify WebAssembly, demonstrate exactly what it is, and provide insight into how this will affect JavaScript and web development in the future.

AWS Serverless Apps

Dave Harris


Tired of patching servers in the cloud every month? Paying monthly bills for servers that sit idle for hours at a time? Cloud providers are now providing full stack serverless solutions that can allow you to free yourself from these constraints on your time and wallet. We will walk you through using Amazon Web Services tools to host a web site or process transactions without a server in sight. You'll learn the basics of creating a modern serverless application using AWS tools such as API Gateway, Lambda, and DyanamoDb.

Azure Service Bus – Taming the Beast

Sean Feldman

Dev Practices, Cloud, Architecture

Messaging is the backbone of the systems. Not all messaging systems are born the same. Some are less sophisticated, and some are more. Some are even so powerful that you get the thrills. Ah, so you have met the Azure Service Bus.

In this session, I would like to unleash the power of Azure Service Bus like you have never seen before. Moreover, share with you how to tame the beast and get one of the most advanced messaging services under your toolbelt.

Beyond the Basics with F#

Shane Charles


You’ve heard of F#, maybe even have a few scripts you’ve written laying around. Awesome! Let’s take a little deeper look into all that F# has to offer. We’ll start with basics and move into some more specific features like active patterns. All of this will happen while we take full advantage of F#’s REPL and functional paradigms.

Blockchain for the Enterprise

Tyler Doerksen


Originally created for storing digital currency accounts (Bitcoins), Blockchain is a combination of existing cryptographic algorithms to provide an immutable distributed transaction ledger. There are many organizations including Microsoft, IBM, J.P. Morgan, and even Disney participating in Blockchain projects to support enterprise-centric workloads. Organizations are re-architecting or re-envisioning legacy mission critical systems to use Blockchain deployed in the cloud. The total addressable market for technology vendors is estimated to be between $50b-$100b by 2026. This session will provide an introduction to blockchain architecture, information about the key players in the Blockchain ecosystem, and some real-world solutions powered by public and private Blockchains.

Bring Artificial Intelligence into your Enterprise Solutions with Microsoft Cognitive Services

Lori Lalonde

Cloud, AI

Join me in this session to learn how you can tap into the powerful AI algorithms within Microsoft Cognitive Services to build intelligent applications. With the Cognitive Services APIs and SDKs, you can easily add vision, speech, language, and knowledge capabilities with only a few lines of code.

Building Amazon Alexa Skills w/ C#, JavaScript and Azure

Chris Williams


If you’ve ever looked into developing for Amazon Echo and were scared off by the complexity (AWS Lambda Functions? Certificates? Cloud Services?) and technical requirements (Java, Python, NodeJS… no C#?) then this is the session for you.

In this talk, I’ll walk through the process from Design to Development to Publishing, and we’ll do (the development) in Visual Studio, using C# and JSON.

We’ll cover voice interactions, hardware interactions, cloud services, certificates, deploying to Amazon, AWS Lambda, and also discuss controlling your home with voice commands via Alexa and a SmartThings hub.

Voice interaction requires anticipating how you (and your customers) think, and speak. This session will help you understand the Interaction Model and the Alexa Voice Service.

Clojure & Clojure Script - one Language to Rule Them All!

Amir Barylko

Languages, Web

Clojure is a dynamic language that compiles to the JVM based on Lisp. Why is so great? No only inherits the simplicity and design principles of Lisp but also inherits traits of functional programming such as immutability, pure functions and simple concurrency.

Combined that with live feedback using a REPL, great community, robust set of tools and easy interoperability and the case for Clojure is even stronger.

But that is not all. Front end developers and backend developers can both use the same language, share simple design principles and the same code.

Clojure(script) is a compiler for Clojure that targets Javascript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler.

A great language, awesome libraries (React, etc) and full interoperability with JS. What’s not to like?

Join me on a session where we will learn a bit of Clojure and explore writing together an app in Clojure(script) that will show you why is so popular and why is such a compelling choice.

Continuous Delivery - Patterns and Anti-Patterns

Juni Mukherjee


Continuous Delivery (CD) is important for a business to be sustainable. However, CD is not a discipline on it’s own (not yet), and the science behind it is rarely covered in schools.

The intended audience for this talk are engineers, architects and technical managers who are starting out to build Continuous Delivery Pipelines, or are seeking to improve ROI on their existing investments.

Every company aspires to sustainably flow their ideas into the hands of their customers, and reduce Time2Market. This talk goes into the heart of this burning topic and provides technical recipes that the audience can take away.

This talk will cover:

  • Domain Driven Design (DDD) for CD, based on concepts authored by Eric Evans The Continuous Delivery Pipeline can be modeled as a domain
  • How the CD Pipeline, along with its assets, can be orchestrated with Jenkins. The Continuous Delivery Pipeline domain can be orchestrated with Jenkins 2.0, aka Pipeline-as-code. Each box in the model could be authored as a stage in Jenkinsfile.
  • Pipeline patterns and anti-patterns (There are some trends that are consistently observed in the industry)
  • KPIs to measure ROI from the Pipeline “Show me the money!”. This is the “Jerry Maguire moment”, whereby the ROI is demonstrated.

Continuous Integration & Delivery using Concourse CI

Mark St. Godard


Continuous Integration is one of the Extreme Programming (XP) practices where developers commit and integrate frequently, triggering automated unit tests to detect issues early. Continuous Delivery is an extension to CI, where by teams utilize a delivery pipeline to ensure that those commits result in software that is releasable.

Concourse is an open source CI system that allows teams to implement a delivery pipeline that scales to the needs of their project. Concourse focuses on simplicity, flexibility and repeatable builds.

In this talk, you will learn about the key concepts behind Concourse and how to build your own delivery pipeline. You will also learn how the teams at Bold are using Concourse to automate the building, testing and deployment of their e-commerce applications.

Creating a Solid Web Application Architecture Using Angular (2+) and ASP.NET Core Web API

Richard L. Taylor Jr.

Web, Angular, .NET

Modern web applications built today typically consist of various technologies used to deliver the final solution. Over the last several of months, there have been significant new developments both in front-end frameworks for building single page applications as well as back-end frameworks designed for applications hosted in the cloud. In this session, we will explore using ASP.NET Core to host a Web API that provides services to an Angular (2+) single page application. As a developer, you will take away from this session a solid understanding of how to design a modern web application using these technologies.

Cross-Platform Deployment of ASP.NET Core Applications

Ken Cenerelli

Web, .NET Core

Before development commences on your ASP.NET Core application, you need to decide where you will host it. Since ASP.NET Core apps can target many OSes and web servers, the decision should not be taken lightly. In this talk, you will see how different systems affect your deployment decisions. We will look at how to deploy your app on a variety of different environments (Windows, Linux, Mac, Azure, Docker) and hosting servers (IIS, IIS Express, Kestrel). By the end, you will have a better understanding of how to choose the right scenario for your application.

Demystifying .NET in 2017 - Core, Standard Library, Mono, and Framework

D'Arcy Lussier

.NET, Architecture

It used to be that we only needed to know what version of the .NET Framework we were using when developing our applications. But here in 2017, the .NET landscape has changed and things aren't as straightforward. If you're a .NET developer and have been wondering what all these new terms for .NET are about or are curious to learn more about where .NET is heading, this is the session for you!

Deploying Straight to Prod: A Guide to the Holy Grail!

Damian Brady


You’ve toiled hard on your code, tested it locally, and you’re confident it’s ready to go. But how long until you see it in production? For some teams, it can be months or even years. By the time your new feature or bug fix gets used in anger, you’ve forgotten what you did! But with a great deployment pipeline and some clever architecture, there’s a better way.

This session is packed with war stories and real world successes. We’ll walk through the realities of a no-touch deployment pipeline that you can trust all the way to production, and we’ll examine some clever architectural patterns to enable true software agility. By the end, you’ll be convinced that if it’s not in production, it doesn’t count. If you struggle to get updates in the hands of users, this is the session for you.

Docker in Production

Simon Timms


Docker is a containerization tool which is taking the world by storm. Docker is great for doing development but it becomes a bunch more complicated when you need to run it in production. Kubernetes, Docker Swarm, Mesos, networking what’s a developer to do?

In this talk we’ll explore actually getting containers off your local machine and out somewhere where they can do some good.

docker stack deploy: An Intro to Swarm Mode & Compose

Adam Krieger


Get started with the Swarm Mode, the orchestrator that’s built right into Docker! This session will explore the syntax and use of Docker Swarm Mode and Docker Compose. We’ll build a high level body of knowledge by breaking down simple examples, and then take it further by using those component pieces in a cloud-deployed solution. Along the way, we’ll review topics like infrastructure as code, declarative configuration, containers, application scaling, and upgrades. This talk is aimed at the developer who wants to get more involved with deployment platforms, and those that want to learn a new tool to change the way they think about serving solutions.

Doing Cool Things in a Pure TypeScript Project

Alexander Trauzzi

Dev Practices, Web, TypeScript

I think we can all agree that nodejs has proven itself! Given that all JavaScript is valid TypeScript, does that then mean that we can write pure TypeScript projects? Let’s see!

Let’s go through what it might look like to bootstrap a simple TypeScript project to write some data to MongoDB. Along the way, I’ll show some tools and offer insights into how the various ecosystems work together.

Technologies, concepts and libraries to be explored:

  • TypeScript, tsconfig
  • NPM, Yarn and the “new” way to do typings
  • CLI applications
  • Promises and async
  • mongodb

With any time left, I’ll show some more advanced concepts via an open source project I am working on. You’ll get to see docker being used for local development and to build and deploy to Azure from TravisCI via resource templates. Phew!

Most importantly, throughout the presentation I’ll gladly answer any questions on what I’m showing!

Doing DevOps as a Politically Powerless Developer

Damian Brady


DevOps. So hot right now. So hot your managers have jumped on the buzzword bandwagon and have told you to “make it happen”, but also not to subvert the company change process. You can do that, right?

As tech professionals, we know you can’t just exchange cash for DevOps, but how can you convince the higher-ups? Particularly when upper management won’t let go of the perceived safety of a slow-moving product delivery cycle.

This session looks at the realities of implementing DevOps in an organisation that is resistant to change. We’ll discuss the levels of technical and cultural change that you absolutely need, the barriers that commonly get in the way, and some techniques to get around them. Expect subtle and possibly even underhanded tips to get things moving in an environment that just wants to use the word “DevOps” without making the necessary changes.

GasBuddy: Moving an App Into the Cloud

Craig Norman

Cloud, Dev Practices, Architecture

This is the story about moving an app used by millions of people and highly reliant on a big relational database server into the cloud. How do you move such a big app? What happens when you want to put a massive relational database into the cloud? This talk will cover the problem we faced, the solution we designed, and the steps to implement moving our app into the cloud.

Getting Business Value from your Data

Mike Diehl


Organizations that are innovative with their data can reap the rewards. They can use data to improve their efficiency, increase revenues, understand their customer better, provide better service, and decrease costs. In this session Mike Diehl will show some of the design principles that should be used in business intelligence projects in order to realize the most business value. He will also discuss some of the use cases for advanced analytics like predictions, recommendations, and sentiment analysis. The examples will be shown using Microsoft Power BI Desktop.

Imposter Syndrome: Overcoming Self-Doubt in Success

Heather Downing

Dev Practices

Impostor Syndrome - when high achievers run headlong into self-doubt that can cripple forward progress. This talk approaches the issue scientifically and presents ways to deal with this phenomenon, eventually moving beyond it. What matters most is not whether we fear failing, looking foolish or not being enough; it’s whether we give those fears the power to keep us from taking the actions needed to achieve our goals and highest aspirations. In this session we will bring this sensitive subject to light by exploring:

  • Why having this mindset is detrimental to your career
  • Identifying the differences between healthy concern and illogical doubt
  • What it actually means to ‘fake it till you make it’
  • How believing something negative about yourself can make it really happen
  • Ways to cope once you experience a sincere failure
  • Learning to graciously express confidence

Intro to Azure Logic Apps

Lori Lalonde


Building an integration and workflow pipeline from the ground up is challenging, time consuming and costly, let alone having to scale it up to meet the demands of a global market. If you have a need to implement workflows, connect disparate systems, and integrate custom processes, then Azure Logic Apps is the answer! Join me in this session to see how you can quickly build a complex workflow using the Logic Apps visual designer, and how you can leverage any of its available connectors to integrate with popular enterprise, social media, and productivity platforms.

Intro to Functional Programming with Haskell

Quinn Wilson

Dev Practices, Languages

Functional programming patterns and concepts have been making their way into every (actively developed) language I have worked with. I first learned functional programming concepts from an excellent training tool in javascript - I learned a lot but I have since discovered that it was a terrible garbage dump of compromises to learn functional programming in javascript.

I've been learning and using Haskell to solve code katas for close to a year now. The language, the compiler, the libraries, the tooling, the ecosystem and the community all play big roles in why Haskell a great tool to work with.

Join me in a session where I will share a bit about my journey - I will kick the tires with the language, show some ways that Haskell elegantly solves problems, talk about how working with a *pure* programming language teaches you about all other software development and look at the tools I used along the way.

Introduction to Angular for .NET Developers

Laurent Duveau

Web, Angular

In this session, I will introduce you to Angular, from a .NET perspective (meaning, you are comfortable with .NET and C# but you have never done an Angular app before). I will show you how to take advantage of TypeScript, Visual Studio Code and the Angular CLI to create your next business client-side app with Angular using familiar concepts!

Introduction to Messaging

Donald Belcham

Dev Practices

Somewhere, someone on the internet is saying "Messaging will solve all of your system's problems". They might be right. But for all you know, they could be wrong too.

I could take the time in this talk to introduce you to basic messaging patterns. That doesn’t address the bigger issues that most people who are getting started with messaging. Why should you care about messaging? What technical or business problem will it solve for you? How can you get started?

When you leave this session you will be the person who can stand up in the meeting and declare "Messaging will solve this for us....I think" to the bewilderment of everyone who is attending the HR yearly benefits update.

Is continous integration hard? Maybe source control is your problem

Craig Norman

DevOps, Dev Practices

Changing a source control providers is not a decision to be taken lightly especially if you have years worth of code. But if your source control provider is making code review and continuous integration cumbersome, you should really think about taking the plunge.

At GasBuddy, we were hosting our own source control. Which also meant we needed to host (aka. maintain) our own continuous integration / continuous deployment solution. We don’t make CI tools so why were we spending so much time maintaining them? The answer: we had to. Our source control was the problem. We decided to move our application to Github, but the process wasn’t as simple as running a script. In this session I'll walk you through our experience.

JavaScript Build System Battle Royale!!!

David Wesst

Web, JavaScript

Five JavaScript build systems enter. Only one leaves. You decide the victor in this battle royale between the five different JavaScript build systems: Grunt, Gulp, Jake, WebPack, and NPM/Node. In this 60 minute battle to the bare bits, we will pin these five build systems up against each other by reviewing them one by one by having them do what they do best: build JavaScript projects. We’ll take one project and build it each with the build systems to decide who can be crowded the JavaScript Build System champion of PrDC 2017!

JavaScript Futures: ES2017 and the Road Ahead

Jeff Strauss

Web, JavaScript

Development teams are now using the exciting—and extensive—new JavaScript features available within ES6. Yet, as adoption has spread and projects have adapted, the language continues to evolve and expand. Last year, two features were quietly added to comprise ES2016. In January, another handful of improvements were marked final for the release of ES2017.

One thing is certain: the JavaScript community is not slowing down! Investigate the new and proposed features of JavaScript. Understand the ES.Next maturity stages and the TC39 review process. And most of all, become empowered to prepare for what lies ahead.

JavaScript Strategies for ASP.NET Core Apps

David Paquette

Web, .NET Core

When it comes to structuring and managing our JavaScript code, we suffer from an overabundance of opinions and an overwhelming set of tooling choices. In this session, we will take a tour of tooling options for managing JavaScript code in ASP.NET Core.

After a quick review of the structure of an ASP.NET Core application and the significance of the wwwroot folder, we will dive in to the multitude of tooling options available for managing your JavaScript assets. Expect answers to some age old questions like:

  • Where in the project should JavaScript source files be placed?
  • Should you use the simpler Bundler Minifier tool or a more capable task runner like Gulp?
  • What exactly is this webpack thing everyone is talking about?

JavaScript Tests in Node, the Browser, and CI

Rob Richardson

Web, JavaScript

Good software practices don’t end just because you’re building a thick client in the browser. The JavaScript community is a flourishing boutique of high-quality tools and techniques. We’ll dig into some of the more popular open-source JavaScript patterns that have emerged from the Node community. We'll see mocha, chai, karma, phantom, and travis in action, look at some great techniques and patterns for browser development, and brush up on things that make JavaScript a phenomenal place to work.

Leading Practices for Planning and Implementing a SharePoint Environment

David Drever


There are many technical best practices when implementing a SharePoint environment or building a large solution. However something so often overlooked, passed off as unimportant or considered a passing thought, is the actual planning and preparation for the environment or solutions. In this session join David Drever as he uses his extensive knowledge and experience in implementing SharePoint solutions to help you plan and prepare for any significant SharePoint project.

Together you’ll discuss everything from whom to include in your planning sessions, to who should actually be doing the planning for you to how to engage your users at the end. David will constantly be digging into his tickle trunk of past experiences to provide real world examples illustrating the discussion. Don’t be concerned with the focus on a particular product. Since SharePoint is such a large platform the topics discussed in this session can easily be transferred and used in any project you will find yourself a part of in your career.

NServiceBus and Azure Service Bus

Sean Feldman

Dev Practices, Cloud, Architecture

Building distributed system on Azure? Trying to solve communication problem between your services? Say no more. You have come to the right session.

I will show you how to get the best of the rock-solid .NET service bus with the Rolls-Royce of the messaging services on Azure. With this knowledge, you will be able to tackle not such trivial problems of system scale, distributed design, and advanced messaging as if you were a rocket scientist.

ORMs vs Micro ORMs

David Paquette

Dev Practices, .NET

In this session, we take a giant step back and review the history of database access in .NET. Why do Object Relational Mappers exist? What problems are they trying to solve? What new problems did they create for us? What are these new fangled Micro-ORMs that everyone is talking about? Does your .NET application really need full power of Entity Framework or (shudder) nHibernate? Let’s take a look at micro ORMs like Dapper.NET and see how they can simplify your application.

Post jQuery

Rob Richardson

Web, JavaScript

jQuery was a wonderful tool that paved over the irregularities of browsers and offered a simple interface for making very powerful applications.  Today with evergreen browsers and modern JavaScript, we no longer need this crutch.  Let's look at our favorite jQuery techniques like $.ajax() and $(...).click() and $(...).addClass() and compare this to the code we'd write in modern JavaScript.  Sprinkled in are great ES6 techniques like rest and spread, promises and fetch.  Challenge yourself on your next project to see if you can run in a post-jQuery world.

Refactor, Don't Rebuild

Eli White

Dev Practices

To paraphrase a popular 1970’s TV series: “We can rebuild it…we have the technology”. Everyone has heard the phrase uttered: “This codebase sucks, we need to rewrite it from scratch!”. In fact, you’ve probably said that exact phrase before. But is it ever really a good idea? Via real world examples, we will explore the topic and iterate the reasons why it’s almost always better to maintain and slowly refactor existing codebases as you go, rather than throw them away and start again from scratch.

Reliable Applications: Transient Error Handling in .NET with Polly

James Chambers

.NET, Dev Practices

Sometimes messages. Sometimes messages. Sometimes messages that are. Sometimes messages that are critical to your application don't get through to where they need to go. Network outages, time outs, general latency, load spikes, lolly-gagging and more more can put a dent in your otherwise reliable application. How to you make it stand up better to network traffic? Polly is an open source project under the .NET Foundation that aims to help you harden your application with policies for Retry, Circuit Breaker, Timeout and more. Come find out how to reduce the fragility of your application and to help get messages that are critical to your application through to where they need to go.

Slack Integrations: From Concept to Deployment

Adam Krieger & Adam Rehill

Dev Practices

We built Pollease: A poll plugin for Slack teams. We’ll show you the basics of Slack Integrations and how to get started using Python and Flask. We’ll also show you how simple it is to build a continuous deployment pipeline using Docker Cloud, GitHub and Digital Ocean. Join us pollease?

In this session we’ll discuss Pollease, a custom Slack Integration we built to bring polls and voting to Slack channels. We’ll cover the various ways to integrate with Slack and how to use them. This session also covers the server-side implementation of Pollease, a REST API built with Flask. No App is complete without a deployment pipeline, so we’ll teach you how to build your own using Docker Cloud. Interested in learning how to build Slack Integrations, continuously delivery from end-to-end, or code container-first? We’ll cover everything from development to production.

Smaller Not Taller: Defeating the Mobile Application Architecture Giant

Heather Downing


Making the right decisions for a mobile project can be a very involved process of trial and error before you find a good fit. Wouldn’t it be nice if you had a map? In this session we will compare frameworks and approaches based on the kind of mobile project you are doing, and walk through what the actual code looks like to accomplish basic tasks for each one. We will cover native, hybrid and mobile web approaches for enterprise-level solutions.

Solving for "Segregation/Separation of Duties" in a Continuous Delivery Pipeline

Juni Mukherjee


Segregation of Duties, or Separation of Duties (SoD), is often seen as a hindrance to implementing Continuous Delivery Pipelines in Enterprises. This session dives into the design and implementation aspects of how this can be addressed with Jenkins Pipelines, while releasing quality software frequently and predictably from Dev to Stage to Production. We will discuss in details:

  • DevOps versus “DevOps” in Enterprises
  • Roles and responsibilities within an Enterprise who are involved in CD Pipelines
  • How SoD has been historically interpreted and why SoD is an issue for some of these roles
  • Modernizing the SoD approach with Jenkins Pipelines, while preserving the integrity of the company, products and the system.
  • I would like us to reconsider traditional approaches like sign-offs and hand-offs, and hence as you can imagine, some of my views and proposed solutions could be controversial. Hence, there’s more reason to come out in the open and have a candid conversation, since Continuous Delivery is the right thing to do.

Speed vs. Speed To Market

Jeremy Wagner

Web, Architecture

We all agree that web performance is important, but in our zeal to be first to market, we don’t realize that performance problems exist until a site is already in production. This talk is intended to arm developers and other technically-inclined professionals with knowledge that will help them be proactive in addressing this difficult problem. In this session, you’ll learn to do the following:

  • Evoke genuine concern for performance by helping your colleagues identify your site’s target audience, and identify that audience’s capabilities by using data from Akamai’s State of the Internet connectivity report.
  • How to use this newly-acquired information in concert with automated testing tools to approximate what key performance metrics will be for your users.
  • How to interpret data gathered from these tools and use them to set meaningful performance budgets for your project.
  • Spring into action by automating optimization tasks with Node and gulp, so that you’ll be optimizing as you develop, instead of after the fact.
  • Some techniques for achieving quick performance wins for troublesome sites already in production, such as resource hints, PostCSS and more.

SSL: How does that newfangled encryption stuff actually work?

Simon Timms

Dev Practices, Security

Everybody wants to be secure online which usually means just one thing: SSL. Ever wonder how that Secure Socket Layer stuff actually works? In this session, we’ll dig into the nitty gritty of how public key cryptography works to keep your bank account secure and the FBI away from your door. We won’t cover how to generate an SSL key but rather about the Diffie-Hellman key exchange protocol, encryption, signing and symmetric vs asymmetric encryption.

The Fallacies of Distributed Computing

Kyle Baley


Our industry harbours a dark secret that we usually discuss in hushed whispers over fermented beverages: Hardware, software, networks, and users are a toxic combination. Individually, in test labs, they hold the promise of angels. Put any two, three, or four of them together for any length of time and the road to hell is paved with cries of "It was working 5 minutes ago" and "Can't reproduce, won't fix."

You make a pile of assumptions when you slap a Works On My Machine™ sticker on your new feature. Is the user running the latest version of the OS? Are they on a slow network connection?

Or *any* network connection? In this session, we'll hit the fallacies of distributed computing head on and discuss them not in terms of technical hurdles to be overcome but of business value to be negotiated.

These Images are Makin' Me Surly!

Jeremy Wagner


Web performance is a broad topic, but we all know that images are a big part of it. Images are usually the bulk of the weight of any web page, and in a world where poor page performance could cost you money, it can literally pay to optimize your images. In this talk, you'll learn about...

  • The importance of objective vs. subjective image quality, the right image format the right kind of content, and how we're often our own worst enemies when it comes to exporting images for our projects.
  • Navigating through the slew of image optimization binaries out there, as well as some quick tips on how to optimize a large batch of images on the disk at the command line.
  • Automating image optimization with your favorite task runner so that images are optimized as you code.
  • A quick look at WebP images, and how they can seriously benefit users of Blink-based browsers.

TypeScript: Angular’s Secret Weapon

Laurent Duveau

Web, Angular, TypeScript

TypeScript provides a great way to take advantage of the latest EcmaScript features while also supporting some of the things that have been available for years in server-side languages (C#, Java, …) such as interfaces, generics, type support and more. Angular is of course built using TypeScript and relies on these features behind the scenes. I m going to demonstrate all the benefits you get by adding TypeScript to your toolset for your front end apps, illustrated here in an Angular app.

Use PaaS Apps to Accelerate Your Development

Ken Cenerelli

Cloud, Mobile, Web

Creating mobile and web apps that work on any device while keeping customers connected is essential. Development teams want to move quickly on new ideas without being bogged down by technology constraints. A fully managed Platform as a Service (PaaS) solution can accelerate development when crafting integrated web and mobile apps.

Microsoft Azure App Service is a new, fully managed Platform as a Service (PaaS), that combines the existing functionality of Azure Websites and Azure Mobile Services with the exciting new features of API Apps (SaaS APIs) and Logic Apps (SaaS apps).

In this talk, you will see how to create and manage web, mobile, and API backends that can be consumed by development teams. With lots of example code and a focus on minimizing costs, attendees will leave with a clear idea of how to architect enterprise-ready apps.

Views Like a Ninja, CSharp Like a Razor Blade

James Chambers


So fast, other engine say, "Dang!" There's more to Razor than what you see on the surface, and more going on behind the scenes than you may know. Come find out what makes Razor tick, where it fits in the MVC execution pipeline and how to get the most out of this little view engine that could. We'll look in detail at all the ways that Razor makes your life as a developer easier, dive into the new features and break them all down by drilling into the code that is compiled as a result of the views you create. Come to this session if you'd like to see Razor demystified; leave this session equipped to make light work of your views.

What's Happening in PHP?

Eli White

Web, PHP

PHP isn’t the same language that it was 20, 10, or even 5 years ago. It continues to evolve as an open source project and borrows some of the best new ideas from other languages. If you haven’t looked at PHP in a few years you might not recognize it! Namespaces, SPL, Traits, Closures, Late Static Binding, Strong Password Hashing, Scalar Type Hints, Engine Exceptions and so much more has been added to the language in recent years. Not to mention the ecosystem having expanded greatly through the addition of Composer and PuPHPet. Plus with PHP 7 released there is even more to learn about! Come join us for a whirlwind tour of what PHP has become, and where it’s going.