My Blog

Leaving the .NET Foundation Board - a Post Mortem
Leaving the .NET Foundation Board - a Post Mortem
October 31, 2022

In case you didn't see the notice, my term as a board member of the .NET Foundation is now over. After two years, my term has expired.

New Videos: Coding Short and a Rant
New Videos: Coding Short and a Rant
October 31, 2022

I can't believe October is almost over! I forgot to post about a couple of videos I made this month.

New Video: Coding Shorts - Static Site Generation with Eleventy
New Video: Coding Shorts - Static Site Generation with Eleventy
October 2, 2022

For some of my personal sites that aren't the dynamic, I've moved them from ASP.NET to static site generation. I find it the right solution for a myriad of smaller websites.

New Video: Coding Shorts - Generic Attributes in C# 11
New Video: Coding Shorts - Generic Attributes in C# 11
September 15, 2022

I've been busy with a lot of small projects lately. Among these is to get up to speed with .NET 7 and C# 11. One of the things I've been curious about is the new support for Generic Attributes.

TailwindCSS Tip: Arbitrary Values in Utility Classes
TailwindCSS Tip: Arbitrary Values in Utility Classes
September 6, 2022

I'm currently redesigning this blog (coming soon) and I've been using TailwindCSS to handle most of the heavy lifting. Being able to use the utility classes to quickly design the new version of the site, has been a ton of fun.

New Video: Coding Shorts - Output Caching in ASP.NET Core 7
New Video: Coding Shorts - Output Caching in ASP.NET Core 7
August 10, 2022

In continuing my discussion of middleware in my Coding Shorts videos, I have a new one that talks about a change to .NET 7 that brings back Output Caching.

Twenty Plus Years of Blogging
Twenty Plus Years of Blogging
July 28, 2022

I've been logging a long time. My wife and I were talking about it. We realized that it's been over twenty years since my first nascient online attempts.

New Video: Coding Shorts - Response Caching in ASP.NET Core
New Video: Coding Shorts - Response Caching in ASP.NET Core
July 27, 2022

After my recent video about How ASP.NET Core Middleware Works, I'm continuing to plow through some important pieces of middlware you might not be using.

New Course: TailwindCSS Fundamentals
New Course: TailwindCSS Fundamentals
July 22, 2022

I've been diving deeper into the client-side development pool. One technology I'm really passionate about is TailwindCSS. In that vein, I've just completed a new course for Pluralsight called "TailwindCSS Fundamentals".

Coding Shorts: ASP.NET Core Middleware Explained
Coding Shorts: ASP.NET Core Middleware Explained
July 17, 2022

As I continue to make my Coding Shorts videos, I decided to dedicate the next few episodes to ASP.NET Core middleware. I'm going to show off some common middleware that more projects should be using. But before I dive into that, I wanted to make sure everyone understood how middleware actually works.

Coding Shorts: Nested Routing in Vue.js
Coding Shorts: Nested Routing in Vue.js
July 5, 2022

I've been working on a new Microservice example and I'm writing the client in Vue.js. Due to the nature of the project, I needed to use Nested Routing. I thought this might be a good topic for a Coding Short.

New Rant: On Microservice Architecture
New Rant: On Microservice Architecture
June 7, 2022

I just got back from four conferences in Europe...and boy are my arms tired. One of the common themes of a lot of talks seemed to be the magic of microservices. I decided to give my 2 cents on the subject in this new rant:

DevDay Denmark Talk about gRPC in ASP.NET Core
DevDay Denmark Talk about gRPC in ASP.NET Core
May 17, 2022

just got out of the DevDay Denmark, a one-day event put together by the incomparable Tibi Covaci at the Copenhagen Microsoft office. Was a great set of talks.

London NDC Talk about TailwindCSS
London NDC Talk about TailwindCSS
May 10, 2022

Using Background Services in ASP.NET Core
Using Background Services in ASP.NET Core
May 4, 2022

I have a small link shortener that I run for myself. I built it mostly so I could update short links when an URL changes (which bitly didn't let me do). It's been running for a few months and I'm really happy with it. One of the things that I missed was tracking the usage of short links to see how they were being used.

Coding Shorts: Speeding Up the Editor in Visual Studio 2022
Coding Shorts: Speeding Up the Editor in Visual Studio 2022
May 3, 2022

Visual Studio 2022 is frustrating me. Not only does debugging sometimes take way too long, but, for me, the real problem is that the editor is trying to do too much to help me. I just want to be able to type code.

Simple Web Interactivity with Alpine.js
Simple Web Interactivity with Alpine.js
April 27, 2022

After working with lots of these little JavaScript libraries, sometimes I pine for something simple to create interactivity on websites. In this Coding Short, I investigate Alpine.js to see how it works and where it might be useful:

Multiple Directories for Static Files in ASP.NET Core
Multiple Directories for Static Files in ASP.NET Core
April 25, 2022

My recent video elicited several interesting responses. But immediately, I noticed that using ASP.NET Core's cache busting (e.g. asp-append-version) wasn't working quite right for additional StaticFiles middleware. Evidently, I wasn't doing it correctly. Let's walk you through it.

SPAs in ASP.NET Core - Another Attempt
SPAs in ASP.NET Core - Another Attempt
April 20, 2022

After discussing this topic with a client, I realized that my old method of hosting SPAs in ASP.NET Core didn't handle resources correctly, so I dug in and came up with **yet another** technique. This one is the simpliest and the least intrusive and works better than most. Let me know what you think about it:

How to Access Query Strings in Minimal APIs
How to Access Query Strings in Minimal APIs
April 4, 2022

I love that this job allows me to learn new stuff every day. In this case, I was building a simple API to use for some upcoming <a href="https://shawnl.ink/psauthor">Pluralsight</a> courses. I wanted to use Minimal APIs to expose some data for an old dataset from <a href="https://data.fivethirtyeight.com">FiveThirtyEight</a> on Bechdel Tests for Films. While I was adding paging, I got confused.

New Maintainers Video: Mattias Karlsson
New Maintainers Video: Mattias Karlsson
March 28, 2022

In this new Maintainers video, I talk with Cake Maintainer about how he manages the project and what motivates him.

New Video: An Early Look at C# 11
New Video: An Early Look at C# 11
March 20, 2022

I've started staying on top of early releases on .NET 7 and C# 11 already. In this new Coding Shorts video, I look at four of the released changes to C# and hopefully you can get a head start on seeing where C# is going.

New Video: Pinia for Vue 3: A Better Vuex?
New Video: Pinia for Vue 3: A Better Vuex?
March 13, 2022

I'm happy to see that instead, they've adopted Pinia as an alternative. I am not in love with Pinia (as I use reactive objects more often) but for complex scenarios it reminds me of something closer to the Composition API.

New Video: Coding Making Sense of reactive() and ref() in Vue.js
New Video: Coding Making Sense of reactive() and ref() in Vue.js
January 30, 2022

I went on the WebRush podcast (with John Papa and Dan Whalin (et al.)) and had a discussion about reactive() and ref() in the Composition API that resulted in this video.