Schedule

The entire detailed schedule (including session abstracts) is available in the following table which supports paging, sorting, and full-text searches.

NOTE: the number in parentheses following the room name represents the seating capacity of that room.  When planning your day, we recommend selecting both a PRIMARY and a SECONDARY session for each time-slot in the event your first choice reaches max. capacity.

RoomSessionSpeaker NameSession TitleSession LevelSession Abstract
Ambassador (18)09:15-10:30Chris GomezWho needs Visual Studio? A look at using .NET Core everywhere else.200.NET Core is here! We've heard how it is lightweight and cross-platform and that you can use the tools that make you happy. Most of us are going to let Visual Studio do the heavy lifting, and that's fine, but you can learn much about how things work under the hood if you put the IDE aside and work with .NET Core without ever touching it.

To demonstrate, Chris will demonstrate acquisition and use of .NET Core on a VM untouched by a Visual Studio installation. We'll compare the outcome to doing the same on Linux, and learn what the Omnisharp effort is all about.

The goal is to talk about how you can achieve the most friction-free experience for projects that want to be accessible on different platforms for people with different tastes. This session is perfect for .NET veterans who are brand new to .NET Core and want to see what the brave new world looks and feels like.
Belasco (20)09:15-10:30Alex LindgrenBuilding an ecommerce bot using the Microsoft Bot Framework200Conversational interfaces are becoming mainstream and Microsoft’s Bot Framework makes it easier to get started building chat bots. In this session, learn how to build an ecommerce chat bot using Microsoft’s Bot Framework. The bot will utilize Microsoft’s Cognitive Service LUIS (Language Understanding Intelligent Service) and the Merchello ecommerce platform to enable a user to shop and buy products via a chat interface.
Broadway (30)09:15-10:30Andrew ReitanoNESpectre - The Massively Multi-Haunted NES (200)100Learn about how we utilized Node.js, socket.io, and Azure to create an interactive multi-user experience in which the audience manipulates a modified NES game console in real-time. Audience members will use their mobile devices to influence the outcome of several live demos. This is a great session for hardware hackers, homebrew cartridge enthusiasts, JavaScript and Python geeks, and anybody who loves a good story about random, 48 hour collaborations and the magic of game festivals.
Broadway (30)09:15-10:30Gael FraiteurAutomate design patterns with PostSharp and aspect-oriented programming100Design patterns are now universally accepted and have significantly improved the way we design software. However, they had relatively little impact on how we implement it. Except rare exceptions like the 'using' or 'lock' keywords, most patterns must still be implemented by hand, resulting in large quantities of boilerplate code that must be validated by peer review. However, development tools could do a better job by automatically implementing some parts of the pattern, and automatically validating hand-written code against pattern rules. This talk shows how to remove this redundant code with aspect-oriented programming (AOP) and PostSharp, the reference AOP framework for .NET.
Carnegie (18)09:15-10:30Benjamin T. GalluzzoMongoDB For Developers And Accessing MongoDB data100This is where .NET, MongoDB, and SSIS meet. We'll begin with an overview of what MongoDB and NoSQL are and how it is often used in the world. Then, we'll go over some of terminology of MongoDB and how these terms map to the SQL world. Lastly, we'll demonstrate how we can work with MongoDB from SSIS using .NET code to make all of the connections.
Central Park East (81)09:15-10:30John BennettBuilding a multi-tenant SaaS application200In this session, we will walk through some of the major considerations when creating a multi-tenant SaaS application, including: authentication, keeping each tenant's data safely isolated, managing complex authorization challenges, and customizing UI and data schemas per tenant. In short: maximizing the cost savings of shared resources, while minimizing the risk that one tenant can affect another, either inadvertently or maliciously.

Our app will consist of a single-page application (SPA) built with React and Redux, backed by an API built with Node and Restify. But the concepts covered apply regardless of what tools you are using.
Central Park West (201)09:15-10:30Spencer SchneidenbachGetting Started with Angular 2 and TypeScript100The web world has become increasingly more complex over the past few years. The demand for fast, fluid single page applications (or SPAs) has gone up, along with the seemingly endless number of frameworks used to build them. The most popular among them, Angular 1, took the SPA world by storm seven years ago. Since then, it's been adopted by many developers and firms looking to build rich, feature-fill applications for the web, mobile, and beyond.

