Sessions

(Login to save favorite sessions)

7 Habits of Highly Paid Developers

Software and website developers are in extremely high demand and rates continue to climb, but many developers have not yet realized their potential. Being good at what you do is important, but it’s equally important that you can communicate the value you bring to an organization and build a reputation that will provide opportunities for growth, both professionally and financially. We will work together to measure your accomplishments, establish a personal brand, and walk away with a resume that conveys your true value!

Level
Beginner
Category
Career Advancement
Room
J-157
Time
10:40 AM
(Login to save favorite sessions)

Actor Model Programming in .NET

Actor-based programming is cool again, thanks to the rise of cloud computing and the related need to solve large scale concurrency problems. Come to this talk to learn what actor programming is, what kinds of problems it solves, and a comparison of several .NET-based actor frameworks like Azure Service Fabric, Orleans, and Akka.NET. Lots of demos, lots of fun discussion. 100% guaranteed to melt your brain!

Level
Advanced
Category
Cloud Development
Room
J-217
Time
10:40 AM
(Login to save favorite sessions)

Authentication in Angular

Most modern applications require security. However, single page applications (SPAs) introduce unique challenges when it comes to authentication. In general, traditional session-based authentication isn't a good fit for stateless SPAs. A better approach is to use OAuth tokens provided by a security token service. In this talk, we are going to look at how to build Angular applications that use token-based authentication. Our security token service will be running IdentityServer, an OpenID Connect provider and OAuth 2.0 server framework for ASP.NET.

Level
Intermediate
Category
Web Development
Room
J-109
Time
10:40 AM
(Login to save favorite sessions)

Azure Cosmos DB and ASP.NET Core: First Project!

Microsoft's new Azure Cosmos DB is the Swiss Army Knife of data storage. Whether you want a document database, key-value store or graph db, it has you covered! Pair that with ASP.NET Core and App Services and you have an insanely productive environment for building web apps and APIs! Jeff will talk us through why we should give this combo and try then build a sample app to get us started!

Level
Intermediate
Category
Cloud Development
Room
J-158
Time
3:40 PM
(Login to save favorite sessions)

Basics of JavaScript Asynchronous Control Flow

An introduction of how to handle asynchronous control flow in JavaScript. We will cover different methods of waiting for your asynchronous JavaScript methods and go into detail with live examples using JavaScript's async/await feature.

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

Building a Severless API with Azure Functions

When deploying a website, one of the hardest decisions is the size of the server. Too small and you risk timeouts, too big and you waste money. We'll discuss how to solve this problem with Azure Functions and build a simple API with Javascript.

Level
Beginner
Category
Cloud Development
Room
J-152
Time
9:20 AM
(Login to save favorite sessions)

Building React.js Apps with Redux

Building React.js Apps with Redux - A practical example React.js framework developed by Facebook and provides an elegant way of rendering complex reusable components. Redux is a predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. I'll show you how you can use Redux together with React to create your next killer app!

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

Code Checkup: Tools to check the health of your code.

Over time even the simplest project can grow into an unwieldy beast. Features are added and removed. Developers come and go. Using static analysis tools we can get an idea about what hidden challenges are in store for us. We will discuss how ReSharper, SonarQube and other tools can be used to expose any issues that may exist in our code base. This can help provide a fresh set of (computer) eyes to help keep your code base from becoming a toxic dump.

Level
Intermediate
Category
Web Development
Room
J-131
Time
10:40 AM
(Login to save favorite sessions)

Containers, AI, and Awesome Music

Have you ever wanted to understand who are the best and worst bands of an era? Join us on this journey as we build a cloud app using some of the best AI and appdev tools built by Microsoft. We'll cover topics ranging from gathering and cleaning data to containerizing and running apps in the Cloud. We'll write code using Python, use containers in Azure, Azure Functions, Cosmos DB and Microsoft Cognitive Services and discover who's the most sappy band of the 80s.

Level
Intermediate
Category
Cloud Development
Room
J-152
Time
3:40 PM
(Login to save favorite sessions)

Deep Learning with Microsoft Cognitive Toolkit

The Microsoft Cognitive Toolkit (CNTK) is a unified deep learning technology that describes neural networks as a series of computational steps via a directed graph. In this directed graph, leaf nodes represent input values or network parameters, while other nodes represent matrix operations upon their inputs. CNTK allows to easily realize and combine popular model types such as feed-forward DNNs, convolutional nets (CNNs), and recurrent networks (RNNs/LSTMs). It implements stochastic gradient descent (SGD, error backpropagation) learning with automatic differentiation and parallelization across multiple GPUs and servers. The objectives of this presentation are 1) to describe CNTK and compare with similar technologies; 2) describe and brainstorm use cases; 3) outline the major ways developers can integrate CNTK into solutions and architectures.

