Date for   Saturday, October 14, 2017 8:00:00 AM - Saturday, October 14, 2017 6:00:00 PM

Speaker List

Dave Adsit

More on Dave Adsit

Sessions

Track
Agile
Title
An Architecture for Autonomy
Abstract
In the 5 years that I have worked as an architect at Pluralsight, we have grown from one team of 4 engineers to over a dozen teams totaling more than 100 smart, professional software craftsmen. During this time, we have also acquired more than half a dozen companies and disassembled a single [monolith](https://martinfowler.com/bliki/MonolithFirst.html) into 40+ [bounded contexts](https://martinfowler.com/bliki/BoundedContext.html) with hundreds of independent microservices. Come to this talk to learn how we integrated .NET, PHP, Python, NodeJS, Ruby, Elixer, Scala and soon Go into a single, functional product offering. Come to this talk to learn how we have embraced team autonomy to create an architecture that allowed us to deliver more than 60 new user experiences over the last year.
Track
Agile
Title
What is Lean?
Abstract
When we talk about any tool, technique or practice that we like, we can fall into the trap of thinking that “Everything good is X” and “X is everything good.” If we truly want to understand a concept, we need to know what it includes and what it does not. After this session, we will have a clear understanding of what Lean is, how we might apply it to software development, and when we would and wouldn't want to. This session includes several hands on activities that drive the content home.

aydin akcasu

More on aydin akcasu

Sessions

Track
IoT
Title
Hacking BlueTooth Devices and Controlling Them with Your Browser
Abstract
Have you ever wanted to access the data from a Bluetooth device? For example: - Read the weight from your scale? - Read from heart rate monitors? - Get step information? - Control lightbulbs? Come to this talk and see how to hack and use the new Bluetooth capabilities of Chrome to do this. See how easy it is to hack Bluetooth Devices with Android using various Chrome Bluetooth tools. Chrome has added Bluetooth support, which means you can use your browser to access your Bluetooth device. We will investigate how to: get Bluetooth data from an Android phone. learn a bit about the low-level Bluetooth communication protocol. diagnose the packet information. reverse engineer the protocol of Bluetooth light bulb. discuss reverse engineering other Bluetooth devices. create a web app to control the bulb. create a traffic light app, that responds to external stimuli. use your android phone to control the bulb, through Chrome.

Christina Aldan

More on Christina Aldan

Sessions

Track
Artifical Intelligence (AI)
Title
5 Tips for Cultivating EQ in the Workplace
Abstract
Learning to manage our state of mind in the workplace is an acquired skill. While stress in the workplace in unavoidable, it is possible to cultivate Emotional Intelligence (EQ) to manage our state of mind. Practicing EQ helps us identify and eliminate stressors in our lives. Awareness of self and awareness of others strengthens personal and professional relationships. When we understand the motivations of ourselves and the perspectives of others we form deeper connections. In this presentation, learn five tips for cultivating Emotional Intelligence in the workplace.
Track
Design (UX/UI)
Title
User Experience at Every Level of Business
Abstract
User Experience is included at every level of business. This can be seen in the culture of a company. Through the content, products and services that the employees create, the company engages with its consumers. User experience is integrated into every touchpoint of a company’s infrastructure when people engage with a brand. Learn why it’s important to have a Generalist on the team to oversee the User Experience for a company at every level of its processes, including: hiring, design, development, advertising, and marketing.

Karen Baney

More on Karen Baney

Sessions

Track
Javascript/Node.js
Title
Introduction to VueJs 2
Abstract
Learn how to get started programming with VueJS 2, how Vue handles two-way binding, and the other core features of this newer JavaScript Framework.

David Batten

More on David Batten

Sessions

Track
DevOps/System Administration
Title
Crawl, Walk, and Run to Continuous Delivery
Abstract

Over the course of 15 years in software development, I've learned quite a bit about automating software delivery. Looking back, I realized that I've been performing Continuous Delivery in one form, or another, for most of that time. Let's take a few minutes to talk about how Continuous Delivery can help teams of all sizes get software into customers' hands faster for tighter, more effective feedback loops. It's all about the automation!


Inactive User

More on Inactive User

Sessions

Track
Other
Title
Brownfield Development Strategies
Abstract
Very few software projects are greenfield, meaning they are brand new. Most development is done on existing or brownfield projects. Also on average, an application is rewritten every four versions, which tends to run overbudget and frequently be delayed. When it does get released, it is usually not as feature rich as its predecessor. This session will explore specific strategies for making major changes to existing applications to make them more maintainable, extensible, and keep the existing functionality that users demand.

Sarah Braden

More on Sarah Braden

Sessions

Track
Python
Title
Deep Learning with Python
Abstract
Tutorial for getting started with Deep Learning using Python

Lee Brandt

More on Lee Brandt

Sessions

Track
.NET
Title
ASP.NET Core + React = Awesome
Abstract
Developing React applications usually mean developing a back end with .NET Core or NodeJS, and then a separate “plain-old” React app. This is great for applications with a “back-end” team and a “front-end” team. But in a LOT of situations, there’s only one team building the application and create a single code base with good separation between the front end and back end can be complicated. I will show you how to take the generated MVC application and integrate React with it in a way that keeps the layers separated, but easily deployable as a single app!
Track
DevOps/System Administration
Title
Dockerize Your Development Environment
Abstract
It works on my machine. We’ve all heard it. Most of us have said it. It’s been impossible to get around it… until now. Not only can Docker-izing your .NET development environment solve that issue, but it can make it drop-dead simple to onboard new developers, keep a team working forward and allow everyone on the team use their desired tools! I will show you how to get Docker set up to use as the run environment for your .NET projects, how to maintain the docker environment, and even how easy it will be to deploy the whole environment to production in a way that you are actually developing in an environment that isn’t just “like” production. It IS the production environment! You will learn the basics of Docker, how to use it to develop and how to deploy your “development” environment as the production environment!
Track
Agile
Title
Real Agile for Real Software
Abstract
As the agile revolution continues, more and more companies are wanting to “Do Agile”. Most companies don’t even know why, they just see and hear about other companies having successes. They hire a consultant, who is teaching the “flavor of the day” agile process and pay lots of money for books, tools and training. Most of the time, with limited success. In this talk, I will explain what Agile software development is meant to be all about. I’ll tell you a bunch of stories about common mistakes I see companies making as they try to become more agile, and what you can do to avoid or overcome these mistakes. In the end, you should leave with a better understanding of the nature of building software in an agile way and maybe even had a few laughs along the way.

Les Brown

More on Les Brown

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Xamarin.Forms Enterprise Application Development
Abstract
Create cross-platform mobile applications using Xamarin with dependency injection using Unity. Also, learn how to use configuration files similar to web applications so that your code is not riddled with settings (hard-coded) and can be selected based on the build. Learn how to consolidate your code so you don't have to search various projects for code implementations.

Inactive User

More on Inactive User

Sessions

Track
Other
Title
Progressing as a Software Developer
Abstract

The world of Information Technology offers an ever-growing, vast pool of opportunities. As a software developer you are primed to take advantage of the best of those opportunities. Chances are you've worked with a variety of different stakeholders including business analysts, project managers, system administrators, testers and even executive leaders. You may have even served in one of these or other capacities. The broad range of exposure means the career opportunities available to you are virtually limitless. You have to be proactive in pursuing those opportunities.

We will discuss seven key areas and activities you can start focusing on today to ensure you are well-equipped to advance in your career.

Track
Other
Title
Succeeding as a New Leader in Technology
Abstract

Navigating the transition from individual contributor to leader can be a difficult endeavor if you are not properly prepared. This transition represents a paradigm shift on many different levels. As you progress in your career, you will undoubtedly encounter this transition. You must be mentally and emotionally prepared to change behaviors and thought patterns that you may have developed over your career to that point.

We will discuss some tips that I have gleaned form my own experience in transitioning from software engineer, to software engineering manager, to director of software engineering.


Maria Brown

More on Maria Brown

Sessions

Track
Other
Title
Web Security Dojo
Abstract

Do you want to learn web application penetration testing, but are not sure how to get started?  Web Security Dojo is a free open-source, self-contained training environment for learning and practicing web application security testing. The Dojo has everything you need to get started - tools, targets, and documentation! Beginner-friendly presentation.


Inactive User

More on Inactive User

Sessions

Track
Java
Title
Introduction to Kotlin
Abstract

A beginner level introduction to Kotlin explaining benefits and shoing some code. This talk advocates using it, covers possible pitfalls, shows you what it looks like, and covers severals points of what it can do. This talk is Android focussed, but also applies to Java in general. Also, I'll try to touch on javascript transpiling if there's time.


Sam Clark

More on Sam Clark

Sessions

Track
Other
Title
A Nodists Introduction to GoLang
Abstract

A lot of developers are entering the industry learning on a heavy Ecmascript centric path....When it's time to move on and learn a new language, the big question is.....where do we Go(pun intended)? This talk will be introducing the positive aspects of GoLang, and also concepts that are similar to Javascript to create a transition-friendly approach to learning this language!


Michael Collins

More on Michael Collins

Sessions

Track
Functional Programming
Title
Building a Phoenix Web Application: Lessons Learned
Abstract
Elixir and Phoenix are taking the world by storm. Some say Phoenix may be the new Ruby on Rails. Maybe, maybe not. But regardless, it is a very cool platform for building your next big web application quickly and easily. In this presentation, I'm going to introduce you to Phoenix and explain to you why I chose to use it over the other candidates like Ruby on Rails, Node.js/Express, Go, and ASP.NET Core. I'll tell you all about Phoenix's features and how to build web applications with Phoenix. I'll also use my own application to cover the lessons that I learned and best practices in building Elixir and Phoenix applications to help you to plan for building your own.
Track
Javascript/Node.js
Title
Use Ember, Here's Why...
Abstract
The web is populated by a lot of good frameworks for developing web applications, and new ones appear every day. You may be using Angular or React or are at least getting hit over the head by your friends and peers that are using them telling you that you should start. In this presentation, I'm going to introduce you to Ember, another mature web framework. I'll show you Ember, and help you to understand why you should put it at the top of your technology list for your next web application project.

Inactive User

More on Inactive User

Sessions

Track
.NET
Title
Secure DevOps: A Puma’s Tail
Abstract
DevOps is changing the way that organizations design, build, deploy and operate online systems. Engineering teams are making hundreds, or even thousands, of changes per day, and traditional approaches to security are struggling to keep up. Security must be reinvented in a DevOps world and take advantage of the opportunities provided by continuous integration and delivery pipelines. In this talk, we start with a case study of an organization trying to leverage the power of Continuous Integration (CI) and Continuous Delivery (CD) to improve their security posture. Then, we will focus on static analysis, how it fits into Secure DevOps, and introduce you to Puma Scan: a new open-source .NET static analysis tool. Live demonstrations will show Puma Scan identifying vulnerabilities inside Visual Studio and in a Jenkins continuous integration (CI) build pipeline. Attendees will walk away with a better understanding of how static analysis fits into DevOps and a .NET static analysis engine to help secure your organization’s applications.

Edwin Delph

More on Edwin Delph

Sessions

Track
Java
Title
Using Groovy/Grails as a gateway drug to Web Development with Java
Abstract
Learning how to use the Grails framework is a great way to learn Web Development. Groovy is the preferred programming language but Java can easily be used as well. This presentation will show how you can quickly setup an application with Grails, use scaffolding for CRUD operations, and import/use jar files to introduce you to Java development.

Don Doerres

More on Don Doerres

Sessions

Track
Home Automation
Title
Sonic Handkerchief
Abstract

Not just a sonic screwdriver. Application of the Ada Fruit Playground. Code, plans, and User Guide posted at github.


Michael Eaton

More on Michael Eaton

Sessions

Track
Other
Title
Become a Remote Working Pro
Abstract
There is no doubt about it, working remotely can be an amazing experience – no commute and wearing pants is optional! Of course, it’s not all rainbows and unicorns since there are challenges to overcome and of course work to be done. This interactive session will answer questions like, “how can I convince my boss to let me work remotely?”, “how can I make sure they don’t forget about me once I start working remotely?” and many more. It will equip you with the tools and techniques for being a successful remote team member.
Track
Other
Title
Leadership Journey: From Software Developer to Leader
Abstract
You’ve spent years working on your skills as a software developer. You measure your days by the number of commits you’ve made and look forward to the daily pairing sessions with your team mates. Then, one day, a leadership position opens up on your team and you start thinking about it. Should I or shouldn’t I? What if I go for it and end up hating it or I’m just not that good at it? What if I love it? How will my day change? In this interactive session, we’ll explore “why leadership”, answer some hard questions and talk about one developer’s path from writing code to leading people and the challenges that have been experienced.

Keith Elder

More on Keith Elder

Sessions

Track
Other
Title
Building A Highly Scalable Service that Survived A Super Bowl
Abstract

We use encryption every day without knowing it. Whether it is our hard drives that are encrypted or we buy something online our data (hopefully!) is encrypted. But how do you build an encryption service? And not only that, how do you build one that will stand up to extreme load for a commercial airing during a Super Bowl? Very tough questions no doubt. All sorts of things must be answered like the technology stack and much more. In this session I'm going to tell you how at Quicken Loans we built one of our most important and robust services to date. I'll tell the story of how we overcame adversity of a hard deadline and how our culture played a critical role in our success. I'll also cover the technologies we used, how we chose them and tell one our greatest technical stories most have never heard of the day we launched Rocket Mortgage to the nation on Super Bowl Sunday.

Track
Other
Title
Productivity: How to get things done in this digital age
Abstract
Pick the kids up after school, pay the electric bill on Friday, reviews for team members are due tomorrow, oh and I have to remember to call a team member back about the question they asked yesterday. These are just a few of the things that run through our heads constantly. While some of us have work tasks that are tracked in kanban boards or Jira or TFS or maybe even pencil and paper, there is so much more we have to keep track of. Ugh-- an email just came in, crap, I have to take a survey now. Ok, I'm back...what was I saying...oh yeah, staying productive... getting things done. It is something many information workers struggle with every day. For many, actually being productive doesn’t come naturally. It didn’t come naturally to me, so I set out on a journey to hack myself and change my habits. In this session, we are going to look at some science, psychology, tools, and methods to help us process, track, and ultimately get more things done at work and in our personal lives. Join me as I lay out my own personal struggles and how I hacked myself into being more productive.

Bill Fencken

More on Bill Fencken

Sessions

Track
.NET
Title
Leveraging Visual Studio 2017, T4 and software factories to improve pattern adherence, ease refactoring and efficiently scaffold an application framework
Abstract

With or without established coding standards and code reviews, application code tends to have a wide variance in implementation when multiple developers are involved. Variations begin to appear over the course of an application’s lifespan due to the introduction of new requirements or improved techniques, etc. Often implemented variations are never refactored due to schedule or workload constraints. With code factories, much of an application can be automatically generated to match a consistent pattern. When new requirements emerge or new methodologies are introduced into the architecture of the application, the factory template author(s) can simply modify their template(s) and re-run the actions to consistently inject the changes without affecting the code written by the development team in the interim.

Applying software factories to solve architecture problems, pattern adherence and skill set gaps.

  • Skill set gaps and how proper architecture solves them
  • Leveraging patterns to address architecture and skill set challenges
  • Using software factories to solve architecture and skill set problems using CodeFactory

 


Rick G. Garibay

More on Rick G. Garibay

Sessions

Track
Cloud
Title
Beyond the Hype: Serverless Workloads in the Real World
Abstract

With the rising popularity of microservices as a an architectural style for system decomposition, solutions built on serverless compute capabilities are becoming more and more attractive for companies of all sizes. From start-ups to the enterprise there are certainly benefits that can be realized in moving from IaaS but as with any technology, there is no silver bullet. In this talk, Rick will share real-world scenarios for leveraging serverless workloads at scale and learnings around the trade-offs, limitations you must understand in order to inform choosing between serverless and traditional hosting infrastructure.


Paul Hacker

More on Paul Hacker

Sessions

Track
DevOps/System Administration
Title
Any Platform, Any Build; Getting Started with Team Foundation Server Build
Abstract
In this session you will learn how to create and manage build processes that automatically compile and test your applications.  These builds can be triggered manually or as part of an automated continuous integration process.  You can use the VSTS build system to build .NET, Xcode, Android, iOS, and other types of applications with code hosted in VSTS, GitHub, or other providers. Visual Studio Team Services simplifies continuous integration for your applications regardless of what platform you are targeting, or what language you are using.
Track
DevOps/System Administration
Title
Introducing Azure Resource Management templates
Abstract
Does it take you days to deploy your infrastructure? In this session we are going to introduce you to Azure Resource Manager and demonstrate how we create Azure Resource Manager (ARM) templates using Visual Studio 2017 and then deploy the infrastructure to Azure in minutes. We are going to peek under the covers of the ARM templates to show you what is going on inside the template and why you should be implementing it today. We will look at the Azure portal and walk through the infrastructure we deployed. Lastly we will look at the Azure Resource Template Visualizer and show you a great way to use it to get you started with ARM template creation.

John Hannah

More on John Hannah

Sessions

Track
.NET
Title
Leveraging Visual Studio 2017, T4 and software factories to improve pattern adherence, ease refactoring and efficiently scaffold an application framework
Abstract

With or without established coding standards and code reviews, application code tends to have a wide variance in implementation when multiple developers are involved. Variations begin to appear over the course of an application’s lifespan due to the introduction of new requirements or improved techniques, etc. Often implemented variations are never refactored due to schedule or workload constraints. With code factories, much of an application can be automatically generated to match a consistent pattern. When new requirements emerge or new methodologies are introduced into the architecture of the application, the factory template author(s) can simply modify their template(s) and re-run the actions to consistently inject the changes without affecting the code written by the development team in the interim.

Applying software factories to solve architecture problems, pattern adherence and skill set gaps.

  • Skill set gaps and how proper architecture solves them
  • Leveraging patterns to address architecture and skill set challenges
  • Using software factories to solve architecture and skill set problems using CodeFactory

 


Jay Harris

More on Jay Harris

Sessions

Track
Design (UX/UI)
Title
Design for Non-Designers from a Non-Designer
Abstract
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.
Track
Other
Title
Growth: Moving Beyond “Independent Developer”
Abstract
You’ve made the decision to go out on your own. Do you want to stay an Army of One or do you strive for something more? Spend an hour discussing the obstacles you will encounter if you go it alone and the obstacles you will encounter if you don’t. Learn philosophies that will help you on your way to an Army of Two, from before, to during, and for after your transition to Employer. Move beyond Independent Developer, and switch from “Me” to “Us”.

Daniel Haskell

More on Daniel Haskell

Sessions

Track
Agile
Title
DevOps ALM in Visual Studio Online
Abstract

Visual Studio Online and Team Services are quickly adding features that support the immediacy a DevOps Application Lifecycle Management requires. Learn about Release Planning Tools, Dashboarding, Custom Alerts, API availability and many more tools that will help your team reduce risks, report progress and comminucate in real time. The session will be interactive and walk the participants though a mock project that uses the many different ALM Tools now available in Team Services. If you are looking to increase collaboration, boost your productivity or discover new way to report KPI's, then you should definitely attend this session. Co-presented by Daniel Haskell.


Rob Hewitt

More on Rob Hewitt

Sessions

Track
DevOps/System Administration
Title
The painful path to CI/CD – one company’s initial successes and failures
Abstract
Discover how Choice Hotels is beginning the transition from development chaos to DevOps automation. This talk takes a look at our past and why we need to become more automated. It then looks at what we are doing now to move us toward the holy grail of continuous deployment. We have had some successes and some failures, but most of all we have a vision of where we need to get to and how to achieve this vision. This talk is meant for engineers and managers who have not yet started down the path of DevOps automation. We have some advice and some anecdotes that will help you avoid some pitfalls along the way.

Chris Holwerda

More on Chris Holwerda

Sessions

Track
.NET
Title
Identity Server : From zero to "Are you authenticated" \m/
Abstract
A play on Jimi Hendrix's "Are you experienced" , this session will go over what identity server is, when and why you would want to use it, and demonstrate how to use it to authenticate with Facebook, Google, and a custom provider. Along the way valuable tips and tricks will be uncovered to help you use some of the more hidden tracks to get you in a groove.

Christopher Huie

More on Christopher Huie

Sessions

Track
Python
Title
Machine Learning with Python
Abstract
Basic Machine Learning algorithms and tools using scikit-learn.
Track
Python
Title
Web Scraping with Python
Abstract
How to build a web scraper using Python. A basic intro to Web scraping with Python with real-world examples.

Justin James

More on Justin James

Sessions

Track
Javascript/Node.js
Title
Angular Unit Testing from the Trenches
Abstract
For a number of years now we have been hearing about all of the benefits that automated unit testing provides like increasing our quality, catching errors earlier, ensuring that all developers are testing in the same manner and deploying updates with high confidence that nothing will break. Testing a Web UI though was difficult and fragile which meant that typically we had no automated unit test for our Web UI. This is no longer the case with the latest release of Angular. Unit testing is now a first class citizen in Angular. Out of the box, the project generated by the Angular CLI has unit testing setup with Karma and Jasmine and includes sample tests. Generating new components, services, and pipes includes the unit test Spec file already wired up. Thus allowing you to focus on writing your unit tests and not on the infrastructure needed to get them running. The barriers to writing unit test have been destroyed. This talk will walk through getting started unit testing your Angular components, services, and pipes. Along the way I will share the tips and tricks that I have learned as I have implemented unit testing on my Angular projects at a Fortune 100 company. You will walk away ready to immediately implement unit testing on your Angular project.
Track
Other
Title
Everyone is a Public Speaker
Abstract

You may not realize it but we are all public speakers even if we do not get up on a stage in front of an audience at a conference.  Public speaking is all about effectively communicating our ideas to others.  We have all been training our whole lives to be better communicators.  In today's job market being an effective communicator is a critical skill even if you are a developer who just wants to write code all day.   I will share the tips and tricks that I have learned on my journey from a developer who avoided giving any kind of presentation to a professional speaker that has given over 100 talks in the past 3 years.  You will walk away being a better communicator and knowing how to given an effective presentation. 


Matthew Jones

More on Matthew Jones

Sessions

Track
.NET
Title
Demonstrating Common Design Patterns with C#
Abstract
The influential book Design Patterns - Elements of Reusable Object-Oriented Software by the Gang of Four was released way back in 1995, and the patterns named within have had a huge impact within the software development community. In this session, we will demo several sample applications written in C# which implement patterns described in the book, and talk about how and when these patterns would be useful to our projects. We'll discuss why patterns are targets of refactoring, not design. We'll also talk about the three general types of patterns (Creational, Structural, Behavioral) and demo some of the more common types of each (e.g. Abstract Factory, Prototype, Composite, Strategy, etc.). We'll even discuss why patterns such as Adapter and Facade look so similar but are used differently. Come along with me as we learn what patterns are, why they're useful, and how to spot them.
Track
Other
Title
The Fundamental Laws of Software Development
Abstract

There exists a set of fundamental adages, quotes, and philosophical "laws" which seem to govern how software is developed in the modern age. This fast, funny session will explore what these laws are, and discuss how we can use them to our advantage. From why everything takes longer than we expect (Hofstadter's Law) to why everyone seems to enjoy arguing over trivial things (Sayre's Law), we'll talk about the fundamental forces that guide how we develop software in the modern world. Come with an open mind, stay for the jokes, and you might even learn something you can take back to your job with you!


Joe Jorden

More on Joe Jorden

Sessions

Track
Javascript/Node.js
Title
Building a Web Site with Angular 2
Abstract

In this session I will show you how to build a web site using Angular 2. To do this I will build a web site for AlsoRann Co., a (fictitious) medium sized company that wants to display a catalog of their products on their web site and allow users to place orders for them. As a bonus, I will also show you how to debug your app using Visual Studio Code.


Uma Kannikanti

More on Uma Kannikanti

Sessions

Track
Other
Title
BigData - A simplified solution for Batch and Real-time data processing - Spark Structured Streaming
Abstract
Technology has evolved since enterprises last envisioned their data pipeline. As we are stepping into the age of Continuous Application, this session will explore how Choice Hotels use Structured Streaming and developed an end-user self-service ETL framework

Avinash Kaza

More on Avinash Kaza

Sessions

Track
Javascript/Node.js
Title
UI state management using Reactive Observables and Subjects
Abstract
Event driven programming is great, but as application complexity starts increasing and number of subcomponents which depend on a single state object increases, we end up in "event spaghetti" which manifests as circular dependencies, unexpected multiple-renders of UI, race conditions during page load etc A solution to this is to adopt reactive programming paradigm and start viewing everything as a stream of data which can be thought of as a sequence of ongoing events ordered in time and using observer design pattern to maintain handlers (observers) for these events. In this session, I will demonstrate the problems of event driven programming in UI as the complexity of an application grows and then explain fundamental concepts of reactive programming and how we can use reactive stream libraries to create and maintain state in modern SPAs.

Matt Klein

More on Matt Klein

Sessions

Track
Functional Programming
Title
Fortify your C# and Java code by having your signatures tell the truth with Option and Either
Abstract

Learn how to make your API and method calls honest and more expressive by utilizing the Option<T> and Either<L,R> data wrappers and learn how to use those data structures.

In this hour we’ll talk about how to replace null, empty string, negative integers, and other “sentinel” values with Optional<T>, how to use it once we’ve got one, and how to get your “optional” values back out.

We’ll also discuss a strategy to remove the throwing of exceptions in your code by using Either<L,R> so we can get strongly typed error handling (thank you compiler!). We’ll see how to pass back exceptions when an error occurs (rather than throwing them) or how to remove them altogether and instead use expressive error values that are strongly typed.

We’ll see implementations of both structures in C# and Java and provide references to libraries in NuGet and Maven that already contain these data structures (and more!).


David Koontz

More on David Koontz

Sessions

Track
Functional Programming
Title
Introduction to Elm
Abstract
Elm is a delightful language for reliable webapps. Elm's focus is on being fast, friendly, and safe. Everything from extremely friendly error messages, to a package manager that enforces semantic versioning at the API level, everything about Elm shouts "come on over and get a hug!". Come spend some time getting to know this wonderful compile-to-JavaScript language which helps you say goodbye to your days of "undefined is not a function".
Track
Functional Programming
Title
Introduction to Functional Programming
Abstract
You may have heard that functional programming is quite different from object oriented programming. This session will give you a sense of how FP approaches problems and what the core ideas behind this very different paradigm are. This exploration will be language agnostic and can be applied to any language you work in.
Track
Functional Programming
Title
Monoids and Functors and Monads, oh my!
Abstract
There are many unfamiliar terms that you run into when exploring functional programming. Some of these terms have to do with naming structures that are not generally given a name in other styles of programming. Some common examples of these structures are monoid, functor, and monad. You can think of these as "design patterns for functional programming". This session will give you an understanding of the big idea behind each of these patterns and where you might apply them. There's a good chance you're already using some of them!

Steve Lacy

More on Steve Lacy

Sessions

Track
Functional Programming
Title
Drinking the Elixir
Abstract
Elixir is a language designed to run on the BEAM (erlang) virtual machine with a functional interface. It has several features which set it apart from other languages, including a fail-fast mentality. This, along with cross-machine process messaging, allows massive systems to be built and scaled with ease. This talk will be an in-depth introduction to Elixir and the architecture of Elixir applications.
Track
Javascript/Node.js
Title
Node - the better parts
Abstract
Node is pretty awesome. Until you hit one of the many design flaws of the language or engine... I'll bring enlightenment to system architecture with Node, and show ways of improving API and system design. es6/7 will be used heavily along with many features they bring.

Inactive User

More on Inactive User

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Geolocation with Google Maps and Google API's
Abstract
Geolocation has become an increasingly important part of the mobile app experience. We use geolocation based apps for everything from ordering dinner to reporting an emergency. While there are many API's and databases for geolocation information, Google Maps and Google Places is far and away the most used and most powerful. In this session, you'll become familiar with both Google Maps Javascript API and the Google Places API as an HTML5/Javascript based mobile app is created to locate, map, and provide information about local restaurants. Along the way, you'll learn how to access the Maps API, send current geolcocation information from device and display a local map. You'll also learn how to drop location "pins" on the map and display information about map locales from the Google Places API. After this session you should be ready to build your first geolocation based applications.
Track
Javascript/Node.js
Title
Single Page Apps with React
Abstract
The traditional model of navigating between pages within a web app is both inelegant and dated. Modern apps are often designed around a single page model, where different views are loaded and unloaded into the same page. The single page model is greatly facilitated by the React library. In this section the basics of the React library will be reviewed through several code examples creates with React. This session will first examine the Automatics UI State Management features of React. React's model allowing lightening fast DOM manipulation will be looked at next, and finally how React's core API's allow the creation of a hierarchy of small visual components that can be composited to create a complex UI. Participants in this session will leave not only with a fundamental understanding of how React works and facilitates a single page model, but with several code examples they can use as the basis for their own exploration of React.

Michael Manzano

More on Michael Manzano

Sessions

Track
HTML/CSS
Title
CSS with SASS(y) superpowers
Abstract
If you have ever found yourself passing up on opportunities to style your website because of time constraints, lack of knowledge or avoidance of CSS nightmares, then this topic is for you. Learn how to make visual feats more easily attainable through the CSS extension language, Sass.
Track
Javascript/Node.js
Title
Vue.js Transition Effects
Abstract
Want to bring static elements on your site to life with transitions and animations? Don't know what the difference between the two are? In this session we will go over what Vue.js offers to easily achieve both along with the hooks that can be set in place to create practical and appealing visual effects.
Track
HTML/CSS
Title
Why is my CSS not working?!
Abstract
It happens every day. You optimistically write the most basic CSS (Cascading Style Sheet) code to modify the UI’s (user interface) appearance of your website and are met with one of two results. Either nothing takes effect or the wrong thing gets affected. Pessimism eventually prevails and you abandon ship on a good idea leaving in place a wasted opportunity to enhance the user experience. In this presentation we will run through common CSS problems and present tips and tricks that will make you better at identifying and correcting UI issues. (I have given this talk previously and used the slides seen below) http://slides.com/mikezan0/deck#/

Koshin Mariano

More on Koshin Mariano

Sessions

Track
Artifical Intelligence (AI)
Title
Building Bots with the Microsoft Bot framework
Abstract
Chatbots are all the rage, from waiting in line to buy your concert tickets to helping you order pizza so you never have to leave your house. We look at how you can make a conversational bot with the Microsoft Bot Framework

Alex Martin

More on Alex Martin

Sessions

Track
Home Automation
Title
Hacking Apple HomeKit with Homebridge
Abstract

Apple Homekit is about to come into you living room in December with HomePod. What is the current state of HomeKit compatible accessories? Not that great many would say, they are not as common as one would hope and they are usually more expensive then similar accessories compatible with other home automation platforms. What if that was wrong, what if by simply running some software on a raspberry pi, you could automate everything in your home and have Siri do it for you. With Homebridge you can. I will go over the setup of my own home, and dive into the code of a node application I wrote myself to automate my garage door.


Robert Mckay

More on Robert Mckay

Sessions

Track
Other
Title
Offensive Security
Abstract
penetration testing methodologies and the use of the tools included with the Kali Linux distribution (successor of BackTrack) attacking and penetrate various live machines in a safe lab environment.

Vishal Mehta

More on Vishal Mehta

Sessions

Track
QA/Testing
Title
Testing Testing 123 - Getting Started With Automated Tests
Abstract

Automated testing give programmers the confidence they need to make changes in their code and release new components faster by reducing the need for manual testing. In this talk we'll go over some core concepts of automation such as CodedUI, NUnit, MOCK, Dependency Injection, and Integration, how to implement these concepts, and when to use them.


Troy Miles

More on Troy Miles

Sessions

Track
Cloud
Title
AWS Lambda with C# and Nancy
Abstract
AWS Lambda is Amazon's "serverless computing" offering. The beauty of Lambda isn't that it is serverless since it isn't, it is that it requires minimal configuration and supports many programming languages including C#. Nancy per its documentation is a lightweight, low-ceremony, framework for building HTTP based services on .NET and Mono. If you are familiar with Node, think of Nancy as Node for C#. The project is open source and began hosting on GitHub in January 2011. Unlike ASP.NET MVC or even Web API, Nancy doesn't have much overhead. It allows you to handle the major HTTP verbs directly and create a response using an elegant Domain Specific Language. Nancy lightweight design is also performant, so it meshes well with Lambda. In this talk, we will build our lambda service using C# and Nancy. We will discuss all of the major points along the way. We will learn to handle HTTP Get, Post, Push, and Delete. How to read and set the headers. We will grab data from a database. And then quickly change our response data to JSON, XML, or something custom.

Luis Montes

More on Luis Montes

Sessions

Track
Javascript/Node.js
Title
Intro to Web Bluetooth, USB, MIDI, Sensors, and NFC
Abstract

Wait, the web can do all those things?

Yup! And you don't even need phonegap/cordova, electron, or react-native to do them. Let's go through some practical uses for these APIs and quickly get started using them.

 

Bonus: We can integrate browser hardware APIs to interact with things in Virtual and Augmented Reality web apps!

 


Andres Nava

More on Andres Nava

Sessions

Track
Cloud
Title
Building "Serverless" Application using Azure Functions
Abstract
In this session we will cover how to leverage event-based "serverless" compute to build scalable applications using Azure Functions. You'll learn how Azure Functions provides a frictionless platform that abstracts away server details, only charges for what you use and manages scaling so you can focus on your application's business logic. From simple one-off functions, to building complex workflow, Azure Functions can serve as a cost-effective and scalable platform to develop your backend services.

Jerry Nixon

More on Jerry Nixon

Sessions

Track
Artifical Intelligence (AI)
Title
Artificial Intelligence for everyone, even you
Abstract
Science fiction is now science fact. Hardware, software, and data science have advanced to where we can finally look at artificial intelligence as a commodity, not the work of specialists in the field. Azure unlocks for the path for advanced users, while normalized wrappers like Cognitive Services have given developers & armchair scientists access to easy-to-use, easy-to-deploy, affordable solutions for everyday apps. In this session, let's look at the approach of this new age and how to make the most with the skills you already have.

Melissa Noelle

More on Melissa Noelle

Sessions

Track
Other
Title
A Talk I'm Unqualified To Give: Imposter Syndrome
Abstract
Imposter syndrome is super common in our field--even more so for women. Let's talk about what it is, what it looks like, what we can do when those thoughts pop up, and how we can help our friends/co-workers who might have it.
Track
Other
Title
Making Sure You're Solving The Problem
Abstract
This is a talk about metrics: finding good ones, making sure they align with your goals, and presenting them in a way that's compelling.
Track
Other
Title
Product Thinking vs Code Thinking
Abstract
I recently transitioned from being a developer for nigh-on 10ish years and now I've been a product manager for a year. This talk is just a reflection of some of my thoughts about the differences between the two ways of thinking.

Jon Nyman

More on Jon Nyman

Sessions

Track
Functional Programming
Title
Introduction to F#
Abstract

Learn the basic ins and outs of F#! With a focus on syntax and basic functional programming concepts.

 

See http://jnyman.com/2017/10/15/desert_code_camp_2017

Track
Functional Programming
Title
Making Impossible States Impossible with F#.NET
Abstract

In 2016 Richard Feldman gave a talk on how to make impossible states truly impossible in Elm.js.

Among the most time-consuming bugs to track down are the ones where we look at our application state and say "this shouldn’t be possible." Learn how to use these techniques in F# so you can code with confidence. See https://www.youtube.com/watch?v=IcgmSRJHu_8

Track
Functional Programming
Title
Scripting with F#.NET
Abstract

Sometimes you need to get some temp code up and running for a project. Maybe you need to hit a database and get some information from it. Learn how to write scripts that can help you get work done fast and correctly!

Track
Database (SQL/NoSQL)
Title
SQL Server Data Tools - Bringing SQL Language to the Modern Age
Abstract

SQL Server Data Tools (SSDT) brings the tooling power of other programming languages to SQL. Making it so you can refactor your database and routines with confidence. Learn how you can use SSDT to put your database code in a repository just like you do all of your other code. Come learn about how to get started with SSDT and make SQL a first class citizen.

See http://jnyman.com/2017/10/15/desert_code_camp_2017


Josh Padnick

More on Josh Padnick

Sessions

Track
DevOps/System Administration
Title
DevOps: Real-World Best Practices
Abstract
This talk will cover the fundamentals of DevOps with an emphasis on real-world applications. We'll start by briefly covering what DevOps means in theory and in practice. Then we'll cover the fundamentals of an effective DevOps strategy, infrastructure-as-code, the most important DevOps tooling, and patterns and anti-patterns that we see in the field. The speaker is a co-founder of Gruntwork (http://gruntwork.io) where we've worked with hundreds of engineers and multiple software teams worldwide to setup a best-practices DevOps infrastructure in the cloud (usually AWS). The presentation will incorporate all the learnings from this wide range of experience.
Track
DevOps/System Administration
Title
Terraform: Intro and Best Practices
Abstract
Terraform is the modern de facto way to build infrastructure as code in the cloud. In this session, we'll start with what is Terraform and proceed through to advanced usage and best practices. The speaker has done professional, paid Terraform training for 100+ engineers and more than 10 companies, but this session will be free!

Ken Patterson

More on Ken Patterson

Sessions

Track
.NET
Title
Security Patterns and who cares: can you survive without them?
Abstract
One upon a time I found out just how important it is to “pay attention” to security. This discussion presents goals and methodologies for building more secure applications then the other “guy”. This will focus on internal security patterns using MVC, WebAPI, and C# using Windows credentials including how to design applications using the Elevated Permissions pattern. Come see, participant, and help us all be more secure. P.S. most of this also applies to Internet facing applications.
Track
.NET
Title
The Middle Tiers: Domain, Service, and generic Repository Pattern.
Abstract
In order to be predictable and give yourself the maximum amount of time to develop software for the client, having a solid infrastructure that is repeatable easy to build and maintain will get you there. To get started see how my teams are using a generic repository project/template, Unit Of Work, Entity Frameworks, and some guidelines for building a service tier, and how and when to build Domain models. All of this using .Net C# code with examples and discussion.

Wolf Paulus

More on Wolf Paulus

Sessions

Track
Cloud
Title
Java for Serverless Compute with AWS Lambda
Abstract

Serverless computing is a cloud computing execution model in which the cloud provider dynamically manages the allocation of machine resources. Serverless computing allows running applications and services without thinking much about servers, runtime resources, or scaling issues.

This talk presents a simple serverless computing application, intended to be used as a template project or model that should help you getting started more easily.

Here are the cornerstones: 

  • Java 8 is used as the implementation language of the serverless function(s)
  • AWS Lamba is used as the Serverless runtime
  • Gradle is used as the build automation system to compile, build, and deploy the serverless  function(s).
  • JUnit 4 is used for unit-testing
  • Jackson is used as the the JSON processor to serialize and deserialize objects
  • Apache Log4J 1.2 is used as the remote logger on the serverless runtime system

You will walk away with solid knowledge about how to write, test, and deploy Java code on Amazon's AWS serverless runtime platform.
You will find out how to easily expose your function as a micro web service through the API-Gateway - and leave with a template project in hand, a blueprint or starting point, for your very own Java-based serverless cloud project.

Hope to see you at the session.

Cheers

  Wolf

Wolf Paulus


Isidro Perez

More on Isidro Perez

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Intro to React Native
Abstract

Introduction to the power of React Native. Let's see how React Native will transform the way we develop Mobile Apps. All you native developers get ready. It's going to be a bumpy ride. 


Joe Rawlings

More on Joe Rawlings

Sessions

Track
Other
Title
The 5 Interviewing Tools You Need To Land Your Dream Development Job
Abstract

In this hour, I'll introduce what I believe are the tools you need to land your dream software engineering job. Whether you are still in college, just graduating, or have years of experience in industry, at the end of this talk, you will be set on a path where application and mastery of these tools will enable you to succeed.

In addition to exploring the required hard skills like knowledge of Computer Science theory, algorithms, and data structures, we'll explore the almost-as-formidable foe, the yin to the hard skill question's yang, soft skill questions. For example, how do you answer a question like "Describe your most prominent career failure" without looking like you just pants yourself. Moreover, we'll discuss the role of culture fit in interviewing and, if you want to drink the company kool-aid, how to show up like you have achieved the Ballmer Peak (mixed metaphors, I know ;).


Rob Richardson

More on Rob Richardson

Sessions

Track
Javascript/Node.js
Title
Post jQuery
Abstract
jQuery was a wonderful tool that paved over the irregularities of browsers and offered a simple interface for making very powerful applications. Today with evergreen browsers and modern JavaScript, we no longer need this crutch. Let's look at our favorite jQuery techniques like $.ajax() and $(...).click() and $(...).addClass() and compare this to the code we'd write in modern JavaScript. Sprinkled in are great ES6 techniques like rest and spread, promises and fetch. Challenge yourself on your next project to see if you can run in a post-jQuery world.
Track
.NET
Title
What is this .NET Core thing anyway?
Abstract
Have you heard the buzz? .NET Core 2.0 is released, and with it a great compatability story with regular .NET Framework. Want to get started and don't know where to look? Or played with some old project.json projects and want to get restarted? Come journey with us through the fundamental principles of .NET Core, look at how these evolved during the development of .NET Core, and see how you can get started today building and deploying .NET Core products.

Inactive User

More on Inactive User

Sessions

Track
.NET
Title
Getting Started Writing Roslyn Analyzers
Abstract
This session will introduce you to the fascinating world of semantic code analysis. We've had static code analysis for a long time, and it does a lot of great things; but Roslyn provides developers the ability to semantically analyze code to detect richer problems. Roslyn also enables the ability to provide a fix for potential problems. This session starts out with an overview of the types of Roslyn Analyzers then goes into the basics of semantic code analysis with Roslyn. An example of a NuGet package with a built-in semantic analyzer and walks through some of the library-specific analysis it performs
Track
.NET
Title
Why Everything Traces Back to SOLID
Abstract
There are lots of methodologies and different design styles in our industry. Many try hard to differentiate from the others; but what if I told you that they’re really all based on the same five principles? In this session I’ll level-set on SOLID * Single Responsibility Principle (SRP) * Open Closed Principle (OCP) * Liskov Substitution Principle (LSP) * Interface Segregation Principle (ISP) * Dependency Inversion Principle (DIP) Then we detail the various principles around other methodologies/styles including Service-Oriented Architecture (SOA), Domain Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Functional Programming, Agile Software Development, and even Database Normalization. We will also detail some common patterns and how they are embodiment of at least one of the principles. This is then followed up with some guidance on how SOLID really isn’t Object Oriented Design (OOD) specific and these uses of SOLID outside of just OOD are just and example of how it can be used in many places and in many ways.

Vincent Serpico

More on Vincent Serpico

Sessions

Track
Artifical Intelligence (AI)
Title
AI for Your Business - An Unfair Competitive Advantage
Abstract
Demystify AI and machine learning. How can the AI revolution help your business? What can you do with your data and predictive analytics? The answer: A LOT! Learn how you can get started and make real progress towards applying AI and Machine Learning to provide your business an unfair competitive advantage.

Nathan Smith

More on Nathan Smith

Sessions

Track
DevOps/System Administration
Title
Making Your Apps Suck Less - with Application Performance Management
Abstract

Nothing is worse than littering code with stopwatches, trace statements or any other "great" solution out there for getting insight into how it's performing in the real world. Application Performance Management tools such as AppDynamics, New Relic, DynaTrace, etc. allow deep inspection at run-time and drastically shorten the time to identify and resolve (MTTI and MTTR in the ITIL vernacular). This will walk through a sample application using AppDynamics and discuss how we typically go about identifying issues in production and how we identify them before they even ship using tools such as dynamic baselines, release comparisons, etc.


Daniel Spiegelman

More on Daniel Spiegelman

Sessions

Track
Other
Title
Master Faster Refactoring
Abstract

Have you ever changed a method name and found yourself scanning your code, fixing red lined statements, then rebuilding until the errors go away? What about deciding you really wished that class was an interface? Did you ever wonder about an easy way to clean up duplicate code?

These changes and many more can be made easy by utilizing the built in refactoring tools in the IDE you already use every day!

Join Daniel Spiegelman, a Software Development Engineer at Amazon, and become a master of faster refactoring as he shows off some examples using the IntelliJ IDE including:

  • Renaming a class in two key strokes
  • Extracting an interface out of an implementation
  • Creating a method out of highlighted code
  • So much more!

Barry Stahl

More on Barry Stahl

Sessions

Track
Artifical Intelligence (AI)
Title
A Developer's Survey of AI Methodologies
Abstract
Artificial Intelligence is far more than just machine learning. There are a variety of tools and techniques that systems use to make rational decisions on our behalf. In this survey designed specifically for software developers, we explore a variety of these methods using demo code written in c#. You will leave with an understanding of the breadth of AI methodologies as well as when and how they might be used. You will also have a library of sample code available for reference.
Track
Artifical Intelligence (AI)
Title
Building AI Solutions that can Reason Why
Abstract
One of the big problems with Artificial Intelligences is that while they are often able to give us the best possible solution to a problem, they are rarely able to reason about why that solution is the best. For those times where it is important to understand the why as well as the what, Hybrid AI systems can be used to get the best of both worlds. In this introduction to Hybrid AI systems, we'll design and build one such system that can solve a complex problem for us, and still provide information about why each decision was made so we can evaluate those decisions and learn from our AI's insights.

Inactive User

More on Inactive User

Sessions

Track
QA/Testing
Title
Automating QA with Code-free Scripting
Abstract
QA Automation is one of the most sought after fields in the tech industry. Companies spend thousands creating and maintaining automation frameworks with dedicated engineering teams, but with the right tools and a bit of planning even the most technically illiterate team member can contribute to automation efforts.

Eric Stoltze

More on Eric Stoltze

Sessions

Track
Cloud
Title
Azure Quick Deployment Tools
Abstract
Azure has many ways that we can quickly start using the cloud with little to no startup time required. This session will include topics like Azure Templates, Azure Automation, DevLabs, and more to help build and manage the cloud quickly and more efficiently.

Jeff Strauss

More on Jeff Strauss

Sessions

Track
Javascript/Node.js
Title
JavaScript Futures: ES2017 the Road Ahead
Abstract
Development teams are now using the exciting—and extensive—new JavaScript features available within ES6. Yet, as adoption has spread and projects have adapted, the language continues to evolve and expand under Ecma TC39. Last year, two features were quietly added for ES2016. In January, the committee marked another handful of improvements final for the release of ES2017. One thing is certain: the JavaScript community is not slowing down! Investigate the new and proposed features of JavaScript. Understand the ES.Next maturity stages and the TC39 review process. And most of all, become empowered to prepare for what lies ahead.
Track
Other
Title
The Impact of Leveraging Open Source
Abstract

Open source tools. We all use them. Whether an entire framework, a focused toolkit, or a simple custom component from GitHub, npm, or NuGet, the opportunity to improve our development speed while learning new things from open source projects is enticing.

But what does “open source” truly mean? What are our rights and limitations as open source consumers to use, modify, and redistribute these tools in a professional environment? The answer depends upon the OSS author’s own decisions regarding project licensing. Come investigate the core principles of open source development and consumption while comparing and contrasting some of the more popular licenses in use today. Learn to make better decisions for your organization by becoming informed of how best to leverage the open source works of others and also how to properly license your own.


Thomas Thornton

More on Thomas Thornton

Sessions

Track
Other
Title
Vim 101
Abstract
Step your text editing game up with a real text editor! Whether you would like to use Vim as your primary development environment, or just need a better text editor, come learn the basic elements of the best text editor ever created.
Track
Other
Title
Vim Macros for Fun and Profit
Abstract
Take your Vim game to the next level by learning Vim macros. We all know the programming concept DRY (don't repeat yourself), why repeat yourself when you're editing text? If you've ever had a monotonous text editing task, learn how you could have automated the solution with Vim macros.

Dave Townsend

More on Dave Townsend

Sessions

Track
Cloud
Title
Serverless Event Driven Architectures
Abstract
Serverless has a lot of hype around it right now as the next wave in the history of compute. With all of the big cloud providers trying to catch this wave, that hype appears to be not unfounded. Serverless architectures provide a way to build highly scalable event-driven distributed systems by leveraging managed cloud services and (at the core) functions as a service (FaaS). In this talk we discuss what it means to be serverless, primary use cases for serverless, being event-driven, and the pros/cons of going serverless. In the last part of the talk we will touch on how to leverage the Serverless Framework to start building these distributed event-driven architectures.

Brenna Trout

More on Brenna Trout

Sessions

Track
Database (SQL/NoSQL)
Title
The Myth of NoSQL
Abstract

"It's great that we have some of the data and can just tell you in advance when we need additional information for analysis or reporting"
- said no Product Owner ever

NoSQL databases are an alternative to traditional relational databases that are built on key-value-pair (KVP) data stores and can offer advantages over relational models with regards to flexibility and performance.

In this talk we'll look at some of the benefits of including NoSQL as part of our solution, dive into the tradeoffs that accompany this (including the inherent lack of BI functionality and model management), and offer solutions to help address the gaps by expanding our system architecture to ensure the right tool for the right job.


Mark Tucker

More on Mark Tucker

Sessions

Track
Other
Title
Create an Amazon Alexa Skill in 9 Minutes or Less.
Abstract

Using the Alexa Skill Serverless Starter Template, we will create a fact skill and customize it in 9 minutes or less. The remaining time will be spent discussing the skill code, answering questions, and exploring what makes a good Alexa skill. Join the Alexa Developers meetup at http://bit.ly/alexa-meetup

There might be a chance for you to walk away with an Echo Dot or a book on Voice User Interface Design.

 

Mark Tucker, Alexa Champion


Mike Ulichny

More on Mike Ulichny

Sessions

Track
Agile
Title
DevOps ALM in Visual Studio Online
Abstract

Visual Studio Online and Team Services are quickly adding features that support the immediacy a DevOps Application Lifecycle Management requires. Learn about Release Planning Tools, Dashboarding, Custom Alerts, API availability and many more tools that will help your team reduce risks, report progress and comminucate in real time. The session will be interactive and walk the participants though a mock project that uses the many different ALM Tools now available in Team Services. If you are looking to increase collaboration, boost your productivity or discover new way to report KPI's, then you should definitely attend this session. Co-presented by Daniel Haskell.


Hilary Weaver-Robb

More on Hilary Weaver-Robb

Sessions

Track
QA/Testing
Title
Testing RESTful Web Services
Abstract
A lot of folks doing testing (QAs, BAs, and devs alike) have experience testing applications on the front end – a graphical user interface on a website, or a mobile app. One of the often missed parts of these applications is the web services or REST APIs that power those interfaces. In this session we’ll focus on RESTful web services – what they are, how (and why) to do functional and exploratory testing, how we can automate some tests using C#, and tools that we can use to help us test them. Attendees will walk away with the understanding, resources, and techniques they need to effectively test and write automation for REST services.
Track
QA/Testing
Title
Your QA Should Be Your BFF
Abstract
Developers and QA have historically had an adversarial relationship, but it doesn’t have to be that way! In this talk we’ll go through the various reasons that developers hate QA, why some of those perceptions exist, and how to remedy them so that developers and QA can work better together and maybe even get along! Attendees will take away ideas to help their teams work together more efficiently by understanding where their QA are coming from, helping to level them up, and hopefully getting along better!

Cody Weisenberger

More on Cody Weisenberger

Sessions

Track
QA/Testing
Title
Testing Testing 123 - Getting Started With Automated Tests
Abstract

Automated testing give programmers the confidence they need to make changes in their code and release new components faster by reducing the need for manual testing. In this talk we'll go over some core concepts of automation such as CodedUI, NUnit, MOCK, Dependency Injection, and Integration, how to implement these concepts, and when to use them.


Derik Whittaker

More on Derik Whittaker

Sessions

Track
.NET
Title
Building Multi-Targeted .Net Libraries with .Net Standard
Abstract
Learn how to build a .Net library that is multi-targeted. In this session we will learn how to build library which is .net Core and .net Full Framework consumable. We will build our .Net Standard library in Visual Studio for Mac and then run our application on both the Mac and PC.

Griffin Wiebel

More on Griffin Wiebel

Sessions

Track
HTML/CSS
Title
Hidden Powers of Native CSS
Abstract
As browsers begin to implement experimental and newer CSS features , the question may arise: Do we need preprocessors anymore? In this talk, we will discuss some of the newer CSS features you may have heard of (flexbox, variables) and some experimental native CSS implementations on the rise you may not have heard of (color modifications, mixins)

Chris Woodruff

More on Chris Woodruff

Sessions

Track
.NET
Title
Developing ASP.NET Core 2.0 MVC Apps for International Users
Abstract
Creating a website with ASP.NET Core Internationalization will allow your site to reach users that speak more than English. ASP.NET Core 2.0 provides services and middleware for localizing into different languages and cultures. This talk will also demonstrate how to change currency and date formats based on your user's location.
Track
.NET
Title
Using Hexagonal Architecture to Enhance Your ASP.NET Core 2.0 Web APIs
Abstract
Over the years there have been multitudes of issues with software design and development. These include the following:
  • Software can’t be tested well with automated test suites because part of the logic needing to be tested is dependent on oft-changing front end UI’s and API endpoints
  • impossible to shift from a human-driven use of the system to a batch-run system
  • difficult or impossible to allow the program to be driven by another program when that becomes attractive
Using the Hexagonal Architecture or the Ports and Adapter Pattern allows your APIs specifically to work better due to:
  • Allowing a clear decoupling of the API endpoints, Data Access (Synthetic or Production) and finally the Data Domain classes.
  • The API Endpoints (Controllers) have no knowledge or responsibility of Data Domain and behind it Data Access
  • Because of the decoupling and separation of responsibilities testing can be done easily and without issues.
  • Data Access segments of the architecture can easily be switched out without impacting the Domain or API Endpoints
By using the Hex Architecture not only does the development story become easier but your end users get a much more stable API set to consume. The talk will explain and get you started on using these concepts with your ASP.NET Core 2.0 Web API projects.

Inactive User

More on Inactive User

Sessions

Track
Other
Title
Developing for Microsoft HoloLens
Abstract
The Microsoft HoloLens, the first fully untethered, holographic Windows computer brings with it a new wave of holographic development. This talk will cover how the basics of the device, how it works, and how you can start developing holographic applications today using Unity.