<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tech on doismiu - dispatches from the infernal archive</title><link>https://doismiu.blog/tags/tech/</link><description>Recent content in Tech on doismiu - dispatches from the infernal archive</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 04 Mar 2026 00:00:00 +0100</lastBuildDate><atom:link href="https://doismiu.blog/tags/tech/index.xml" rel="self" type="application/rss+xml"/><item><title>Forget Programming. What is the Future of the Programmer?</title><link>https://doismiu.blog/posts/forget-programming-what-is-the-future-of-the-programmer/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0100</pubDate><guid>https://doismiu.blog/posts/forget-programming-what-is-the-future-of-the-programmer/</guid><description>&lt;p&gt;Years go by and in the software development world we ask the same question: &amp;ldquo;What is the &lt;strong&gt;future of programming&lt;/strong&gt;?&amp;rdquo;. For this answer we always had the hot topic of each moment. Cloud computing was a hot topic in 2010. When I was in college Big Data and IoT were the trend, then Deep Learning, NFTs and so on. You can even divide the eras of technology by looking at the trending topic of each period. But now in 2026 there is a topic that arrived in full force and is already the reality of the market and changed the technology field forever: &lt;strong&gt;Artificial Intelligence&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Fiber: Performance Over "Idiomatic" Purity</title><link>https://doismiu.blog/posts/fiber-performance-over-idiomatic-purity/</link><pubDate>Thu, 18 Dec 2025 00:00:00 +0100</pubDate><guid>https://doismiu.blog/posts/fiber-performance-over-idiomatic-purity/</guid><description>&lt;p&gt;I can already hear the Go purists sharpening their pitchforks. &amp;ldquo;Use the standard library,&amp;rdquo; they chant. &amp;ldquo;Frameworks are anti-pattern,&amp;rdquo; they scream.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t care.&lt;/p&gt;
&lt;p&gt;I am not using &lt;strong&gt;Fiber&lt;/strong&gt; because I am lazy. I am not using it because it looks like Express.js. I am using it because I have a pathological addiction to &lt;strong&gt;speed&lt;/strong&gt;, and &lt;code&gt;net/http&lt;/code&gt;, bless its safe, compatible heart, is simply too polite for the violence I want to inflict on my CPU.&lt;/p&gt;</description></item><item><title>Contract First or Die Trying: The Only Sane Way to Design APIs</title><link>https://doismiu.blog/posts/contract-first-or-die-trying/</link><pubDate>Tue, 16 Dec 2025 00:00:00 +0100</pubDate><guid>https://doismiu.blog/posts/contract-first-or-die-trying/</guid><description>&lt;p&gt;I need to get something off my chest. Something that has been festering in my soul since the first time I joined a project mid-development and asked the fateful question: &amp;ldquo;Where is the API documentation?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The answer, invariably, was one of the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;ldquo;Check the Postman collection.&amp;rdquo; (Translation: a graveyard of 200 requests, half of which are outdated, named things like &lt;code&gt;GET users FINAL v2 (copy)&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Just look at the code.&amp;rdquo; (Translation: reverse-engineer our spaghetti and good luck)&lt;/li&gt;
&lt;li&gt;&amp;ldquo;We&amp;rsquo;ll document it later.&amp;rdquo; (Translation: we will never document it)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure&gt;&lt;img src="https://doismiu.blog/posts/contract-first-or-die-trying/quit.gif" alt="I Quit!" loading="lazy" decoding="async" data-full="/posts/contract-first-or-die-trying/quit.gif" width="250" height="198"&gt;
&lt;/figure&gt;&lt;/p&gt;</description></item><item><title>The Death of JSON in Backend: Why I migrated my entire stack to gRPC and Protobuf</title><link>https://doismiu.blog/posts/the-death-of-json-in-backend/</link><pubDate>Sat, 13 Dec 2025 00:00:00 +0100</pubDate><guid>https://doismiu.blog/posts/the-death-of-json-in-backend/</guid><description>&lt;p&gt;I&amp;rsquo;ll start this post with a confession that might earn me some enemies: &lt;strong&gt;I hate JSON&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not an irrational hate, the kind that appears out of nowhere. It&amp;rsquo;s a hate built, brick by brick, over years of debugging malformed payloads, fields that should have been numbers but arrived as strings, and that classic &lt;code&gt;null&lt;/code&gt; where you expected an empty array. JSON is the digital equivalent of a phone conversation with your grandmother: you &lt;em&gt;think&lt;/em&gt; you understood what she said, but when you get there, the carrot cake didn&amp;rsquo;t have that expected chocolate frosting (Brazilians will understand).&lt;/p&gt;</description></item><item><title>The Kobayashi Maru of Java: Global Exception Handling</title><link>https://doismiu.blog/posts/the-kobayashi-maru-of-java/</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0100</pubDate><guid>https://doismiu.blog/posts/the-kobayashi-maru-of-java/</guid><description>&lt;p&gt;For those who skipped the Starfleet Academy lectures, the &lt;a href="https://en.wikipedia.org/wiki/Kobayashi_Maru"&gt;&lt;strong&gt;Kobayashi Maru&lt;/strong&gt;&lt;/a&gt; is a training exercise designed as a &amp;ldquo;no-win scenario.&amp;rdquo; The goal isn&amp;rsquo;t to win, it&amp;rsquo;s to see how you handle inevitable failure. In the world of Backend Engineering, our no-win scenario is the &lt;strong&gt;Unhandled Exception&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;You spend weeks architecting a beautiful, clean service. You use Records, you optimize your SQL queries, you apply SOLID principles. And then, on production day, a user sends a malformed JSON, and your API vomits a 50-line Stack Trace directly into their browser console. It&amp;rsquo;s ugly, it&amp;rsquo;s unprofessional, and it exposes your internal logic to the world.&lt;/p&gt;</description></item><item><title>Fixed Length Files With Spring Batch 6.0: The "Joy" of Legacy Data</title><link>https://doismiu.blog/posts/fixed-length-files-with-spring-batch/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0100</pubDate><guid>https://doismiu.blog/posts/fixed-length-files-with-spring-batch/</guid><description>&lt;p&gt;If you are a developer who has handled &lt;strong&gt;payroll processing&lt;/strong&gt; or &lt;strong&gt;bank/financial reconciliation&lt;/strong&gt; at a company that uses Spring, you have likely worked with &lt;strong&gt;Spring Batch&lt;/strong&gt;. I confess I&amp;rsquo;m not a huge fan; it has that characteristic &lt;strong&gt;verbosity and overhead&lt;/strong&gt; of the Java ecosystem, making it feel like even the simplest job requires far more structure than necessary. But what good is complaining? The technology your company uses is what ensures your &lt;strong&gt;survival&lt;/strong&gt; (housing, food, clothing). So, whining isn&amp;rsquo;t the topic for today.&lt;/p&gt;</description></item></channel></rss>