RSSAmplifier

Blog

Erik Heemskerk

Thoughts and opinions of a software developer.

erikheemskerk.nlRSS feed ↗20 posts

Latest posts

Making a Trello clone using htmx

Is it possible to create a Trello clone using htmx? Yes, and I’ll show you how.

htmx: Simplicity in an Age of Complicated Solutions

In an age of complicated front-end solutions, is there a simpler way of doing things? Spoiler alert: there is.

Reporting NUKE build failures on Slack

Let’s make our NUKE builds report failures by themselves, using a little reflection magic.

Creating reusable build scripts with NUKE components

How can we take advantage of the latest C# features to create highly reusable build scripts with NUKE?

Event Feeds: Simple and reliable messaging infrastructure

Event feeds are a simple mechanism to enable applications to react to things happening in other applications, reliably, consistently, and quickly.

Revisited: Is WCF faster than ASP.NET Core? Of course not! Or is it?

Revisiting an article about how I got triggered after somebody exclaimed that WCF had lower response times than ASP.NET Web API and ASP.NET Core MVC.

Is WCF faster than ASP.NET? Of course not! Or is it?

How does WCF, a 13-year-old mega-abstraction framework hold up against the modern, lean, ASP.NET Core? You’d be surprised.

PSA: Don’t change the assembly name for published NuGet packages

Somebody published a new version of a NuGet package with a different assembly name. You’ll never guess what happens next.

DDD Persistence: Recorded Event-Driven Persistence

The internet is full of blogs and articles about the mythical DDD repository, but all they offer is an interface. How do you actually implement it?

Transitive NuGet dependencies: .NET Core’s got your back

MSBuild seems to have issues with transitive NuGet dependencies, but after a deep dive into the build logs, it turns out to be more subtle.

Meaningful Logging and Metrics

Pretty much any application needs logging and metrics. But how do you write the logging and metrics code so it doesn't obfuscate your business logic?

C# 7.x and 8.0: Uncertainty and Awesomeness

After looking at the new features for C# 7.1, let’s look at the things Microsoft is looking at to introduce in later versions of C#, especially C# 8.0.

C# 7.1 and Beyond: Polishing Usability

Microsoft is going into point release with C#. I take a look at discards, async Main, tuple projection initializers, and pattern matching with generics.

Event Sourcing: Eventual Consistency and Responding to Events

How do you deal with read models being out of sync with the actual system state? In other words, how do you deal with the specter of Eventual Consistency?

Event Sourcing: CQRS and querying using read models

How does one query over data in an Event-Sourced system? We examine ways not to and the solution: CQRS. What is it and how do you make it work?

Event Sourcing: Awesome, powerful & different

What is Event Sourcing and what are the benefits that make it a very powerful pattern for data storage? As it turns out, there are many examples of Event Sourcing in daily life.

Inspecting aspects and interception in .NET, part 3

A look at the relative performance of various dependency injection (DI) and interception frameworks. I benchmark Unity, SimpleInjector, Autofac and Ninject.

Inspecting aspects and interception in .NET, part 2

About how to benchmark code, which libraries to use and which pitfalls to avoid. How do we know what to measure and how?

C# 7.0: Small but welcome improvements

Let’s take a look at C# 7.0’s features and what they have to offer.

Inspecting aspects and interception in .NET, part 1

I take a look at how to measure how often code executes and how long each execution takes and what the best ways are to do it.