Sessions

(Login to save favorite sessions)

Building a HTTP API Server with Go

Go! Is a new(ish) development language from Google. Go provides a type-safe, compiled environment for building applications, while simultaneously offering up the convenience and ease-of-use of dynamic languages. Go is intended to be fast, and makes synchronous programming simple.In this session, we'll learn how to use Goji, a web microframework for Go, to build an full-featured HTTP API. In addition, we'll introduce Protocol Buffers (protobuf) and discuss why they may be a better serialization format than JSON, especially when doing systems development with type-safe languages.

Level
Beginner
Category
Web Development
Room
J217
Time
11:20 AM
(Login to save favorite sessions)

Why Agile Fails in Large Enterprises and What You Can Do About It

Agile works great, when it works. It tends to be most successful in small companies, with small teams that can work completely independently of others. It tends to fail when more teams are involved, when there are dependencies between them. Even though we're "doing Scrum", it still just doesn't yield the promised benefits. When agile fails it can be disappointing and costly. People get blamed, agile gets blamed, the training gets blamed, and the organizational culture gets blamed. Yet companies keep trying. Many companies make multiple attempts to transition to agile because they've bought in to the underlying principles of agile and see it as a solution to their problem hitting dates, their long time to market, their slow return on investment, and their quality problems.In this talk we'll examine 8 causes for Agile's failure in large enterprises, and why starting a transformation with culture or even practices isn't the solution. We'll examine why the ultimate solution begins with putting in place the certain organizational structures and planning a journey through predictability on our way to adaptability. Specifically, to begin we need a thoughtful mix of product or feature teams and component or service teams, as cross functional as practicable in each instance; agile structures above the team; and appropriate agile governance at the portfolio and program management layers. This creates an environment in which agile can begin to stick, can begin to deliver value, and creates a platform from which we can move on to increased agility.

Level
Advanced
Category
General Discussion
Room
J220A
Time
11:20 AM
(Login to save favorite sessions)

Accelerate Cloud Adoption in Azure through DevOps

DevOps is allowing our customers to rapidly deploy, provision, and monitor their environments in Azure. Using tools ranging from simple PowerShell scripts, build servers, a variety of open source tools like Chef and Puppet, and continuous deployment systems we are helping customer migrate boxed software, co-located datacenters and on premise services to the cloud. Come hear about real customer use cases, the issues they face, and the best-practices discovered while going from POC to production.

Level
Intermediate
Category
IT Topics
Room
J156
Time
3:50 PM
(Login to save favorite sessions)

An Introduction to Office Addin?s - The New Model of Office Extensibility

Microsoft Office has always had a strong extensibility story, but was often challenging to get started and had many Windows specific constraints. The new Office Add-in model provides a consistent API to build applications that integrate with and extend Office applications by leveraging modern web technologies (HTML5, CSS and modern JavaScript frameworks). This session will introduce the Office Addin model and provide a roadmap to getting started building Office Addins that can be used in Office client, web and mobile applications.

Level
Beginner
Category
General Discussion
Room
J217
Time
3:50 PM
(Login to save favorite sessions)

AngularJS and ionic ? Mobile Application in Days instead of Weeks

In this intro to intermediate session, we shall demonstrate how quick and easy it is to create a mobile application with working side menus, login functionality, swipe capabilities, and tabbed interfaces. We shall also cover various UI components you can put together for a great UI in minutes. Next step is to deploy to the App stores.

Level
Intermediate
Category
Mobile Development
Room
J109
Time
1:30 PM
(Login to save favorite sessions)

AngularJS Moving Forward

AngularJS continues to be a popular and robust framework for creating the next generation of web applications. The framework is actively being enhanced and improved and companion libraries are maturing as well (like, Angular-UI, Material Design, and others). And on the horizon is the 2.x development, which is a rethinking of AngularJS that builds on the many lessons learned in designing the framework and promises to improve our front-end development efforts. This session will dig into these and more trends to explore the bright future of AngularJS.

Level
Beginner
Category
Web Development
Room
J201L
Time
11:20 AM
(Login to save favorite sessions)

ASP.NET 5 in an Hour