Angular 2 looks to continue that trend with a library that is more performant, lighter, and easier to use. In this session, we'll learn about components, directives, services, and dependency injection, as well as the new Angular 2 syntax. We'll also learn about TypeScript, Microsoft's open source superset of JavaScript that enables fast, fluid, fun, and safe development. Learn about some of the features of TypeScript that enable us to rapidly develop and maintain Angular 2 applications with ease, including classes, decorators, and compile-time type checking.
imperial (18)09:15-10:30James Bender Level-Up Your Test-fu with BDD & SpecFlow200A key concept of any Agile methodology is communication. It’s no longer normal or acceptable for developers to sit and develop applications in isolation from the business. To that end, developers and business domain experts have been trying to find better ways to communicate. While developers tend to speak in terms of “code and technology” most business domain experts are more comfortable communicating in terms of scenarios, workflows and business rules.
Test Driven Development (TDD) was the first step in getting these two groups to communicate in the same way. Developers could write unit tests that expressed business requirements with the hope that business users could validate that what was being tested was in fact what the desired behavior was. But, unit tests are still code and while it was better, the communication was still stilted and inefficient.

To help this communication new techniques such as Behavior Driven Development (BDD) and Acceptance Test Driven Development (ATDD) have become popular. Along with these new ideas, new tools like SpecFlow have become popular as a means to express unit tests in a way that the business can better understand and validate.

This session will demonstrate how SpecFlow can be leveraged in your BDD or ATDD practices. The Gherkin language and the “Given, When, Then” paradigm will be explained and you will see how to write tests in a way that business users are not only capable of reading, but can also help you create them.
Majestic (18)09:15-10:30Ed CharbeneauDon’t be a stereotype, rapid prototype100In just about every industry, rapid prototyping is described as “A group of techniques used to quickly produce a working model”, and web development should be no different. Rapid prototyping allows developers to quickly communicate and collaborate on the product they are creating while investing minimal resources. When used effectively, a prototype can provide structure to a project, ensuring that the development team and the customer are working towards the same vision and goal.
Music Box (46)09:15-10:30Kendall MillerScaling Systems: Architectures that Grow200It's harder than ever to predict the load your application will need to handle in advance, so how do you design your architecture so you can afford to implement as you go and be ready for whatever comes your way. It's easy to focus on optimizing each part of your application but your application architecture determines the options you have to make big leaps in scalability. In this talk we'll cover practical patterns you can build today to meet the needs of rapid development while still creating systems that can scale up and out. Specific code examples will focus on .NET but the principles apply across many technologies. Real world systems will be discussed based on our experience helping customers around the world optimize their enterprise applications.
Radio City (48)09:15-10:30Paulmichael BlasucciEmbracing the "Common" in "Common Language Runtime"200One of the undervalued strengths of .NET/Mono is the ability to mix-and-match many different languages. And yet, developing libraries for polyglot consumption is a little-known craft. In this example-laden talk (drawn from 18 years of professional experience) we'll learn some of the tools, techniques, and mindset needed to delivery high-quality libraries which are a joy to consume from multiple CLR languages.

(Note: this session assumes a day-to-day familiarity with .NET or Mono, though not necessarily in more than one language. Also, the discussion will be limited to languages "in the box" with Visual Studio... sorry, Cobol.NET fans.)
Winter Garden (46)09:15-10:30Chander DhallComparing Javascript Frameworks100Take a noun, add .JS to it and you probably have a framework that exists. Have you worked with JavaScript frameworks like Angular, Angular 2, React, Ember, Aurelia, Polymer and other single page app frameworks? We'll take a look at production code, see what each one of them is good at, and what it's not. We'll consider how you can use more than one of these and how they work with other frameworks.
Ambassador (18)10:45-12:00Will RobertsonBuilding your testing arsenal100A guide to the various approaches and tools available in .NET to test your code complete fashion both for intention and implementation. Talk will cover types of testing, techniques that have worked and not worked, the ‘implementation’ trap and what tools can assist you in writing better tests.
Belasco (20)10:45-12:00Rachel ReeseIs functional programming just a fad?100So, is this functional programming thing just a fad, starting to have its 15 minutes of fame? Are there any benefits to learning a functional programming language? Or to switching your development over to a functional language? In this talk, Rachel will discuss several of the considerations and use cases that helped Jet.com (and a few other companies) decide whether to consider, or fully make the switch to using, a functional programming language.
Broadway (30)10:45-12:00Eddie ZaneskiA Crash Course In React.js100React.js is a JavaScript library for building user interfaces that is growing in popularity and usage thanks to it's declarative and expressive syntax. In this session we'll dive to take you from blank directory to a working React.js app. Coding along is welcome. Knowledge of JavaScript is necessary.
Carnegie (18)10:45-12:00Anthony AbateLow Latency C# Programming300How fast is fast? This topic will discuss various low-latency performance critical techniques that can provide speed boosts by utilizing concepts such as lock-free and non-blocking operations as well as generalized code optimization.

