Dominik Tornow

@dominiktornow.bsky.social

Founder Resonate HQ | Distributed Async Await | Thinking in Distributed Systems | https://dtornow.substack.com

Systems engineering rests on accurate and concise mental models. Libraries, frameworks, or platforms come and go, but principles are forever Join me at Monster Scale Summit

ScyllaDB@scylladb.com · 6mo ago

AI frameworks excel at building prototypes, but struggle when they need to run continuously in production. @dominiktornow.bsky.social shares the enduring patterns and principles that outlast any implementation at our free and virtual Monster Scale Summit. www.scylladb.com/monster-scal... #ScyllaDB

I am wondering if Claude Code excels if a specification includes exhaustive pre and post conditions. Without stating how to implement a function, we can still rigorously specify what the function does (example in Dafny)

Bild

Distributed System ≠ Distributed Execution A distributed system is a collection of concurrent components that communicate by exchanging messages A distributed execution is an execution that is distributed across those components The dist sys is the stage for the dist exe

Bild

The mathematical definition of idempotence will fail you in production Not this Applying a request n times has no effect beyond the first application But that Applying a request n times, regardless of how the state has evolved in between applications, has no effect beyond the first application

Bild

Property-based Testing and Deterministic Simulation Testing change how you think about invariants: First you defend the invariants your system has. Then you design the invariants your system should have Invariants become aspirational, not just defensive

Vibe coding forces the question: Where do guarantees come from?! Platform Property P is certain. All valid programs have P Think memory-safe Rust program Application Property P is possible. Some valid programs have P Think memory-safe C program

Bild

Deterministic Simulation Testing turns vibe coding into verified coding LLMs are great at writing code, but just like their human counterparts, they miss edge cases DST doesn't DST is the fitness function your coding agent needs to maximize

Durable Executions, defined Every durable execution framework: write normal code, get fault tolerance. Yet nobody defines what normal code or fault tolerance are The alternative: a rigorous definition, grounded in first principles, and a minimal implementation Dropping today

Bild

In distributed systems, you can never know "what is", you can only know "what was" Even in consensus, you never know the current value, you only know the value at an offset in the log Every decision is made on a stale understanding of the world

Resonate's Distributed Async Await doesn't add events, event types, event logs, or complex replay machinery. Resonate makes promises durable. That's it.

Dominik Tornow@dominiktornow.bsky.social · 8mo ago

Distributed Async Await, @resonatehqio.bsky.social Durable Executions framework, rests on one mechanic: skip-when-done - Checkpoint before the function starts - Checkpoint after the function returns - On restart, skip what's done Everything else follows from there Dead simple

📝 Blogged: "Building a Durable Execution Engine With SQLite" Exploring the fundamentals of DE, based on a minimal engine built from scratch, using #SQLite as an execution log, and modern #Java (👋 virtual threads). 👉https://www.morling.dev/blog/building-durable-execution-engine-with-sqlite/

Bild

The Distributed Async Await protocol builds on two (abstract) primitives: Execute until Blocked Make progress by taking one incremental step Send Communicate by sending one message Enabling any durability model on any transport

Bild