Author: Sergey Anisimov

Using CancellationToken Without Polluting Your Code

One of the strengths of ASP.NET Core is how easily it integrates cooperative cancellation through the CancellationToken mechanism. The framework offers two main ways to access the cancellation token tied to the request: via HttpContext.RequestAborted, or by accepting a...

About Extension Methods in C#

Introduction Extension methods in C# are a powerful feature that allows developers to “add” methods to existing types without modifying the original class or creating a derived type. They enable cleaner, more readable code and are widely used in...

The Polymorphic Processor Pattern

After a decade of working with enterprise systems, I’ve noticed a recurring architectural pain point: elegantly processing different domain objects through a common interface without sacrificing maintainability. At its core, the problem is a tug-of-war between four critical concerns:...

A perfect cradle for your personal cloud

Quite a few months ago, I started an ambitious project. My goal was to create a case for Raspberry Pis to combine them into a cluster and run Kubernetes. Constrains were the following: The case should host three Raspberry...

Fixing Rock64 v2 Gigabit Ethernet

Half a year ago I bought three Rock64 (4 GB model) for my home Kubernetes cluster and I was mostly happy with them, they are quick, quiet and reliable. Although, I noticed one issue. From time to time the...