ASP.NET 5 is changing the whole way we build web applications and that's all good news. It is embracing open source web development in a real way and it's time to decide if you want to be on this train. In this talk, Shawn Wildermuth will walk you through creating a simple app from scratch to show you why ASP.NET 5 is a different platform, not just a new version of the same platform.

Level
Beginner
Category
Web Development
Room
J109
Time
3:50 PM
(Login to save favorite sessions)

Beginning PowerShell Scripting for Developers

There are two kinds of people in the world. Those who are using PowerShell, and those that will be. In this course you'll learn how to become one of the "cool kids" using PowerShell. We'll begin with an overview of the two environments you can use PowerShell in, command windows and the ISE (Integrated Scripting Environment). Next you'll learn about cmdlets and the powerful pipeline. Variables are very powerful in PowerShell, as such we?ll take a deep dive into them. After variables we?ll look at the programming aspects of PowerShell, ultimately building functions and modules you can reuse. Don't be left behind, learn how to leverage the power of PowerShell!

Level
Beginner
Category
General Discussion
Room
J109
Time
2:40 PM
(Login to save favorite sessions)

Countdown To ASP.NET 5: Building a Sample App

The biggest change to ASP.NET since MVC is about to enter RC status. Are you ready?Whether you're writing code in Visual Studio on Windows and deploying to IIS or writing code in Sublime Text on a Mac and deploying to NGINX on Linux, ASP 5 will have you covered.In this talk we will build a sample web app using the beta version of ASP.NET 5. Along the way we will take a look at some of the major changes you need to know about before tackling a project.

Level
Beginner
Category
Room
J201L
Time
2:40 PM
(Login to save favorite sessions)

Creating Responsive Web Apps with JavaScript and Bootstrap

Learn how to create responsive apps with the Bootstrap open source project.In this session, Ben Dewey will show how to create web apps with the Bootstrap open source project. This project is a CSS and JavaScript framework for developing Responsive Web Apps that can be deployed on desktops, phones, and tablets.You will learn:- Tips for Good Responsive Design - How to use the Bootstrap CSS and JavaScript framework - Tips for using LESS to create your own Bootstrap themes.

Level
Beginner
Category
Design/UX
Room
J109
Time
11:20 AM
(Login to save favorite sessions)

Developing Apps for the Pebble Smartwatch using Windows Azure

This talk will go into the details of creating apps for the Pebble smartwatch by demonstrating development using the online development environment. It will demonstrate how to use Windows Azure websites to host the settings page for the app on the Pebble App store and will discuss steps necessary for adequate testing.Since a Pebble watch is not required in order to develop apps (it is all done online with a watch emulator), you can immediately take this knowledge and put it to use in your own apps while you decide if you will buy a Pebble.It will also demonstrate how to interact with WebAPI as the back end of a data-centric watch app.

Level
Beginner
Category
Mobile Development
Room
J264
Time
10:10 AM
(Login to save favorite sessions)

Developing VR Apps with Unity

Ever want to sit in the captain's chair on the Enterprise or fly around the solar system? Maybe walk on water on the ocean or snow on the top of Mt Everest? With the advances of smaller VR Systems it is now becoming possible to do just that. In this session, we will explore how to setup an inexpensive VR system and where you can immerse yourself in the world of your choosing. We can do this using Unity 5.2 and Google Cardboard SDK together. Unity is a 3D cross platform game engine, that works well with mobile and PC gaming and even supports consoles such as the Xbox One and Playstation. Unity also supports VR Rigs such as the Oculus, GearVR and Google Cardboard. Google Cardboard is a inexpensive VR headset that uses a phone?s Accelerometer and Gyroscope to track the head movement.

Level
Beginner
Category
Mobile Development
Room
J201L
Time
10:10 AM
(Login to save favorite sessions)

Dev'ing with Cortana for the Win(10)!

If you haven't heard about Cortana by now... then you must have been living under a rock (or maybe lost in deep space). She is one of Microsoft's most interesting offerings in many, many years. Not only has Microsoft FINALLY opened up the API so that we can NOW surface our results in the actual "Cortana" interface, but there are some other very cool things coming down the pipeline as well.We'll find out 1) just how easy it is to get her into your Windows 10 apps, 2) how many form factors you can integrated her into, and 3) the "magic" she's capable of.

