Sessions

Sessions

Filter based on category or technology!


AI, the Enterprise, and You: A Primer and Post-Mortem

David Wesst

AI
Download Session Materials Here!

Using artificial intelligence (AI) to solve real work problems is no longer science fiction. AI is something that is becoming more common in our daily lives, and it has the potential to enhance the way people use technology in their daily activities. The University of Manitoba is just one such enterprise that is already looking into how AI can improve the student experience and aid our staff in doing their day to day tasks.


Angular Cover to Cover

Alexander Wiebe

Web

Take a journey through Angular continuous integration and deployment to the cloud. This hands-on coding voyage starts with introducing the Angular CLI to generate, update, and later scaffold out the project. Once the project is working Jest snapshot tests serve as a lighthouse to guide development. Next, Visual Studio Team Services (VSTS) is used for source control, running tests, and deploying to multiple environments. Lastly, the talk ends on getting the Angular app onto Microsoft Azure.


API First Design with OpenAPI (aka Swagger)

Craig Norman

Dev
Download Session Materials Here!

REST APIs were introduced by Roy Fielding in 2000. The OpenAPI specification began development in 2010. Open API gives developers a standard way of expressing their API in either YAML or JSON.

This talk will focus on some the basics of REST and along the way I plan to show concrete examples of how you can document your API using the Open API spec. I will talk about some of the basics of HTTP and how the use of verbs, status codes and headers can make for a cleaner API. I will then dive into how to make choices for routes for simple resources, resources with relationships and more complicated requests like search. We will also explore cases where REST may not work out so well and explore techniques that can compliment REST APIs.

Finally, I will talk about the payoff of using OpenAPI for documentation. Including automatic client generation, rich UIs for documentation and the ability to generate mocks in almost any language.


Are we doing the Right Work?

Gary Pronych

Dev

We have learnt a lot from the use of user stories to increase the efficiency of activities. However, can we be sure these are the most effective activities? In an era of digital and transformation, how do technologist assist and/or lead transformation?

In this session, we will focus on the customer journey to identify a preferred path for personas to achieve the desired service. Once we have defined the journey, we will discuss how to identify digital enablers to improve the experience for our internal and external customers.


Async and Await with Node and Express

Rob Richardson

Web
Download Session Materials Here!

Express is the defacto Node web server, but it's built with callbacks. Can we use modern JavaScript like async and await? Let's dive into building routes with modern JavaScript, and how to write tests that prove they work.


Azure API Management and the Curious Case of Securing API's

Joel Hebert

Cloud, Dev
Download Session Materials Here!

The Owasp Top 10 saw a new entry for 2017 - Underprotected APIs. What if there was an appliance that could aid? What if a set of re-usable libraries for ASP.NET Web API were in place to aid? The curious case of securing API's is an important one: secure or be left UNDERPROTECTED!

Oversight and real world experience is securing API's in Azure via the Azure Api Management SAAS. A series of techniques involving IP Filtering, API Keys, Shared Secrets, x509 Certificates, OAuth Client Credentials Grant,HttpFingerprinting Mitigations, Mutual TLS Authentication (front and back end), and more will be demonstrated. Effective creation of base layers in ASP.Net WebAPI for re-usable security constructs will be shown in parallel.

Your take away: Effective base layer creation in API's that work with your Azure API Management Stack; API Management Techniques for securing your API's.


Beyond Lift-and-Shift: Which Cloud Services Should I Choose, and Why?

Lori Lalonde

Cloud
Download Session Materials Here!

Looking to modernize your current product offering, but confused about which cloud service to choose? Between Azure Service Fabric, Azure Container Service (AKS), and App Services (and more), the choices can be overwhelming. As an architect, how you do you know which service is the right one to use? In this session, we will explore use cases to demonstrate when to use Azure Service Fabric, Azure Container Service (AKS) and Azure App Services. You will walk away with a better understanding of how to assess your current architecture and product roadmap, enabling you to make those decisions going forward.


Beyond the basics with F#

Shane Charles

Dev
Download Session Materials Here!

You've looked at F# and even have a few scripts you've written laying around your hard drive. Let's take a little deeper look into the world of F# and functional programming. We'll start with some basics, active patterns, computation expressions, and finish with an Azure function. All of this will happen while we take full advantage of F#'s REPL and functional paradigms.