Measuring extreme performance becomes a problem in itself, so specialized logging techniques are introduced to capture live data points for post run time analysis.

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.
Central Park East (81)10:45-12:00Greg ShacklesMonitoring Your Mobile Apps in the Wild100Now that you've released your app out to the world, do you know how it's performing in the hands of real users? How long are they waiting for screens to load, or are they using that new feature you're so excited about? If you can't answer questions like these, you're effectively flying blind.

There's a lot of guidance for monitoring on the web, but what about mobile apps? In this session we'll look at the kinds of things you should be paying attention to, and then take an existing app and walk through adding various forms of instrumentation to it.
Central Park West (201)10:45-12:00Jay HarrisRebooting the ASP.NET Franchise100Are you an ASP.NET developer that is tired of the baggage and cruft within the framework? Do you wish you could use OS X for developing ASP.NET apps? Are you new to ASP.NET, but are adverse to installing Windows and Visual Studio? Everything has changed: ASP.NET isn’t just for Visual Studio, anymore. Learn how ASP.NET has broken free from Windows and has turned into a fresh, cross-platform, OS-agnostic framework. Develop ASP.NET applications on your OS, with your editor, in your way. No more compromises, no VMs, no workarounds. Grab some popcorn an experience the reboot of the ASP.NET Franchise.
Imperial (18)10:45-12:00Ed CharbeneauRefactoring CSS with Sass200Does your CSS code remind you of an episode of Hoarders? In this session we'll look at how to apply back-end development principles like OOP, DRY, SoC, and Encapsulation to CSS using Sass and Compass. We'll explore techniques to build modular, semantic and intelligent CSS. Prepare yourself for the next evolution in front end development.

Code demonstrations will be shown using Visual Studio, ASP.NET Core
Majestic (18)10:45-12:00Gael FraiteurHow to train your dragon II – a tale of leadership100Hiccup is called by his father to become the tribe’s leader, but he does not feel quite ready yet. Is he really this kind of man? After all, he does not have half of his father’s stature. Hiccup goes on an odyssey that will confront him to several models of leadership for good and evil. This talk is dedicated to all people who feel they are the depository of a special spark – be it a talent, a vision or a message – but that feel internally obstructed from realizing it. The talk borrows from my own personal path – from an awkward geeky teenager to an unsuccessful and frustrated employee to an open-source developer and international technical speaker to the founder of PostSharp Technologies, a successful tech business. In this unusual session, we will analyze the messages, models and stereotypes that are keeping your spark from taking fire.
Marquis (18)10:45-12:00Jonathan MillsDesign Patterns in Practice200If your experience with design patterns does not venture much past the repository or factory patterns, then this session is for you. Design patterns are often fun to talk about or interesting from an academic standpoint, but many struggle with how to implement them practically in the real world. In this session, I will walk you through the different categories of design patterns and show you practical implementations for many design patterns.
Music Box (46)10:45-12:00James SturtevantIntroduction to Service Fabric100Orchestration, automation, and monitoring are just some of the challenges when moving to container technology. Service Fabric is a distributed services platform that solves these challenges and more. It is a battle tested system that is used inside Microsoft for its mission critical applications such as Azure SQL, Document DB, and Bing Cortana - processing more than 500 million evaluations per second. In this session we will explore Service Fabric and see how it helps to solve the challenges of distributed computing.
Radio City (48)10:45-12:00Matthew GrovesFull Stack Development with .NET and NoSQL200Application development and data storage needs are changing constantly. Today you might find yourself using ASP.NET MVC, but tomorrow you might need to use ASP.NET Core. Maybe tomorrow you find yourself needing to store a more diverse set of data than you did yesterday, creating a challenging data upgrade path. What if you suddenly decide that you need to include a mobile application as well as a web application? How do you prepare your enterprise to be able to accommodate these various technology shifts as the years pass?

