<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Dyego Maas&apos;s Blog</title><description>Articles on software development, architecture, .NET, Kubernetes, and technology</description><link>https://blog.dyegomaas.com.br/</link><language>en</language><item><title>A Thousand Breakable Toys: How AI Agents Turn Side Projects into Learning Superpowers</title><link>https://blog.dyegomaas.com.br/en/posts/mil-brinquedos-para-quebrar/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/mil-brinquedos-para-quebrar/</guid><description>How AI agents can amplify developer creativity by taking over mechanical tasks and making room for creative work.</description><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate><category>AI</category><category>Development</category></item><item><title>AI Spec-Driven Development with Kiro and Other Agentic IDEs</title><link>https://blog.dyegomaas.com.br/en/posts/ai-spec-driven-development/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/ai-spec-driven-development/</guid><description>Learn how AI Spec-Driven Development tackles Context Drift and raises the quality of AI-assisted development with Kiro and agentic IDEs</description><pubDate>Sun, 27 Jul 2025 00:00:00 GMT</pubDate><category>Augmented Coding</category><category>AI</category></item><item><title>Getting the Most Out of Vibe Coding</title><link>https://blog.dyegomaas.com.br/en/posts/tirando-maximo-vibe-coding/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/tirando-maximo-vibe-coding/</guid><description>Why is Vibe Coding amazing, yet not enough to build professional-grade software?</description><pubDate>Sat, 12 Jul 2025 00:00:00 GMT</pubDate><category>Development</category><category>AI</category></item><item><title>Better integration tests with Docker containers and the Testcontainers library</title><link>https://blog.dyegomaas.com.br/en/posts/testes-dotnet-testcontainers/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/testes-dotnet-testcontainers/</guid><description>In this article I show how to use the testcontainers library to set up your tests&apos; external dependencies, such as databases and message brokers, in a simple and reliable way</description><pubDate>Tue, 03 Jan 2023 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>Does Code Coverage Guarantee Quality?</title><link>https://blog.dyegomaas.com.br/en/posts/code-coverage/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/code-coverage/</guid><description>Is Code Coverage a useful metric? Is it worth chasing 100% coverage? Does high code coverage guarantee quality? In this article I explore these and other questions.</description><pubDate>Thu, 03 Feb 2022 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>Updating the most influential book of the BASIC era</title><link>https://blog.dyegomaas.com.br/en/posts/atualizando-basic-computer-games/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/atualizando-basic-computer-games/</guid><description>In this post, I introduce the project to update the BASIC Computer Games book to new programming languages, explain how to take part, and share some of my experience porting the game Life to C#.</description><pubDate>Sat, 15 Jan 2022 00:00:00 GMT</pubDate><category>Programming</category></item><item><title>Visualizing hundreds of repositories with Gource</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-visualizando-centenas-projetos-com-gource/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-visualizando-centenas-projetos-com-gource/</guid><description>Learn how to visualize the work of hundreds of people across hundreds of Git repositories with Gource.</description><pubDate>Wed, 29 Dec 2021 00:00:00 GMT</pubDate><category>Tutorial</category></item><item><title>The best way to place local variables in a method</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-posicionamento-variaveis/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-posicionamento-variaveis/</guid><description>In this article, I present an intuitive way to decide where to declare each local variable in a method, one that&apos;s also easy to teach to people learning clean code.</description><pubDate>Wed, 03 Nov 2021 00:00:00 GMT</pubDate><category>Clean Code</category></item><item><title>The best and the worst kinds of tests for microservices</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-melhor-e-pior-tipos-teste-para-microservicos/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-melhor-e-pior-tipos-teste-para-microservicos/</guid><description>Which kinds of tests should we avoid in microservices, and which should we adopt? This article explores a question that matters a lot for a healthy project.</description><pubDate>Wed, 13 Oct 2021 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>How to implement test data builders in C# with ForeverFactory</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-test-builders-com-foreverfactory/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-test-builders-com-foreverfactory/</guid><description>In this article, I introduce ForeverFactory, an open-source library I wrote to make creating objects for tests easier.</description><pubDate>Wed, 11 Aug 2021 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>How to add Source Link to a NuGet package</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-como-adicionar-source-link-pacote-nuget/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-como-adicionar-source-link-pacote-nuget/</guid><description>In this article, I explore in detail how to add Source Link support to a library published on NuGet.</description><pubDate>Wed, 04 Aug 2021 00:00:00 GMT</pubDate><category>Programming</category></item><item><title>How to Debug NuGet Packages with Source Link</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-como-depurar-com-source-link/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-como-depurar-com-source-link/</guid><description>What&apos;s the most practical way to debug a NuGet package&apos;s code? In this article, I show how to use Source Link to build a solid, practical debugging experience.</description><pubDate>Wed, 28 Jul 2021 00:00:00 GMT</pubDate><category>Programming</category></item><item><title>Semantic versioning made simple with MinVer</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-versionamento-semantico-com-minver/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-versionamento-semantico-com-minver/</guid><description>In this article, I show how to use MinVer to version .NET project assemblies. To illustrate, I walk through how I set up the release flow of my open-source library ForeverFactory with MinVer-based versioning.</description><pubDate>Wed, 09 Jun 2021 00:00:00 GMT</pubDate><category>Programming</category></item><item><title>How to build a microservice generator with Replicante</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-criando-um-gerador-microservicos-com-replicante/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-criando-um-gerador-microservicos-com-replicante/</guid><description>Looking for a simple way to build a microservice generator? In this article I show how to use the Replicante tool to do it.</description><pubDate>Wed, 21 Apr 2021 00:00:00 GMT</pubDate><category>Tools</category></item><item><title>A strategy to level up a team&apos;s knowledge in record time</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-construindo-um-time-que-nao-tem-medo-de-aprender-e-ensinar/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-construindo-um-time-que-nao-tem-medo-de-aprender-e-ensinar/</guid><description>In this article, I share the strategy my team used to quickly level up a diverse team, mostly new to tech, to work with a modern and complex tech stack, with surprising results</description><pubDate>Wed, 14 Apr 2021 00:00:00 GMT</pubDate><category>Team Building</category></item><item><title>Speeding up Kubernetes development with Tilt</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-tilt/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-tilt/</guid><description>In this article, I give an overview of how Tilt can speed up the development loop of Kubernetes apps using a local K8s cluster.</description><pubDate>Wed, 24 Feb 2021 00:00:00 GMT</pubDate><category>Kubernetes</category></item><item><title>Creating a local K8s cluster with Kind</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-criando-um-cluster-k8s-local-com-kind/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-criando-um-cluster-k8s-local-com-kind/</guid><description>In this article, I show how to create a Kubernetes cluster for local development using the Kind and ctlptl tools.</description><pubDate>Wed, 17 Feb 2021 00:00:00 GMT</pubDate><category>Kubernetes</category></item><item><title>Speeding up the creation of applications and services with Replicante</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-replicante/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-replicante/</guid><description>In this article, I take a detailed look at Replicante, a completely technology-agnostic template processor for software projects.</description><pubDate>Wed, 18 Nov 2020 00:00:00 GMT</pubDate><category>Tools</category></item><item><title>Building a CLI with Gluegun</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-criando-uma-cli-com-gluegun/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-criando-uma-cli-com-gluegun/</guid><description>Learn how to build a command-line app with Gluegun, and see how I used it to build Replicante, my newest open-source project.</description><pubDate>Wed, 04 Nov 2020 00:00:00 GMT</pubDate><category>Programming</category></item><item><title>Deep Thinking, Pen and Paper</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-deep-thinking-papel-e-caneta/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-deep-thinking-papel-e-caneta/</guid><description>In this article, I talk about how the habit of using a notebook and pen strategically has helped me think deeply about the important themes in my life and sustain planned change.</description><pubDate>Wed, 07 Oct 2020 00:00:00 GMT</pubDate><category>Lifehacks</category></item><item><title>Generating UML Diagrams Programmatically with yUML and Python</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-gerando-uml-programaticamente-com-yuml-e-python/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-gerando-uml-programaticamente-com-yuml-e-python/</guid><description>In this article, I briefly introduce the yUML tool and show how to use it together with Python scripts to generate a use case diagram from an application&apos;s structure.</description><pubDate>Wed, 16 Sep 2020 00:00:00 GMT</pubDate><category>Documentation</category></item><item><title>Screaming Architecture with MediatR</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-arquitetura-gritante-com-mediatr/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-arquitetura-gritante-com-mediatr/</guid><description>In this article, I show a way to apply the concept of Screaming Architecture to our applications using MediatR, in order to highlight business value.</description><pubDate>Wed, 09 Sep 2020 00:00:00 GMT</pubDate><category>Architecture</category></item><item><title>How can MediatR help my project?</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-mediatr/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-mediatr/</guid><description>In this article, I show how the MediatR library works, and also ways it can help structure our applications around the business.</description><pubDate>Wed, 02 Sep 2020 00:00:00 GMT</pubDate><category>Architecture</category></item><item><title>Ping-pong Pair Programming - Learn one of the best pair programming techniques</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-ping-pong-pair-programming/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-ping-pong-pair-programming/</guid><description>Find out what pair programming is, and how to apply one of the best techniques to build higher-quality solutions more efficiently! As a bonus, you&apos;ll also learn how to use ping-pong pairing to practice and teach TDD.</description><pubDate>Wed, 29 Jul 2020 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>Apprenticeship Patterns</title><link>https://blog.dyegomaas.com.br/en/posts/resenha-apprenticeship-patterns/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/resenha-apprenticeship-patterns/</guid><description>In this review I talk about how Apprenticeship Patterns is a treasure chest full of wisdom about the developer career; a guide for those at the beginning and in the middle of their journey.</description><pubDate>Wed, 08 Jul 2020 00:00:00 GMT</pubDate><category>Book Review</category></item><item><title>How I built offline search for my static Hugo site</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-como-implementei-busca-offline-blog/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-como-implementei-busca-offline-blog/</guid><description>Ever wondered what it takes to build a fully offline search, with no server at all? In this article I show how I built one for my blog using Hugo and Lunr.js!</description><pubDate>Wed, 17 Jun 2020 00:00:00 GMT</pubDate><category>Blogging</category></item><item><title>How to visualize the development of your projects with Gource</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-como-visualizar-desenvolvimento-com-gource/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-como-visualizar-desenvolvimento-com-gource/</guid><description>Learn how to visualize the development of a software project using Gource and your favorite version control system.</description><pubDate>Wed, 10 Jun 2020 00:00:00 GMT</pubDate><category>Tutorial</category></item><item><title>Screaming Architecture</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-arquitetura-gritante/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-arquitetura-gritante/</guid><description>Ever heard of Screaming Architecture? In this article we explore what makes an application&apos;s architecture scream, and how that can benefit a software project.</description><pubDate>Wed, 03 Jun 2020 00:00:00 GMT</pubDate><category>Architecture</category></item><item><title>Pattern matching in C# 8.0</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-pattern-matching-csharp/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-pattern-matching-csharp/</guid><description>Pattern matching in C#? In this post we explore how this functional programming feature can improve our C# 8.0 programs.</description><pubDate>Wed, 27 May 2020 00:00:00 GMT</pubDate><category>Programming</category></item><item><title>How to implement Health Checks for your application using the ASP.NET Core 3.0 extensions</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-healthchecks-aspnetcore3/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-healthchecks-aspnetcore3/</guid><description>Learn how to implement Health Checks with the ASP.NET Core 3.0 extensions. Very handy for setting up Kubernetes liveness probes!</description><pubDate>Wed, 20 May 2020 00:00:00 GMT</pubDate><category>AspNetCore</category></item><item><title>Faster integration tests with Docker and in-memory MongoDB</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-testes-mais-rapidos-com-mongodb-inmemory/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-testes-mais-rapidos-com-mongodb-inmemory/</guid><description>Learn how to run integration tests quickly and easily with Docker using the tmpfs file system.</description><pubDate>Wed, 13 May 2020 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>Mutation testing with Stryker.NET</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-testes-mutacao-stryker-net/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-testes-mutacao-stryker-net/</guid><description>Learn how to use mutation testing to assess the quality of a test suite. In this article, I show how to use Stryker to improve the tests of C# applications.</description><pubDate>Wed, 06 May 2020 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>Continuous delivery for Hugo blogs with GitHub Actions</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-continuous-delivery-blog-com-hugo/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-continuous-delivery-blog-com-hugo/</guid><description>Learn how to streamline the publishing workflow of your Hugo blog using continuous delivery with GitHub Actions to automatically update your page on GitHub Pages.</description><pubDate>Wed, 29 Apr 2020 00:00:00 GMT</pubDate><category>Blogging</category></item><item><title>Best practices for implementing Test Data Builders in C#</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-test-builders-csharp-boas-praticas/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-test-builders-csharp-boas-praticas/</guid><description>In this article we explore best practices and a few antipatterns that can plague the implementation of test data builders in C#. Check it out!</description><pubDate>Wed, 22 Apr 2020 00:00:00 GMT</pubDate><category>Testing</category></item><item><title>Simplifying test setup in C# with Test Data Builders</title><link>https://blog.dyegomaas.com.br/en/posts/artigo-test-builders-csharp-intro/</link><guid isPermaLink="true">https://blog.dyegomaas.com.br/en/posts/artigo-test-builders-csharp-intro/</guid><description>Is your test setup tedious and repetitive? Make your life easier with Test Data Builders! In this article we show how they work and how they simplify your tests.</description><pubDate>Sun, 19 Apr 2020 00:00:00 GMT</pubDate><category>Testing</category></item></channel></rss>