Two customers, same plan, same start date, different invoice. Why business rules that change over time need their own binding policy, not one shared effective date — and why changing a rule isn't finished until someone decides what happens to the customers already bound to the old one.
EP09 - Why Your Subscription Billing Engine Needs More Than One Clock
EP08- Designing a Regulated Policy Engine: Taming Combinatorial Complexity with Hexagonal Architecture
Forecasting pension rights across 42 legal regimes over 40 years causes combinatorial explosion. Hexagonal architecture isolates the policy core for testability.
EP07- Null Reference Exceptions in C#? Here's Why Maybe Monad is Your New Best Friend
Null reference exceptions are C#'s billion-dollar mistake. The Maybe Monad, borrowed from functional programming, offers a safer way to handle absent values.
EP06- How to get rid of primitive obsession
Why relying on raw strings, ints and bools instead of dedicated types, Primitive Obsession, makes C# code fragile, and how to replace them with value objects.
EP05- Mastering EF Core- Deep Dive into Entity-to-Database Mapping
A deep dive into how EF Core maps C# entities to database tables, conventions, Data Annotations, and Fluent API, and when to reach for each.
EP04- Improving Asynchronous Programming in C# with Fluent API Style Task Chaining
Task.ContinueWith gets messy for chained async C# calls. Then and Catch extension methods bring Promise-like fluency and cleaner error handling.
EP03- Deploying a Jekyll Website Using Docker
How to containerize a Jekyll site with Docker, a Dockerfile plus build and run commands that remove the local Ruby and dependency setup hassle.
EP02- A cool C# clean code trick
Replace long chains of OR comparisons in C# with a generic In extension method, plus an IEqualityComparer overload for custom equality checks.
EP01- Yet another post about clean code book
A mindmap summary of Robert C. Martin's Clean Code, the book's key ideas distilled into one visual reference for writing more maintainable code.
EP00- First Post
Zakaria SMAHI introduces this blog, notes from a senior .NET engineer on architecture, SQL Server, Azure DevOps, and the technical books worth reading.