Hey, I'm Steven a .NET Developer and Freelancer in Zurich, Switzerland. I am a Microsoft MVP. Also, this blog is open source on GitHub.

Older Posts

Preview image blogpost

git hook - prefix your commit message with your JIRA ticket

In this short blog post I'll show you how you can automatically prefix your commit messages with the JIRA ticket derived from your branch name.

Read the whole article

Preview image blogpost

API Versioning in ASP.NET Core made easy

How can we have versioning with a public facing REST API in ASP.NET Core? This blog post will show you the foundation how to setup and configure versioning. Furthermore I will give you some ideas how to structure your code and what kinds of versioning you can do.

In the end you should be able to have the same endpoints with multiple versions.

Read the whole article

Preview image blogpost
  • 9/10/2021
  • 19 minute read

git - useful aliases

In this article I'll show you some of my most used git aliases which make my everyday work easier and more productive.

Read the whole article

Preview image blogpost

IEnumerable vs IQueryable - What's the difference

.NET brings two types which seem very similiar

  • IEnumerable
  • IQueryable

What is the difference? Most are familiar with using IQueryable when we want to go to the database and back. But why not using IEnumerable?

Read the whole article

Preview image blogpost

How to hunt down bugs with git bisect

This article will show how you can identify the commit a bug was introduced.

Sometimes it is hard to track down a bug. Your only chance is to exploratory test your code until you find the code in question. I will show you a way how to do this with git. More specific how to use git bisect

Read the whole article

Preview image blogpost

How to rebase onto a different branch with git

We're all been there. You worked on a feature or bug on your branch and after some commits you noticed "Oops, I should have branched from xyz instead of abc". I'll show you an easy way of simply moving your stuff from branch abc to xyz.

Read the whole article

Tactical Design Patterns in C# - Part 1: Creational

This guide will give an overview of common design patterns in C#. We'll also have a look what is there advantage and how can we implement them. Let's start with creational design patterns.

Read the whole article

Preview image blogpost

struct Performance

Let's have a small look into structs and how they work when using Equals and GetHashCode. Plus have a brief look into a new C# 10 feature: readonly record struct.

Read the whole article

Preview image blogpost

Shorts: foreach on type without IEnumerable

Is it possible to have a foreach loop over a type which does not implement IEnumerable? Yes it is.

Read the whole article

Preview image blogpost

Task.WhenAny - How to cancel other tasks

This short post will give an overview how to cancel all remaining tasks once Task.WhenAny finishes. Plus how Task.WhenAny behaves in different circumstances.

Read the whole article

An error has occurred. This application may no longer respond until reloaded. Reload x