In this session we will talk about what is different about this generation of web applications and how a solid development approach must consider the latency, throughput and interactivity demand by users across both mobile devices, web browsers, and IoT. We'll see how to include a NoSQL database in such applications to support a flexible data model and easy scalability required for modern development.

We will see how to create a full stack application that makes use of .NET, Couchbase NoSQL, and AngularJS, but can very easily be altered to meet the needs of your organization should things change in the future.
Winter Garden (46)10:45-12:00Iqbal KhanHow to Scale .NET Apps with Distributed Caching200Your .NET applications may experience database or storage bottlenecks due to growth in data volume, session volume/length or size of objects. Learn how to remove bottlenecks and scale your .NET applications using distributed caching. This talk covers:

• Quick overview of scalability bottlenecks in .NET applications
• Description of distributed caching and how it solves response time issues
• Where you can use distributed caching in your application(s)
• Some important features in a distributed cache
• Hands-on examples using a distributed cache
Ambassador (18)13:00-14:15John BrownASP.Net Core - Gettting Started100ASP.NET Core is a familiar yet a whole new way of developing web apps on .NET. This talk will start with Hello World and build a functioning web app to see how each piece of middleware adds to the overall process and allows you to specifically configure your application.

You will learn:
* How to startup your app and prepare the middleware pipeline
* How where and how the configuration of ASP.NET Core is done
* Prepare Entity Framework Core to work with ASP.NET Core
* You will learn how to setup for production configuration
* Where to get started with a new application
Belasco (20)13:00-14:15Kendall MillerTo The Cloud! How We Moved our SaaS to Azure (and it made us better!)200Two years ago we had to make a decision whether to double down with new hardware in our Colo or go another way to grow our SaaS. We moved into Azure and haven't looked back.

In this talk we'll walk through the challenges we've faced moving from our own hardware to Azure including:
•Taking advantage of auto-scaling to reduce costs.
•Growing 100x without controlling the hardware.
•When it all goes wrong and Azure falls over.
•How Azure has improved the performance of our on-premises installs too

Far from a theoretical conversation about how you could use the cloud, we'll share real data from our production implementation, both the good and the bad. Finally, we'll talk about where we're going with what we've learned.
Broadway (30)13:00-14:15Jeff StraussIntellectual Property Fundamentals for the Technologist100Today, more than ever, technologists need to be aware of the basics of intellectual property law and the broad effects it has on decisions you make every day. There is a prevalent myth that if something is available on the Internet, it must be free to copy and use as we please. Nothing could be further from the truth. In this session, we will cover some of the core principles of IP. Become a better informed technologist and gain the confidence to discuss these topics with your professional advisors and with your own team.
Brooks Atkinson (18)13:00-14:15Muhammad SiddiqiSwagger for REST based APIs Contracts100REST 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. Swagger allows these services to publish their contracts using the same HTTP. The session would be a deep dive discussing how Swagger can be used for API documentation, discovery and client code generation specially for polyglot development.
Carnegie (18)13:00-14:15Alvin RogersPart II "Finding Black and Hispanic Programmers" by Alvin Rogers & Chris Gomez 100projector and surface tablet
Central Park East (81)13:00-14:15Bhakthi LiyanageHow to build your own weather station using IoT and Azure cloud200The Internet of Things (IoT) starts with your things—the things that matter most to you or your business. Welcome to the Internet of Your Things.In this heavy demo based session I will demonstrate how to build your own weather system by connecting sensors to the Windows Azure cloud by using Azure IoT platform and share the telemetry data in the cloud.
Central Park West (201)13:00-14:15Jonathan MillsHabits of highly effective JavaScript developers200Javascript is easy to do very badly, but also fantastic when done well. In this session, Jon will walk through some JavaScript best practices to make you a more productive developer. From linting your code, to adhering to common patterns, Jon will give you practical tips to help prevent some common JavaScript troubles.
imperial (18)13:00-14:15Kevin S. GoffIntroduction to Data Warehousing Patterns 100If you've worked primarily with OLTP database applications and would like to learn more about data warehousing and business intelligence solutions, this session is for you!