Level
Advanced
Category
Cloud Development
Room
J-109
Time
3:40 PM
(Login to save favorite sessions)

Develop conversational Xamarin Mobile Apps with Microsoft Luis and Google API.AI

Learn to develop engaging voice and text-based conversational mobile apps with Xamarin using Microsoft Luis and Google API.AI. This session will provide a good introduction of Microsoft Luis, Google API.AI and will show how to these technologies in your mobile apps. In this session, the mobile development toolset used is Xamarin but it can be any other native or cross-platform toolset that supports iOS, Android or Windows platform

Level
Intermediate
Category
Client Development
Room
J-215B
Time
2:20 PM
(Login to save favorite sessions)

Develop your Sense of Code Smell

It has been 18 years since Martin Fowler published “Refactoring” which codified an initial catalog of code smells. But in that time, have our noses been able to sniff them out? What have we done to develop our sense of smell? We will do a series of Sparrow Decks to increase our sense of code smell by building the pattern recognition part of our brain. This way we can more easily know if there is something wrong with the code. Remember smelling you have a problem is always the first step. (Note: this technique works for non-programmers as well as programmers so even if you’re not a programmer, come and develop your sense of code smell!)

Level
Beginner
Category
General Discussion
Room
J-266
Time
10:40 AM
(Login to save favorite sessions)

DevOps > CI + CD - A Developer's Introduction to Azure Application Insights

So you've got the latest in build automation around your Git checkins and PR's. You've set up your CI system to feed into a Continuous Deployment solution and are VSTS/Octopus/Chef/Puppet-ing your way happily through the journey that is DevOps. Not so fast. You're forgetting the third DevOps pillar - Continuous Monitoring. Without good telemetry and monitoring, you will lack critical insight into what actually needs to be built and deployed. This talk you will show you how you can leverage Azure Application Insights to collect data from your solution’s components and to allow you to explore and display your telemetry in ways that you can leverage to provide valuable understanding of your application’s behavior and the way your users interact with it.

Level
Beginner
Category
General Discussion
Room
J-266
Time
9:20 AM
(Login to save favorite sessions)

Experiences from the front: Extreme Programming (XP)

Extreme Programming (XP) offers programmers an opportunity to learn quicker, produce better code more quickly, and evolve designs ‘on the fly’ to meet user needs. The bottom line is that XP’s principles and practices (including Product Ownership, Test Driven Development, Continuous Build/Continuous Integration, Refactoring, and Simple Design) can make you a more effective programmer. But, these practices are not always easy to implement. In this session, we will share WHY you should be interested in XP, and HOW you can apply these principles & practices in your projects.

Level
Beginner
Category
General Discussion
Room
J-266
Time
1:00 PM
(Login to save favorite sessions)

Flying High with Xamarin!

Cross-platform mobile development has been democratized for .NET developers – thanks to Xamarin & Microsoft. Let’s build a cool aviation app together – targeting all platforms from the comforts of Visual Studio on Windows or Mac. Real world apps need cloud data connectivity, navigation, storage, lifecycle management, plugins and polished UI – let’s do all that. Let’s take a look at some must-have tooling for professional Xamarin developers. Let’s dip into device capabilities, reuse libraries and elevate the user experience. Oh, and we will throw in some passion for aviation in the app, like private jets and supersonic possibilities. Loads of fun while learning cutting-edge mobile development – you in?

Level
Beginner
Category
Client Development
Room
J-215B
Time
9:20 AM
(Login to save favorite sessions)

How and Why to Use Azure Functions

Azure Functions is Microsoft’s new serverless platform for event driven microservices. This talk provides an overview of their business and technical value with real world examples to help you understand their utility and the significant cost savings they offer.

Level
Beginner
Category
Cloud Development
Room
J-152
Time
10:40 AM
(Login to save favorite sessions)

Increasing your Coding Speed in SQL Server Management Studio 2017

Every developer wants to be productive and get more things accomplished during their day to day work. Given a choice between working harder and working smarter, you will most likely choose the latter. But the big question is – How do you boost your productivity? How do you reduce your development time? How do you increase your coding speed? Gaining a superlative understanding of the IDE goes a long way in increasing one’s productivity. In this session, you will learn a number of tips and tricks which will enhance your productivity and efficiency in SSMS IDE. We will explore ways to stop doing manual repetitive tasks, use shortcuts, type less and generate more lines of code in minimal time. This will be a content rich session with plenty of live demos. By the end of this session, you will learn some useful techniques to take back with you and apply in your day to day work.

