Shawn

Shawn Wildermuth

The Blog

My Rants and Raves about technology, programming, everything else...


My Courses Are Free During the Crisis

CoursesNot sure if anyone is as anxious about the state of the world as I am, but I'm a little freaked out. I don't have any medical skills and am already isolating myself in place (with my wonderful wife). So I don't feel like there is much I can do to help.

I had an idea last week to discount my Bootstrap 4, but it still didn't feel like enough. So instead, I've decided to open all my personal course (not the Pluralight courses) for free until this all blows over. If you're home waiting for something to do, you can go watch any of these courses completely free.

You do not need to register, or anything, just visit the course and all the videos are available as ‘previews’. You will be able to take the entire course without even giving me any personal information! The courses include:

Read...


ASP.NET Core in Azure App Services' Docker Images - Part 3

Azure App Services In this last post in the series, i'll show you how to use GitHub Actions to automate when you want to push a new version of your container to your Azure App Service.

While you could do the same automation in a lot of other tools, the important idea here is that you want to automate it all.

This will be a three part series:

Read...


ASP.NET Core in Azure App Services' Docker Images - Part 2

Azure App Services Assuming you read my last post, you should be ready to take your ASP.NET Core project and deploy it to Azure App Services. This post, I'll walk you through the process.

Much of what I will show you can certainly be done with the Azure CLI, but I'm not fancy, so I'll show you in the Azure portal. Hopefully that won't ruin my cool quotient among developers ; )

This will be a three part series:

Read...


ASP.NET Core in Azure App Services' Docker Images - Part 1

Azure App ServicesI've been using Azure App Services (e.g. WebApps) for a few years now. I've been mostly happy with the result. Though I've had some trouble with the way that the App Service environment works from time to time (mostly with the version of .NET Core that is running).

To try and eliminate that (and possibly save some cost), I decided to switch my apps to use Docker Containers. I thought I'd share how I did it in case you want to do this as well.

This will be a three part series:

Read...


Year in Review - 2019

Cat in the StudioThe new year is coming soon and that means it's time for my yearly look back at my life and industry. This was an odd year for me since I didn't do many conferences and stayed home to solve some issues and work on the film.

The year home did me a lot of good. My health is even better and first year without major kidney stone issues. If you've read my blog for a while, you might remember that I did this last year.

After being curmudgeonly about turning 50, I feel a lot better about it now that it's behind me. I still don't feel like retirement is coming soon. Luckily since I'm mostly teaching, most days I have time to code on my own, continue to make films, and be available to my family. I'm a very lucky person. I Here are some categories of my life.

Read...


Github Actions for CI-CD

GitHub ActionsI've been lazy. It's true. I've been waiting to setup CI/CD for a long time on my own project websites. While I've used Appveyor and others before, I wanted something easier to manage in one place. That's why I choose Github Actions!

I was going to write a long walkthrough, but I figured it would be easier to show you. So I shot this quick video (ok, it's actually about 20 minutes) and edited it lightly so you can see all the problems I run into and how to fix them. Let me know if this is the kind of content you're interested in!

What do you think about GitHub Actions?

Read...


Should We Be Thinking of APIs in a more Polyglot Way?

Networking Writing APIs have been a big part of my career. I've written COM, DCOM, XML based APIs, ISAPI Filters, SOAP, REST, gRPC, and others. A lot of this time a new technology in writing APIs has been chasing the new ‘cool’ technology that would fix everything.

The chase has always been lost cause. APIs, like most things in computer science, are a set of compromises. I think, for the first time in my career, we're entering a time when we don't need a ‘winner’ but need to stop thinking about APIs as a better hammer.

While Microsoft's announcement of embracing gRPC and GraphQL both came as surprises, I'm still flummoxed by some developer's insistence that some new technology is the one to rule them all. That's made me start thinking about how we can think of APIs in a different way.

Read...


.NET Core 3.0.1 and Entity Framework Tools Issue

Entity Framework Core LogoIf you're using .NET Core 3 and Entity Framework Core 3 together, you're probably using the EF Tools too. I've been running into an odd issue with it and wanted to share what is going on.

I know I don't look like it, but I actually like to follow the suggestions. So when I get the following suggestion form the command-line, I tried to update my version:

Read...


Using FluentValidation in ASP.NET Core

https://fluentvalidation.net/I'm working on an example to explore some more complex modeling in EF (for SQL and NoSQL) but that's not ready so I thought I'd use it as a bed for some Validation testing I'm doing. The result is some exploration of the FluentValidation project that I haven't had time to dig into until now.

Validation is an interesting exercise in ASP.NET (Core) and trying to get it correct is quite difficult. Ultimately in this day of SPAs and mobile apps, we need a solution that handles the client and the server. If you don't validate on the server it just doesn't matter.

FluentValidation is a replacment for the existing validation attributes (DataAnnotations) that you might already be using. The idea is to separate the validation from the classes. To be clear, this doesn't replace setting up your Entity Framework types with Fluent API this is about server-side validation only. Think of it as a clearer way to define rules for validation of your models or DTOs.

Read...


Upgrading from Gulp 3 to 4

Gulp LogoI may be very late to the party, but once Gulp 3.x stopped working with recent versions of Node, I've been forced to update my projects to the newest version of Gulp.

I was hesitant to learn it as I often think of Gulp as just a side-line tool that I use for production. Luckily for me, the new Gulp is actually simpler and more intuitive. I wanted to write a quick blog post explaining how I converted them.

Let's start with my Gulp 3 version:

Read...