Blazor: C# In the Browser Without a Plugin

David Paquette

Web, Dev
Download Session Materials Here!

Browsers now universally support Web Assembly which opens the door to new languages and coding paradigms for building client side web applications. In this talk, we will introduce Blazor, a framework for building client side web apps using .NET. That's right, .NET (and Razor) running natively in the browser! No, this isn't Silverlight, this is infinitely more awesome than Silverlight.


Building a GraphQL Client in JavaScript

Joe Karlsson

Web
Download Session Materials Here!

GraphQL is the future of API. Together we will start with the basics and the philosophy behind GraphQL. We will answer the following questions

  • What is the philosophy behind GraphQL?
  • How do you architect a scalable schema?
  • How can GraphQL boost productivity?
  • How can you avoid common pitfalls?

We will then get a GraphQL server up and running together, while focusing on exploring real world patterns for architecting our schema. We will discuss and implement practical steps to improve query performance, error handling and caching.


Building Great Solutions with PowerApps and Flow

David Drever

SharePoint
Download Session Materials Here!

By now, nearly everyone has heard of PowerApps and Flow. In fact, many of us have seen these fantastic solution building tools Microsoft created for Office365 in action. While many believe the tools were built for SharePoint they were in fact created to integrate with nearly any system. In this session we will create a PowerApps and Flow based solution from concept to deployment. The solution will utilize PowerApps for data gathering and then integrate two completely separate technologies using Flow. In the end you will learn a great deal about utilizing these two great technologies to make awesome solutions for your users with minimal development and deployment time.


Building High Performance React Applications

Joe Karlsson

Web
Download Session Materials Here!

React is built with performance in mind. But when is React slow? In this talk we'll discuss common bottlenecks in React and when you might be making your program work harder than it should. We will discuss how Best Buy builds components that stay fast, even during the enormous stress of Black Friday traffic. You will learn practical ways to speed up your real world React applications today.

This talk is for developers curious to learn how to make high performance React applications. You may or may not have already used React, but to get most out of the talk, you should be familiar with the basics of JavaScript.


Code Kata - Become a Better Software Developer

Quinn Wilson

Dev

Miyamoto Musahi said "You can only fight the way you practice" - The goal of the Code Kata is to practice and master technique in an intentional way so that when you are ready to code you have the tools in your tool kit.

By intentionally practicing in a repetitive manner the learner develops the ability to execute those techniques in a natural, reflex-like manner. They will become automatic, like the muscle memory you gained "riding a bike"

Join me as I discuss how doing Code Kata has revolutionized the way I learn and how it can help you level up in your current language or learn a new one, why it's so successful, and how to get the most from your practice.

No one should be trying to learn to code when that deployment goes bad or when the production app goes down.


Cool Web Visuals with React Components

Eric Cote

Web

In this session, we’ll talk also about the difficulties of visualizing data from the web. We are going to take various REST data from the Internet and graph it using various libraries from React. We will also see how to add feedback with easy to use animations.


Cost Saving Measures in the Cloud

Lori Lalonde

Cloud
Download Session Materials Here!

Your organization has made the move to Azure, but you are concerned that spending has spiralled out of control. It has been a challenge to keep up with the various offerings and understand how to maximize your budget in the cloud. It seems that each Azure service has a different pricing model, and you are at a loss on how you can make the most of cloud services without breaking the bank. Join Lori in this session to learn tips and tricks which will enable you to do more with less in Azure.


Crossing the streams! Using multiple Azure services to super-charge end-to-end IoT solutions

Tyler Doerksen

Cloud, Dev

In this session we will go beyond the basics of IoT. You will learn about the full end-to-end IoT story including upstream systems like device discovery and provisioning, along with downstream systems like real-time analytics and data insights. Learn how Canadian companies have deployed global scale IoT solutions using Microsoft Azure, using a variety of different systems.


Denial Of Service - A Landscape Overview

Joel Hebert

Dev
Download Session Materials Here!

Distributed Denial of Service is a fire and hold pattern? Think again! Come discover the techniques that are being used to create new attack vectors and talk about common misconceptions. Not a security professional? No worries, this session is for the modern developer.

