<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Architecture - Tag - Nuno Sousa&#39;s Corner</title>
        <link>https://www.nunomtsousa.com/tags/architecture/</link>
        <description>Architecture - Tag - Nuno Sousa&#39;s Corner</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>nuno.mt.sousa@gmail.com (Nuno Sousa)</managingEditor>
            <webMaster>nuno.mt.sousa@gmail.com (Nuno Sousa)</webMaster><lastBuildDate>Wed, 25 Jun 2025 21:08:45 &#43;0100</lastBuildDate><atom:link href="https://www.nunomtsousa.com/tags/architecture/" rel="self" type="application/rss+xml" /><item>
    <title>Branches or Feature Toggles?</title>
    <link>https://www.nunomtsousa.com/posts/2025-06-featuretoggles/</link>
    <pubDate>Wed, 25 Jun 2025 21:08:45 &#43;0100</pubDate>
    <author>nuno.mt.sousa@gmail.com (Nuno Sousa)</author>
    <guid>https://www.nunomtsousa.com/posts/2025-06-featuretoggles/</guid>
    <description><![CDATA[<h3 id="when-and-how-to-use-them">When and how to use them.</h3>
<p>Have you ever been requested to do a change to a system, but that change should not be visible until it is completed? Have you also been requested to launch fixes to the same system while you are changing it? Then you probably faced this problem.</p>
<h2 id="introduction">Introduction</h2>
<p>We have all been there: someone asked us to add some feature to an existing system, but that it should only be visible when it is completed. You go off and start coding. Sometime later, that same someone asks you to fix a bug, a high priority bug. But you have your code half done, and you can’t simply stash it. How will you handle this?</p>]]></description>
</item>
<item>
    <title>The Device Driver Abstraction</title>
    <link>https://www.nunomtsousa.com/posts/2024-04-14-devicedriverabstraction/</link>
    <pubDate>Sun, 14 Apr 2024 18:33:39 &#43;0000</pubDate>
    <author>nuno.mt.sousa@gmail.com (Nuno Sousa)</author>
    <guid>https://www.nunomtsousa.com/posts/2024-04-14-devicedriverabstraction/</guid>
    <description><![CDATA[<h2 id="how-a-simple-idea-changed-software-design-forever">How a simple idea changed software design forever</h2>
<p>It was the dawn of computers and software. Operating systems were being developed, and there were still no agreed-upon abstractions. Then came a simple abstraction: the device driver. The device driver enabled the development of software that was not locked to a specific hardware; it allowed developers to write code that worked with any hardware. This seemingly simple change made software development a lot simpler. It is something we take for granted today, but that we forget when we develop software. Why do we keep on forgetting this simple idea? In this article, I’ll explain what the driver abstraction is, how it came to be, and the problems it tried to solve. I will also show why we keep forgetting about it, and the costs we pay every day for not learning from our past.</p>]]></description>
</item>
</channel>
</rss>
