2016 Sessions

One day we woke up and things were different. Maybe it happened overnight, maybe it took many years. Suddenly we are scripting against thousands of Virtual Machines from the command line while creating things today with JavaScript in the browser that were impossible yesterday. LiveScript becomes JavaScript becomes ES6 and now we're compiling C++ to JS. Join Scott Hanselman as he explores the relationship between the Cloud and the Browser, many Languages and one Language, how it might all fit together and what might come next.

As developers, we are asked to absorb even more information than ever before. More APIs, more documentation, more patterns, more layers of abstraction. Now Twitter and Facebook compete with Email and Texts for our attention, keeping us up-to-date on our friends dietary details and movie attendance second-by-second. Does all this information take a toll on your psyche or sharpen the saw? Is it a matter of finding the right tools and filters to capture what you need, or do you just need to unplug. Is ZEB (zero email bounce) a myth or are there substantive techniques for prioritizing your live as a developer?

It feels like we’ve been pushing this rock up a hill for years now, but it finally feels like the rock has reached the top and is rolling down the other side. We have a cross-platform and open source .NET, a fast and open web framework, and a Visual Studio (of sorts) on Windows, Mac, and Linux. How did we get here, what works, and where are we headed?

Scalable Browser Notifications with SignalR, Service Bus and Notification Hubs

SignalR is now well known for enabling server code to push information to the browser. But did you know that you can scale out your SignalR backend using Azure Service Bus? What about the case where you want to notify the user, but they are no longer browsing your site? Some modern browsers, including Chrome and Safari, enable you to push notifications to the user even if the browser is not currently visiting your site or in some cases even running. In this session we will see how Service Bus makes SignalR more robust and how Service Bus Notification Hubs expand push notifications to browser clients when they are not currently interacting with your site.

Compared to native apps, mobile websites have historically been at a disadvantage: no installation, no push notifications, and they only work when you're online.
This year, that changed.
This session examines how the new Service Worker, Push, and App Manifest specifications fill the gaps between web and native. This isn't just another "Progressive Web App" talk; instead, we'll discuss the new APIs individually, emphasizing their flexibility and countering the one-size-fits-all hype.
This talk will cover:
1. How to use Service Workers as a programmable proxy/cache for your website, which allows you to make resources available offline.
2. How to use Push to send notifications to your website's users, even when they don't have your site open.
3. How to use a Web App Manifest to control your site's presentation and installability.
We'll also discuss how, taken together, they allow us to create mobile web experiences that are virtually indistinguishable from native. Or not. How you use these specs really is up to you.

The Aurelia Framework provides several simple and powerful extensibility points. In this talk, we'll explore several of the most exciting spots where you can bend Aurelia to your will! We'll start out looking at Value Converters, move on to Binding Behaviors, and then dive in for some fun surprises! Who knows where we'll end up or what we'll create!

You know how to use Git. You can pull a branch, commit your changes, and push it back to Github or Bitbucket. But what if you want to take things to the next level? Maybe you've heard about the arcane magic known as rebasing, or maybe you just know there's more to Git than you're using, and you want a more detailed walk through the tool. If this describes you, come learn Git from the ground up with me! You'll learn the git command line, how Git represents your files, fun ways to reference various commits, what branches and tags really are, and best of all you'll finally learn how to rebase.

What is DevOps? Is DevOps the new Agile? Is DevOps just automation? Is DevOps just developers and operations meeting over pizza? It is a challenge to describe the DevOps culture, but at a high level it involves people, processes, and products (in this order). It requires development, testing, operations, business, and other teams to work together, efficiently, to deliver better and faster results to customers. This session covers the fundamentals of DevOps and helps you understand how they map to DevOps practices and how they can be implemented by a variety of products and tools. DevOps integrates development teams and operations teams in order to improve collaboration, productivity, quality, and be more responsive to business needs. This is accomplished by automating infrastructure, automating workflows, and continuously measuring application performance.

