My Blog

Netherlands Here We Come
Netherlands Here We Come
November 27, 2024

Back in 1993, I moved to Amsterdam with a guitar and $70. Not my brightest move. I spent much of the next two years playing music on the street (e.g. Busking) in and out of Amsterdam. It was an amazing part of my life. I don't regret a minute of it.

My Recent Talk at the Atlanta .NET Users' Group about Aspire
My Recent Talk at the Atlanta .NET Users' Group about Aspire
November 13, 2024

I've been remiss. I recently gave a talk at the Atlanta .NET Users' Group and promised to post the source code. About time I got to this ;)

My Recent Talks
My Recent Talks
September 26, 2024

I just finished giving my two talks at TechBash in Pennsylvania. Great to visit the Poconos this time of year. I also attended and spoke at the Atlanta Developers Conference last Saturday. Great audiences and great questions.

Disabling Google Sign-in Popup
Disabling Google Sign-in Popup
July 22, 2024

I recently was inundated with Chrome injecting into many websites a little pop-up to encourage you to sign-in with your Google account. I hate it. After a lot of searching (and a heroic Twitter user) - I got it to go away.

Composing Linq Queries
Composing Linq Queries
July 20, 2024

At one of my clients, I was showing him how to structure a complex Linq query. This came as a surprise to him and I thought it was worth a quick blog entry.

Separating Concerns with Pinia
Separating Concerns with Pinia
July 1, 2024

In my job as a consultant, I often code review Vue applications. It is common to me to see views with a lot of business logic and computed values. This isn't necessarily a bad thing, but can incur technical debt.

Health Checks in Your OpenAPI Specs
Health Checks in Your OpenAPI Specs
June 17, 2024

Adding health checks to your ASP.NET Core projects is simple and easy, but how do you get them exposed in your OpenAPI specification? Let me show you how!

Minimal APIs Nuget Packages
Minimal APIs Nuget Packages
April 21, 2024

I've been looking at my Nuget packages and they're kinda a mess. Not justthe packages, but the naming and branding.

My Nuget Packages
My Nuget Packages
January 29, 2024

In my last blog post, I mentioned that I was pivoting to what I'm doing next. It feels a lot of people are going through an upheaval. Is it systemic?

Is it Time to Panic? Suddenly, Everyone Seems to Need a Job
Is it Time to Panic? Suddenly, Everyone Seems to Need a Job
August 15, 2023

In my last blog post, I mentioned that I was pivoting to what I'm doing next. It feels a lot of people are going through an upheaval. Is it systemic?

Where Have I Been?
Where Have I Been?
July 31, 2023

I went to my blog the other day and noticed my last story here was in February. I guess I got a little distracted. So, what have I been up to?

A Minimal API Discovery Tool for Large APIs
A Minimal API Discovery Tool for Large APIs
February 22, 2023

I've been posting and making videos about ideas I've had for discovering Minimal APIs instead of mapping them all in `Program.cs` for a while. I've finally codified it into an experimental nuget package. Let's talk about how it works.

I'm Hosting Two New Online Courses
I'm Hosting Two New Online Courses
February 17, 2023

As you likely know if you've read my blog before, I have spent the last decade or so creating courses to be viewed on Pluralsight. I love making these kinds of video-based courses, but I've decided to get back to instructor led training a bit.

Digging Into Nullable Reference Types in C#
Digging Into Nullable Reference Types in C#
February 13, 2023

This topic has been on my TODO: list for quite a while now. As I work with clients, many of them are just ignoring the warnings that you get from Nullable Reference Types. When Microsoft changed to make nullability the default, some developers seemed to be confused by the need.

Using Vite's Plugin for Progressive Web Apps (PWAs)
Using Vite's Plugin for Progressive Web Apps (PWAs)
February 9, 2023

I've worked with Progressive Web Application plug-ins with several SPA frameworks. Most of them are pretty simple to implement. But when I learned about Vite's plug-in, I was intrigued since that would work across different SPA frameworks.

What Surprised Me About ECMAScript Modules
What Surprised Me About ECMAScript Modules
February 1, 2023

I've been writing JavaScript (and TypeScript) for a lot of years. But digging into the course made me understand how some of this modularity actually worked. Let's talk about some things that surprised me.

ChatGPT Wrote This Post
ChatGPT Wrote This Post
January 31, 2023

I was playing with ChatGPT (like we all are) and thought about what if it could write a blog-post in the style of my writing.

Generating Sample Data with Bogus
Generating Sample Data with Bogus
January 29, 2023

Most of my job these days is creating tutorials or examples. This means I often start from scratch with a new type of project. I usually just cruft up some sample data for my project to start. While investigating some alternatives to Automapper (video and blog coming soon), I wanted to be able to create a bunch of sample data. I, luckily, ran into a tool that I was surprised I'd never heard of: Bogus.

Vite-Powered SPAs in ASP.NET Core Projects
Vite-Powered SPAs in ASP.NET Core Projects
January 18, 2023

If you've heard me talk about Vite in the past (and so commonly mispronouce it), you know I am a fan. With many Vue, React and SvelteKit applications are moving to Vite, I've been investigating how to integrate it for development and production into ASP.NET Core applications. Let's see what I found out.

More on .NET 7 user-jwts Tool
More on .NET 7 user-jwts Tool
January 10, 2023

I recently released a Coding Short video and a blog post about the new JWT Tooling in .NET 7. It was received well, but I didn't dig into some of the real details of what is happening.

A New Year: Changing Tides
A New Year: Changing Tides
January 2, 2023

As many of you know, I've been doing online training for the past twelve years with Pluralsight. I've devoted most of my time to creating courses. It has been amazing and wonderful to do this. But the time has come to diversify what I do.

Changes in JWT Bearer Token Setup in .NET 7
Changes in JWT Bearer Token Setup in .NET 7
December 7, 2022

If you've taken my "Building an API with ASP.NET Core" course over at Pluralsight, one of the more complicated tasks is to add support for JWT Tokens. In .NET 7, they've simplified this quite a bit.

Wiring Up Azure AD to ASP.NET 7
Wiring Up Azure AD to ASP.NET 7
December 7, 2022

C# 11 Strings in the Raw
C# 11 Strings in the Raw
November 26, 2022

With the release of C# 11, there is a new string in town. It might be getting crazy, but this new "Raw String Literals" is something interesting.