Using C# Source Generators to Generate Data Transfer Objects (DTOs)

Using C# Source Generators to generate DTOs could potentially save a lot of developer time, so in this post I am going to attempt to write just such a generator.

Converting an ASP.NET Core MVC App to Blazor SPA – Part 3 (Authentication + Wrap up)

The central idea around Blazor auth is for the UI system to be able to query the authentication state of the user and render different views. Blazor uses AuthenticationStateProvider to query this auth state via the AuthorizeView component.

Converting an ASP.NET Core MVC App to Blazor SPA – Part 2 (The Frontend)

Given the fact that there is no shortage of SPA frameworks and libraries like Angular, React, Vue, Knockout ad inifitum, for building the new frontend app for my app, I decided to go with Blazor.

Converting an ASP.NET Core MVC App to Blazor SPA – Part 1 (The Backend)

I have a personal expense tracking app that for the last few months I’d been working to migrate away from MVC towards more modern client apps whilst reusing the backend code and logic.

Using Mikado Technique to Migrate to .NET Core

Not long ago we completed the migration of all our services to .NET Core. Of note was a mission critical full .NET framework legacy Windows Service and in this post I would like to share how we completed that migration.

Managing Technical Debt in Software

There are many posts and articles that expound the virtues of paying back the tech debt and philosophise at great lengths about the various design patterns that can improve the design of the code. In this post I’d like to tackle the more pragmatic and real life aspects around tech debt from my perspective.

Mars Rover Programming Kata using DDD+TDD+Ports and Adapters

A few weeks ago I came across this Mars Rover programming challenge/kata and being a bit of a space buff, I thought I will take a crack at it.

Some Heuristics for Mocking vs State Verification in TDD

In this post I will share some of the TDD heuristics that I have found useful on when you should use mocking to verify interactions and when should you resort to state verification.

IIS App Pool Recycles Will Wreck Your Long Running Background Jobs

We have a batch process that runs every morning, processes a bunch of data gathered out of our central e-commerce database and publishes messages on a queue for another service … Continue reading IIS App Pool Recycles Will Wreck Your Long Running Background Jobs

Reporting Model Validation Errors in ASP.NET Core 2.0

Couple of days ago, we had an outage in one of our production APIs that’s built with ASP.NET Core 2.0 and all we got to see in all our logging … Continue reading Reporting Model Validation Errors in ASP.NET Core 2.0

Implementing Hexagonal Ports and Adapters Architectural Style

Many articles talk about the what of this style but in my view, not enough talk about the how. In this post, I am going to try and show one way to actually structure the solution to be more in line with the hexagonal ports and adapters style.