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.
|Room||Session||Speaker Name||Session Title||Session Level||Session Abstract|
|Ambassador (18)||09:15-10:30||Chris Gomez||Who 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:30||Alex Lindgren||Building an ecommerce bot using the Microsoft Bot Framework||200||Conversational 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:30||Gael Fraiteur||Automate design patterns with PostSharp and aspect-oriented programming||100||Design 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:30||Benjamin T. Galluzzo||MongoDB For Developers And Accessing MongoDB data||100||This 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:30||John Bennett||Building a multi-tenant SaaS application||200||In 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:30||Spencer Schneidenbach||Getting Started with Angular 2 and TypeScript||100||The 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.
|imperial (18)||09:15-10:30||James Bender||Level-Up Your Test-fu with BDD & SpecFlow||200||A 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:30||Ed Charbeneau||Don’t be a stereotype, rapid prototype||100||In 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:30||Kendall Miller||Scaling Systems: Architectures that Grow||200||It'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:30||Paulmichael Blasucci||Embracing the "Common" in "Common Language Runtime"||200||One 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.)
|Ambassador (18)||10:45-12:00||Will Robertson||Building your testing arsenal||100||A 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:00||Rachel Reese||Is functional programming just a fad?||100||So, 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.|
|Carnegie (18)||10:45-12:00||Anthony Abate||Low Latency C# Programming||300||How 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:00||Greg Shackles||Monitoring Your Mobile Apps in the Wild||100||Now 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:00||Jay Harris||Rebooting the ASP.NET Franchise||100||Are 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:00||Ed Charbeneau||Refactoring CSS with Sass||200||Does 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:00||Gael Fraiteur||How to train your dragon II – a tale of leadership||100||Hiccup 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:00||Jonathan Mills||Design Patterns in Practice||200||If 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:00||James Sturtevant||Introduction to Service Fabric||100||Orchestration, 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:00||Matthew Groves||Full Stack Development with .NET and NoSQL||200||Application 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:00||Iqbal Khan||How to Scale .NET Apps with Distributed Caching||200||Your .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:15||John Brown||ASP.Net Core - Gettting Started||100||ASP.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:15||Kendall Miller||To The Cloud! How We Moved our SaaS to Azure (and it made us better!)||200||Two 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:15||Jeff Strauss||Intellectual Property Fundamentals for the Technologist||100||Today, 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:15||Muhammad Siddiqi||Swagger for REST based APIs Contracts||100||REST 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:15||Alvin Rogers||Part II "Finding Black and Hispanic Programmers" by Alvin Rogers & Chris Gomez||100||projector and surface tablet|
|Central Park East (81)||13:00-14:15||Bhakthi Liyanage||How to build your own weather station using IoT and Azure cloud||200||The 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.|
|imperial (18)||13:00-14:15||Kevin S. Goff||Introduction to Data Warehousing Patterns||100||If 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:15||Erik Noren||F# for C# Developers||200||C# 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:15||Kishore Reddy||API Design Patterns||200||API 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.
- 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
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.
While the concept is language independent, it will include a working example using:
|Music Box (46)||13:00-14:15||John Bennett||Develop, test and deploy with Docker||200||Docker 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:15||Mitchel Sellers||Entity Framework the 60 Minute Practical Introduction||200||Although 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:15||Greg Shackles||Going Serverless: Event-Driven Service Architecture Without The Infrastructure||200||Technologies 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:45||Rachel Reese||A History of F#: From Euclid to Type Providers||100||After 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:45||Stephen Leonard||Enterprise Mobility – A Whole Different World||100||Many 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:45||Jerry Nixon||An introduction to Inclusive Design||100||Inclusive 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:45||Brian Minisi||Maturing DevOps to Optimize Value Delivery||200||In 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:45||Mitchel Sellers||Website Performance; Make it Fast to Make it Last||200||The 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:45||Miguel Castro||Exposing an Extensibility API for your Applications||200||Writing 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:45||Chris Gomez||Git: A practical guide for the rest of us||100||Git 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:45||Oren Novotny||Cross-Platform Unit Testing with xUnit||200||xUnit 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:45||Philip Japikse||Becoming an Effective Leader||200||Leaders 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:45||Lee Brandt||OpenID Connect in ASP.NET Core||100||In 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:45||Spencer Schneidenbach||Never RESTing - RESTful API Design Best Practices Using ASP.NET Web API||100||Designing 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.
|Ambassador (18)||16:00-17:15||Jay Harris||Design for Non-Designers from a Non-Designer||100||Elegant 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:15||Philip Japikse||Agile: You Keep Using That Word...||200||Much 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:15||Karl Shifflett||Rapid Xamarin.Forms XAML Data Entry Form Creation from MVVM ViewModel||200||Come 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:15||Joel Cochran||The Road to the White House Goes Through the Cloud: How data will decide the next President||100||Today'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:15||Paulmichael Blasucci||Quick! Check your Properties (and Write Better Software)||100||Love 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:15||Shiva Chittamuru||Machine Learning on Microsoft Azure||100||Machine 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:15||Rob Zelt||A Developer's Look At Microsoft Hololens||200||In 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:15||Ravi Okade||ZeroMQ, ZooKeeper and FlatBuffers all in One hour||200||In 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:15||James Bender||How I Learned to Love Dependency Injection||100||Tightly 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:15||Stephanie Herr||DevOps for the Database||100||We 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:15||Oren Novotny||Creating packages the .NET Standard way||200||Learn 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-|
|Winter Garden (46)||16:00-17:15||Erik Noren||Defensive Programming Techniques||200||Corporate 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.|