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

Older Posts

Preview image blogpost

LiteDB - A .NET embedded NoSQL database

In this article we will have a closer look at LiteDB, a .NET NoSQL Document Store in a single data file. We will discover the advantages of LiteDB and why it is a viable candidate for your next project.

We will also explore what are the differences between a NoSQL and a classical SQL database are and what this has to do with the reminiscent SQL CE or the more modern SQLite database.

Read the whole article

Preview image blogpost

Cursed C# - Doing shenanigans in C#

In this short blog post I want to show you two silly things so that you can apply right now! Both of them equally silly, but that is not the point (is it ever?).

We will see how to await an integer or TimeSpan and how to foreach through an integer. All of this thanks to the magic of extensions methods.

Read the whole article

Preview image blogpost

Infographics Compendium II - ThrowHelper, null Task and more

This edition has the following infographics:

  • ConfigureAwait on IAsyncDisposable
  • Index in foreach
  • Non-destructive mutations with struct
  • Returning null for a Task
  • Throw-Helper
  • verbatim strings

Read the whole article

Preview image blogpost

Low-level struct improvements in C# 11

C# 11 brings some major improvements for structs. You remember Span<T>, which you couldn't create?

Now you can. C# 11 allows ref fields in a struct. Why this is a cool thing and what you can do with it, you will see in a minute.

Read the whole article

Preview image blogpost

How does the key exchange in HTTPS work?

In this small blog post we will have a look at how HTTPS works. Well, we will look how the cryptographic part works a bit more in detail.

The focus is on the Diffie Hellman Key algorithm, an asymmetric key exchange.

Read the whole article

Preview image blogpost

Introduction to WebApplicationFactory

This article will show you what exactly a WebApplicationFactory is and why it is so "mighty" when it comes down to testing. I will highlight some of the properties, which you can leverage to write powerful tests.

Read the whole article

Preview image blogpost

Infographics Compendium I - Generators, pure functions and more

Sometimes I publish parts of my infographics I publish on various channels with more explanation.

And then sometimes I don't. This time I just put some of my (hopefully self-explanatory) infographics here.

  • Pure functions
  • Generator functions
  • Cost of anonymous types

Read the whole article

Preview image blogpost

x86 vs x64 in .NET

In this article I will show you what is the difference between x86 (32-bit) vs x64 (64-bit) in the .NET World.

What is the impact if you choose on or another.

Read the whole article

Preview image blogpost

Pattern matching is awesome

Pattern matching, which was introduced in C# 9, is a hell of a beast and does more than you might think.

In this small blog post I show you where the magic is and what it does under the hood.

Read the whole article

Preview image blogpost

How does Pagination work?

Pagination is a technique to load only smaller chunks of data you make visible to the user. Look at Google web search. You only have a certain amount of shown results even though there are millions. So Google has pages (like in a book) where you can go forth and back.

This has multiple advantages: First from a UX point of view you only show a reasonable amount of data to your user. The second benefit is for your API / DB as it only has to load a small page instead of the whole book.

Read the whole article

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