Level
Intermediate
Category
Mobile Development
Room
J251
Time
3:50 PM
(Login to save favorite sessions)

Dynamic Optimization - One Technique All Programmers Should Know

This simple technique that every programmer should know can simplify certain types of problems tremendously, allowing us to find an optimal solution to difficult problems quickly and easily using a mathematical process called Dynamic Programming (not to be confused with Dynamic Languages or Functional Programming). In this session, we will run through examples of using this technique to solve several problems, both "on paper" and in code.

Level
Intermediate
Category
General Discussion
Room
J220A
Time
1:30 PM
(Login to save favorite sessions)

Everything you need to know about .NET memory

.NET's memory model is near-miraculous engineering, freeing you from many of the complexities of memory in unmanaged languages, while still being fast and efficient. Most of the time.For all that managed memory is a boon and a blessing, when it goes wrong it does tend to go very wrong, so it's worth getting to grips with what's going on under the hood.In this session we'll dive into the internals of .NET's memory model to look at how it works, and tackle some of the most common misconceptions. We'll also discuss its imperfections, how you can fix problems when they arise, and some techniques you can use every day to proactively avoid issues in the future.

Level
Beginner
Category
General Discussion
Room
J110
Time
10:10 AM
(Login to save favorite sessions)

From Dull to Dazzling: How Visualization and InfoGraphics enhance data comprehension

Our applications and devices are gathering and storing data at unprecedented levels. Once the information is in our data centers, we need tools to help us understand the hidden knowledge contained in that stockpile. We?ve got BI tools that can help, but at some point in the data analytics cycle you need to show results to the stakeholder. That?s when choosing the correct visual representation of the data becomes vital. Do it wrong, and the data is merely wrapped in pretty graphics; do it right, and clear and meaningful patterns appear like magic. In the past decade there has been an explosion of research on better ways to present data in graphical form. These techniques (known as data visualization or information graphics) are becoming a must-have skill for UI developers. This session explores the overall concepts that make data easier to grasp. Do you know the best way to show data to your users, so that the information is clear and understandable? Come to this session to learn how to make your data shine.

Level
Beginner
Category
General Discussion
Room
J251
Time
1:30 PM
(Login to save favorite sessions)

Gulp ? If you think it is a Q/T Drink Size, Come to this session

In this session, we cover Gulp ? What it is and how to use it to make your life development life easier. We shall cover how to use it, how to concatenate, minify, Uglify, run Tests, do concurrent operations and some of the top helper plugins for your CSS and JavaScript. In the demo, we shall be using Webstorm/Sublime and Visual Studio 2015

Level
Beginner
Category
Web Development
Room
J201
Time
3:50 PM
(Login to save favorite sessions)

Hands On with the AWESM Stack

Single Page applications have taken the business world by storm and drive many responsive line of business web experiences. Fortunately Microsoft has done a great job of keeping pace and provides the backend elements needed to build a full stack solution for the enterprise. In this talk, Jeremy Likness demonstrates how AngularJS, Web API, Entity Framework, SQL Server and MVC (ASP.NET) work together to provide a comprehensive platform to build secure, scalable enterprise single page applications.

Level
Intermediate
Category
Web Development
Room
J217
Time
1:30 PM
(Login to save favorite sessions)

Harnassing the Power of T4

As busy developers we don't always have time to write all of the code by hand that needs to be written. Fortunately we don't have to. T4 is the code generator built into Visual Studio that you are probably using without even knowing it. If you are using MVC or Entity Framework, you are actually using T4.Come learn how you can use this wonderful tool to customize and extend how it is used by MVC and EF as well as how to incorporate into your own development life cycle. Properly used, code generation can improve the quality of tedious repetitive code and help this code better conform to emerging best practices.Through this talk we will explore the mechanics of how T4 works as well as best practices to make the most of this tool

Level
Beginner
Category
Web Development
Room
J264
Time
1:30 PM
(Login to save favorite sessions)

How API Gateways help to integrate with OAuth security models - Azure Cloud and On-premises cases.