I'll cover some of the fundamental concepts (using the Ralph Kimball methodology) and how to implement them using the SQL Server platform. If you're interested in what fact and dimension tables are for, what slowly changing dimensions are (and why you should care), then come to this session!

This is an introductory session and only makes the assumption that the attendee has worked with normalized, transaction databases. I'll take it from there
Majestic (18)13:00-14:15Erik NorenF# for C# Developers200C# is a powerful language that can be used to accomplish practically any task. Even though it can do most things, it doesn't do them all equally well. F# is a functional-first language that can be used to solve some challenges the modern developer faces in fewer lines of code and with reduced code complexity. In this session I will first demonstrate how F# can be leveraged in C# projects to simplify common tasks then build up to more complex examples of its support for asynchronous and parallel processing.
Marquis (18)13:00-14:15Kishore ReddyAPI Design Patterns200API design patterns with an emphasis on building Protocol Independent APIs. This involves writing your API 1 time and being able to host the API as both a Web API and also using it on the command line.

SECTIONS:
- api standardization
- api routing format
- api help and discovery
- api request and response
- api implementations patterns
- api as a logic-less entry-point
- api with protocol independence

NOTES:
Will demo writing your API in Scala as a plain class with Annotations once, and them making it available as both a Web API ( using Akka-Http ) and on the CLI ( command line interface ) shell.

TECH:
While the concept is language independent, it will include a working example using:
1. Scala
2. Akka-Http
Music Box (46)13:00-14:15John BennettDevelop, test and deploy with Docker200Docker has rapidly emerged as the leading container implementation. In this session, we will create a complete, automated dev-test-deploy workflow with Docker, using GitHub, CircleCI, and DockerHub. We will create Docker-hosted environments in both AWS and Azure. The demo application will include three separate components: a single-page web app, a REST API, and a MongoDB database.

You will learn the basics of using Docker locally and in the cloud, your choices when creating a Docker cloud environment, and the gotchas to watch out for. In addition, you'll have a complete set of scripts to use in automating your own Docker-based workflow.

You should have some familiarity with creating and managing resources in either AWS or Azure. Familiarity with Docker is helpful.
Radio City (48)13:00-14:15Mitchel SellersEntity Framework the 60 Minute Practical Introduction200Although Entity Framework has been around for quite a while now, many developers have yet to fully experience the power that it can bring to a project. In this session we will take a deep dive into the specifics of working with Entity Framework to manage the data layer of an application. We will start from scratch and build a model, enable migrations, work with migrations and implement queries. Included in all of this will be practical notes regarding production processes with entity framework. At the end of this session attendees should be comfortable with initial implementation of complex data models & operations using Entity Framework.
Winter Garden (46)13:00-14:15Greg ShacklesGoing Serverless: Event-Driven Service Architecture Without The Infrastructure200Technologies like Amazon Lambda and Azure Functions make it possible to build services and APIs without needing to provision or manage servers. Instead of managing servers in the cloud and scaling out by adding instances, you simply pay for the resources you consume and the scaling happens for you. On top of that, you're also not paying when your code isn't running, without needing to worry about shutting down your instances. Your functions can be triggered by events from other AWS or Azure services, or you can even expose them as APIs that can be accessed from your other applications. In this session we'll dig into the ins and outs of this type of architecture, and what it looks like to build real systems with it, from simple bot integrations to full-fledged backend systems.
Ambassador (18)14:30-15:45Rachel ReeseA History of F#: From Euclid to Type Providers100After I switched from C# (a curly-brace heavy object-oriented language) to F# (a whitespace-sensitive functional language) a few years ago, I started to wonder about the history of programming languages and how they evolve. How does a feature in one language influence a feature in another language -- for instance, where did type providers come from? In this talk, I cover the history of the ML family from approximately the dawn of time, eventually focusing on F# specifically.
Belasco (20)14:30-15:45Stephen LeonardEnterprise Mobility – A Whole Different World100Many are surprised when coming from consumer mobility, just how different the operating environment and requirements can be in enterprise-focused mobility. This session will cover enterprise mobility from the typical business requirements though platform architecture, engineering and implementation, leading finally to developing applications on this often fragmented technology foundation.

