Smartly Academy

Every Codebase I've Ever Touched Followed the Same Growth Curve
A software naturalist's first field observation — why codebases grow, plateau, and resist change in patterns that biology mapped two centuries ago.
Mar 14 • Anto Semeraro
Building the Parser — Recursive Descent and the Shape of Meaning
Every grammar rule becomes a function. Every function calls the ones below it. That's the entire trick of recursive descent — and it's enough to parse…
Mar 13 • Anto Semeraro
When Sagas Go Wrong — Compensation Failures, Timeouts, and Partial Rollbacks
We built the orchestrator. Now we break it. Five failure modes that tutorials skip — and the uncomfortable truth about compensation.
Mar 13 • Anto Semeraro
Building the Lexer — Turning Text into Tokens
Character by character, our language takes its first breath. A lexer in C# that reads raw source code and produces a stream of meaningful tokens.
Mar 12 • Anto Semeraro
The Saga Blueprint — Orchestrator, State Machine, and Compensation Logic
We build the orchestrator that the stuck order needed. A state machine, a compensation registry, and the outbox pattern holding it all together.
Mar 12 • Anto Semeraro
Every Language Starts with a Grammar
Week 2 begins. Before we write a lexer, parser, or interpreter, we need to understand what a language actually is — and a linguist from 1956 already…
Mar 11 • Anto Semeraro
The Order That Got Stuck Between Three Services
One order. Three services. A distributed deadlock nobody saw coming — and the pattern that prevents it.
Mar 11 • Anto Semeraro
What Building an ORM Taught Me That Using One Never Could
Week 1 synthesis. Six chapters, one custom ORM, and the uncomfortable distance between knowing about something and understanding it.
Mar 10 • Anto Semeraro
One Pattern, Six Angles, and the Thing That Actually Changed
Week 1 synthesis. We dissected the outbox pattern from theory to tools. Here's what sticks — and what I wish I'd known before the lost notifications…
Mar 10 • Anto Semeraro
Benchmarking Our ORM vs EF Core — Where We Win, Where We Lose, and Why
We built it. Now we measure it. The numbers are humbling — and that's exactly the point.
Mar 9 • Anto Semeraro
The Outbox Toolbox — MassTransit, NServiceBus, Wolverine, and CAP Compared
Four libraries implement the same pattern. Their APIs reveal four different philosophies about how distributed systems should be built.
Mar 9 • Anto Semeraro
The Verdict — When the Outbox Pattern Earns Its Complexity
We built it, broke it, and measured it. Now the real question: should you actually use it? A decision matrix for the pattern that solves a problem you…
Mar 7 • Anto Semeraro
© 2026 Antonello Semeraro · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture