I use Lanyrd to track where I’ve spoken and am going to speak.  Please contact me if you’re interested in having me speak at your event.

Upcoming

Description Date Event Location
Deconstructing TypeScript's Type System April 2017 Chicago Code Camp Chicago, IL
An Opinionated, Maintainable REST API Architecture for ASP.NET Core June 2017 NDC Oslo Oslo, Norway
An Opinionated, Maintainable REST API Architecture for ASP.NET Core June 2017 CodePaLOUsa Louisville, KY
Deconstructing TypeScript's Type System August 2017 Kansas City Developer Conference Kansas City, MO
Never RESTing – RESTful API Best Practices using ASP.NET Web API August 2017 Kansas City Developer Conference Kansas City, MO

Past

Description Date Event Location
Never RESTing – RESTful API Best Practices using ASP.NET Web API January 2017 NDC London London, England
Functional Web Programming using Elm January 2017 CodeMash Sandusky, OH
Getting Started with Angular 2 and TypeScript October 2016 DevUp St. Louis, MO
Never RESTing – RESTful API Best Practices using ASP.NET Web API October 2016 DevUp St. Louis, MO
Getting Started with Angular 2 and TypeScript October 2016 New York Code Camp New York, NY
Never RESTing – RESTful API Best Practices using ASP.NET Web API October 2016 New York Code Camp New York, NY
Getting Started with Angular 2 and TypeScript September 2016 Heartland Developer Conference Omaha, NE
Functional Web Programming using Elm September 2016 Heartland Developer Conference Omaha, NE
ASP.NET Core – What You Need To Know August 2016 dotNetConf.local St. Louis, MO
Never RESTing – RESTful API Best Practices using ASP.NET Web API August 2016 Music City Code Nashville, TN
Getting Started with Angular 2 and TypeScript August 2016 Music City Code Nashville, TN
Building Single Page Apps using Angular 2, ASP.NET Core, and TypeScript August 2016 Music City Code Nashville, TN
Never RESTing – RESTful API Best Practices using ASP.NET Web API July 2016 St. Louis .NET User Group St. Louis, MO
Getting Started with Angular 2 and TypeScript June 2016 Kansas City Developer Conference Kansas City, MO
Never RESTing – RESTful API Best Practices using ASP.NET Web API June 2016 Kansas City Developer Conference Kansas City, MO
Building Single Page Apps using Angular 2, ASP.NET Core, and TypeScript June 2016 Kansas City Developer Conference Kansas City, MO
Getting Started with Angular 2 and TypeScript May 2016 Nebraska.Code() Lincoln, NE
ASP.NET Core – What You Need To Know May 2016 Nebraska.Code() Lincoln, NE
Building Single Page Apps using Angular 2, ASP.NET Core, and TypeScript May 2016 Nebraska.Code() Lincoln, NE
Never RESTing – RESTful API Best Practices using ASP.NET Web API April 2016 Chicago Code Camp Chicago, IL
Building Real-Time Mobile Apps using Xamarin and SignalR November 2015 St. Louis Days of .NET/DevUp St. Louis, MO
Building Real-Time Mobile Apps using Xamarin and SignalR August 2015 ThatConference Wisconsin Dells, WI
What’s New in ASP.NET 5 June 2015 St. Louis .NET User Group St. Louis, MO
What’s New in ASP.NET 5 April 2015 Microsoft Store St. Louis, MO

Building Single Page Apps with Angular 2, ASP.NET Core and TypeScript

The web world has become increasingly more complex over the past few years. The demand for fast, fluid single page applications (or SPAs) has gone up, along with the seemingly endless number of frameworks used to build them. The most popular among them, Angular 1, took the SPA world by storm seven years ago. Since then, it’s been adopted by many developers and firms looking to build rich, feature-fill applications for the web and beyond.

Angular 2 looks to continue that trend with a library that is more performant, lighter, and easier to use. We’ll learn about components, directives, and services as well as the new Angular 2 syntax. We’ll be building all of these using TypeScript, Microsoft’s open source language that the Angular 2 team has adopted as their language of choice for developing Angular 2 applications.

We’ll also take an opportunity to explore ASP.NET Core, Microsoft’s latest web offering. This open source, lightweight framework runs across many platforms and is a perfect back end complement to Angular 1 or 2. We’ll explore setting up a new project with Angular 2 as well as setting up controllers, models, and views. For current Web API 2 users, we’ll also briefly go over some of the major differences between ASP.NET 4.6 and ASP.NET Core.

Presenting at:

Nebraska.Code() 2016
Kansas City Developer Conference 2016
Music City Code 2016