Enterprise mobility can be very challenging with mistakes resulting anywhere from lost productivity, up though total loss of your proprietary data and, often the client’s trust. An understanding of the enterprise mobility landscape is essential to crafting and implementing a successful mobile strategy upon which to build your business. The topic areas will be applicable for any sized organization including large, regulated and governmental organizations. Once the groundwork is laid, we will focus on what this all means for application development so you can build, and actually implement, the next killer enterprise app.
Broadway (30)14:30-15:45Jerry NixonAn introduction to Inclusive Design100Inclusive design dramatically increases the potential audience for your software by paying attention to usability, design and features for every user. Inclusive design is an intentional strategy to make your experience better for everyone.
Carnegie (18)14:30-15:45Brian MinisiMaturing DevOps to Optimize Value Delivery200In this ever changing world, IT agility is becoming increasingly critical to remain competitive. Increasing flexibility and delivery while keeping the cost of development, testing and operations under control is a key factor in driving DevOps practices. See how we can embrace the DevOp movement using Visual Studio and Azure Cloud solutions. We will cover many DevOps practices such as Infrastructure as Code, Release Management, DevTest in the Cloud and using Azure environments to manage and monitor development, test, operations and more.
Central Park East (81)14:30-15:45Mitchel SellersWebsite Performance; Make it Fast to Make it Last200The modern website visitor has very high expectations for the performance of websites and it is imperative that our applications meet this need. The ramifications of an under-performing website can go far beyond customer satisfaction, though, as even the search engines are getting in on the "it must be fast" bandwagon. In this session, we will dive head-first into the in's and out's of website performance. Starting with a practical review of what it means to have a "fast" website and what some key metrics are that can help quantify this designation.

As the session progresses we will evolve into reviewing common site infrastructure issue that can contribute to poor performance and the methods available to quickly identify these items for resolution. After identifying these areas we will discuss the quick fix items and how to get the best improvements the fastest. The session will end with a quick introduction to heavy traffic load testing practices.
Central Park West (201)14:30-15:45Miguel CastroExposing an Extensibility API for your Applications200Writing software that can be maintained is and always has been crucial. But so is writing software that can be enhanced and extended. It’s become quite commonplace for many apps today to expose APIs so externally written apps can have access to their data or their services. But imagine how cool it is to expose an API for changing or extending an application’s functionality. I’m talking about the ability to use the architecture of an application in order to enhance that system. This is the power of the patterns and techniques I’m going to show you in this session. They’re very useful and very geeky so bring your propeller hat.
Imperial (18)14:30-15:45Chris GomezGit: A practical guide for the rest of us100Git burst onto the scene and became the hot new must-have source control system. Boasting of a "distributed model", you've probably heard how there's no central server or that everyone has their own repository. You might have also heard that sometimes you just have to throw your repo away and start over when you get stuck... because that's just how it is. Maybe you experienced similar frustration yourself.

Join Chris as we go over an introduction to Git as a source control system. We'll get some myths out of the way, and look at practical ways to use Git in your organization or to contribute to source on GitHub. With a few simple techniques, you can then decide for yourself to use tools for some tasks or be a command line jockey if you like.
Majestic (18)14:30-15:45Oren NovotnyCross-Platform Unit Testing with xUnit200xUnit allows you to write unit tests that run across all platforms, validating your logic across iOS, Android, and Windows devices. In this session, we'll explore how you can use xUnit for Devices to test shared code as well as platform-specific code, and take a deep dive into the power of xUnit's extensibility engine.
Marquis (18)14:30-15:45Philip JapikseBecoming an Effective Leader200Leaders aren't born, they aren't hatched, and they don't apparate. Leadership is a journey, one that involves hard work, practice, and a deep understanding of not only your team members but also yourself. I've led teams large and small throughout my 30 year career, and certainly made plenty of mistakes on the way, But I've learned to fail fast, iterate, and continuously improve to create high performing teams across multiple verticals. In this session I share what I have learned over the years being a leader and being led.
Music Box (46)14:30-15:45Lee BrandtOpenID Connect in ASP.NET Core100In the age of the “personalized web experience”, authentication and user management is a given, and it’s easier than ever to tap into third-party authentication providers like Facebook, Twitter and Google. And it’s not just the wild, wild web that needs it. Businesses need ways to secure their APIs, and identify users logged into their apps as well. In this session, I will show you how to use the latest authentication protocol from the OpenID Foundation: OpenID Connect. It's a complete protocol that is implemented by several providers and an easy way to secure your web applications!
Radio City (48)14:30-15:45Spencer SchneidenbachNever RESTing - RESTful API Design Best Practices Using ASP.NET Web API100Designing and building RESTful APIs isn't easy. On its surface, it may seem simple - after all, we're only marshaling JSON back and forth over HTTP right? However, that's only a small part of the equation. There are many things to keep in mind while building the systems that act as the key to your system.