This session will showcase the current landscape of modern Denial of Service (DoS) and DDoS (Distributed DoS) attacks and techniques for the modern developer. The goal is to have a comprehension of what comprises an attack, the various types of attacks that are possible as well as some defense. A discussion on motivations, risks, tooling, attacks and a general oversight will be discussed.


Designing Microservices

Simon Timms

Dev

"Microservices are all the rage but how do you design them to be scalable and reliable? In this session, we'll explore how to build services to avoid some of the pitfalls of microservices. Docker and Kubernetes are simply orchestration platforms on which you build and cannot solve the thorny problems of dividing up services. In this whirlwind talk, we'll briefly explore * isolation * autonomy * single responsibility principle in the large * service mobility * data autonomy * DDD * event storming * CQRS * event stores Renounce your conviction that immediate consistency is crucial and join the microservices movement."


Enterprise Cloud Management: Tools and Best Practices

Tyler Doerksen

Cloud, Dev

The hyper-scale capabilities of Microsoft Azure public cloud can be a game changing for large enterprise organizations. However, these organizations often have existing management policies and practices. In this session you will learn how to provide the necessary controls without hindering the power of public cloud. This session is built from real-world experience working with the Canada’s largest Azure customers plus some new features announced at Microsoft Ignite 2018.


Full Fun Web with SAFE Stack

Shane Charles

Web
Download Session Materials Here!

A difficulty developers face with modern web stacks is a requirement to learn several different languages. SAFE Stack provides a functional end-to-end solution complete with F#'s static typing.

We'll build an application and deploy it to Azure. Along the way we'll learn about the capabilities of the SAFE stack, Elm architecture, and transpiled React front-ends. We'll do this while taking full advantage of immutability, the Fable compiler, and a shared type safe domain between our client and server.


Functional Programming With Haskell

Quinn Wilson

Dev

"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 a couple of years 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."


GasBuddy: From Development Tools to Data Operations, and Everything in Between

Mondelle Simeon and Brandon Demeria

Vendor, Dev

GasBuddy was founded in Regina, SK in the year 2000. Over the past 18 years, GasBuddy has grown to be a successful smartphone app and website that employs 130 individuals in two countries. A lot hard work goes into our product, our app, and our business decisions, and we are excited to have the following individuals present our story.

The most visible and well-known aspect of GasBuddy is our mobile app. Our iOS team lead, Brandon Demeria, will talk about the tools we use on a daily basis and how we implement them to get our jobs done.

Data is the backbone of our business, driving new decisions and products to the forefront at an exponential rate. Mondelle Simeon, Principal Data Developer, will dive into our data highway.

GasBuddy has experienced vast amounts of growth in the past few years and Engineering Manager, Andre Mougeot, will discuss how GasBuddy has adapted to these new changes. He'll cover processes like how we plan our work, how we manage on-call hours, and other fun stuff that go along with running a big software operation.


Git Scenarios: How Do I Fix That?

Rob Richardson

Dev

Have you ever wondered how to get out of a bad merge? Have you ever gotten stuck trying to push your changes? Git is a wonderful and empowering tool, but it's not your father's version control system. Bring your Git questions for this no-slides demo of Git command line and GUI tools. We'll harvest your curiosities, add in some common concerns, and run through these scenarios together. Have an open-source project you're stuck on? Bring the GitHub URL, and not only will we discuss it, I'll submit a pull request with the changes we build.


Growing a Dev Team from Bootstrap to Enterprise

Scott Connerly

Dev
Download Session Materials Here!

Tooling, testing, processes, and standards are all crucial to keep enterprise software running reliably. But at what stage in the new-product process do you integrate each, and to what degree? This talk will share my experience building a new product, new team and new infrastructure from scratch.


High Performance .NET Data Access with Dapper

David Paquette

Dev
Download Session Materials Here!

Does your .NET application really need full power of Entity Framework or (shudder) nHibernate? Let's take a look at the popular micro ORM Dapper.

Dapper is a popular micro Object Relational Mapper (ORM) for .NET. In this session we will take a deep dive into Dapper and understand why it's so much faster other heavier ORMs like Entity Framework. We will go beyond the basics of loading and saving data and look at some advanced scenarios. We will also make some comparisons to Entity Framework to understand what features and conveniences we give up when using a micro ORM.


