Slowyslowyapp.com

01 Making a link worse

Repeatability

A test you cannot run twice the same way is an anecdote; the point of a shaper is that the bad link is identical each time.

Entry 04 of 04Three dials, and why they are separate.All of Making a link worse

A written test log on a clipboard resting on a rack shelf
A written condition — rate, delay, loss — is what separates a result from an anecdote.slowyapp.com picture kit

A controlled bad connection is a controlled experiment

Run a test once over a real degraded network and you have an observation. Run it a second time under the same conditions and you have the beginning of evidence. Run it a dozen times and get the same result each time, and you have something you can act on. The shaper's first job is not cruelty — it is consistency.

A real bad link does not cooperate. Packet loss on a mobile network arrives in bursts shaped by interference, handover events and competing users. Latency on a congested path rises and falls with traffic that has nothing to do with your application. Jitter — the variation in per-packet delay — wanders with causes you cannot observe or reproduce. These are real conditions, but they are not experimental ones. A failure that appears only in the wild cannot be debugged in the wild; it has to be pinned down somewhere quieter.

A traffic shaper imposes a fixed loss rate, a fixed added delay, a fixed throughput ceiling — and holds them there. Active queue management aside, the conditions do not fluctuate unless you tell them to. You run the application, watch it fail, change one variable, and run it again. The second run starts from exactly the same network conditions as the first. That is not how networking normally works, and it is precisely the point.

A bandwidth graph plotted on a screen showing a flat capped line
A healthy-looking rate graph and an unusable connection are compatible readings.slowyapp.com picture kit

This is why repeatability matters most before a release, not after. Finding that your video-conferencing client drops calls at a specific combination of latency and loss is useful only if you can confirm the fix by re-running the identical scenario. Without a shaper, "we haven't seen it again" and "we fixed it" are indistinguishable — because the bad link that exposed the bug may simply not have recurred.

The Internet Engineering Task Force has long distinguished between measurement under controlled conditions and measurement in the field; RFC 2544, which defines benchmarking methodology for network devices, exists precisely because informal observation does not constitute a benchmark.

A close view of a network switch faceplate with link lights, some dark
Link lights report that a port is up. They report nothing about the queue behind it.slowyapp.com picture kit