In this session, we'll delve into several best practices to keep in mind when designing your RESTful API. We'll discuss authentication, versioning, controller/model design, and testability. We'll also explore the do's and don't's of RESTful API management so that you make sure your APIs are simple, consistent, and easy-to-use. Finally, we'll discuss the importance of documentation and change management.

The session will show examples using ASP.NET Web API and C#. However, this session will benefit anyone who is or might be working on a RESTful API.
Winter Garden (46)14:30-15:45Jeff StraussAdding ES6 to Your Developer Toolbox200Web developers constantly look for the latest and greatest ways to hone their craft, but changes come fast. From jQuery to Angular to Ember to React, 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!
Ambassador (18)16:00-17:15Jay HarrisDesign for Non-Designers from a Non-Designer100Elegant design requires talent, but talent is not a prerequisite for avoiding bad design. If you lack artistic touch and prefer rules and logic over the ethereal art form, the fundamental tenets of composition can enable you to apply Design as a programming paradigm. Spend an hour with a coder learning the logic of design--hacking pixels instead of bits--and free yourself of your excuse for horrible designs.
Belasco (20)16:00-17:15Philip JapikseAgile: You Keep Using That Word...200Much like the DOTCOM boom when everyone declared themselves a programmer, once David Norton (Gartner Research) declared agile mainstream on August 26, 2009, you can’t throw a stone without hitting someone who claims to be an Agilista. From the proliferation of “agile” frameworks and certifications, to all of the people who decided to hang out a shingle as a coach, it can be hard to remember what is the essence of being agile. In this talk, I remove the fluff and hyperbole, and get down to the roots of what it means to be agile.
Broadway (30)16:00-17:15Karl ShifflettRapid Xamarin.Forms XAML Data Entry Form Creation from MVVM ViewModel200Come learn how you can rapidly create XAML data entry forms for iOS & Android (via Xamarin.Forms), UWP, and WPF applications using "XAML Power Toys for Visual Studio 2015" (aka the tool), is a free, open source, RAD, data-driven, drag & drop tool for rapidly creating data entry forms for current Microsoft XAML technologies: Xamarin.Forms, UWP, and WPF.

After a lightning fast demo of the tool, we will get everyone on the same page with MVVM, PCL, Shared Projects, and Xamarin.Forms. We'll spend the remainder of the session creating data entry forms with a focus on iOS & Android via Xamarin.Forms, and Windows 10/UWP scenarios.

Gone are the days of tedious XAML editing for data entry forms. This is a free Visual Studio 2015 package that both mobile & desktop developers will enjoy.
Brooks Atkinson (18)16:00-17:15Joel CochranThe Road to the White House Goes Through the Cloud: How data will decide the next President100Today's Presidential campaigns have the technical sophistication of a modern enterprise, the constrained environment of a startup, and a relentless timeframe. Political rhetoric may get air time, but data wins elections. Political operatives use data analytics to target communications, identify supporters, garner donations, organize field staff, drive voter turnout, and predict outcomes. In this session, Microsoft's Campaign Technology Services team will discuss: its role in the 2016 U.S. Presidential campaigns; the Iowa Caucuses and the party conventions; our customers' adoption of Machine Learning, various Azure data platform tools, and the broad implementation of Power BI visualizations.
Carnegie (18)16:00-17:15Paulmichael BlasucciQuick! Check your Properties (and Write Better Software)100Love it or Loathe it, testing is an unavoidable aspect of developing high-quality software. But there's a world of difference between well-tested code and simply writing tests. Very often, the difference boils down to how you assess the "correctness" of your code. By focusing on software as a mapping from inputs to outputs, property-based testing offers a powerful methodology for testing the logical invariants a piece of code should always uphold, regardless of implementation details.