Microservice Mythbusting

Simon Timms

Dev

You've all heard the myth that microservices are the way to build applications, kicking monoliths to the curb. But are microservices all they are cracked up to be or are they turning one problem into microproblems? In this talk, we'll explore what makes a microservice, how they help and how they hinder. Without talking about any specific technologies we'll try to answer the question: Do I need to use microservices in my project? Don't try this talk at home, we're professionals.


Microsoft's DevOps Transformation Story

Dylan Smith

Keynote

This is the story of how the VSTS team transformed from shipping an on-premise server product every couple of years, to shipping a cloud service multiple times a day. In the process, almost everything about how this team of 800 people work has changed. We had to figure out how to do agile at scale, how to transform into a microservice cloud architecture, complete restructure of teams and roles, threw out a suite of 10’s of thousands of tests and started over, went from almost 0 telemetry, to 8+TB/day and figuring out to do anything meaningful with all that data. Many mistakes were made along the way, and lessons learned that I’ll be sharing.


Multilingual React Websites

Eric Cote

Web

In this session, we are going to take a look at various libraries to make our React website bilingual or multilingual. This is still not as easy as it could be since there are multiples approaches that can be taken. We’ll take a look at a few libraries to solve this problem, including the pros and cons.


Securing a Cloud Service Used by Millions

Dylan Smith

Cloud, Dev

We pay a team of hackers to intentionally try to compromise our service every few months! You’ll be surprised how often they succeed. This session is about how the VSTS team at Microsoft approaches security when developing and operating the VSTS service. Some of the stories I have are inspiring, and some will be horrifying!


SharePoint Site Architecture: Flat, Deep or Somewhere in the middle?

David Drever

SharePoint

Should you go deep with your SharePoint site architecture using only a few site collections and many sub sites, or should you stay flat by having a lot of site collections and very few or no sub sites within? In this "he says, she says" session, Dave and Joanne will share pros and cons of different Site Architecture options in SharePoint. Whether you've been in SharePoint for awhile or in the throes of a migration project, it's never too late to re-evaluate the way you've planned out your sites. Like most things in technology, decisions you make today may cause re-work down the road. This session isn't about what is right in ALL cases, but it will arm you with the knowledge you need to make an informed decision on the site architecture that will work best for your environment.


The Variable Crimes We Commit Against JavaScript

Julka Grodel

Web
Download Session Materials Here!

Have you ever put a value into a JavaScript variable, and then been unable to use it where you needed it? Or created it and unintentionally overridden something you thought wouldn't be affected? JavaScript has an unusual way of handling where variables are available, we call this ""where"" a scope. In this talk, we'll go over how JavaScript variables 'bubble' up into higher scopes, how to restrict them to just where you want them, and how this affects variables in your functions.

Scopes in JavaScript are a misunderstood aspect by many developers and can create frustration when troubleshooting code. They're also a common topic in technical interviews. This talk doesn't require any knowledge of JavaScript specifically, but a proficiency in some programming language is helpful.


Web Extensions Solve All Enterprise-y Everythings

David Wesst

Web
Download Session Materials Here!

Did you know that Web Extensions aren't just for changing web page backgrounds and adding goofy icons? No, no, it's true! You can even u>se them in the enterprise to solve all the things!

Need to add functionality to an application you don't own? No problem. Want to integrate something with your custom enterprise application? We got you. Tired of that legacy application constantly dragging down your solutions? Consider it done.


Will You Help Me End Pixelated Images on the Internet?

Julka Grodel

Web

Have you heard about how Scalable Vector Graphics can look great at any resolution and can take up less space than other images? Have you ever taken a look at the code behind them? Let me introduce you to the XML format that is SVG, styling them and some transformations so you can begin putting them to work on your site. This talk assumes some knowledge of HTML or XML, and a bit of CSS.


Zen and the Art of Docker

Scott Connerly

Dev
Download Session Materials Here!

A primer on the basic concepts of Docker containers, the Docker Way to orchestrate services, how to set up a manageable local dev environment, and finally a step-by-step guide to bring your containers to AWS's Elastic Container Service.