Combining passion for coding and teaching.

I have a passion for teaching and sharing my knowledge to help get you to your end goal faster. If you’d like me to speak at your event, drop me a line.

If you see me at an event, come up and say “Hi”. The best part of the events is hanging out with attendees.

Upcoming Events

Nothing Scheduled.

If you’d like me to speak at your event, drop me a line and lets make it happen. I can cover pretty much any topic you see me blog about but feel free to request just about anything.

Current Talks

Retired Talks

back to top

Past Presentations


NDC Minnesota - Saint Paul, MN (May 8th-9th)

Open Source North - Minneapolis, MN (May 22nd)

Dev Intersections - Orlando, FL (June 11th-13th)

KCDC - Kansas City, MO (July 17th-19th)

StirTrek - Columbus, OH (April 26th, 2019)

VSLive New Orleans - New Orleans, LA

Visual Studio 2019 Phoenix Launch Event - Phoenix, Az (April 16th, 2019)

  • Visual Studio Productivity
  • Visual Studio Debugging

CodeStock - Knoxville, TN (April 12th-13th, 2019)

Angular Phoenix Meetup - Phoenix, Az (April 9th, 2019)


Live Virtual Workshop with Recording November 2018

SoCal Code Camp - Los Angeles, CA (November 10th-11th, 2018)

Connect.Tech - Atlanta, GA (October 17th, 2018)

