<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Writing on Tonderai Saidi</title><link>https://tonderai.dev/posts.html</link><description>Recent content in Writing on Tonderai Saidi</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 16 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tonderai.dev/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>The Case for Business Analysts</title><link>https://tonderai.dev/posts/the-case-for-business-analysts.html</link><pubDate>Fri, 16 Oct 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/the-case-for-business-analysts.html</guid><description>&lt;p>One of the things I love most about engineering is that I get to solve problems. My days, if I can avoid meetings, are full of intellectual challenges that test both my wit and my character. I&amp;rsquo;m forced to find solutions within constraints, and to take on tasks so big they scare me, because at times the wrong decision can have irreparable consequences and reflect poorly on my standing with my peers. Because, as we all know, it&amp;rsquo;s the opinions of others that matter most. It can get emotional, because the solution often needs the skill I&amp;rsquo;m least good at. So I have to confront myself and fight the part of me that wants to avoid failure by taking an easier, less effective route.&lt;/p></description></item><item><title>I Am Going Into Debt and Here Is Why You Should Join Me</title><link>https://tonderai.dev/posts/going-into-debt.html</link><pubDate>Wed, 26 Aug 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/going-into-debt.html</guid><description>&lt;p>Every repository that I have ever worked in almost always has lines of code that are either inconsistent with the standards that we enforce for any new work, or objectively just poor quality code. You can easily see how a series of small decisions now have far reaching consequences that constrain how new work should be developed. We call this tech debt, and it has almost always been framed as a poor thing, as something we loathe. In a way it reminded us that we stood on the shoulders of very small giants, with back problems. But I would like to reframe how we look at tech debt and borrow from the world of finance, where debt can be incurred strategically and intentionally, with risk accounted for and not blindly. And where debt can help to relieve pressure in the present moment.&lt;/p></description></item><item><title>My Language Is Dying</title><link>https://tonderai.dev/posts/my-language-is-dying.html</link><pubDate>Sat, 15 Aug 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/my-language-is-dying.html</guid><description>&lt;p>Language forms part of our identity. Not only because of our backgrounds but because it allows us to communicate the most intimate parts of ourselves to the next person. Through it, we can observe tendencies unique to certain cultures. French is portrayed as the language of love. I do not speak it so I still suspect that it is just the accent. But these personas that languages have tell us something about the people that speak them. The nuances make all the difference, because even within one language we get different dialects. We find unique ways through which communities adopt a social contract to say this is how we express this thing. And as one gets more comfortable with a language, we observe unique and obscure ways to express ideas that all of us hold but just did not know how to say within the syntax of our own tongue.&lt;/p></description></item><item><title>Scenes from Home Affairs</title><link>https://tonderai.dev/posts/scenes-from-home-affairs.html</link><pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/scenes-from-home-affairs.html</guid><description>&lt;p>Over the past few years I have seen a shift within western media in how they use language when referring to certain communities. Subtle changes such as referring to homeless people as &amp;ldquo;unhoused&amp;rdquo;, illegal migrants as &amp;ldquo;undocumented migrants&amp;rdquo;, and disabled people as &amp;ldquo;differently-abled&amp;rdquo;. I must admit that when I would read articles about the homeless crisis in LA, or the immigrants drowning in dinghies on their way to Europe, I never saw nor understood the need for the change in language. My thinking was that there is a term that I and everyone else knows, and changing it would only lead to confusion. So I somewhat held on to the old terms as though they would bring me comfort. But I never considered how these communities viewed this shift in language. How it helped bring nuance to narratives that we had all grown accustomed to.&lt;/p></description></item><item><title>What Got Us Here, Won't Get Us There</title><link>https://tonderai.dev/posts/what-got-us-here.html</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/what-got-us-here.html</guid><description>&lt;p>Evolution forces us to sit with a harsh truth: the fittest will survive, and everything that fails to adapt in response to its environment will perish. But even the very features that give certain organisms an advantage do not maintain their favourability in perpetuity. At times a trait survives generations not because it is good, but because it is not bad enough for there to be negative consequences. Until of course it snowballs. When the environment shifts and a trait begins to work against the very organism it once served, biologists describe it as maladaptive: &lt;em>&amp;ldquo;a trait, behaviour, or characteristic that is more harmful than helpful to an organism&amp;rsquo;s survival and reproductive success&amp;rdquo;&lt;/em>. The punishment for remaining stagnant or not changing fast enough is extinction. I believe this applies to human behaviour as much as it applies to nature. That the very habits we build to survive one environment can quietly turn against us when the environment changes.&lt;/p></description></item><item><title>Something to Hold On To</title><link>https://tonderai.dev/posts/something-to-hold-on-to.html</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/something-to-hold-on-to.html</guid><description>&lt;p>We have all experienced the feeling of falling, after tripping our feet on an object and losing our balance. Feeling that we are getting closer to the ground, and in that moment the natural thing is to grab whatever is next to you, whomever. And when we grab something to help us balance and avoid the fall we take little consideration about the structural integrity of what we are holding on to. It could be a chair, a plant or a person. And when it is a person we do not care if Bob has back problems. I am falling and Bob is close by, and so I reach for Bob. Moments later we offer Bob an apology and hope that he extends grace. But Bob doesn&amp;rsquo;t hold grudges, he understands that we are falling and worst case, he gets to skip his physio session because &amp;ldquo;it hurts too much&amp;rdquo;. But this is not about Bob. It&amp;rsquo;s about that feeling of needing support and realising that you do not have the necessary structures and systems around you to provide it.&lt;/p></description></item><item><title>The Spectrum vs The Medium</title><link>https://tonderai.dev/posts/spectrum-vs-medium.html</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/spectrum-vs-medium.html</guid><description>&lt;p>This world is ambiguous, and it relies on our understanding of culture, time and context to decipher the true meaning of things. A task that I find especially difficult as someone with Asperger&amp;rsquo;s Syndrome. I am told that my brain &amp;ldquo;works differently&amp;rdquo;, that it processes information in a manner unlike most people. And this does not bother me, but when you live in a world that makes certain assumptions about our ability to interpret information, deviating from the norm comes with unique challenges. I do not believe that this is any one person&amp;rsquo;s fault, but rather it points to an inability of our language to represent things in a manner that all of us can absorb.&lt;/p></description></item><item><title>The Case for Humanity: What Chess Got Right About AI</title><link>https://tonderai.dev/posts/synthecists.html</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/synthecists.html</guid><description>&lt;p>I just finished reading &lt;em>Deep Thinking&lt;/em> by Garry Kasparov. He describes the years leading up to his famous battle against Deep Blue — the chess algorithm that defeated a world-class grandmaster for the first time. There are striking parallels between the rise of chess engines in the &amp;rsquo;80s and &amp;rsquo;90s and the rise of AI agents today. I&amp;rsquo;ll rely on those parallels to make a case for humanity and our role as billions of dollars continue to be spent on ever more powerful models.&lt;/p></description></item><item><title>The Review Bottleneck: Why Software Engineering Isn't Ready for the AI Era</title><link>https://tonderai.dev/posts/the-review-bottleneck.html</link><pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/the-review-bottleneck.html</guid><description>&lt;p>Software Engineering has been a passion of mine for a long time. It didn&amp;rsquo;t start with binary or complex algorithms; it started with the joy of pure creation.&lt;/p>
&lt;p>My first introduction was &lt;strong>Scratch&lt;/strong>. As a child, I didn&amp;rsquo;t care about memory management or syntax errors; I loved that I could drag a block and make a cat dance. It was visual, immediate, and it hooked me on the feeling of building things.&lt;/p></description></item><item><title>I Built an Adaptive RAG Chatbot and It Works on My Machine</title><link>https://tonderai.dev/posts/adaptive-rag-chatbot.html</link><pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate><guid>https://tonderai.dev/posts/adaptive-rag-chatbot.html</guid><description>&lt;p>You know that feeling when your code works perfectly in development, and then you deploy it and everything burns to the ground? This is that story.&lt;/p>
&lt;p>What started as &amp;ldquo;let me build a simple chatbot using the Gemini API&amp;rdquo; turned into a months-long journey through embeddings, vector databases, adaptive retrieval strategies, and the unique pain of debugging why DuckDuckGo decided my chatbot was a spam bot.&lt;/p>
&lt;p>This is the story of building an adaptive RAG (Retrieval-Augmented Generation) chatbot that can answer questions about 130,000+ Wikipedia passages, handle queries in Shona and respond back in Shona, and—most importantly—fall back gracefully when things inevitably break.&lt;/p></description></item></channel></rss>