Never RESTing – RESTful API Design Best Practices Using ASP.NET Web API

Designing and building RESTful APIs isn’t easy. On its surface, it may seem simple – after all, we’re only marshaling JSON back and forth over HTTP right? However, that’s only a small part of the equation. There are many things to keep in mind while building the systems that act as the key to your system.

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

The session will show examples using ASP.NET Web API and C#. However, this session will benefit anyone who is or might be working on a RESTful API.

Presenting at:

Chicago Code Camp 2016
Kansas City Developer Conference 2016
Music City Code 2016
DevUp 2016
St. Louis .NET User Group – July 2016


Past talks

ASP.NET Core – What You Need To Know

Microsoft has built a rich ecosystem around the various flavors of ASP.NET – MVC, Web API and even WebForms have a place in the modern web development world. So what the heck is up with ASP.NET Core anyways? Microsoft has flipped the ASP.NET world on its head with this fast, cross-platform web framework, designed from the ground up with developers from all walks of life in mind – and the change isn’t as scary as you think.

In this session, we’ll learn about ASP.NET Core and its design philosophies. We’ll learn how to leverage several popular development tools frequently used by developers outside of the ASP.NET ecosystem, including Gulp, Bower, Node and NPM, to build and run our application. Finally, we’ll use Visual Studio Code to create and run our very first ASP.NET Core project (on a Mac no less!)

For current ASP.NET developers, we’ll also touch on the portability of your current ASP.NET code.

Presenting at:

Nebraska.Code() 2016
St. Louis .NET User Group – August 2016

Getting Started with Angular 2 and TypeScript

The web world has become increasingly more complex over the past few years. The demand for fast, fluid single page applications (or SPAs) has gone up, along with the seemingly endless number of frameworks used to build them. The most popular among them, Angular 1, took the SPA world by storm seven years ago. Since then, it’s been adopted by many developers and firms looking to build rich, feature-fill applications for the web, mobile, and beyond.

Angular 2 looks to continue that trend with a library that is more performant, lighter, and easier to use. In this session, we’ll learn about components, directives, services, and dependency injection, as well as the new Angular 2 syntax. We’ll also learn about TypeScript, Microsoft’s open source superset of JavaScript that enables fast, fluid, fun, and safe development. Learn about some of the features of TypeScript that enable us to rapidly develop and easily maintain Angular 2 applications with ease, including classes, decorators, and compile-time type checking.

Presenting at:

Nebraska.Code() 2016
Kansas City Developer Conference 2016
Music City Code 2016
Heartland Developer Conference 2016
DevUp 2016
St. Louis .NET User Group – September 2016

Real-Time, Cross-Platform Mobile Apps using Xamarin and SignalR

Refreshing is out, real time data is in.  No longer is it good enough to expect your users to pull to refresh or reload an app to get the latest data from your service.  Modern frameworks have made it much easier to add real time functionality to anything, from web pages to mobile apps.  SignalR, ASP.NET’s real-time data framework, is typically used for real time communication on the web, but that’s just the tip of the iceberg.  Learn to leverage this popular and easy-to-use framework to create apps that work real time.

Speaking of apps, what better framework to use than Xamarin?  Cross-platform C# mobile development is a .NET engineer’s dream, and Xamarin has made it even easier with Xamarin.Forms, a framework that can be used to create applications for all three major mobile platforms – Android, iOS and Windows Phone.  Using the power of Xamarin and SignalR, you can create fast, maintainable mobile apps with real time data – and do it fast!

Presented at:

ThatConference 2015
St. Louis Day of Dot Net 2015

Doing the Impossible: Friction-Free Web Development using Elm

How can you bring true functional programming into the web world, be guaranteed to never have runtime errors, AND transpile down to JavaScript so you can run it anywhere? No, it's not a pipe dream - it's Elm. Elm describes itself as a direct competitor to React, but it’s so much more – it’s a language as well as a set of tools for building scalable web applications in a concise, maintainable way.

In this session, we'll explore the Elm programming language and how its functional roots will help you write code that guarantees zero runtime errors and zero surprises. Attendees will learn how to leverage The Elm Architecture and the model-update-view pattern to structure their web applications. Finally, attendees will learn how to get started with the Elm tooling, including the compiler and command line interface.

Presenting at:

Heartland Developer Conference 2016 CodeMash 2017

What’s New in ASP.NET 5

A presentation and demo of some of the new features in ASP.NET 5.

Microsoft Store in the St. Louis Galleria, 2015
St. Louis .NET User Group Meeting, 2015