RSSAmplifier

Blog

Causality

The Concurrency Problem: what's broken, what almost worked, and what a real fix might look like

causality.blogRSS feed ↗3 posts

Latest posts

What Async Promised and What it Delivered

The async/await saga is a story where each chapter solves the previous chapter's worst problem while introducing new structural costs. The sequential syntax that made async code readable also obscures the thing that matters: which operations actually depend on each other.

The Isolation Trap

Erlang's mailbox design is more disciplined than Go's channels: only the owning process can read from a mailbox, and sends are asynchronous. Yet the four failure modes of shared mutable state still show up, just in different shapes.

Message Passing Is Shared Mutable State

The failure of message passing to eliminate concurrency bugs wasn't surprising, it was predicted. Edward Lee argued in 2006 that the shared-memory vs. message-passing debate was a false dichotomy. Go was a billion-dollar natural experiment. The results confirmed the prediction.