This session presents a review of FsCheck, a powerful library for doing property-based testing and sophisticated data generation in the CLR ecosystem. In addition to the basic features of the library, attendees will learn about identifying common invariant patterns and building specifications from collections of properties. Time will also be spent exploring how FsCheck can be used to refine domain models and integrate with other popular testing tools. Finally, real-world examples will highlight both the strengths and weakness of this approach to software craftsmanship. While no prior knowledge is assumed, familiarity with the CLR (.NET or Mono) will be helpful.
Central Park East (81)16:00-17:15Shiva ChittamuruMachine Learning on Microsoft Azure100Machine learning uses computers to run predictive models that learn from existing data in order to forecast future behaviors, outcomes, and trends that can make apps and devices smarter. Azure Machine Learning Studio is the place where data science, predictive analytics, cloud resources, and your data meet. This talk focuses on the overview of Machine Learning, what's in it for developers, and how Azure ML makes it easy to build accurate predictive models and make your apps smarter.
Central Park West (201)16:00-17:15Rob ZeltA Developer's Look At Microsoft Hololens 200In January 2015 Microsoft announced a new product called Microsoft Hololens, a mixed reality platform based on Windows that mixes virtual with reality. In this session we'll look at a few Hololens demos to show some potential scenarios using the recently released developer version and then dig into some of development tools. No, you will not be able to try it on, but you will see how you can apply many of the tools you may be using today to platform of tomorrow.
imperial (18)16:00-17:15Ravi OkadeZeroMQ, ZooKeeper and FlatBuffers all in One hour200In this session we will create a high performance Pub-Sub solution using ZeroMQ which can be achieved with a few lines of code. So to fill the remaining part of the hour, we will use ZooKeeper which will help fill the zoo with multiple publishers and keep them all behaving. And we will visit FlatBuffers which will make you wonder if serialization protocols will ever stop evolving.
Majestic (18)16:00-17:15James BenderHow I Learned to Love Dependency Injection100Tightly coupled applications lead to heartache. They are difficult to manage. They are difficult to maintain. The create applications that are inflexible. They make TDD, or even TAD (Test After Development) all but impossible. It doesn't have to be this way. You've probably heard fancy terms like "Dependency Injection" and "Inversion of Control" but what do these mean and can they really help you write better applications and make testing easier? What about all those exotic frameworks? And what the heck is a "container?!" The bad news; this knowledge is a MUST HAVE for most testable applications these days. The good news, they are simpler than you think and besides simply making your code testable will also lead to good architecture practices that will help you develop better applications. This session will explain and demonstrate how these concepts some easy to use frameworks can help make your C# or VB.NET application more loosely coupled, easier to work with, more flexible, more maintainable and more testable.
Marquis (18)16:00-17:15Stephanie HerrDevOps for the Database100We hear a lot about DevOps these days, but what exactly is it and what does it mean for the database? We’ll try to define DevOps and review some of its principles. We’ll also look at how practices like version control, continuous integration, and continuous delivery can be used for the database and what advantages this brings. Ultimately, database releases should be boring and this demo can help you see how to make this possible.
Music Box (46)16:00-17:15Oren NovotnyCreating packages the .NET Standard way200Learn how to create NuGet packages that work with .NET Core and .NET Standard. This session will introduce the .NET Platform Standard and show how to create libraries and packages that can run anywhere.
Radio City (48)16:00-17:15-OPEN-
Brooks Atkinson (18)10:45-12:00-OPEN-
Brooks Atkinson (18)14:30-15:45-OPEN-
Marquis (18)09:15-10:30-OPEN-
Winter Garden (46)16:00-17:15Erik NorenDefensive Programming Techniques200Corporate networks are under constant attack and from a practical perspective there is no question of if they'll be compromised but when and how badly. A developer can not rely on firewalls alone to ensure their applications are protected from unauthorized use and simply adding SSL does little to reduce the threat. In this session I'll show how application designs can be altered to make them more resilient to attacks and breaches.

 

Comments on this entry are closed.