Writing Code while Asleep
This is a quick post about something I tend to do quite often that has really helped me be more productive and I think has helped the wider developer community in some small way too. It's something...
View ArticleThe Dotnet Watch Tool Revisited
I talked about using the dotnet watch tool with Visual Studio some time ago. Since then, a lot changed with the Visual Studio tooling and .NET Core 2.0 which broke the use of dotnet watch in Visual...
View Article.NET Boxed
.NET Boxed is a set of project templates with batteries included, providing the minimum amount of code required to get you going faster. Right now it includes API and GraphQL project templates. ASP.NET...
View ArticleMigrating to Entity Framework Core Seed Data
I was already using Entity Framework Core 2.0 and had written some custom code to enter some static seed data to certain tables. Entity Framework 2.1 added support for data seeding which manages your...
View ArticleOptimally Configuring Entity Framework Core
Lets talk about configuring your Entity Framework Core DbContext for a moment. There are several options you might want to consider turning on. This is how I configure mine in most micro services:...
View ArticleASP.NET Core Hidden Gem - QueryHelpers
I discovered a hidden gem in ASP.NET Core a couple of weeks ago that can help to build up and parse URL's called QueryHelpers. Here's how you can use it to build a URL using the AddQueryString method:...
View ArticleOptimally Configuring ASP.NET Core HttpClientFactory
::: warning Update (20 August 2018) Steve Gordon kindly suggested a further optimisation to use ConfigureHttpClient. I've updated the code below to reflect this. ::: In this post, I'm going to show how...
View ArticlePluralSight vs LinkedIn Learning vs FrontendMasters vs Egghead.io vs YouTube
I use a lot of video resources to keep up to date with .NET, JavaScript and other tech like Docker, Kubernetes etc. I've compiled here a list of these resources and my impressions of using them and...
View ArticleIs ASP.NET Core now a Mature Platform?
::: tip Update (12 January 2019) It seems that Damian Edwards (The ASP.NET Core Project Manager) likes this post and agrees with the points I've made! It's great to hear that he's is in alignment with...
View ArticleA Simple and Fast Object Mapper
I have a confession to make...I don't use Automapper. For those who don't know Automapper is the number one object to object mapper library on NuGet by far. It takes properties from one object and...
View ArticleSecuring ASP.NET Core in Docker
Some time ago, I blogged about how you can get some extra security when running Docker containers by making their file systems read-only. This ensures that should an attacker get into the container...
View ArticleGit Cloning the Windows OS Repo
::: warning Disclaimer I'm a Microsoft employee but my opinions in this personal blog post are my own and nothing to do with Microsoft. The information in this blog post is already publicly available...
View Article.gitattributes Best Practices
.gitignore If you've messed with Git for long enough, you're aware that you can use the .gitignore file to exclude files from being checked into your repository. There is even a whole GitHub repository...
View ArticleUnit Testing dotnet new Templates
Part 1 - Custom Project Templates Using dotnet new Part 2 - dotnet new Feature Selection Part 3 - Unit Testing dotnet new Templates As I talked about in my previous post some time ago about dotnet new...
View ArticleWhat dotnet new Could Be
The 'dotnet new' CLI command is a great way to create projects from templates in dotnet. However, I think it could provide a much better experience than it currently does. I also suspect it isn't used...
View ArticleASP.NET Core Integration Testing & Mocking using Moq
If you want to run an integration test for your ASP.NET Core app without also testing lots of external dependencies like databases and the like, then the lengthy official 'Integration tests in ASP.NET...
View ArticleChoosing a Static Site Generator
I recently rebuilt this blog using a static site generator called Gridsome which is based on Vue.js and GraphQL. This is the story of all the static site generators I tried or read up on, how I moved...
View ArticleSpicing up your Browser Console
Wouldn't it be cool if when you opened the browser console up on a site, you saw a cool secret message? There are many sites that do this with quite a few business's advertising frontend development...
View ArticleRacism in Software Development & Beyond
If you're of North African, Middle Eastern or South Asian origin, you have to send send up to 90% more job applications than your white counterparts in the United Kingdom. This level of discrimination...
View ArticleThe Easiest Way to Version NuGet Packages
The easiest way to version NuGet packages using semantic versioning in my opinion is to use MinVer. Getting started is literally as easy as adding the MinVer NuGet package. Getting finished is not too...
View Article