<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Diogo Moreira</title><link>https://diogomoreira.dev/blog/</link><description>Recent content in Blog on Diogo Moreira</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://diogomoreira.dev/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Sobre colecionar música em vinil</title><link>https://diogomoreira.dev/blog/colecao-vinil/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://diogomoreira.dev/blog/colecao-vinil/</guid><description>&lt;p&gt;Desde abril do ano passado tenho me engajado em um novo hobby: &lt;strong&gt;colecionar vinil&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Não houve um motivo específico pelo qual eu decidi começar que não fosse simplesmente o gosto pela música e por toda as formas expandidas de apreciar um álbum. Se tornou quase um ritual onde eu paro um pouco a correria do dia-a-dia e tiro um tempo pra escutar um álbum do começo ao fim, ler as letras e me desconectar um pouco.&lt;/p&gt;</description></item><item><title>How to recognize poor quality Flash Memory Cards with F3</title><link>https://diogomoreira.dev/blog/flash-cards-with-f3/</link><pubDate>Sat, 21 Feb 2026 11:25:00 -0300</pubDate><guid>https://diogomoreira.dev/blog/flash-cards-with-f3/</guid><description>&lt;p&gt;Hi everyone, this is a quick post just to open this section on my website where I&amp;rsquo;ll share some things I learned along the way.&lt;/p&gt;
&lt;p&gt;Lately, I&amp;rsquo;ve been looking for flash cards for two of my consoles, a Nintendo Switch and a R365 (a portable emulation console) and as I was noticing that the prices vary significantly across marketplaces, I decided to investigate a little further and see how I can check if the card I bought was indeed delivering what was promised and that it wasn&amp;rsquo;t counterfeit.&lt;/p&gt;</description></item><item><title>Sealed and Final in Java 17+</title><link>https://diogomoreira.dev/blog/sealed-and-final-in-java-17/</link><pubDate>Sun, 18 Feb 2024 00:00:00 +0000</pubDate><guid>https://diogomoreira.dev/blog/sealed-and-final-in-java-17/</guid><description>&lt;p&gt;Java 17 brought the &lt;strong&gt;Sealed Classes&lt;/strong&gt; feature, which allows greater control over how to structure a project&amp;rsquo;s class hierarchy. In this post, we&amp;rsquo;ll discuss this feature that permits classes and interfaces to have more control over their allowed subtypes.&lt;/p&gt;
&lt;p&gt;The keywords &lt;code&gt;sealed&lt;/code&gt;, &lt;code&gt;non-sealed&lt;/code&gt; and &lt;code&gt;permits&lt;/code&gt; are the ones to be used in the syntax of sealed classes in Java. When we mark a class as &lt;code&gt;sealed&lt;/code&gt;, it is as if we were marking it as &lt;code&gt;final&lt;/code&gt;, which does not allow other classes to extend it. So, we add classes that can extend a sealed class with the help of &lt;code&gt;permits&lt;/code&gt; keyword and then we list the permitted classes.&lt;/p&gt;</description></item><item><title>Mocking Google Cloud Storage Objects with Java</title><link>https://diogomoreira.dev/blog/mocking-google-cloud-storage-blob-objects/</link><pubDate>Sun, 10 Dec 2023 00:00:00 +0000</pubDate><guid>https://diogomoreira.dev/blog/mocking-google-cloud-storage-blob-objects/</guid><description>&lt;p&gt;Google Cloud Storage is widely used as a cloud storage service to allow users to store and retrieve objects. When working with it, it&amp;rsquo;s essential to write efficient unit tests to ensure the application behaves as expected.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;One common challenge in unit testing is dealing with external dependencies, that&amp;rsquo;s when we use &lt;a href="https://stackoverflow.com/questions/2665812/what-is-mocking"&gt;&lt;em&gt;mocks&lt;/em&gt;&lt;/a&gt; such as Blob Objects from Google Cloud Storage, which may not be readily available during testing or needs to be mocked due to &lt;em&gt;pricing restrictions&lt;/em&gt;. This blog post will explore how to mock Blob Objects from &lt;strong&gt;Google Cloud Storage&lt;/strong&gt; for efficient unit testing.&lt;/p&gt;</description></item><item><title>Versioning .dotfiles</title><link>https://diogomoreira.dev/blog/versioning-dotfiles/</link><pubDate>Fri, 28 Apr 2023 00:00:00 +0000</pubDate><guid>https://diogomoreira.dev/blog/versioning-dotfiles/</guid><description>&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;tl/dr&lt;/strong&gt;; You can set up a new system using &lt;strong&gt;dotfiles&lt;/strong&gt; and an installation script in minutes. This post tries to explains some things about dotfiles and we will build a repository together&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Dotfiles&lt;/strong&gt; are configuration files typically stored in a user&amp;rsquo;s home directory (the directory represented by the symbol &lt;code&gt;~&lt;/code&gt; on Unix-based operating systems) and that begin with a dot (&lt;code&gt;.&lt;/code&gt;) in their file name.&lt;/p&gt;
&lt;p&gt;These files are used to &lt;strong&gt;store&lt;/strong&gt; settings for the various programs and tools that a user can use on their system. Files like &lt;code&gt;.bashrc&lt;/code&gt;, &lt;code&gt;.zshrc&lt;/code&gt;, &lt;code&gt;.vimrc&lt;/code&gt; and &lt;code&gt;.gitconfig&lt;/code&gt; are examples (just to name a few) that practically every user has on their machine.&lt;/p&gt;</description></item></channel></rss>