Level
Intermediate
Category
Database Development
Room
J-157
Time
2:20 PM
(Login to save favorite sessions)

Intro to @ngrx/store

Redux has become a very popular library for managing state in the React community. Because of the agnostic nature of the Redux library, it can be used with other libraries and frameworks, including Angular. @ngrx/store is a state container library inspired by Redux and implemented with RXJS. In this introductory talk, we will discuss what Ngrx is, talk about the fundamentals of Redux, and spend time understanding when and when not to use @ngrx/store.

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

Intro to Rust: Writing Safer, Faster, and Highly Concurrent Code with Rust

Rust is an open source "modern systems programming language focusing on safety, speed, and concurrency". It was originally developed by Mozilla as an open-source project, and is now used widely across the technical community within the current Firefox by Mozilla, Dropbox for their file storage layer, the Node.JS package manager, NPM, for providing highly available packages, and Postmates for writing system daemons. In this talk, we will explore the fundamentals of Rust by writing a few programs designed to illustrate its features. We will also explore the novel primitives it provides, such as assigning ownership to data and variable in your code and the process of borrowing data, which sets it miles above the languages it is replacing such as C and C++. Finally, we will look at the many possible real-world uses of the language by discussing some areas in which you can incorporate it into your current software at work and in your side projects.

Level
Beginner
Category
Client Development
Room
J-215B
Time
1:00 PM
(Login to save favorite sessions)

Intro to the Universal Windows Platform (UWP)

This talk is about the Universal Windows Platform (UWP) and how much fun it is to write apps for. Topics will include: Speech recognition Speech synthesis Playing video Gapless audio playing Background audio playing Bluetooth control Multi-device XAML for UIs

Level
Intermediate
Category
Client Development
Room
J-262
Time
2:20 PM
(Login to save favorite sessions)

Introducing Visual Studio Code (for Windows, Linux, Mac and others)

"Visual Studio Code combines the simplicity of a source code editor with powerful developer tooling, like IntelliSense code completion and debugging. First and foremost, it is an editor that gets out of your way. The delightfully frictionless edit-build-debug cycle means less time fiddling with your environment, and more time executing on your ideas." In this talk, I'll introduce Visual Studio Code, the free code editor from Microsoft. I'll cover how to get and install VS Code; what extensions are and which ones work best for various use cases; and demonstrate some typical scenarios, like spinning up a site with the Angular CLI tool or updating a static website with Hexo.

Level
Beginner
Category
Web Development
Room
J-262
Time
1:00 PM
(Login to save favorite sessions)

Introduction to Mind Machine Interfacing using EEG(Brain Waves) and Azure IoT Hub

Have you ever been wondering how Jedi or Sith controlled objects with their mystical power called the Force without touching them? Have you ever wished you had the power to control things around you with the power of your mind? Mind-machine interface (MMI), or brain–machine interface (BMI), is a direct communication pathway between an enhanced or wired brain and an external device. In this session, I will demonstrate how to control a remotely located physical device by converting your brain activity to commands and send them to remote devices using Azure services.

Level
Intermediate
Category
Cloud Development
Room
J-109
Time
1:00 PM
(Login to save favorite sessions)

IOT- From device to Azure

This session will demonstrate actual IOT devices sending data to Azure. It will review the steps and processes in Azure to process data from an actual device.I will have multiple devices sending data during the presentation. I will also demo the new Microsoft IOT DevKit https://microsoft.github.io/azure-iot-developer-kit/ as seen at Build this year.

Level
Intermediate
Category
Cloud Development
Room
J-109
Time
9:20 AM
(Login to save favorite sessions)

Learn to Code for All Ages 🔥 😎💻

What if I told you, you could come to this session and walk away with 100 resources on learning to code? Well I don't know if I'll make it to 100, but I will provide a good amount of resources and highlight some that might be fun for the whole family! This PG rated session is approved for both kids and adults and will feature a variety of games, courses, and other possibly lesser-known and great materials that teach how to code from companies like Microsoft, Google, and more on topics from introductory coding to IoT, Web Dev, etc!

Level
Beginner
Category
General Discussion
Room
J-131
Time
1:00 PM
(Login to save favorite sessions)

Look Ma, No Servers: AWS and Azure Serverless Applications with the .NET Stack