The OAuth 2.0 protocol and its OpenID Connect extension build an industry-standard framework that enables applications to outsource user authentication to a centralized service and to provide access to a remote resource on behalf of the user. Both protocols are getting a lot of popularity in the modern IT and Applications Integration landscape due to the benefits the protocols provide in the space of the universal identify management, authentication, authorization and single-sign-on (SSO). At the same time, both protocols may not be easy to implement, especially when applications that require integration with OAuth protocols are somewhat more complex, like BizTalk Server applications. API Gateways as generic "brokers" can significantly help to simplify support for OAuth security models by your custom applications and APIs.

Level
Advanced
Category
Web Development
Room
J264
Time
11:20 AM
(Login to save favorite sessions)

How Kanban Can Help Your Team

r work you do, you have a process for that work. Be it software development, operations, services, recruiting, marketing, event planning, or professional cat wrangling. Kanban harnesses the power of visual information to turn your work into brain candy (or bacon). Yet, there is much more to Kanban than visualization. In this fun and entertaining talk, you will learn the core principles and practices of Kanban, and maximize its potential to evolve how you, your team, and your organization works.

Level
Beginner
Category
IT Topics
Room
J156
Time
2:40 PM
(Login to save favorite sessions)

How to Maintain Code (Nearly) Effortlessly

Nearly everyone knows maintaining a clean code base is important. But what does that even mean? And who has time for it? Kick bad code to the curb, and walk away with immediately implementable refactoring techniques. And if you?re on a time crunch, cheat your way to clean code with a profiler. Learn how bad code is holding you back, how to detect signs of bad code, how to speed things up with a profiler (Visual Studio?s Code Analysis, and Redgate?s ANTS), and how to work it into your development schedule!

Level
Beginner
Category
General Discussion
Room
J251
Time
11:20 AM
(Login to save favorite sessions)

Indoor GPS with bluetooth beacons and windows 10 IoT Core

Using bluetooth beacons, a "customer" will be tracked going through a store and upon "checkout", a custom item will be offered to that customer depending on the route they took. This will be accomplished using bluetooth beacons, a compatible phone, Windows 10 Iot Core, and Microsoft Azure.

Level
Advanced
Category
IT Topics
Room
J201
Time
10:10 AM
(Login to save favorite sessions)

Intermediate C# Studying for the 70-483 certification exam

Not a boot camp or brain dump, In this session we will use a questions similar to one those that appear on the exam (10% brain dump) and go into some depth about the concepts that the question covers, what the correct answer is, why it is correct, and why the wrong answers are incorrect, and when possible, discuss why these questions are on the exam and how these concepts are used in real software projects.

Level
Beginner
Category
Career Advancement
Room
J110
Time
1:30 PM
(Login to save favorite sessions)

Intro to mobile development concepts

This Introduction to mobile development concepts will focus on understanding the process of creating mobile applications. We will introduce development concepts that will cover multiple platforms and technologies. This talk will give beginning mobile developers a road map to become a successful mobile developers

Level
Beginner
Category
Mobile Development
Room
J201
Time
2:40 PM
(Login to save favorite sessions)

Introduction to Clojure

Clojure is a functional programming language, built for concurrency, that can be compiled to Java bytecode, JavaScript or the .NET IL. Clojure's emphasis on simplicity and using a REPL for a tight feedback loop make it ideal for exploring a problem and iterating quickly to a solution. It is terse and expressive, so problems can be solved with less code. It's ability to interoperate with various host platforms means that your program will be able to use your existing libraries, or be used as a library from your existing programs. This talk will introduce the basics of Clojure, and with most of the examples being live coded to show the benefits of REPL driven development.

Level
Beginner
Category
General Discussion
Room
J251
Time
10:10 AM
(Login to save favorite sessions)

Introduction to Cross-Platform Mobile Development with Xamarin

More and more users are demanding access to internet applications and services from their mobile devices, and increasingly they have come to expect nothing less than a true "native" experience. This can be difficult enough when supporting a single mobile platform, but nowadays it is common for most apps to require support for at least both iOS and Android, and on occasion Windows Phone as well. To avoid a need to maintain multiple product codebases, many companies are turning to cross-platform solutions. And while "hybrid" technologies such as Cordova / PhoneGap are helpful, many companies want the best user experience possible ? and that means real native apps. Xamarin is a different kind of cross-platform technology that allows us to share code between different devices and platforms ? while still offering a native user experience. In this presentation we will discuss what the Xamarin stack has to offer, and how you can get started using it.

