Dominik Tornow
@dominiktornow.bsky.social
Founder Resonate HQ | Distributed Async Await | Thinking in Distributed Systems | https://dtornow.substack.com
Partial Failure & Partial Retry
RPCs create recovery boundaries: When an execution crashes, only the executions within its recovery boundaries restart
Executions in different recovery boundaries (across RPCs) continue running.
RPCs create recovery boundaries: When an execution crashes, only the executions within its recovery boundaries restart
Executions in different recovery boundaries (across RPCs) continue running.
November 5, 2025 at 6:10 PM
Partial Failure & Partial Retry
RPCs create recovery boundaries: When an execution crashes, only the executions within its recovery boundaries restart
Executions in different recovery boundaries (across RPCs) continue running.
RPCs create recovery boundaries: When an execution crashes, only the executions within its recovery boundaries restart
Executions in different recovery boundaries (across RPCs) continue running.
Partial Failure but Total Retry?!
If we follow the familiar model of chained HTTP calls then a failure in the chain forces a restart from the failure point
This works for short-lived, cheap executions, but collapses under long-lived, expensive ones
If we follow the familiar model of chained HTTP calls then a failure in the chain forces a restart from the failure point
This works for short-lived, cheap executions, but collapses under long-lived, expensive ones
November 5, 2025 at 2:30 PM
Partial Failure but Total Retry?!
If we follow the familiar model of chained HTTP calls then a failure in the chain forces a restart from the failure point
This works for short-lived, cheap executions, but collapses under long-lived, expensive ones
If we follow the familiar model of chained HTTP calls then a failure in the chain forces a restart from the failure point
This works for short-lived, cheap executions, but collapses under long-lived, expensive ones
From the terminal to the cloud, from prototype to production
Learn how agents scale beyond a single machine and master identity, coordination, and recovery
Build a recursive, distributed Deep Research Agent with @resonatehqio.bsky.social + OpenAI—in under 120 lines
Chapter 3 is live
Learn how agents scale beyond a single machine and master identity, coordination, and recovery
Build a recursive, distributed Deep Research Agent with @resonatehqio.bsky.social + OpenAI—in under 120 lines
Chapter 3 is live
November 3, 2025 at 9:10 AM
From the terminal to the cloud, from prototype to production
Learn how agents scale beyond a single machine and master identity, coordination, and recovery
Build a recursive, distributed Deep Research Agent with @resonatehqio.bsky.social + OpenAI—in under 120 lines
Chapter 3 is live
Learn how agents scale beyond a single machine and master identity, coordination, and recovery
Build a recursive, distributed Deep Research Agent with @resonatehqio.bsky.social + OpenAI—in under 120 lines
Chapter 3 is live
I'm experimenting with animations for the 3rd chapter of Systems Engineering for Agentic Applications
This shows the call graph of the recursive, distributed Research Agent unfolding over time, highlighting durable promises
I dig the result but they are a lot of work 🥲
This shows the call graph of the recursive, distributed Research Agent unfolding over time, highlighting durable promises
I dig the result but they are a lot of work 🥲
November 1, 2025 at 7:20 PM
I'm experimenting with animations for the 3rd chapter of Systems Engineering for Agentic Applications
This shows the call graph of the recursive, distributed Research Agent unfolding over time, highlighting durable promises
I dig the result but they are a lot of work 🥲
This shows the call graph of the recursive, distributed Research Agent unfolding over time, highlighting durable promises
I dig the result but they are a lot of work 🥲
Weekend Treat ... sorry ... Read 🎃
Formal models are magic. Not only as a verification tool but as a thinking tool, lifting the fog of uncertainty and assumption
Their magic lies in rigorous, ruthless, relentless clarity
Formal models are magic. Not only as a verification tool but as a thinking tool, lifting the fog of uncertainty and assumption
Their magic lies in rigorous, ruthless, relentless clarity
November 1, 2025 at 10:16 AM
Weekend Treat ... sorry ... Read 🎃
Formal models are magic. Not only as a verification tool but as a thinking tool, lifting the fog of uncertainty and assumption
Their magic lies in rigorous, ruthless, relentless clarity
Formal models are magic. Not only as a verification tool but as a thinking tool, lifting the fog of uncertainty and assumption
Their magic lies in rigorous, ruthless, relentless clarity
Two sentences explain I/O better than any CS course
If an expression yields an effect, it percolates through the program to the top, with the context stored as a continuation. An external authority handles the effect and passes the result back to the continuation.
If an expression yields an effect, it percolates through the program to the top, with the context stored as a continuation. An external authority handles the effect and passes the result back to the continuation.
October 30, 2025 at 9:55 AM
Two sentences explain I/O better than any CS course
If an expression yields an effect, it percolates through the program to the top, with the context stored as a continuation. An external authority handles the effect and passes the result back to the continuation.
If an expression yields an effect, it percolates through the program to the top, with the context stored as a continuation. An external authority handles the effect and passes the result back to the continuation.
Uncertainty, formalized: Possible Worlds
The fewer worlds an agent considers possible, the less his uncertainty, and the more he knows
In Reasoning about Knowledge
The fewer worlds an agent considers possible, the less his uncertainty, and the more he knows
In Reasoning about Knowledge
October 24, 2025 at 10:18 AM
Uncertainty, formalized: Possible Worlds
The fewer worlds an agent considers possible, the less his uncertainty, and the more he knows
In Reasoning about Knowledge
The fewer worlds an agent considers possible, the less his uncertainty, and the more he knows
In Reasoning about Knowledge
Trampolined Style
If you want to understand Event Loops, you need to read this paper from 1999:
A trampolined program is organized as a single loop in which computations are scheduled and allowed to proceed in discrete steps.
Grokking Event Loops = Grokking Continuations
If you want to understand Event Loops, you need to read this paper from 1999:
A trampolined program is organized as a single loop in which computations are scheduled and allowed to proceed in discrete steps.
Grokking Event Loops = Grokking Continuations
October 23, 2025 at 2:00 PM
Trampolined Style
If you want to understand Event Loops, you need to read this paper from 1999:
A trampolined program is organized as a single loop in which computations are scheduled and allowed to proceed in discrete steps.
Grokking Event Loops = Grokking Continuations
If you want to understand Event Loops, you need to read this paper from 1999:
A trampolined program is organized as a single loop in which computations are scheduled and allowed to proceed in discrete steps.
Grokking Event Loops = Grokking Continuations
Building a recursive, distributed Deep Research Agent, scaling to hundreds of agents across dozens of nodes
Chapter 3 covers:
➡️ Agent Identity
➡️ Coordination
➡️ Recovery
When agents leave the terminal, you need to become a distributed systems engineer
Chapter 3 covers:
➡️ Agent Identity
➡️ Coordination
➡️ Recovery
When agents leave the terminal, you need to become a distributed systems engineer
October 22, 2025 at 4:02 PM
Building a recursive, distributed Deep Research Agent, scaling to hundreds of agents across dozens of nodes
Chapter 3 covers:
➡️ Agent Identity
➡️ Coordination
➡️ Recovery
When agents leave the terminal, you need to become a distributed systems engineer
Chapter 3 covers:
➡️ Agent Identity
➡️ Coordination
➡️ Recovery
When agents leave the terminal, you need to become a distributed systems engineer
Run your app for minutes, hours, days, weeks, or month
On FaaS like AWS Lambda or GCP Functions
Serverless @resonatehqio.bsky.social
On FaaS like AWS Lambda or GCP Functions
Serverless @resonatehqio.bsky.social
October 20, 2025 at 1:30 PM
Run your app for minutes, hours, days, weeks, or month
On FaaS like AWS Lambda or GCP Functions
Serverless @resonatehqio.bsky.social
On FaaS like AWS Lambda or GCP Functions
Serverless @resonatehqio.bsky.social
Introducing Serverless @resonatehqio.bsky.social
Build distributed, durable applications with Resonate's dead simple programming model, Distributed Asynchronous Await
Now on serverless
Build distributed, durable applications with Resonate's dead simple programming model, Distributed Asynchronous Await
Now on serverless
October 20, 2025 at 10:45 AM
Introducing Serverless @resonatehqio.bsky.social
Build distributed, durable applications with Resonate's dead simple programming model, Distributed Asynchronous Await
Now on serverless
Build distributed, durable applications with Resonate's dead simple programming model, Distributed Asynchronous Await
Now on serverless
From brainstorming transactional applications with the @tigerbeetle.com team to drafting blog posts with Table Mountain as backdrop
Cape Town is a whole vibe
Cape Town is a whole vibe
October 8, 2025 at 8:05 AM
From brainstorming transactional applications with the @tigerbeetle.com team to drafting blog posts with Table Mountain as backdrop
Cape Town is a whole vibe
Cape Town is a whole vibe
Distributed Async Await
✅ Simulation tested
❌ Formally verified
Interested in some live coding ... wait, no ... specifying a distributed protocol?!
Who’s up for a webinar to formalize @resonatehqio.bsky.social protocol stack. From scratch. In quint.
Let me see hands
✅ Simulation tested
❌ Formally verified
Interested in some live coding ... wait, no ... specifying a distributed protocol?!
Who’s up for a webinar to formalize @resonatehqio.bsky.social protocol stack. From scratch. In quint.
Let me see hands
October 2, 2025 at 9:05 AM
Distributed Async Await
✅ Simulation tested
❌ Formally verified
Interested in some live coding ... wait, no ... specifying a distributed protocol?!
Who’s up for a webinar to formalize @resonatehqio.bsky.social protocol stack. From scratch. In quint.
Let me see hands
✅ Simulation tested
❌ Formally verified
Interested in some live coding ... wait, no ... specifying a distributed protocol?!
Who’s up for a webinar to formalize @resonatehqio.bsky.social protocol stack. From scratch. In quint.
Let me see hands
The second chapter of Systems Engineering for Agentic Applications will drop tomorrow
We'll cover
➡️ Agents and Environments
➡️ Goals and Plans
➡️ Autonomy and Alignment
➡️ Context Engineering
+ We build an agent to organize our desktop
agenticapplications.substack.com
We'll cover
➡️ Agents and Environments
➡️ Goals and Plans
➡️ Autonomy and Alignment
➡️ Context Engineering
+ We build an agent to organize our desktop
agenticapplications.substack.com
September 30, 2025 at 10:31 AM
The second chapter of Systems Engineering for Agentic Applications will drop tomorrow
We'll cover
➡️ Agents and Environments
➡️ Goals and Plans
➡️ Autonomy and Alignment
➡️ Context Engineering
+ We build an agent to organize our desktop
agenticapplications.substack.com
We'll cover
➡️ Agents and Environments
➡️ Goals and Plans
➡️ Autonomy and Alignment
➡️ Context Engineering
+ We build an agent to organize our desktop
agenticapplications.substack.com
The #P99CONF speaker gift just dropped.
Box says: Get swag, not lag
I say: 10/10 swag box
Come see me squash Heisenbugs with deterministic simulation testing
bsky.app/profile/domi...
Box says: Get swag, not lag
I say: 10/10 swag box
Come see me squash Heisenbugs with deterministic simulation testing
bsky.app/profile/domi...
September 24, 2025 at 12:50 PM
The #P99CONF speaker gift just dropped.
Box says: Get swag, not lag
I say: 10/10 swag box
Come see me squash Heisenbugs with deterministic simulation testing
bsky.app/profile/domi...
Box says: Get swag, not lag
I say: 10/10 swag box
Come see me squash Heisenbugs with deterministic simulation testing
bsky.app/profile/domi...
From pixels to paper, from Manning to mailbox, Think Distributed Systems is finally in my hands.
Thank you everybody for your encouragement and being on this journey together ❤️
Thank you everybody for your encouragement and being on this journey together ❤️
September 23, 2025 at 2:00 PM
From pixels to paper, from Manning to mailbox, Think Distributed Systems is finally in my hands.
Thank you everybody for your encouragement and being on this journey together ❤️
Thank you everybody for your encouragement and being on this journey together ❤️
In Chapter 2 of Systems Engineering for Agentic Applications, we build our own MCP.
Not another MCP server but our own protocol
We'll discover
- What is MCP
- What does MCP do
- Why would we even need MCP
Not another MCP server but our own protocol
We'll discover
- What is MCP
- What does MCP do
- Why would we even need MCP
September 13, 2025 at 10:35 PM
In Chapter 2 of Systems Engineering for Agentic Applications, we build our own MCP.
Not another MCP server but our own protocol
We'll discover
- What is MCP
- What does MCP do
- Why would we even need MCP
Not another MCP server but our own protocol
We'll discover
- What is MCP
- What does MCP do
- Why would we even need MCP
Durable Execution, distilled
Distributed Async Await is so simple, the API fits on @resonatehqio.bsky.social's landing page
That's not just a feature, that's a flex
Distributed Async Await is so simple, the API fits on @resonatehqio.bsky.social's landing page
That's not just a feature, that's a flex
September 12, 2025 at 8:35 AM
Durable Execution, distilled
Distributed Async Await is so simple, the API fits on @resonatehqio.bsky.social's landing page
That's not just a feature, that's a flex
Distributed Async Await is so simple, the API fits on @resonatehqio.bsky.social's landing page
That's not just a feature, that's a flex
Your desktop is a mess?
In the next chapter of Systems Engineering for Agentic Applications we build an agent to organize our desktop
A simple task and a perfect lens for understanding how agents work and the systems engineering challenges they present
In the next chapter of Systems Engineering for Agentic Applications we build an agent to organize our desktop
A simple task and a perfect lens for understanding how agents work and the systems engineering challenges they present
September 7, 2025 at 8:01 AM
Your desktop is a mess?
In the next chapter of Systems Engineering for Agentic Applications we build an agent to organize our desktop
A simple task and a perfect lens for understanding how agents work and the systems engineering challenges they present
In the next chapter of Systems Engineering for Agentic Applications we build an agent to organize our desktop
A simple task and a perfect lens for understanding how agents work and the systems engineering challenges they present
One of the hardest problems in agentic applications is alignment:
An agent is aligned with the user if the agent ranks possible states the same as the user
An agent is aligned with the user if the agent ranks possible states the same as the user
September 6, 2025 at 5:00 PM
One of the hardest problems in agentic applications is alignment:
An agent is aligned with the user if the agent ranks possible states the same as the user
An agent is aligned with the user if the agent ranks possible states the same as the user
The first chapter of Systems Engineering for Agentic Applications just dropped
This chapter covers
1⃣ AI foundations
2⃣ AI agents and agentic applications
3⃣ Code samples exploring AI APIs and simple agents
systems-engineering-for-agentic-applications.resonatehq.io/chapters/cha...
This chapter covers
1⃣ AI foundations
2⃣ AI agents and agentic applications
3⃣ Code samples exploring AI APIs and simple agents
systems-engineering-for-agentic-applications.resonatehq.io/chapters/cha...
September 1, 2025 at 8:00 AM
The first chapter of Systems Engineering for Agentic Applications just dropped
This chapter covers
1⃣ AI foundations
2⃣ AI agents and agentic applications
3⃣ Code samples exploring AI APIs and simple agents
systems-engineering-for-agentic-applications.resonatehq.io/chapters/cha...
This chapter covers
1⃣ AI foundations
2⃣ AI agents and agentic applications
3⃣ Code samples exploring AI APIs and simple agents
systems-engineering-for-agentic-applications.resonatehq.io/chapters/cha...
The first chapter of Systems Engineering for Agentic Applications will drop tomorrow
We will cover
➡️ AI foundations
➡️ AI agents and agentic applications
➡️ First contact with AI APIs and AI agents
We will cover
➡️ AI foundations
➡️ AI agents and agentic applications
➡️ First contact with AI APIs and AI agents
August 31, 2025 at 1:06 PM
The first chapter of Systems Engineering for Agentic Applications will drop tomorrow
We will cover
➡️ AI foundations
➡️ AI agents and agentic applications
➡️ First contact with AI APIs and AI agents
We will cover
➡️ AI foundations
➡️ AI agents and agentic applications
➡️ First contact with AI APIs and AI agents
The biggest lie in Software Engineering
Undo
There’s no undo
Only a new Do that resembles the old state
The past is immutable
We just pile on a new present
Undo
There’s no undo
Only a new Do that resembles the old state
The past is immutable
We just pile on a new present
August 27, 2025 at 12:50 PM
The biggest lie in Software Engineering
Undo
There’s no undo
Only a new Do that resembles the old state
The past is immutable
We just pile on a new present
Undo
There’s no undo
Only a new Do that resembles the old state
The past is immutable
We just pile on a new present
In Event Sourcing, what’s the right order of operations?!
1️⃣ Receive → Process → Persist → Apply → Return
2️⃣ Receive → Process → Apply → Persist → Return
Do you persist before apply or apply before persist?
1️⃣ Receive → Process → Persist → Apply → Return
2️⃣ Receive → Process → Apply → Persist → Return
Do you persist before apply or apply before persist?
August 21, 2025 at 8:25 PM
In Event Sourcing, what’s the right order of operations?!
1️⃣ Receive → Process → Persist → Apply → Return
2️⃣ Receive → Process → Apply → Persist → Return
Do you persist before apply or apply before persist?
1️⃣ Receive → Process → Persist → Apply → Return
2️⃣ Receive → Process → Apply → Persist → Return
Do you persist before apply or apply before persist?