<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Simon Spoorendonk</title><description>Research-level output at startup velocity.</description><link>https://spoorendonk.dk/</link><item><title>Pull instead of push</title><link>https://spoorendonk.dk/writing/pull-instead-of-push/</link><guid isPermaLink="true">https://spoorendonk.dk/writing/pull-instead-of-push/</guid><description>The bottleneck in a routing solver is usually one inner loop. Turning it around, so that work is gathered rather than handed out, made it about 18× faster on hard instances, and 274× on the best case.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item><item><title>The 1993 answer was right until it wasn&apos;t</title><link>https://spoorendonk.dk/writing/the-1993-answer-was-right-until-it-wasnt/</link><guid isPermaLink="true">https://spoorendonk.dk/writing/the-1993-answer-was-right-until-it-wasnt/</guid><description>A paper from 1993 measured two ways of solving multi-commodity flow and picked a winner. Thirty-two years later the answer flipped, not because anyone found a mistake, but because the machines got big enough to change what the bottleneck was.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item></channel></rss>