The Mathematical Root: Petri Nets and Parallel Executions

In our previous discussion on the “polling trap,” we established that managing long-running state is an infrastructure concern, not a business logic one. But when we move beyond simple pauses and step into the realm of concurrent execution, the architectural friction multiplies exponentially. Consider a standard e-commerce order process. When a user checks out, the system must perform two discrete remote operations: (a) reserve the items via the Inventory service, and (b) calculate the delivery routes via the Logistics service. ...

May 27, 2026 · 6 min

What are workflows and why do I need them?

In distributed architectures, managing the state of a paused or long-running process is the fastest way to entangle your core business logic with infrastructure. Consider a seemingly straightforward process: an employee requests access to a secure cloud environment. The sequence is simple: (a) log the request, (b) wait for a manager to approve it, and then (c) provision the access. The inherent challenge is time. The manager might approve it in five seconds, or they might be on vacation for three days. You obviously aren’t going to use Thread.sleep() and hold a server thread hostage waiting for a response. ...

May 15, 2026 · 5 min

Please stop vibe coding

The other day, this meme appeared on my timeline. This PR looks suspicious… Shout-out to my friend Edoardo Vacchi I kept hearing about vibe coding here and there until someone sent me an article about it. The article went deep into “prompt engineering” and how LLMs will eventually replace us all. Last month, a (non-tech) friend bragged about building a Discord bot with zero code. A few days later, he came back saying he’d fallen into an endless rabbit hole. ...

August 8, 2025 · 3 min