Recent posts
Union Types in C#
15 August 2026
For a long time in C# we got really good at modeling what things are, but we’re still not that good at modeling what things can’t be.
This will change, as a long awaited feature in C# is arriving with .NET 11 and C# 15.
This feature isn’t just syntactic sugar, it actually changes how we model data, and will let the compiler enforces more correctness.
This is going to be an introduction to look at what union types solve, and what they help with. Note that the article reflects the current preview syntax and behavior.
SSE vs SignalR: choosing the right real-time tool in .NET 10
01 August 2026
In modern applications, and for a long time now, real-time communication between clients and servers has been very important. It’s used in streaming, dashboards, notifications, and many more features.
In .NET, we have many options: we can either use the SignalR library to achieve this, or rely on the newly introduced native support for server-sent events (SSE) in ASP.NET Core 10.
Choosing which one to use isn’t that hard; it really depends on what your application needs. Is it one-way communication, or two-way communication? Let’s explore the difference between the two, and where each one shines best.
We’ll look at what SSE is and how to create a basic implementation with it, as well as what SignalR is and how to create a basic implementation with it. Later on, in a future post, we’ll dive deeper into both of them to see how we can utilize most of their features.
Estimates: Science, Art, or Educated Guess?
23 July 2026
In my experience, many experienced developers still struggle with estimates. The reason is different for each team, but the outcome is usually the same: if estimates are not handled well, misunderstandings happen between teams and management. Developers might be seen as struggling to complete a sprint, or the opposite, it might look like they don’t have enough to do.
This is my personal opinion based on what I’ve seen in projects. It’s not a universal truth, and different teams can absolutely succeed with different approaches. But these are the pitfalls I keep seeing, and what helped us get better.
Two Real-World Performance Incidents and How We Solved Them
16 July 2026
We all face performance issues at some point: a long-running process, a process that never finishes, or workflows that silently fail under load.
In this article, I share two challenges I faced with one of my clients, the solutions we implemented, and what I learned from both incidents.
Builder Pattern
08 July 2026
We previously discussed one of the structural software design patterns: the Decorator Pattern. Today, we’re diving into another well‑known pattern, one of the creational one, called the Builder pattern.