Dominik Tornow
@DominikTornow
Founder @resonatehqio | Distributed Async•Await | Thinking in Distributed Systems | https://dtornow.substack.com
We started @resonatehqio in June 2023 with one goal: Solve complex problems with simple code Today, we launch. RIP complexity 🪦

New issue of Scattered Thoughts dropped Why do Formal Methods speak in Riddles? Formal methods sound like “Your parent’s sibling’s child” instead of saying “Cousin” But that's not academic wordplay, it’s a key to building reliable distributed systems x.com/DominikTornow/…
Distributed transactions sound simple: Everyone commits or everyone aborts But formal methods split this into two rules: ❌ Don’t disagree ⏳ Decide Why the riddle? Because failure tolerance requires precision Blog post dropping soon. Link in bio x.com/DominikTornow/…
Distributed transactions sound simple: Everyone commits or everyone aborts But formal methods split this into two rules: ❌ Don’t disagree ⏳ Decide Why the riddle? Because failure tolerance requires precision Blog post dropping soon. Link in bio x.com/DominikTornow/…
Why Do Formal Methods Speak in Riddles?! Formal methods often sound like: “Your parent’s sibling’s child” Instead of just: “Cousin” But that's not academic wordplay, it’s a key to building reliable distributed systems. When a riddle turns into rigor Blog post incoming
When processes crash and networks partition, we have to compromise. Felix Gärtner defines failure tolerance in terms of safety and liveness: Masking Safety & Liveness Non-Masking Liveness, not Safety Fail-Safe Safety, not Liveness Neither That's just sad 😭
The Alpern-Schneider Theorem (1985) Every system property P can be decomposed into: P = S ∩ L where: • S is a safety property • L is a liveness property In other words: Ensure that nothing bad happens while something good eventually happens x.com/DominikTornow/…
The Alpern-Schneider Theorem (1985) Every system property P can be decomposed into: P = S ∩ L where: • S is a safety property • L is a liveness property In other words: Ensure that nothing bad happens while something good eventually happens x.com/DominikTornow/…
New issue of Scattered Thoughts dropped Why do Formal Methods speak in Riddles? Formal methods sound like “Your parent’s sibling’s child” instead of saying “Cousin” But that's not academic wordplay, it’s a key to building reliable distributed systems x.com/DominikTornow/…
Simplicity is the new Black How far can you push a single node before you have to go distributed?! @StephWangBuilds: A lot further than you think keep it simple Now on @TigerBeetleDB's YouTube channel x.com/TigerBeetleDB/…
Stephanie's "Simplicity Is the New Black" youtube.com/watch?v=itK6BS…
Why Do Formal Methods Speak in Riddles?! Formal methods often sound like: “Your parent’s sibling’s child” Instead of just: “Cousin” But that's not academic wordplay, it’s a key to building reliable distributed systems. When a riddle turns into rigor Blog post incoming

Granted, this may not be eye catching but still ... 😅 x.com/DominikTornow/…
Creating eye catching animations for presentations is hella hard What's your weapon of choice? → Keynote?! → PowerPoint?! → Something else?! I want to up level my animation game
Creating eye catching animations for presentations is hella hard What's your weapon of choice? → Keynote?! → PowerPoint?! → Something else?! I want to up level my animation game
Resilience Principle A protocol’s resilience is proportional to 1️⃣ Binding how late the protocol allows binding roles to participants at the beginning of a session 2️⃣ Rebinding how freely the protocol allows rebinding roles to participants during a session
Under-articulated concept in protocol design: Roles are logical Participants are physical Binding assigns a role to a participant No role can act until the role is bound to a participant
Under-articulated concept in protocol design: Roles are logical Participants are physical Binding assigns a role to a participant No role can act until the role is bound to a participant
DST with connection-oriented communication?! 💀 DST with message-passing communication?! ☀️
DST for one node? Impressive DST for a full blown distributed system, multiple nodes with crashes and partitions, all running in one process with production code that has no idea it's being deterministically simulated? Unreal 🌶️ x.com/ScyllaDB/statu…
Request-response over persistent TCP connections?! A constraint masquerading as convenience By the end of this talk, that mask comes off x.com/DominikTornow/…
DST for one node? Impressive DST for a full blown distributed system, multiple nodes with crashes and partitions, all running in one process with production code that has no idea it's being deterministically simulated? Unreal 🌶️ x.com/ScyllaDB/statu…
DST for one node? Impressive DST for a full blown distributed system, multiple nodes with crashes and partitions, all running in one process with production code that has no idea it's being deterministically simulated? Unreal 🌶️ x.com/ScyllaDB/statu…
How can developers confidently test distributed systems? Join @DominikTornow at @P99CONF to learn how to use Deterministic Simulation Testing, a technique that enables exhaustive, fully reproducible testing of your system. ow.ly/32qH50Wokep #ScyllaDB #P99CONF