Level
Beginner
Category
Mobile Development
Room
J201
Time
1:30 PM
(Login to save favorite sessions)

Microsoft Technologies for Data Science: Developer Edition

Microsoft provides several technologies in and around SQL Server which can be used for casual to serious data science. This presentation provides an authoritative overview of five major options: SQL Server Analysis Services (SSAS), Excel Add-in for SSAS, Semantic Search, Microsoft Azure Machine Learning, and F#. Also included are tips on working with Python and R. Mark Tabladillo brings his experience as a university data science educator and professional consultant to provide best advice for people to both learn and apply these technologies in real-world settings. Mark has contributed to peer-reviewed research and currently works with providing large-scale forecasting for America's largest retailers. He currently leads the PASS Data Science chapter and has had working relationships with Microsoft and SAS.Bring your beginner to advanced questions!

Level
Intermediate
Category
General Discussion
Room
J156
Time
10:10 AM
(Login to save favorite sessions)

Node.js Crash Course

Node.js is a compelling platform that is quickly spreading from startups to the enterprise. Node.js strategically unites developers of all backgrounds through the common language of JavaScript. Why should you learn Node.js and where do you start? You will come away from this talk with the evidence to support Node.js, and tools you need to be productive. We will walk through a typical workflow of creating and debugging a web application. You will learn how easy it is to deploy, including Microsoft Azure. We'll also look at popular frameworks and modules, and other learning resources to give you the best start.

Level
Beginner
Category
Web Development
Room
J201L
Time
1:30 PM
(Login to save favorite sessions)

Real world data modeling and application design with MongoDB

The first thing that comes to your mind when you hear that MongoDB has no transaction or foreign key support is, how can you expect me to write a production application? The purpose of this talk is to demonstrate real world models and data access patterns that you can use with MongoDB. You can build very large, scalable solutions without transactions or foreign keys, it just takes a different solution than you would use with an RDBMS. In this talk, Joe will demonstrate how you would build an e-commerce system. Joe will demonstrate how you would build your catalog, create your orders, update your inventory system and create reports using the aggregation framework.

Level
Intermediate
Category
Database Development
Room
J110
Time
2:40 PM
(Login to save favorite sessions)

REDIS: It's more than just a cache

Most people think of REDIS as a great way to cache data; something to front-end your "real" persistent store. The fact is, REDIS is a great database, one that can be used to handle a variety of scenarios that go beyond basic key/value store scenarios. In addition REDIS is not just fast... It's really fast. It also supports advanced infrastructure features such as partitioning, clustering, and replication.In this session, we'll discuss strategies for modeling data in REDIS and dig into the various datatypes (Lists, Sets, Sorted Sets, Hashes). This will set a foundation for how REDIS can be used to solve real-world problems.

Level
Intermediate
Category
Database Development
Room
J109
Time
10:10 AM
(Login to save favorite sessions)

Remote Development Teams: How To Make Them More Efficient Using TFS 2015 & Git

Git is a free version control system known for its speed, reliability, and non-linear development model. Created by Linus Torvalds (creator of Linux), Git is a distributed version control tool whereas Team Foundation Server (TFS)/Visual Studio Online (VSO) is a centralized version control tool. We will cover some of the main features of Git and Team Foundation Server including the reasons why an organization would select Git in the remote team development process.We will also look into the new enhancements made in TFS 2015 to make it easier than ever for teams to pick their own source control tool rather than simply accepting TFS as the default.

Level
Intermediate
Category
General Discussion
Room
J110
Time
3:50 PM
(Login to save favorite sessions)

Roslyn and You

Over the last five years, the C# and VB compilers were re-written from the ground up. Visual Studio 2015 includes this new compiler and 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 publically 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.

Level
Advanced
Category
General Discussion
Room
J217
Time
2:40 PM
(Login to save favorite sessions)

Tackling Entity Framework Performance

Like other ORMs, Entity Framework makes our lives easier by abstracting away the database, eliminating the need to write sql. Unfortunately, very little is free in the world, and often this functional simplicity comes at the expense of performance.In this session we'll talk about how you can crack open the black box to see what Entity Framework is doing and how it's [ab]using the database. We'll look at the tradeoffs you have to make when performing common tasks and choosing EF data access strategies. Finally we'll explore common mistakes which lead to poor performance, and which place unnecessary strain on SQL Server.You'll leave with an understanding of how to get the best performance out of Entity Framework and how to tackle performance problems when they arise. You might even make a DBA happy (hint: this is impossible).