Virtualization has freed most developers from having to interact with the icky bits of heavy metal that run their applications. Now, AWS Lambda and Azure Functions have freed us from even having to deal with web servers. This session talks about the ways we need to think differently about serverless applications and demonstrates creating and deploying an entire web application without any servers.

Level
Intermediate
Category
Cloud Development
Room
J-152
Time
1:00 PM
(Login to save favorite sessions)

March Meeting Generating Business Logic with Roslyn

Business logic is tough. The rules are complex, contradict each other, and change a lot. All the things that we hate about business logic are also the reasons most businesses are in business. We need to accommodate these complexities, adapt to these changes and do it quickly, or our favorite company may not stay in business. Imagine if we could automate creating some of the most complex logic around. Instead of handwriting complex business rules that are going to change on the whim of a competitor or the wish of a client or a shift in the market, we can build systems that will allow us to describe the business rules and enable the computer to write code. In this presentation, we will: • structure business logic in database tables • pull that structured logic back into the code • generate code to implement the logic described in the database using the power of Roslyn This presentation is based on material from a book by Nick that covers these details in depth http://www.apress.com/la/book/9781484222102

Level
Advanced
Category
Professional Development
Room
J-131
Time
9:20 AM
(Login to save favorite sessions)

Mob Programming: The Whole is Greater Than the Sum

Multiple developers. Same computer. Same problem. Find out how mob programming reduces bugs, increases productivity, and fosters an environment where developers help each other grow.

Level
Beginner
Category
General Discussion
Room
J-131
Time
2:20 PM
(Login to save favorite sessions)

One Weird Trick to building great apps with React & Redux

I'll be sharing some hard-learned lessons while building scalable React & Redux apps at PayPal and abroad. My talk comes with anecdotes, LOLs, and code snippets!

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

Presenting yourself as the smartest guy in the room

Many consultants will lose jobs not on their bid or their skill set or their reputation, but on their presentation and their style. In one hour I discuss how to present ideas to people who are hiring you but who don't understand much about programming, and the difference between being a solution and a problem solver. As the end, developers will have a better idea of how to close deals and how to be a know-it-all without coming across as one

Level
Advanced
Category
Client Development
Room
J-157
Time
9:20 AM
(Login to save favorite sessions)

Serverless .NET

The popularity of Microservices combined with the emergence of serverless based solutions has transformed how modern developers tackle cloud native apps. Microsoft's Azure cloud provides a feature known as Serverless functions that enable developers to stand up integrated end points leveraging the programming language of their choice without having to worry about the supporting infrastructure. Learn how to develop serverless .NET apps and connect them with queues, web requests, and databases.

Level
Intermediate
Category
Cloud Development
Room
J-152
Time
2:20 PM
(Login to save favorite sessions)

Straight forward Docker on Windows

You may think that Docker is only for Linux, or only for Servers. Neither of these is true. I'm focusing on Windows containers, but I'll show a few examples with Linux containers as well, all running on Windows. I'm giving this presentation to my local UG and I think it would also be a good fit for CodeCamp also.

Level
Intermediate
Category
General Discussion
Room
J-217
Time
2:20 PM
(Login to save favorite sessions)

TDDing infrastructure

Test driven design is a known, reliable way of developing software architectures that are well designed and high quality. Applying basic TDD principles to automated infrastructure can enable flexible, easy to maintain and scalable systems. In this talk we will discover what automated infrastructure is and how to apply TDD design methodologies to terraform for building components in AWS and Azure.

Level
Advanced
Category
Cloud Development
Room
J-217
Time
9:20 AM
(Login to save favorite sessions)

The end of "Native" as we know it

An updated look at what it is to create mobile apps with "Native" technologies and why we are thinking about things all wrong.

Level
Intermediate
Category
Client Development
Room
J-215B
Time
10:40 AM
(Login to save favorite sessions)

The Super-Duper-Happy-Pa­th to .NET Core Apps with Nancy!

“The Twelve-Factor App” has become the guiding principle for developing new applications that will scale and utilize the cloud. Nancy simplifies this development providing a lightweight and low-ceremony HTTP framework for .NET, that Nancy developers have coined a “super-duper-happy-path”. You’ll learn more about cloud development, micro-services, .NET Core, and how to use Nancy to ease your .NET web development efforts.

Level
Beginner
Category
Cloud Development
Room
J-262
Time
10:40 AM
(Login to save favorite sessions)

Unshackle Your Database: Pragmatic SQL for .NET Developers

