<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://blog.zsmahi.com/</id><title>ZSMAHI</title><subtitle>Zakaria SMAHI's personnal blog, technical post, software engineering, C#, SQL Server, Azure DevOps</subtitle> <updated>2026-09-11T23:02:51+02:00</updated> <author> <name>Zakaria SMAHI</name> <uri>https://blog.zsmahi.com/</uri> </author><link rel="self" type="application/atom+xml" href="https://blog.zsmahi.com/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://blog.zsmahi.com/"/> <generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator> <rights> © 2026 Zakaria SMAHI </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>EP08- Designing a Regulated Policy Engine: Taming Combinatorial Complexity with Hexagonal Architecture</title><link href="https://blog.zsmahi.com/posts/taming-combinatorial-complexity-in-pension-engines/" rel="alternate" type="text/html" title="EP08- Designing a Regulated Policy Engine: Taming Combinatorial Complexity with Hexagonal Architecture" /><published>2026-02-07T20:03:59+01:00</published> <updated>2026-02-08T12:57:57+01:00</updated> <id>https://blog.zsmahi.com/posts/taming-combinatorial-complexity-in-pension-engines/</id> <content src="https://blog.zsmahi.com/posts/taming-combinatorial-complexity-in-pension-engines/" /> <author> <name>zsmahi</name> </author> <category term="Blogging" /> <category term="System Design" /> <summary> The Structural Problem: Combinatorial Entropy In the domain of national pension projections, complexity is not an implementation detail; it is the primary characteristic of the system. We are not building a standard behavioral model with rich state transitions; we are engineering a Policy Engine capable of forecasting rights over 40 years across a fractured legislative landscape. The architec... </summary> </entry> <entry><title>EP07- Null Reference Exceptions in C#? Here's Why Maybe Monad is Your New Best Friend</title><link href="https://blog.zsmahi.com/posts/null-reference-exceptions-csharp-maybe-monad/" rel="alternate" type="text/html" title="EP07- Null Reference Exceptions in C#? Here&amp;apos;s Why Maybe Monad is Your New Best Friend" /><published>2024-04-02T23:59:59+02:00</published> <updated>2024-04-02T23:59:59+02:00</updated> <id>https://blog.zsmahi.com/posts/null-reference-exceptions-csharp-maybe-monad/</id> <content src="https://blog.zsmahi.com/posts/null-reference-exceptions-csharp-maybe-monad/" /> <author> <name>zsmahi</name> </author> <category term="Blogging" /> <category term="Coding" /> <summary> Introduction Greetings, fellow developers! In the realm of software development, null reference exceptions have notoriously been dubbed the “billion-dollar mistake”. This pervasive issue spans across programming languages, leading to runtime errors that not only are challenging to debug but also to resolve. Specifically, in C#, numerous strategies have been proposed to tackle this problem. Am... </summary> </entry> <entry><title>EP06- How to get rid of primitive obsession</title><link href="https://blog.zsmahi.com/posts/how-to-get-rid-of-primitive-obsession/" rel="alternate" type="text/html" title="EP06- How to get rid of primitive obsession" /><published>2024-03-09T21:00:00+01:00</published> <updated>2024-03-27T12:45:40+01:00</updated> <id>https://blog.zsmahi.com/posts/how-to-get-rid-of-primitive-obsession/</id> <content src="https://blog.zsmahi.com/posts/how-to-get-rid-of-primitive-obsession/" /> <author> <name>zsmahi</name> </author> <category term="Blogging" /> <category term="Coding" /> <summary> Introduction Greetings, fellow developers! In this post, we delve into a pervasive issue that many of us encounter in our coding journey. Our aim is not to point fingers but to shine a light on this common “bad habit” and explore ways to overcome it. Today, we’re tackling the topic of Primitive Obsession. What Is Primitive Obsession? First off, let’s define what we mean by “primitives.” In... </summary> </entry> <entry><title>EP05- Mastering EF Core- Deep Dive into Entity-to-Database Mapping</title><link href="https://blog.zsmahi.com/posts/mastering-ef-core/" rel="alternate" type="text/html" title="EP05- Mastering EF Core- Deep Dive into Entity-to-Database Mapping" /><published>2024-02-28T20:00:00+01:00</published> <updated>2024-02-29T09:28:01+01:00</updated> <id>https://blog.zsmahi.com/posts/mastering-ef-core/</id> <content src="https://blog.zsmahi.com/posts/mastering-ef-core/" /> <author> <name>zsmahi</name> </author> <category term="Blogging" /> <category term="Coding" /> <summary> Introduction Hello, fellow developers! In the realm of .NET development, Entity Framework Core (EF Core) stands as a beacon of efficiency and elegance, providing a bridge between the object-oriented world of .NET entities and the relational universe of databases. This post embarks on an in-depth exploration of how EF Core navigates the complex process of mapping entities to database objects, ... </summary> </entry> <entry><title>EP04- Improving Asynchronous Programming in C# with Fluent API Style Task Chaining</title><link href="https://blog.zsmahi.com/posts/chainig-tasks-clean-way/" rel="alternate" type="text/html" title="EP04- Improving Asynchronous Programming in C# with Fluent API Style Task Chaining" /><published>2023-07-29T21:00:00+02:00</published> <updated>2023-07-29T21:00:00+02:00</updated> <id>https://blog.zsmahi.com/posts/chainig-tasks-clean-way/</id> <content src="https://blog.zsmahi.com/posts/chainig-tasks-clean-way/" /> <author> <name>zsmahi</name> </author> <category term="Blogging" /> <category term="Coding" /> <summary> Introduction Hello, fellow developers! Modern C# development heavily leans on asynchronous programming models, especially when dealing with I/O operations or services that may cause your application to pause or block while waiting for the response. Using the Task-based asynchronous pattern (TAP) with async and await keywords has become a standard way to perform such operations. However, when... </summary> </entry> </feed>
