Selected Sessions

The preliminary list of selected sessions for the upcoming Code Camp NYC 2017 event is available in the following table which supports paging, sorting, and full-text searches.

Sessions in this list with the Status of Selected have been selected for the event.  Sessions with the Status of Standby will be used in place of any last-minute cancellations by Speakers.

Please note that there may be minor changes to this list as the event approaches and the schedule is finalized.

StatusSpeaker NameSession TitleSession LevelSession Abstract
SelectedAlex HungAuthentication using JWT for SPA and microservice200Authentication between Single Page App (SPA) and mircoservice API is challenging. In a microservice architecture, oftentimes authentication is handled by a different microservice, separated from the API service. This talks describes the potential problems with 'tradition' authentication mechanisms (such as session cookies) in this environment and describes how JSON Web Token (JWT) can solve these issues.

- How do we get here?
- Basic Auth
- Session cookies
- Tokens
- What is JWT?
- What is asymmetric cryptography?
- How would JWT used in SPA/microservice architecture?
- How does it solve the problems?
- Pros & Cons
- Q & A
SelectedAnthony AbateLow Latency Programming (C#/.Net)300How fast is fast? Computing at the nanosecond level requires specialized techniques and creative ways to capture timing data.

This topic will discuss various low-latency methods that can provide speed boosts by utilizing concepts such as lock-free and non-blocking operations as well as generalized code optimization.

The performance implications of .net locking and synchronization primitives (signals/events, lock/monitor, interlocked) and various threading (thread pool, tasks, async) patterns are compared along with their latency implications.

Design patterns such as pessimistic vs optimistic concurrency, lock-free circular queues and the disrupter pattern will be discussed and demonstrated. Basic SIMD hardware based vector functions will also be demonstrated and compared to standard .Net code.
SelectedArthur GarciaDevices to the Cloud100This session will demonstrate actual IOT devices sending data to Azure. It will review the steps and processes in Azure to process data from an actual device. I will have multiple devices sending data during the presentation. This session will demo the Azure IOT hub, Stream Analytics and Azure table storage. It will use both Arduino and if time permits the new Microsoft IOT DevKit as seen at Build this year.
SelectedBetsy WeberBring your code to life - Screencasting 101100Ever want to demonstrate your app or teach the use of your software's features? Need to enhance your documentation or blog posts with a video? Creating a screencast helps software developers show off their work. Come to this session to learn how to make a screencast video and look like a Rockstar. I will give you 30 tips in 30 minutes.
SelectedBetsy WeberBe a Community Hero: Becoming a Microsoft MVP100Are you a technical expert? Are you active as a community thought leader (speaker, blogger, forum contributor, author, GitHub contributor, User Group Organizer, mentor, etc)? Join Betsy Weber, Microsoft Community Program Manager, to learn how you can be recognized and awarded for your community contributions as a Microsoft MVP!
SelectedBhakthi Liyanage How to become a Jedi: Introduction to Mind Machine Interfacing using Brain Activity(EEG) and Azure IoT200Have you ever been wondering how Jedi or Sith controlled objects with their mystical power called the Force without touching them? Have you ever wished you had the power to control things around you with the power of your mind? Mind-machine interface (MMI), or brain–machine interface (BMI), is a direct communication pathway between an enhanced or wired brain and an external device.

In this session, I will demonstrate how to control a remotely located physical device by converting your brain activity to commands and send them to remote devices using Azure services.
SelectedBhakthi LiyanageBuild Intelligent Applications with Azure Cognitive Service API200Microsoft Cognitive Services enables developers with powerful set of APIs that can be used to develop intelligent apps with powerful algorithms, using just a few lines of code.The API enables developers to easily add intelligent features – such as emotion and video detection; facial, speech and vision recognition; and speech and language understanding – into their applications with minimum effort. This session will show case how to get started with the API and how it can be integrated with your application.
SelectedBrian MinisiDevOps with Visual Studio Team Services and Open Source Teams - A Perfect Match200DevOps has many definitions depending on who you are talking to. However, DevOps comes down to one important meaning - enabling organizations to practice continuous delivery with lower risk, lower cost and higher return. This is key in a world that is driven by technology. Organizations that achieve this have the competitive advantage.

Visual Studio Team Services (VSTS) is an amazing tool for implementing DevOps for organizations of any size. However, there is still the perception that VSTS primarily targets Microsoft technologies. In this talk, we will discuss how to implement DevOps with VSTS and open source technologies. We will discuss it in the context of the three ways; flow, feedback and experimentation and how VSTS is as great of a tool for Java teams as it is for .NET teams.
SelectedCarl FranklinAccessing Google Cloud APIs with C#200Carl Franklin unpacks the complexity of Google Cloud API authentication, authorization, and API access. Carl shares his boilerplate code for accessing the Google Storage and Google Speech API shown in the context of an app that lets you edit WAV files (containing speech) by simply editing text.
SelectedChris LoveDisrupting the Application Eco-System with Progressive Web Applications100For years I have been demonstrating techniques and architecture developers can implement to create a native application experience with HTML5 and no app store friction. Today those principles are being quickly implemented as native platform user experience by browser vendors. Progressive Web Applications is a comprehensive term describing web applications that implement a base set of browser platform features like HTTPS, Web Manifest and Service Workers. But it bleeds beyond the scope of an application's code because browsers are enabling qualified web applications to offer the same user experiences native application enjoy. This includes prominent home screen placement, push notifications, eliminated browser chrome and app store placement.

The best thing about progressive web applications is you can qualify as a PWA with as little as 5 minutes of work!

This is a critical advancement in web technology as native applications have lost their appeal to consumers and business alike. Installation friction, straining resource requirements and discoverability issues have caused consumers to stop downloading apps. Meanwhile they limit their native application usage primarily to Facebook. Meanwhile app store taxation and over regulation have impacted the viability of businesses to create viable services on the native platforms. These issues have combined to make native application development and maintenance a losing proposition for business of all sizes and shapes.

In this session we will cover the concept of a progressive web application, why they are important and how to implement a baseline PWA. You will walk away with supporting 'sales points' to sell your business stake holders and technical leaders on adopting a PWA approach for both consumer and line of business applications over a native application. These points will give you a solid background understanding of the PWA concept and high profile advantages of PWAs over alternative client experiences. You will also see how to use supporting tooling to create rich web applications that take advantage of modern features offered by service workers and how existing applications can benefit from a PWA upgrade without changing existing code, well not too much.
SelectedChris LoveReal World Lessons in Progressive Web Application Caching200Over the past year we have seen a lot of excitement around Progressive Web Applications. Browser evangelist are selling developers and business owners on their advantages and promising future. But what is the real story? What are the details to proper execution? What do engineers need to know to make their web sites into Progressive Web Applications that not only meet the minimum criteria, but meet the sales hype?

Searching the Pokedex offline is fun, what is the real experience like caching a business application? Caching application assets and data can be complex, especially for larger applications. What to cache, how long to cache and how to cache are all valid questions. Often, in an effort to just ship something, we cache nothing. When we don't cache, we disappoint the customer and miss a key promise of progressive web applications.

In this session we will cover real details about caching reality based on real world experience in bringing Progressive Web Applications to market. This is not a session to sell the concept, but a session to highlight caching nuances you don't see until you sit down to write the code.

Sure the Chrome engineers know the node modules, sw-precache & sw-toolbox, they developed. But what happens when you, the general developer uses them? How do you use the sw-precache and sw-toolbox modules to craft a caching strategy for your application? How do you even determine what to cache? How can you get yourself in trouble? And more importantly, how can you get out of trouble and prevent hours or days of frustration?
SelectedChris LoveServices Workers - Your Web Applications Never Felt So Good100If you have not heard of service workers you must attend this session. Service Workers encompass new browser capabilities, along with shiny new version of AJAX called Fetch. If you have every wanted your web applications to experience many native application features, such as push notifications, service workers is the gateway to your happiness. Have you felt confused by application cache and going offline? Well service workers enable offline experiences in a much cleaner way. But that is not all! If you want to see some of the cool new, advanced web platform features that you will actually use come to this session!
SelectedChris MillerVector Graphics in Xamarin200We'll be discussing how to use scalable graphic resources in Xamarin applications as a replacement for bitmap images. Some familiarity with Xamarin is expected.
SelectedChris OzogHow to deal with everything...100Being rookie especially in PHP world means constantly dealing with legacy software that’s in maintenance mode and won't be rewritten. And you have to deal with awful codebase with files spanning over couple thousand lines.

I'm here to help, been there, done that and want to share with you with some tricks... how to get to know even oldest of systems.
SelectedDan MallottORMs and the DBA: How to Make Both Happy200DBAs lose sleep over ORMs touching their databases. Developers lose sleep thinking about using stored procedures. Is there a middle ground? Yes! I’ll introduce techniques and tools in .NET that let developers use ORMs while keeping the DBA happy.

Talk to any DBA about ORMs and you’ll quickly find out all the things you like about ORMs are what DBAs don’t like. Interestingly enough, most developers I’ve talked to have issues with their ORMs, too. In this session, we’ll explore why ORMs cause such trouble using examples of bad behavior and poor performance with common application patterns. I’ll outline some strategies for mitigating those troubles such as making sure to audit the generated SQL and changing how we write application code to take advantage of how ORMs attack problems under the hood. Lastly, I’ll introduce some tools (and even yet another ORM) that help solve some of the worst of the problems we see in the database when using ORMs.

This talk will use examples drawn primarily from .NET using Entity Framework to access SQL Server. I’ll also introduce the Dapper ORM and discuss how it can help us avoid some of the problems outlined in the talk.
SelectedDan StoltsDevOps Journey at Overdrive - Experiences, Tips & Checklists From the Field DevOps200Learn how to put your DevOps journey into Overdrive. If you are not seeing amazing results every few weeks, you may not know how to get things moving at hyper-speed. ITProGuru will share tips, tricks, checklists, & examples to help make your journey fun, exciting and results drive FAST!

There are many secrets to showing quick results. Results, where the true value of DevOps can be realized in just a few weeks. If you have not started the Journey, this is the place to start. If you already started but feel you should be able to get results faster, it is too hard, takes too long, or there is too much bureaucracy, this session will help. It will show how to kick your journey into high gear. Overdrive, is where you want to be, where you are executing at top speed with lower amounts of energy being consumed. Learn how to cruise with DevOps at this session.

This session is driven by key components including:
* Starting with the right discussions to have and with the right people
* How to get the right people in the room - and consequences if you do not
* Scheduling, preliminary discovery discussions, VSM and project hacking
* Driving fun, passion and excitement fast
* Results & Reporting
* Repeat & Replicate

All lessons will be leveraging field experience from Chief Technology Strategist Dan Stolts as he shares how he helped many customers begin or improve their Journey. Some of these experiences include very large companies that have been on their Journey for over a year with little to show for it. This will be a fast paced session where you will learn how to make DevOps fun, engaging and results driven. If you are serious about results, you will get some homework, checklists and presentation materials so you can make it all real for you! Don't miss this session as it could change your world.

We will not have time to go deep into the VSM, which is critically important to fast success so look for Dan's other session on Value Stream Mapping.
SelectedDavid BerryWhat Every Developer Should Know About SQL Server Performance200Are you mystified by SQL Server performance? Do you wonder why sometimes your SQL statements runs fast but other times, they run painfully slow? Do you wish there was a pragmatic set of steps you could go through to troubleshoot performance problems that didn't require you to have a PhD in database internals? If so, this talk is for you.

In this talk, I'll describe database performance from a developer's point of view. I'll show how you can accurately measure the performance of any SQL statement, how to understand what the statement is doing when it runs and what you can do to improve this performance. I'll show how the right database indexes help SQL Server locate the data your application needs very efficiently and what you need to know to create effective indexes for your application. Finally, I'll discuss how you can use built in capabilities in SQL Server to find your worst performing statements and tables that are missing indexes so you can quickly find and solve your biggest performance bottlenecks. At the end of this talk, you will no longer regard database performance as black magic, but instead be able to confidently analyze and solve any performance problems you encounter.
SelectedDavid BerryBuilding Enterprise Grade Web APIs in ASP.NET Core200APIs have become one of the most important components of modern application design. Yet most articles and tutorials on how to build APIs show code that looks much more like “exampleware” rather than well designed, enterprise ready software. In this talk, we’ll move past the oversimplified examples and show the patterns and practices that go into building a sustainable, extensible API that is highly functional and easy to consume.

We’ll start off by discussing how to effectively apply REST principles when creating the URLs for your APIs endpoints. We’ll then how to use view models to control the shape of the data into and out of your API and how to make decisions about what you to include in the payload for each endpoint. We’ll discuss how to keep your controllers clean by breaking out your business logic into separate classes. And then we’ll wrap up by discussing the facilities ASP.NET Core provides for versioning your API and how you can leverage these in your API.

When we are finished, you will be ready to leave exampleware behind and begin building your own Enterprise Grade APIs.
SelectedDoug FinkePowerShell For Developers200Powershell is agile and makes humans faster, way faster. It’s the go to tool for automation on Microsoft Windows and now works on Linux and macOS. Microsoft MVP Doug Finke, author of “PowerShell for Developers”, does a deep dive, demo heavy talk showing how Microsoft’s sustained investment in PowerShell enables you to be successful in delivering high velocity solutions both on premise and in the cloud. You’ll also learn about PowerShell V6 which has been opened sourced, and now runs on Linux and macOS.
SelectedDoug FinkeServerless PowerShell Azure Functions200Serverless PowerShell Azure Functions. Serverless means reduced DevOps, reduced complexity, and broader reach. Stay focused on what you need to deliver. Have you ever built a PowerShell script and wanted to share it? Do you post it to a network drive? Submit it to an internal system to have it delivered? Want to distribute it more broadly, or server up your PowerShell function as a REST API?
Microsoft MVP Doug Finke, author of “PowerShell for Developers”, does a deep dive, demo heavy talk on how to easily publish your PowerShell to the Azure Cloud so it is easily accessed from the Internet, as scheduled task and it can integrate to other Azure and on premise resources.
SelectedErik NorenUsing Entity Framework Core with Relational and JSON Data in SQL Server 2016200Modern applications must be flexible and change quickly as the needs of users change. Applications utilizing relational databases can struggle to keep up with the necessary schema changes or find their SQL queries growing out of control transforming columns of data. One solution would be to utilize a "schema-less" or NoSQL database like MongoDB but this poses new challenges especially to developers more familiar with relational SQL databases. Now developers have a new option: SQL Server 2016 can mix normalized table data with JSON documents in the same database using the same SQL queries to join, filter, and project data as expected. In this session I'll show how a web application can use Entity Framework Core to store normalized and JSON formatted data in an application database with query support. Developers should have some familiarity with Entity Framework (Core or previous versions) and SQL Server to get the most value from this session.
SelectedGlenn HinksModern full stack development at the enterprise level200Development at the enterprise is more closely aligned with the startup than you think. You would recognize all the current
technologies that big enterprise uses and would be surprised by how quickly new technologies are adopted. All the current
full stack technologies node, react, webpack ... are in use at the big enterprise. Enterprise is quickly moving into the progressive application space. You may be surprised to find out that our private NPM repos are only a point release or two behind the public ones and that we moving rapidly along the technology development ladder. There are many challenges to using the best technologies when you have a profitable mature organization. I'm going to discuss the differences between using the current full stack technologies between the startup and the enterprise and will cover changing frameworks from Angular to React, adopting best practices in node as your backend, how we are moving to progressive applications and how we are working hard on page performance.
SelectedGlenn HinksThe technical interview, why has it been so awful for so long and what can we do to make to improve it.100How can you prepare yourself for the technical interview. It does not matter if you are looking for your first position or are a already a skilled developer it is really hard to land that new position. On the opposite side how do you create the best interview experience for bringing in great developers. How much is down to luck? How much is down to interview technique? What can both sides of the table do to improve things?
SelectedGloria WLearning how you learn: The most difficult and rearding thing to learn. 200We are fortunate to be in a profession where we can never possibly get bored. One of the most pondered questions for new and seasoned engineers is how to narrow down what to learn. I'll share with you my musings, self-experimentation, and success stories in how I train and retrain my brain to continually learn, so that I continually work on freelance projects of all kinds, and successfully accomplish the goals set for myself and by my clients.
SelectedGreg HurlmanGetting from 0 to 100 with Progressive Web Apps & Ember.js200Using Google Lighthouse as our guide to PWA enlightenment and the Ember.js framework and ecosystem as our tools, we will explore what makes up a Progressive Web App, why we should bother, and walk through getting a minimum viable PWA running in no time at all.
SelectedGreg ShacklesBuilding Scalable Applications with the Actor Model200How can you make sure that your system is responsive, resilient enough to stay available in the event of failures, and elastic enough to stay responsive under heavy workloads? We all like to think our systems will scale, or we can simply throw more hardware at them, but in reality it's a much trickier problem than that.

In this session we'll take a look at how the actor model can help you architect reactive applications, both large and small, that are built to scale right from the beginning. As part of this we'll walk through real examples of using the Akka.NET framework, but the lessons and patterns will be applicable regardless of your actor framework of choice.
SelectedGreg ShacklesBuilding a Voice-Driven TV Remote With Azure and Alexa100After I first got an Amazon Echo I quickly found myself wanting to control more things in my house by voice. I could alredy turn on and off my entertainment system or tune to some preset channels, but I wanted more. I just wanted to say "Alexa, turn on the Yankees game" and have it figure out the rest. What about being able to ask questions like "Alexa, what time is the Rangers game later?" or "Alexa, what's on HBO?" This seemed like an important problem worth solving, so I got to work.

In this session I'll walk through how I pieced together a solution using a variety of Azure services such as Azure Functions (written in F#!), Azure Search Service, SQL Server, Service Bus, and Storage. There's also a Raspberry Pi thrown in for good measure, but that's the only hardware I manage myself. It's actually a lot simpler than it sounds, so join me to learn how you can easily build your own voice-driven experiences!
SelectedJason IoffeBending Reality with the Hololens100Explore the possibilities of the Microsoft Hololens as we dive head-first together into the basics of creating and deploying interactive scenes. After a brief primer into the technology behind the Hololens, we will begin with the basics of displaying a 3D scene. From there, we will add interactivity to our scene in the form of Gaze, Tapping, and Voice Commands.

In this session we will develop solely using Unity3D and Visual Studio. This session is recommended for those with a basic knowledge of C# or similar programming languages. A basic knowledge of Unity3D, or general 3D engine concepts, is useful but not necessary.
SelectedJason OdomNecessity Not Novelty, Finding the Augmented Reality Use-Cases that Matter200The 3rd dimension adds a considerable amount of space to explore in terms of user experience. The majority of the use-cases that are being explored in both the productivity and enterprise spaces could just as easily be accomplished by pulling out ones mobile device and hitting a few buttons. Does having data and controls out in 3D space really add enough value to turn consumers away from their smartphones? What mental filtering process can developers use to make they are not simply creating a ten minute toy?
SelectedJim WooleyRoslyn and You300Starting with Visual Studio 2015, the C# and VB compilers were re-written from the ground up. This new compiler features new extensibility and language capabilities. In this session, we will focus on how these changes will impact you as a C# or VB developer in your day-to-day development. We'll start with exploring the new language features. We'll then look at how to take advantage of code diagnostics and fixes that are publicly available. We'll end by exploring some of the extensibility points that you can take advantage of if you want to build your own diagnostics and code fixes.
SelectedJim WooleyGetting pushy with SignalR and Reactive Extensions100As our systems increasingly demand more real-time updates, we need better ways of working with these live streams of information. Traditional pull models fail to provide the real-time responsiveness and scale needs that modern systems expect. Moving to a push model allows us to scale easier and react to new data as it becomes available. SignalR facilitates push notifications over HTTP to a variety of clients. The Reactive Extensions were designed to allow for asynchronous LINQ over push based collections. In this talk, you’ll see how the synergy of these two technologies merge to make otherwise difficult tasks, a push over.
SelectedJoe KuemerleIs your API leaking? Breaking APIs to increase security.200Smartphone apps, single page web applications and most other applications are required to use various APIs in order to accomplish work. While this technology is wonderfully powerful, many developers are unaware of all the ways in which an improperly implemented API can cause data breaches and lead to expensive publicity disasters or compromise of internal systems. In this session we will dive into ways to investigate and compromise web based APIs in order to increase the security and stability of our applications.
SelectedJoe KuemerleKeeping Secrets: Using Encryption Effectively200We all want to protect data that is entrusted to us. Whether we are required to protect sensitive information because of regulations or just to keep the trust of our users a good understanding of encryption is essential. In this session we will work through common data encryption scenarios and use encryption techniques to ensure that your data stays protected. We will also review common mistakes when using encryption and learn how to avoid them. Additionally, we will discuss techniques to guard against tampering and how to maintain the security of our data over the long term.
SelectedJohn ZablockiGoing, Going, Golang.100You've no doubt heard the buzz around the Go programming language. Google's first mainstream language has captured a great deal of mindshare within the developer community. Go's simplicity, and speed are allowing it to become the framework of choice for the new world of microservices and containerized deployments. In this talk, we'll explore the Go language, its conventions, and how to build a simple Go microservice.
SelectedJohn-Daniel TraskHigh performance .NET300John-Daniel Trask (Microsoft MVP, Co-founder of Raygun) will share with you his tips and tricks for getting high performance out of your .NET code base. He'll share the tools he uses, performance "smells", approaches to writing fast code and real world stories of how he's saved many thousands of dollars by fine tuning code to run fast. There's no reason your modern computer should feel slower than your old 1995 Pentium 100!
SelectedJohn-Daniel TraskBuilding a software company100Many software developers dream of building up a project into a real business and working for themselves. This session is for those aspiring developers. John-Daniel is a software developer with 25 years experiences who has built (and sold!) several multi-million dollar businesses from scratch. He'll discuss some of the traits that make software developers great business operators, as well as some characteristics you'll need to unlearn to do so.
SelectedJônatas Davi PaganiniLive coding a small compiler200The most of the developers are programming language users and not language writers. But, have you tried to build your compiler?

In this live coding show, We'll code a language parser from scratch. Applying the
computation principles and implementing the basics of a programming language parser.

The parser will cover a little grammar very similar to regular expressions but made to search code directly in the Abstract Syntax Tree.

The code base will be implemented using Ruby but no need a previous experience with the language.
SelectedJônatas Davi PaganiniLive coding a new cop for RuboCop 100If you're a Ruby developers, you're probably using RuboCop to keep your code clean and aligned with the ruby community style guide.

In this live coding show, I'll be implementing a new checker, observing the language through the abstract syntax tree and creating rules to offend the code and auto-correct it.

prerequisites: Be familiar with Ruby language
SelectedKevin IsraelBuilding SPAs with ASP.NET Core 2 and ReactJs200This presentation will focus on covering the ASP.NET Core architecture and the unified controller model of development. We we then move in ReactJs architecture and what it takes to build ASP.NET Applications with ReactJs. The outcome is a very simple yet rich web experience.
SelectedKevin IsraelBuilding and Deploying Microservices with .NET Core200Building microservice applications can be a bit of a challenge to design and build sometimes as the interfaces for them need to be clearly defined and are utilitarian in nature. These components follow the Single responsibility principle and are autonomous in nature, communicating via APIs. In this session we will cover microservice architecture and how the .NET Core 2 framework allows us to build and deploy microservices.
SelectedKevin S. GoffImplementing Data Warehouse Patterns with the Microsoft BI Tools200You’ve read some of the content of well-known Data Warehousing books – now what? How do you take the structures and disciplines inside such books as the Ralph Kimball series and implement them? This session will take several of the key concepts in Data Warehousing and demonstrate some implementations using SQL Server Integration Services and Analysis Services. We’ll look at items such as Type 2 Changing Dimensions, Confirmed Dimensions, Dimension Outriggers, Role-Playing Relationships, Many-to-Many Bridge table relationships, Factless Fact tables, Handling of NULL foreign key values, and more.
SelectedKevin S. GoffIn-Memory Capabilities in SQL Server 2016200The Enterprise Edition of SQL Server 2016 contains 2 powerful features for database and data warehouse developers to improve performance and scalability. One is columnstore indexes and the other is in-memory optimized tables. In this presentation I'll show several examples with large databases on how you can get the most out of these 2 great features. I'll cover the scenarios and contexts where columnstore indexes and in-memory optimizes tables work best.
SelectedKushan Lahiru PereraRevamp teams with Microsoft Teams100The ways organizations collaborate and communicate vary more than ever these days, especially given the generational divide in the workplace that has many employees working with a mix of device types and preferring different modes of interaction in mobile-first and cloud-first age.

Let’s discuss on improving communications, collaboration with ensuring productivity with Teams and its extensibility.
SelectedLizzie SiegleMake Fun, Make Music with Node.JS100It is so easy to make music both by yourself and with a group with this npm module, this talk will have no slides…only live-code. String together notes, chords, and scales to make songs you recognize, and then, as a collective group, the audience will make your own melody together as a team. There are no prerequisites, besides a desire to make music with other audience members through code!
SelectedMatt Van HornDo I have what it takes or am I kidding myself?100In the tech world like any other there is a food chain we all fit in it somewhere. Everyone always feels like the grass is greener in the job that they don’t have or in running your own business vs. being an employee of a company. There is no right or wrong answer to where you fit just what is right for you. In this session I will walk you though some of the key questions you need to ask as well as decision points involved in figuring out where you fit in. I will use concrete examples of how I have personally messed up as well as seen others mess up these calls in the past. I will talk about how I righted myself and how I have watched others fail from not being honest with themselves about who they really are.

My goal with this session is to apply the same discipline that we as software engineers use to solve problems at work to solve for where do you want to be in 1, 5, or 10 years in life. I will also introduce you to how to go about using unit/integration/story testing to figure out if your life plan will work.
SelectedMauricio MendozaBoost your productivity with Angular100Perhaps you've tried the Angular Quick Starts and were frustrated by them, following along with confusion? Demystify the framework that aims to improve your productivity with this introduction to developing web apps with the latest version of Angular. Discover the key building blocks, such as modules, components, and templates and learn how to use the Angular CLI for generating Angular code.
Pre-requisite: Some familiarity with JavaScript and web development
SelectedMauricio MendozaBecome a superior programmer in today's world!100Programming work is essentially unsupervisable. Your employer can't force you to be a good programmer and often isn't even in a position to determine whether you're good or not. Once you decide to make yourself a superior programmer, the potential for improvement is huge. Thus, character is the more decisive factor in the makeup of a superior programmer. Rather than provide programming tips, we will explore how five aspects of your personal character directly affect your ability to become a superior programmer. Additionally, we will explore some other factors that you may at first think are important, but in fact have little or no impact on your abilities as a software developer.
SelectedMiguel CastroDesign & Build AngularJS Component-Based Applications200Angular (2) uses Typescript as a syntax new installation and setup procedures. But the single most significant change is that it forces us down the path of component-based design. This is not a bad thing; in fact, it's an awesome way to design and write web application. But what if you are not ready to make the leap to the next version of Angular, whether for personal reasons or those of your place of employment? Well, AngularJS (1.6) back ported the idea of components directly from Angular's design. Now you can design and develop your web applications using this great modular and encapsulated paradigm. And you can do it using the familiar Angular 1 environment that in all honesty, is not going anywhere any time soon. In this session, I'll give you a run-down on how to leverage all your existing AngularJS knowledge but learning a great hierarchical way of designing your applications. You'll also see the Angular UI router in action, giving you the ability to target any part of the app structure using a URL. This component-based of way of writing applications will put you in the right mindset so when you jump to Angular, the move will be much easier. The session will be for MS and non-MS centric devs as it will start non-Microsoft centric, but end with a port of the design and code to work within the ASP MVC platform.
SelectedMuhammad SiddiqiOpenAPI Specification for RESTful Services100REST APIs provides us lots of advantages including JSON based responses and supporting plain HTTP. This simplicity makes it difficult to utilize them for statically typed clients. Open API Specification allows these services to publish their contracts using the same HTTP. It is now version 3.0. The session would be a deep dive discussing how the specification can be used for API documentation, discovery and client code generation specially for polyglot development.
SelectedNick LandryHoloLens & Immersive Mixed Reality App Development300Mixed Reality blends people, places and things across a full spectrum ranging from the real-world to digital virtual worlds. This session is your introduction to building 3D applications and games for Windows Mixed Reality using C#, Visual Studio and Unity. We’ll start with a quick recap of Mixed Reality, the HoloLens device, immersive headsets and the Universal Windows Platform (UWP), and talk about interacting with holograms using gaze, gestures and voice. Next, we’ll dive into building 3D apps for Windows Mixed Reality in Unity with C#, using the Mixed Reality Toolkit for Unity, exporting our project to Visual Studio and running it on either a HoloLens device, an immersive Mixed Reality headset or the HoloLens Emulator. Science fiction becomes science fact, and Unity & UWP developers are at the front of this revolution. Come learn how to get started and build your journey into a world of holograms you create.
SelectedNick LandryHoloLens & Mixed Reality Development with the Cloud300From simple leaderboards and gamer accounts, to full multiplayer or even MMORPGs, the cloud simplifies the creation of connected games without any upfront investments. The cloud democratizes game development, putting infrastructures normally reserved for AAA studios into the hands of indie game devs. Mixed Reality applications can also benefit from cloud backends for shared experiences between holographic and immersive users, remote avatars, loading dynamic assets, and positional updates. In this session you’ll learn how to design & create Windows Mixed Reality apps & games in Unity with a cloud backend including Web APIs, cloud storage, state management, cognitive services and more.
SelectedOren NovotnySecure your app with Azure AD B2C100Learn the how to secure your applications and API’s with Azure AD Business to Consumer (B2C). We’ll introduce Azure AD, OAuth and Open ID Connect and explore how to use B2C to secure your application with both local and social accounts.
SelectedOren NovotnyMulti-targeting the World: A Single Project to Rule Them All 200Into to creating single and multi-targeted .NET Standard class libraries using the new "SDK-style" project system. We'll recap what .NET Standard, what problems it solves, and how to get started. Next, we’ll dive into some of the new capabilities of the “SDK-style” project type, show how to consolidate projects that need to target multiple platforms into a single project and easily create a NuGet package for the library. Finally, we’ll demonstrate how to convert an older class library into a .NET Standard library.
SelectedPaige BaileyWell-Aged Bacon: predicting Kevin Bacon's age with the Python Cognitive Services API 100This talk will walk through functionality of the Azure Cognitive Services API, in the context of a specific use case (predicting Kevin Bacon's age from 1978 - 2016). Topics addressed include age approximation, emotion detection, hair color, gender, likelihood of moustache or glasses, and more! 
SelectedRiccardo TerrellTaming and Composing high performance Stream-Oriented Processing Systems for Big Data200Real time applications are dominating the industry! Data is the main ingredient in Internet-based, social media and Internet of things (IoT) systems, which generate continuous streams of events used for real time analytics. This poses a tremendous challenge due to the massive volume of data collected and processed. These event-based Real-time analysis systems can easily process millions of messages per second through new generation solutions by simply defining small flows and then combining them together to create processing graphs. In this talk, will cover the concepts behind high-performance streamed-oriented big data processing systems. We will explore messaging queue systems like Kafka and Akka Streams which let developers define their process workflows at a higher level to define a graph system enabling a high throughput. You will learn how to integrate high performance stream message queues and how to define process workflows in C# and F#.
SelectedRob ZeltAccelerating Mixed Reality Application Development with the Mixed Reality Toolkit200The Mixed Reality Toolkit is a Microsoft open source project that includes collection of scripts and components intended to accelerate the development of mixed reality applications targeting Windows Mixed Reality devices and Hololens. In this session we will look at some highlights of the toolkit with code examples.
SelectedRob ZeltHigh Throughput Science in the Cloud Azure Batch200See how you can scale out to scientific processing workloads dynamically with Azure Batch.
SelectedRobert W Brady, Jr.Azure IoT, DevOps and Edge Devices300This session provides architecture patterns, best practices and running demonstrations that show how to design and implement highly distributed IoT SaaS solutions using Azure. Topics include creating continuous delivery automation for Azure services and custom microservices. Edge device firmware is examined to understand how devices are bootstrapped, configured and implemented to handle both outgoing telemetry as well as incoming events and commands. IoT Hub’s Device Twin is examined and demonstrated to show how over the air configuration and firmware updates can be applied. Work performed with customers is discussed to shed light on the challenges that organizations face when moving to real-time systems that drive business outcomes.
SelectedScott McAllisterWhy loop when you can map, reduce, or filter?200Traditionally, when developers see large arrays of data their "go to" tool for parsing and searching has been the for loop. But JavaScript provides also provides a more declarative approach that can help you find what you're looking for in fewer lines of code that is cleaner, easier to read, and maintain. Come see how the map(), reduce(), and filter() functions can help you!
SelectedScott McAllisterEvolve Deliberately: Moving Your Angular from V.1 to V.2200Your organization has bought in to AngularJS and built an awesomely interactive UI using the JavaScript framework. Now you want to take advantage of the features in the latest version of Angular, but not sure how to make the leap to TypeScript. Come see how to migrate your code from AngularJS (V.1) to Angular (V.2+)!
SelectedSzymon RozgaBot Design Guidelines: Lessons from the Trenches200So, you want to build a bot? Great. No problem. Just put something in the Bot Framework or and you’re good.

