Real cases
A case · you decide
Trice and Baton lose an update
Trice & Baton — a 17-year-old debugging a like-counter in a club project
Two tasks each run counter += 1 once, starting from 0. Sometimes the counter ends at 2, and sometimes at 1.
Trice: each += is read, add, then write.
Baton: the two tasks' reads and writes can interleave in any order.
What is the smallest final value possible?
A race is not about speed. It is about the order steps happen in.
Who made this?
“In reality, every technology reflects decisions made by designers, companies, and communities, and carries the values and power of those choices.”
- Who benefits from this technology?
- Whose needs are ignored?
A case · you decide
Sheara and Isla fix the counter
Isla & Sheara — a 16-year-old choosing a fix for the same race
The counter is shared between two tasks and both change it. Isla's teammates suggest three fixes.
Sheara names the problem: the state is shared AND mutable.
Isla's tool is the actor: whatever lives inside it is touched by one task at a time, each change finishing before the next starts.
Which fix is correct?
Fix the sharing, not the timing.
Who made this?
“In reality, every technology reflects decisions made by designers, companies, and communities, and carries the values and power of those choices.”
- Who benefits from this technology?
- Whose needs are ignored?