<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Werner Strydom</title><link>https://wernerstrydom.com/</link><description>Recent content in Home on Werner Strydom</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 02 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wernerstrydom.com/index.xml" rel="self" type="application/rss+xml"/><item><title>What happens if we stop retrying?</title><link>https://wernerstrydom.com/posts/what-happens-if-we-stop-retrying/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://wernerstrydom.com/posts/what-happens-if-we-stop-retrying/</guid><description>&lt;p>The retry is the most confident line of code we write. Think about what it
claims: &lt;em>the same request, sent again, will produce a different outcome.&lt;/em>
Sometimes that&amp;rsquo;s true — a dropped packet, a node mid-restart. But we don&amp;rsquo;t
retry because we&amp;rsquo;ve established that. We retry because it&amp;rsquo;s easy and it
usually looks like it works.&lt;/p>
&lt;p>So, the thought experiment: what happens if we stop?&lt;/p>
&lt;p>Take a service that&amp;rsquo;s slow because it&amp;rsquo;s overloaded. Callers time out and
retry. Each retry is a brand-new request the service must also fail, which
makes it slower, which causes more timeouts, which causes more retries. We
have a name for this — a retry storm — and yet we keep writing the loop,
because each individual retry looks reasonable. It&amp;rsquo;s the traffic jam problem:
nobody thinks &lt;em>they&amp;rsquo;re&lt;/em> the traffic.&lt;/p></description></item><item><title>Why does this site exist?</title><link>https://wernerstrydom.com/posts/why-does-this-site-exist/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://wernerstrydom.com/posts/why-does-this-site-exist/</guid><description>&lt;p>It&amp;rsquo;s a fair question, and I&amp;rsquo;d rather answer it before someone else asks.&lt;/p>
&lt;p>Most personal sites exist because someone read that they &lt;em>should&lt;/em> have one.
Personal brand, visibility, that whole industry. That&amp;rsquo;s not this. I have no
intention of building a brand; I already have a name, and it&amp;rsquo;s done fine so
far.&lt;/p>
&lt;p>Here&amp;rsquo;s the actual reason. I think by asking questions. Not the rhetorical
kind you deploy in meetings to sound clever, but the kind that comes out of a
thought experiment: &lt;em>why is this system behaving this way?&lt;/em> Maybe it&amp;rsquo;s the
cache. Alright, suppose it is the cache — then what should happen if we turn
it off? And when you turn it off and the behaviour doesn&amp;rsquo;t change, you&amp;rsquo;ve
learned something worth writing down.&lt;/p></description></item><item><title>About</title><link>https://wernerstrydom.com/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wernerstrydom.com/about/</guid><description>&lt;h1 id="about">About&lt;/h1>
&lt;p>I&amp;rsquo;m a software engineer. I&amp;rsquo;ve spent my career building systems, watching them
fail in interesting ways, and trying to understand the gap between how we say
software works and how it actually does.&lt;/p>
&lt;p>I&amp;rsquo;m South African, which means &amp;ldquo;I&amp;rsquo;ll do it now&amp;rdquo; comes in three distinct tenses
— &lt;em>now&lt;/em>, &lt;em>just now&lt;/em>, and &lt;em>now-now&lt;/em> — and none of them mean immediately. It&amp;rsquo;s
good training for distributed systems: everything is eventually consistent,
including me.&lt;/p></description></item></channel></rss>