Atlanta Angular Meetup - Atlanta, GA (Octber 16th, 2018)(

DevUp - St Louis, MO (October 8th-10th, 2018)(

Desert Code Camp - Phoenix, AZ (October 6th, 2018)

MidwestJS - Minneapolis, MN (August 8th-10th, 2018)(

Phoenix Javascript - Phoenix, AZ (July 25, 2018)

KCDC - Kansas City, MO (July 12th-13th, 2018)(

Nebraska.Code() - Omaha, NE (June 6th-8th, 2018)

Music City Tech - Nashville, TN (May 31, 2018)

NDC Minnesota - Saint Paul, MN (May 7-10, 2018)

Stir Trek - Columbus, OH (May 4th, 2018)(

Codestock - Knoxville, TN (April 12th-13th, 2018)


DevUp - St. Louis, MO (Octber 16-18, 2017

Angular Mix - Orlando, FL (October 8th-13th, 2017)(

Desert Code Camp - Phoenix, AZ (October 14th, 2017)

MidwestJS - Minneapolis, MN (August 16th-18th, 2017)

KCDC - Kansas City, MO (August 3rd-5th, 2017)

Angular Phoenix Meetup - Phoenix, AZ (July 25th, 2017)

Detroit.Code() - Detroit, MI (July 10-12, 2017)

San Diego Code Camp - San Diego, CA (June 24th, 2017)

Girl Develop It - Phoenix, AZ (May 13th, 2017)

Nebraska.Code() - Lincoln, NE (May 10-12, 2017)

Codestock - Knoxville, KY (May 5th-6th, 2017)(

Learn To Code Phx Meetup - Phoenix, AZ (April 17th, 2017)

Girl Develop IT - Phoenix, AZ (March 18th, 2017)


Music City Code - Nashville, TN (August 18th-20th, 2016)

MidwestJS - Minneapolis, MN (August 10th-12th 2016)

That Conference - Wisconsin Dells, Wisconsin (August 8th-10th, 2016)

Las Vegas .NET User Group- Las Vegas, Nv (July 28th, 2016)

Ionic Az Meetup- Phoenix, Az (July 26th, 2016)

Central California .NET User Group- Fresno, Ca (July 21st, 2016)

Nebraska.Code() - Lincoln, NE (May 18th-20th, 2016)

Ionic Denmark Meetup- Denmark Copenhagen (Giving Remotely) (May 11th, 2016)

Ionic Denmark Meetup - Denmark Arhus (Giving Remotely) (April 27th, 2016)

Hill Country Javascript User Group - South Texas (giving Virtually) (April 20th, 2016)

Phoenix Version Control Meetup - Phoenix, Az (April 13th, 2016)

Codepalousa - Louisville, Ky (March 28th-30th, 2016)

**Tutorial - Use Your Existing Web Skills to Create Cross Platform Mobile Applications

Javascript Summit 2016 - Virtual (February 24th, 2016)


Laravel Meetup - Phoenix, Az (October 21st, 2015)

Silicon Valley Code Camp - Silicon Valley, Ca (Ocotber 3rd-4th, 2015)

Ionic-AZ Meetup - Scottsdale, Az (September 29th, 2015)

Phoenix Mobile Festival - Chandler, Az (September 19th, 2015)

Iterate Phoenix 2015 The Devops Conference - Chandler, Az (September 1st, 2015)

Las Vegas .NET User Group - Las Vegas, Nv (July 30, 2015)

Southeast Valley .NET User Group - Chandler, Az (July 23, 2015)

Northwest Valley .NET User Group - Glendale, Az (July 22, 2015)

San Diego Code Camp - San Diego, California (June 27th-28th, 2015)

NDC Oslo - Oslo, Norway (June 15th-19th, 2015)

Codepalousa - Louisville, Ky (April 27th-30th, 2015)

Nebraska.Code()- Lincoln, Ne (March 19th-21st, 2015)

SoCal Code Camp - Fullerton, Ca (March 7th & 8th, 2015)

Las Vegas Code Camp - Las Vegas, Nv (February 21, 2015)

Arizona Software Community - Phoenix, Az (January 2015)


Northwest Valley .NET User Group - Phoenix, Az (November 2014)

So Cal Code Camp - Los Angeles, Ca (November 2014)

[Desert Code Camp - Chandler, Az (October 2014)

Southeast Valley .Net User Group - Chandler, Az (September 2014)

Southeast Valley .Net User Group - Chandler, Az (May 2014)

Desert Code Camp - Chandler, Az (April 2014)

Southeast Valley .Net User Group - Chandler, Az (February 2014)

Talk Details

Angular Unit Testing from the Trenches

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.

back to top

Build mobile apps for iOS, Android, and Windows using JavaScript

Mobile application development does not need to be difficult for us Web Developers. No longer do we need to learn a whole slew of new programming languages to create a mobile application. We can use our existing skills and create mobile applications with Html, JavaScript, and CSS. Then deploy to Android and iOS devices using a single code base that looks, feels, and performs like a native mobile application.

Visual Studio Tools For Apache Cordova (TACO) takes the pain out of getting your mobile development environment up and running. You can do all of your coding, testing, and debugging of your mobile application right inside of Visual Studio.

Along with the Ionic framework templates, you will be able to get your mobile app created in record time. The Ionic framework takes the worry out of making the UI look, feel and perform correctly on the slew different Apple and Android devices that your users will have. You will be able to focus on your business logic and not the underlying infrastructure.

In this talk we will dive into the Visual Studio TACO features, how to get it all setup, take a quick glance at the Ionic framework and finish off by creating a sample application. You will walk away from this talk with all of the tools that you need to deliver your first mobile application


back to top

Chocolatey - making the process of installing software on windows easy as pie

Chocolatey is a machine package manager somewhat like apt-get for Linux but built for Windows. No more searching for the install download or trying to figure out 32/64 bit or wonder what options to pick. Chocolatey takes care of doing the install for you and you can even create scripts to install multiple packages. With Chocolatey you can bring up a new development machine with minimal effort. By the end of this session you will have all of the information you need to be both a consumer and create of Chocolatey packages.Chocolatey isn’t just for system administrators. It is extremely useful for both developers and end-users as well.For developers, you can quickly bring up a new machine and get all of your software installed on it with minimal effort. It is also very easy to make Chocolatey packages for your software and distribute it to your users.For end-users, no longer will they need to search for where to download your software or how to install it. Chocolatey will do all of the work for them.



Additional Resources

back to top

Continuous Integration with Github and TravisCI

Come learn how easy it is to implement continuous integration using TravisCI every time you push your commits to Github.

If you don’t know what continuous integration is, it is where on push to your version control system, an automated build is kicked off that ensure that all of your tests and compilation works on a machine that mirrors production and is not your laptop.


My TravisCI:

back to top

Cypress: Where Automated Web UI Testing Isn’t Just for QA Anymore

Today’s fast-moving software delivery environment emphasizes pushing value to production as quickly as possible. “Value to production” implicitly requires high quality—low quality is of little value to anyone! —which means teams need to focus on being able to specify, build, test, and deploy software effectively and quickly. Acceptance testing historically been manually intensive efforts run by a dedicated QA department, resulting in a slower pace of production releases.

No longer do we have to make acceptance a manual effort that requires a dedicated QA department. With the release of Cypress, we have a new standard in front-end testing that allows every developer to create acceptance tests. Come learn how you can create fast, easy, and reliable test for anything that runs in a browser regardless of the front-end framework used.

You will walk away ready to end the era of “Developers don’t write acceptance tests” and start writing acceptance tests for all of your projects.

back to top

Designing a Restful Api in Minutes with Backand

Are you like me and dislike having to waste time crafting an API for standard CRUD operations? Are you a front-end developer that doesn’t want to become a database expert in order to create your Restful Api? Then worst of all after once you do finally finish crafting your API, you have to figure out how to host it and get it deployed. This takes a lot of time away from you being able to focus on your UI and getting it out to the market.

Back& can take all of this pain away and allow you to focus on your UI and not crafting your API. Create your data model and Back& will generate the Restful Api for you. If you already have a database, just point Back& to it and Back& will generate the Restful Api from that database. If you also need user/password authentication, social login authentication, server side logic, or hosting, Back& has you covered here as well.

In this session, we will examine the features of Back& , walk through the creation of an API, hook the API up to an AngularJS application and then deploy it to the Back& hosting.

back to top

Data Driven Restful Api Creation Made Easy Breezy

Are you tired of writing CRUD based APIs? Wish you could fast track your Api development so that you can focus on your UI? Don’t want to become an API/Hosting expert just to get a basic API in the Cloud? Then this session is for you. Creating and Hosting a Restful Api for standard CRUD operations should be an easy task and not one that slows down your applications development. In this session, we examine the pros/cons my favorite Cloud based API providers (Firebase, Back& and Strongloop) and then we will create an API in each. You will be able to see how with these 3 Cloud API providers how easy it is to create a full Restful Api in under 10 minutes.


back to top

Gulp for the .Net Developer

With the release of Visual Studio 2015 Gulp has become a standard part of the workflow for .Net developers. Gulp has a lot of functionality available such as minification, injecting script tags into html, running js hint, creating source maps, generating css from sass files, plus much more. In this session, you will learn the basics of gulp, how it integrates into Visual Studio, and how to create your own gulpfile to automate common tasks. You will walk away with a starter gulp file to get you on your way to fully utilizing gulp.

Slides and Source Code:

Additional Resources

back to top

Ultimate Presentation Formula for Nerds

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. Being a confident communicator and public speaker can set you apart from the crowd. Public speaking at the end of the day is all about effectively communicating our ideas to others. We have all been training our whole lives to be better communicators. Not a one of us was born with the ability to talk. Talking is a learn skill, just like public speaking is. Anyone can learn to be a confident communicator with a bit of know-how and some practice.

I will share with you how I went from a shy, introverted software developer who would run away from any kind of public speaking to a professional speaker that sprints towards every speaking opportunity and how you can do it as well. T

You will walk away on the road to becoming a confident public speaker that knows how to give an effective presentation and will be ready to rock your next presentation.

back to top

Mobile Dev for Web Devs

Are you already a web developer and want to create a mobile application? Then come learn all about the Ionic mobile framework. Using technologies that we already know and love with Html 5, Javascript, and CSS 3, you can easily create a mobile application that targets Android, iOS, and Windows 10 Phone. Your application will look, feel and perform like a native application without you having to do anything special. Ionic takes care of all of the hard work of making it look right on the mobile devices so that you can focus on your application. After seeing the Ionic framework, you will be excited to deliver mobile applications. We will walk through the features of Ionic, getting it setup, and then create a fully working application that is ready to release in the app store.

Ionic v2 Overview

Ionic V1 Overview

Visual Studio Apache Cordova Tooling With Ionic

Additional Resources

back to top

Intro to Version Control with Git and Github

Being able to understand and use version control is a critical part of being a software developer. Version control allows you (and your team) to collaborate, track, and revert changes to your code, documentation and samples. One very popular version control is Git. In this talk we will cover the basics of using Git, show how to publish and share your code through the GitHub, and how to contribute to an open source project using Git and Github.

You will walk away from this talk ready to use Git and Github to manage all of your code assets and know how to contribute to open source projects.

If you want to follow along with the examples, bring your laptop with install the Git command line from and have a Github account created at if you do not already have one.


back to top

Nuget is easier than you think and you should be using it as both a consumer and creator of packages

Nuget is a package manager for Visual Studio that allows you to easily share assets (dll, javascript, c#, etc files) and use them in your project. Most Visual Studio developers have consumer nuget packages but few have created and shared nuget packages. It is amazingly easy to create and publish a nuget package. In less than 60 minutes I will show you how move from a consumer to a creator. You will learn how to package up dll’s, source code that needs to be inserted in a project, add/change configurations, publish a package and host your own nuget feed.



Additional Resources

back to top

Rapid API Development with Node and Sails

Creating a RESTful API should be the easiest part of your development. You should not have to be a rocket scientist to successfully create a RESTful API. With Sails, you can create a full featured RESTful API in just a few minutes without writing any code. You get create, destroy, update, find, paginate, sort, and filtering out of the box. If you need to add your business logic to any of the methods or create your own methods, you can do that by writing simple JavaScript functions.

When you are ready to implement your security layer, Sails has you covered. Sails provides basic security and role-based access in the form of policies that can be applied any REST action. Policies are interchangeable with Express/Connect middleware which means you can plugin in popular NPM modules such as Passport. You can also easily implement your own email/password, social login or Windows authentication with a bit of JavaScript.

For data storage, Sails bundles the power ORM, Waterline, which provides a simple data access layer that just works, no matter what database you are using. Out of the box MongoDB, MySQL, PostgreSQL, and Redis are support. However, there are more than 30 data storage providers adapter that the community has created such as Microsoft SQL Server, Couchbase, Salesforce, and Firebase. You can easily switch between any data storage provider or mix and match data storage providers on a model by model basis.

This talk will be code heavy as we walk through getting started with Sails and demonstrate how to implement the features of Sails through the creation of an API. As well, I will share the tips and tricks that I have learned using Sails at a Fortune 100 company. You will walk away understanding how and why you should use Sails on your next project.



back to top

Side Waffle - The easiest way to build templates for Visual Studio

The SideWaffle extension adds a bunch of useful Snippets, Project- and Item Templates to Visual Studio. The purpose is to make your daily work in Visual Studio a richer and more productive experience.



Additional Resources

back to top

Tips and Tricks to Maximize Your Productivity in Visual Studio

Come learn about the new productivity enhancements in Visual Studio 2015 and C# 6.0, some very cool Visual Studio Extensions, and standard shortcuts to use to unlock your productivity potential in Visual Studio. You will walk away from this session with all kinds of new tips and tricks to wow your fellow developers.



Additional Resources

back to top

Up and Running with Angular in 60 Minutes

If you have ever wanted to code an application with Angular this is your chance. Join us for a fun filled day of learning Angular in this hands-on workshop. You will go from 0 to 60 with your Angular knowledge and be able to create our own Angular applications by the end of this workshop. We will start with a new project and continue to build up the project until we have a full application at the end.

back to top

Up and Running with Angular Workshop

If you have ever wanted to code an application with Angular this is your chance. Join us for a fun filled day of learning Angular in this hands-on workshop. You will go from 0 to 60 with your Angular knowledge and be able to create our own Angular applications by the end of this workshop. We will start with a new project and continue to build up the project until we have a full application at the end.

Topics Covered

  • What is Angular and the different parts that make up Angular?
  • Angular CLI Overview
  • Angular project layout overview
  • Creating common components like headers, footers, and menus.
  • Applying CSS to just a single component vs the whole site
  • Creating new components (pages)
  • Routing between components (pages)
  • Calling an external http service
  • Preparing your application for deployment
  • Adding authorization checks to routes (if time permits)
  • Testing overview (if time permits and our brains aren’t already full with Angular knowledge)


Pre-Requisite Knowledge

  • Html and CSS
  • Understanding of how events like click work in Html/JavaScript
  • TypeScript is helpful but we will cover the needed knowledge if you do not have any TypeScript experience


Below is a quick list of the pre-work commands. These steps are covered in details in Lab 2 and Lab 3

  • Node LTS 8.x
  • Visual Studio Code
  • Angular CLI (npm install -g @angular/cli)
  • Create a new Angular project using the Angular CLI
  • Open Command Prompt or Terminal
  • Navigate to c:\ on Windows and ~/ on Osx
  • Run: mkdir projects
  • Run: cd projects
  • Run: ng new ngws –style scss –routing
  • Run: cd ngws
  • Run: npm run start
  • Open browser and navigate to http://localhost:4200 and you should see the default web page for your Angular application

back to top

Vagrant - Devops Yourself: Fast-Track Your Dev Environment Setup

Does this ever happen to you? The configuration takes forever to remember, document and configure. You can’t seem to reproduce the configuration on another developers machine? Then vagrant my friend is for you. Vagrant will change how you work. You will forever say goodbye to the “works on my machine” excuse for the development environment for everyone on your team.

Vagrant Only Slides:

Vagrant and Chocolatey Slides:


Additional Resources

back to top

Why You Need A Blog and How to Create a Successful One

Blogging can greatly help you advance your career. Don’t wait until you need a blog to create one. This talk gives you all of the tools that you need to create a blog that is updated regularly.


Past Presentations

back to top

Zero to Database with EF Core Code First in 60 minutes

Be able to quickly create databases that even your DBA would be proud of without becoming a database expert using EF Core Code First. You will never again let someone else create the database and then reverse engineer it with EF Core tooling. Everything you need comes out of the box with EF Core. You will walk away immediately ready to create your own database using EF Core Code First.

back to top