Slow down.

In this world where bot technology can behave in all kinds of unpredictable ways, it is really easy to create a useless and annoying bot. Yet people still do it. Everyday. My goal while building bots has always been to create a useful, low touch, low annoyance experience and in this talk I’d like to share some of the lessons we have learned over the past years.

Should you gender your bot? How often do you reach out proactively? How verbose should you be? Should you say “Sorry, I don’t know”? What’s the distinction between cards and attachments? How do I support a group conversation? We’ll cover these and many other sticking points that you will run into while designing a bot while exploring a few good options on how your bot can effectively communicate with your users.
SelectedSzymon RozgaBuild Bots with Node and the Microsoft Bot Framework100Hype or not, bots are a huge topic these days. Messaging platforms are providing extensions, voice assistants are providing integration points and ML democratization is making the development process easy and is giving developers access to platforms with millions of users. The skills and tools necessary to develop backend natural language understanding based services are accessible and a ripe area for innovation. Microsoft provides various service to help developer get bots up and running.

In this talk, we will introduce LUIS as the intent classification and entity extraction platform of choice. We will explain the differences between using the Bot Framework vs,, Watson Conversation or Amazon’s Lex and show how easy it is to build a bot using Microsoft’s Bot Framework in Node. We will focus on introducing then concepts of waterfalls, dialogs, global handlers and get a feel for conversation design as we build and deploy a bot to Facebook Messenger.
SelectedTony ChampionBuilding UWP apps on Xbox One200Building apps for Xbox One is now easier than ever. With a simple selection in the Windows Store any UWP app can now run on the Xbox. However, providing a great user experience on the Xbox can have its challenges. In this session we will look at lessons learned from real world experience of bringing UWP apps to the Xbox One.
SelectedTony ChampionExtending your apps with Cortana200With the introduction of the Cortana Skills Kit, developers can now interact with users directly through Cortana allowing the user to complete tasks without ever opening the app. Since Cortana is now available on nearly every platform, this opens up Cortana to apps regardless of the platform or the development language. This session will take a look at what it takes to build Cortana skills that work with your apps.
StandbyBetsy WeberThe Power of Networking100Learn how creating a strong personal and professional network of connections can help you grow your career and business. We'll cover some networking tips, lessons learned and several groups you can join.
StandbyBhakthi LiyanageMaking "things" Intelligent : Introduction to Internet of Intelligent Things (IoIT)200IoT is not a new phenomena or a hype anymore. The “Internet of Things” is made up of billions of “smart” devices—from miniscule chips to mammoth machines—that use wireless technology to talk to each other (and to us). Our IoT world has grown at a breathtaking pace, from 2 billion objects in 2006 to a projected 200 billion by 2020. That will be around 26 smart objects for every human being on Earth!!!. While IoT has significantly impacted how we lead our life, it is impossible for humans to manage manually the plethora of things. On the other hand, such “things” need to adapt to the ever-changing environment and requirements. In this demo based session, I will show the attendees how to make "things" more intelligent using Azure Cognitive Services.
StandbyJim WooleyEntity Framework performance monitoring and tuning200Object Relational Mapping technologies, including the Entity Framework can drastically simplify the programming model against databases, but when done carelessly, performance can suffer. In this session, we'll explore some real-life strategies that have solved performance issues in production applications that I have encountered at a variety of customers. We'll discuss the pros and cons of working without stored procs and cover strategies for monitoring and tuning your entity queries.
StandbyMatt Van HornHow to make SQL Server write code for you100I don’t know about you but I like SQL I know that is not typical of most coders but lets face it while there are some coders that aren’t just glorified plumbers that pipe data through increasingly elaborate application stacks for a living most of us honestly are. I can’t tell you how many times I came into a project as a consultant and the scope was everything north of the DB infrastructure. So given that you already know what all the business entities that will move through your pipes will look like why not seriously consider mastering using those existing table/view/sproc structure to let you work smarter and not harder. And yes I know that Entity Framework is designed to do a lot of these sorts of tasks for you and way more as well but it can become a massive bottleneck for performance if your DB is already well optimized to use EF.