It's common for .NET developers to simply treat a relational database as a black box for persisting entities with ORMs like Entity Framework. But in reality, the database an incredibly powerful and often underutilized tool. In this session we'll explore how to get the most out of your database by combining ORMs like Entity Entity and "micro-ORM" libraries like Dapper.

Level
Intermediate
Category
General Discussion
Room
J-158
Time
2:20 PM
(Login to save favorite sessions)

User authentication with Xamarin and ASP.NET MVC

We'll create a very basic mobile app and website with the simple goal of allowing a user to logon to either using the same credentials. Xamarin.Forms will be used for the mobile app, ASP.NET MVC will be used for the website. Simple forms authentication will be used for user accounts but we'll also talk about how third party logons could be enabled.

Level
Intermediate
Category
Client Development
Room
J-215B
Time
3:40 PM
(Login to save favorite sessions)

Using Azure IoT Services & PowerBI to Monitor Robot Telemetry

Realtime telemetry of systems is a valuable tool for debugging and making predictions about when those systems will fail. In this talk, I'll use a fun T-shirt tossing robot to demonstrate how to collect and analyze telemetry data from your apps (or robots!) using Azure services and PowerBI. Warning: T-shirts and data will be flying!

Level
Intermediate
Category
Cloud Development
Room
J-109
Time
2:20 PM
(Login to save favorite sessions)

Using Docker to Build, Test, and Deploy .NET apps

Docker is without a doubt one of the coolest ways to deploy applications, but the vision for Docker extends well beyond just running applications. Microsoft has gone through a great effort to bring Docker to Windows and also integrate it with all of the favorite development tools for .NET developers. This session will explorer how to use Docker to build, test, and deploy .NET applications on Windows and Linux alike.

Level
Intermediate
Category
General Discussion
Room
J-217
Time
1:00 PM
(Login to save favorite sessions)

Using React and Higher-Order Components

React, a framework created by Facebook, popularized the idea of assembling components together to build a web application. Individual components stand by themselves and can be organized efficiently to quickly get to a solution. But a further powerful technique is the ability to use Higher-Order components to wrap your existing components to give them access to common services and enhanced features. This session will explain how to use higher-order components in your own React application and demonstrate their many benefits.

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

Utilizing Big Query to Process Data in the Cloud

Cloud computing is becoming a bigger part of the development workspace. So, how do you get started? In this talk, we will focus on one aspect of the Cloud.. Databases.. Will show you how to get a simple data feed into Big Query, and then demonstrate methods for accessing that data using an application & APIs. This quick overview will touch on a variety of information on how you can get started in Google Cloud.

Level
Beginner
Category
Cloud Development
Room
J-158
Time
1:00 PM
(Login to save favorite sessions)

Who watches the watchmen? Introducing a better metric of your code's quality.

Tests are watching our code, helping it to not regress. But who’s watching the watchmen? Code coverage is often used to determine the quality of automated tests, trying to “test the tests”. Unfortunately all it does is ensure which lines of code have been executed by the tests, not if they are actually checking anything! Mutation testing is a way to really watch the watchmen. Matthew will give an introduction to mutation testing, why it’s better than traditional code coverage, and demo examples using JavaScript and Stryker.

Level
Intermediate
Category
Professional Development
Room
J-157
Time
1:00 PM
(Login to save favorite sessions)

Windows Mobile - meh, but... CORTANA!

Ok, fine, we get it; until Microsoft changes its tune we know that Windows Mobile is (unfortunately) not a consumer priority. However, Cortana *IS* available on both Android and iOS devices... so that means we can still develop meaningful experiences AND reach the vast majority of mobile device users. How? Through Cortana Skills! We will explore what they are, how they work, and how to set one up. Now that the process is officially available we'll even create and publish one during our session. This session is guaranteed to be worth your time and energy.

Level
Intermediate
Category
General Discussion
Room
J-266
Time
2:20 PM
(Login to save favorite sessions)

You talking to me? Building Bots with the Bot Framework

Think of a bot as an app that users interact with in a conversational way. Bots can communicate conversationally with text, cards, or speech. A bot may be as simple as basic pattern matching with a response, or it may be a sophisticated weaving of artificial intelligence techniques with complex conversational state tracking and integration to existing business services. With the bot framework, we can connect intelligent bots to interact with your users naturally wherever they are – from your website or app to text/SMS, Skype, Slack, Facebook Messenger, Office 365 mail, or other popular services. I’ll give you brief history of the natural language processing, how to create bots, and close with several code samples on how to put this all together, both in NodeJS as well as C#.

Level
Beginner
Category
Cloud Development
Room
J-262
Time
9:20 AM