Level
Beginner
Category
General Discussion
Room
J156
Time
1:30 PM
(Login to save favorite sessions)

Thinking in F#

Coding in a functional language requires more than simply knowing the syntax of that language. You can write a for loop in F# as easily as you can in C#, but you're missing out on the functional aspects of F# (and C# for that matter). We'll introduce the language features of F# and how to unit test by writing several different implementations of the same problem. But more importantly as we write the different implementations we'll discover how a functional mindset can help us better achieve a simple design (in both C# and F#). By the end you may be thinking in F#, even when coding in C#.

Level
Beginner
Category
General Discussion
Room
J156
Time
11:20 AM
(Login to save favorite sessions)

Tone Analysis with HDInsight and Azure Machine Learning

People?s sentiments and opinions are written in social networks: tweets, Facebook posts, book reviews, forum discussions, and more. These attitudes and feelings are communicated using text, with the format depending on the social network. Twitter messages are limited to 140 characters and use hashtags; Facebook messages can be longer. This session reviews the different Natural Language Processing, text-mining, and data-mining techniques that you can use for sentiment and tone analysis. Organizations can use the extracted knowledge for brand reputation, market predictions, and automatic learning. We?ll look at Hadoop, data mining, and Microsoft Big Data Hadoop distribution, HDInsight, and Azure Machine Learning (ML).

Level
Intermediate
Category
Database Development
Room
J110
Time
11:20 AM
(Login to save favorite sessions)

TypeScript Fundamentals

This session will lay groundwork to building web based applications with TypeScript. We will talk about TypeScript as a language and will learn the basics and advantages of this JavaScript extension language. We will write some sample Angular JS code with TypeScript. Learning objectives 1. Learn key component of TypeScript2. Understand how object orientation works as part of TypeScript design3. See examples on how to use TypeScript with Angular.

Level
Beginner
Category
Web Development
Room
J201L
Time
3:50 PM
(Login to save favorite sessions)

Unit Testing JavaScript Applications

Web apps aren't just for getting and posting content from a client and a server anymore. With increased power of client machines and the creation of numerous frameworks and tools, JavaScript is becoming an ever increasing code asset within many applications. While this dynamic language is powerful, the absence of a compiler forces execution of every line of code to ensure it's functioning correctly. This presentation shows techniques for unit testing JavaScript, so you can leverage the richness of JavaScript in your application, while maintaining a high level of quality.You will learn:- Popular tools for unit testing your JavaScript - Techniques for managing unit testing JavaScript in your application - How to create testable JavaScript code

Level
Intermediate
Category
Web Development
Room
J217
Time
10:10 AM
(Login to save favorite sessions)

Web API in the Real (My) World

Are you building Web API?s yet? If you haven?t, you probably will. Stuart has been actively working on Web API?s since 2009 using various technologies. This discussion will focus on using ASP.NET?s Web API and design approaches for building them. He will also cover some of the technical challenges that you need to overcome to make your API consumable whether it be private or public. Stuart is always hands-on, so both coding and tools will be included in the demonstrations.

Level
Beginner
Category
Web Development
Room
J264
Time
2:40 PM
(Login to save favorite sessions)

Windows 10 Universal Platform? Writing Apps that Run Across All Devices

Windows 10 and the Universal Windows Platform finally realize the goal of having a unified platform for creating Windows apps with a single codebase that can be run across multiple device types and form factors. These devices do not only include phones, tablets, and desktops, but also reach out to encompass the Surface Hub collaboration device, the Xbox One gaming & home entertainment console, and the forthcoming Hololens holographic computer.This talk will introduce the Universal Windows Platform and show the tools and techniques available in Visual Studio 2015 and Windows 10 to produce a single binary that can be run on several devices. In addition to discussing key concepts like responsive user interface design and platform feature interrogation, we will also go over several so-called "bridging technologies" that can be used to help move code written for other platforms onto Windows 10 devices.

Level
Beginner
Category
Mobile Development
Room
J201
Time
11:20 AM