Dominik TornowOutside Runtime BoundariesIn software engineering, async • await has fundamentally changed the way we develop asynchronous and concurrent applications.Sep 6, 2023Sep 6, 2023
Dominik TornowA Tale of Two SpectrumsIn this post, we will explore distributed systems through the lens of two fundamental dimensions: sync vs async and sequential vs…May 28, 20231May 28, 20231
Dominik TornowThe Magic of AbstractionsIn Structure and Interpretation of Computer Programs, the term abstraction appears on page one, chapter one, headline one.May 20, 20231May 20, 20231
Dominik TornowGetting started with small-step operational semanticsIn this post, I will design SagaLang, a tiny “programming language” to illustrate the ideas behind SOS.Mar 28, 20232Mar 28, 20232
Dominik TornowPaper Summary: SagasThis post explores the origins of the concept of Sagas, long-running processes that span multiple database transactions.Feb 15, 2023Feb 15, 2023
Dominik TornowHandling Failures From First PrinciplesThe post presents a blueprint for a principled failure handling strategy that guarantees correctness while maximizing the chance of successOct 22, 20223Oct 22, 20223
Dominik TornowPaper Summary: Fundamentals of Fault-Tolerant Distributed ComputingThis paper explores the very foundations of failure, failure tolerance, and failure transparence.Sep 6, 2022Sep 6, 2022
Dominik TornowPaper Summary: End-to-End Arguments in System DesignThe 1984 paper End-to-End Arguments in System presents a design principle that helps guide placement of functions in a distributed systemAug 15, 2022Aug 15, 2022
Dominik TornowKubernetes Network PolicyNetwork Policies determine if an incoming (Ingress) or outgoing (Egress) message is permitted or prohibited by the Kubernetes Network.Feb 9, 20212Feb 9, 20212