I will demonstrate how to use SQL Server's equivalent of reflection (INFORMATION_SCHEMA) to make your life easier and get tedious tasks to mostly be done for you. I will share real scripts that I have released on github and how to use them to write less and do more.
StandbyMauricio MendozaRevolutionize your applications and development with ngrx/store200What are the benefits of using a centralized store? What problems is the store architecture attempting to solve? Why use ngrx in Angular? Understanding the answers to these questions can revolutionize your applications and your development experience! Explore the origins of this architecture and understand its benefits, and leave with a roadmap to implementation. You will walk away with a well-rounded understanding of the ngrx/store architecture, and that understanding will empower you to employ it in your next project!
Pre-requisites: Angular; TypeScript
StandbyMuhammad SiddiqiConsul for Service Discovery & Key / Value Configurations200Microservices should be elastic and resilient. Consul provides an extraordinary platform for these services to register and discover each other. Service Monitoring and Health Checks makes it possible for services to only connect to the healthy end-points. Running in a cluster, it also provides an excellent user interface to define Key / Value configuration storage. In this talk we would also cover some extraordinary tools in Consul ecosystem.
StandbyScott McAllisterDevelop Add-ons for Google Apps AND Stay Sane200Using Google's in browser editor to write sample Google Add-ons can be handy for extremely basic scripts, but gets clunky fast when developers want to do something like version control their code or have more than one person working on a script. With the help of a couple open source projects, developers can now build Add-ons on locally, on their own machines, with the tools they're most comfortable with.

Comments on this entry are closed.