Find out the best ways to teach your kids how to code. We will try tangible ways to show the idea of programming and learn tactics for making it fun. We will explore the best games, apps, programs, curriculum, and tools to use. You will also learn tricks and tips to engage your kids and keep them motivated. Prepare to be educated, energized and ready to show your kids why you chose software as a profession.

Since the release of the Raspberry Pi 2 and Windows 10 IOT Core, .NET development on embedded devices has become more approachable, and the Raspberry Pi 3 brings added features and performance to your .NET code. This presentation will step you through getting started with the Raspberry Pi 3, interfacing with switches, LEDs, and stepper motors, and hosting an onboard web server with C#. You’ll leave with some knowledge and inspiration for working with the Raspberry Pi, and you’ll see how it all came together to build a robotic table saw jig for my garage-based wood shop.

The Internet of Things ( IoT ) is the network of physical objects or "things" embedded with electronics, software, sensors and connectivity. With more than 20 billion connected devices projected by 2020, the IoT is one of the most exciting and fastest growing areas of technology today. Attend this session as we discuss where the IoT came from, where is it today and where it is headed in the future.

Explore how to make the most of your big data expertise by turning nebulous business needs into operational research questions. Learn how to ask questions that are specific, covered by your data, and whose answers will deliver business value. This talk will focus on how everyone from engineers to executives can get the results they want by asking better questions.

You don't really need a service bus, do you? There are service bus offerings out there, but they're too complex and opinionated. Surely it's easy enough to write your own messaging layer over a queuing technology like MSMQ, RabbitMQ, or Azure Service Bus.
After all, how hard could it be?
It doesn't make sense to take a dependency on 3rd party software with millions of lines of code when you could have a lot more fun writing the perfect solution all by yourself. In this session, I'll show you everything you need to know to build the ultimate service bus of your dreams from scratch.

Have you ever had to take on a junior developer? Do you get questions that seem like they've come out of left field? Are you sick of doing the busy work that they should be doing? We'll explore what it takes to take a junior from green to gold without feeling like you're about to lose it!

What could the Battle of Midway, Data Cleaning, Machine Learning, C#/.NET, Xamarin.iOS, and MKMapView all possibly have in common? Attend this session to see how the book Miracle at Midway by Gordon W. Prange (et. al) started a software engineer down the still unfulfilled path of using C#, SQLite, Regular Expressions, System.Xml.Linq, Stanford Named Entity Recognizer, Google reverse geolocation services, and pure blind luck, to do data cleaning against the Dictionary of American Naval Fighting Ships (DANFS) in an attempt to try and map history using MKMapView on iOS.

The RecyclerView was introduced in Android Lollipop as the new way to render content lists and it offers some nice features. This session will provide a brief intro to the RecyclerView in general and then use Xamarin.Android to walk through some examples of how to take advantage of the more advanced capabilities such as item decorators and scrolling behaviors.

There is a change coming, and whether you know it or not you are already being prepared for it. Join me as we explore what Distributed Systems are and how they work using some Open Source frameworks such as NServiceBus and Akka.net.

Azure App Service, made up of Web, Api, Mobile, and Logic apps, helps to take the pain out of boilerplate code by offering things like easy integration with third party auth providers. Couple that with a focus on making your back end shareable across all platforms and developers have a huge productivity boost. In this talk we'll build an app using every part of Azure App service to explore how they work together and can make our lives as developers easier.

The HTTP protocol is now over 15 years old and it has served us well, but a new version will address some of the fundamental problems with how it was implemented “on the wire”. The changes are based on experience with Google’s SPDY protocol, but standardized for everyone to use. Major features of the current version such as methods and status codes will be unaffected. Existing sites should just work with the latest version, but they can drop many of the old tricks they used to squeeze out performance like CSS Sprites and file bundling. This session will review the basics of what is being changed, how to best utilize the new protocol, and dispel rumors (such as mandatory encryption).