Skip to main content
The same hand pressing the same button five times over, each impression printed further out of register than the last, in flat gold and black on cream — a two-ink risograph print

SLOP3092: Try Again, Later

A course about one decision, asked in a new context every week: something failed — should you try again, and how? From flaky HTTP clients to double-charged payments, we study when persistence helps and when it quietly makes things worse.

Something failed. Should you try again, and how? The answer is usually yes, and the retry usually works, which is how the reflex gets learned before anyone examines it. Twelve weeks on the cases where it does not work: the payment charged twice, the recovering dependency flooded by its own clients, the retry still running ninety seconds after the caller stopped waiting for the answer.

Twelve weeks, twelve situations

Every week takes the same question into a new situation, and each situation is concrete enough to reproduce: a read that times out once, a payment that is charged twice, ten thousand clients that all come back on the same second, two people who resend the same payout at 3am with no code between them.

Every week has the same five parts: the situation, the reflex everyone reaches for, why it fails here, what to do instead, and who owns that decision — the client, the library, the platform, the operator, the product team, or nobody. Every fix has a limit built into how it works. Backoff adds latency to requests that were about to succeed. An open circuit breaker fails calls that would have worked. A deadline discards work that was nearly finished. By week 12 you should be able to state the limit on any retry policy you propose and defend it out loud.

Who it is for

Third-year students who have written code that talks to something over a network and have already been surprised by it. You need to be comfortable reading an unfamiliar codebase and making a small change to it; you do not need distributed systems theory, and the course does not assume you have run anything in production.

You will spend most of the semester making failures happen on purpose, then deciding what to do about them. You will leave with an audit, a retry policy you have defended out loud against someone briefed to break it, and a written argument that some failures should not be retried at all.

Where to go next

Lectures

What each week covers before the lab makes it happen.

Labs

The twelve situations, in order, with the failure each one is built around.

Assessments

The audit, the policy and the case, with what each is worth and when it is due.

People

Who teaches the course, what to bring them, and when they are free.