<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="https://afranca.com.br/xsl/atom.xsl"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><id>https://afranca.com.br/</id><title>Andre Franca</title><updated>2026-05-31T23:34:32-03:00</updated><link href="https://afranca.com.br/" rel="alternate" type="text/html"/><link href="https://afranca.com.br/feed.xml" rel="self" type="application/atom+xml"/><author><name>Andre Franca</name><email>hello@privatemail.slmail.me</email></author><entry><id>https://afranca.com.br/convocacao-da-selecao-brasileira/</id><title>Convocação da Seleção Brasileira</title><link href="https://afranca.com.br/convocacao-da-selecao-brasileira/" rel="alternate" type="text/html"/><published>2026-05-31T23:34:32-03:00</published><updated>2026-05-31T23:34:32-03:00</updated><category term="sports"/><summary type="text">A convocação da Seleção Brasileira para a Copa do Mundo de 2026 saiu há alguns dias e, como sempre, a cobertura da mídia vem sendo um show de horrores à parte. Impressiona como a imprensa esportiva brasileira perdeu completamente a capacidade de analisar futebol sem militar ou cair em clichês rasos. O caso Neymar é um ótimo exemplo, onde ninguém consegue discutir a convocação do cara sem transformar tudo em novela, julgamento moral ou pauta de rede social. Análise tática, contexto, futebol mesmo? Esquece&amp;hellip;</summary><content type="html">&lt;p&gt;A convocação da Seleção Brasileira para a Copa do Mundo de 2026 saiu há alguns dias e, como sempre, a cobertura da mídia vem sendo um show de horrores à parte. Impressiona como a imprensa esportiva brasileira perdeu completamente a capacidade de analisar futebol sem militar ou cair em clichês rasos. O caso Neymar é um ótimo exemplo, onde ninguém consegue discutir a convocação do cara sem transformar tudo em novela, julgamento moral ou pauta de rede social. Análise tática, contexto, futebol mesmo? Esquece&amp;hellip;&lt;/p&gt;
&lt;p&gt;Na boa, a culpa do Neymar ser convocado de novo não é só dele, nem do técnico. Pra mim, Vinícius Jr. e Raphinha têm tanta responsabilidade quanto. Nenhum dos dois assumiu o protagonismo que se esperava na Seleção. O Vinícius, inclusive, só é tratado como craque absoluto por causa de militância e narrativa, porque, bola por bola, ainda não entregou metade do que se espera de quem vestia a 10 do Brasil. Se esses dois tivessem assumido o papel de liderar o time, talvez o ciclo do Neymar já tivesse acabado.&lt;/p&gt;
&lt;p&gt;Sobre a convocação do Ancelotti, tem acertos e tem apostas duvidosas. O treinador trouxe alguns nomes novos, mas manteve medalhões que já não entregam faz tempo. O meio-campo parece equilibrado, mas a defesa ainda passa pouca confiança. O ataque, como sempre, depende de lampejos individuais e, sinceramente, falta alguém que decida jogo grande.&lt;/p&gt;
&lt;p&gt;O problema maior é que, no fim das contas, a Seleção virou laboratório de narrativa pra mídia. Ninguém discute futebol, só pauta de Twitter. E aí, quando o time tropeça, a culpa é sempre do técnico ou do &amp;ldquo;ambiente tóxico&amp;rdquo;. Falta autocrítica, falta análise séria e, para a seleção, falta futebol.&lt;/p&gt;
&lt;p&gt;Para quem não viu, segue abaixo a lista oficial dos convocados para a Copa do Mundo de 2026:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Goleiros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alisson (Liverpool-ING)&lt;/li&gt;
&lt;li&gt;Ederson (Fenerbahçe-TUR)&lt;/li&gt;
&lt;li&gt;Weverton (Grêmio-BRA)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Laterais:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Wesley (Roma-ITA)&lt;/li&gt;
&lt;li&gt;Douglas Santos (Zenit-RUS)&lt;/li&gt;
&lt;li&gt;Alex Sandro (Flamengo-BRA)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Zagueiros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gabriel Magalhães (Arsenal-ING)&lt;/li&gt;
&lt;li&gt;Marquinhos (PSG-FRA)&lt;/li&gt;
&lt;li&gt;Danilo (Flamengo-BRA)&lt;/li&gt;
&lt;li&gt;Bremer (Juventus-ITA)&lt;/li&gt;
&lt;li&gt;Ibañez (Al-Ahli-KSA)&lt;/li&gt;
&lt;li&gt;Léo Pereira (Flamengo-BRA)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Meio-campistas:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bruno Guimarães (Newcastle-ING)&lt;/li&gt;
&lt;li&gt;Casemiro (Manchester United-ING)&lt;/li&gt;
&lt;li&gt;Danilo Santos (Botafogo-BRA)&lt;/li&gt;
&lt;li&gt;Fabinho (Al-Ittihad-KSA)&lt;/li&gt;
&lt;li&gt;Lucas Paquetá (Flamengo-BRA)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Atacantes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Raphinha (Barcelona-ESP)&lt;/li&gt;
&lt;li&gt;Neymar (Santos-BRA)&lt;/li&gt;
&lt;li&gt;Vinícius Júnior (Real Madrid-ESP)&lt;/li&gt;
&lt;li&gt;Luiz Henrique (Zenit-RUS)&lt;/li&gt;
&lt;li&gt;Matheus Cunha (Manchester United-ING)&lt;/li&gt;
&lt;li&gt;Gabriel Martinelli (Arsenal-ING)&lt;/li&gt;
&lt;li&gt;Igor Thiago (Brentford-ING)&lt;/li&gt;
&lt;li&gt;Endrick (Lyon-FRA)&lt;/li&gt;
&lt;li&gt;Rayan (Bournemouth-ING)&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Convoca%C3%A7%C3%A3o+da+Sele%C3%A7%C3%A3o+Brasileira&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fconvocacao-da-selecao-brasileira%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/brazil-failed-again-to-confront-organized-crime/</id><title>Brazil Failed (Again) to Confront Organized Crime</title><link href="https://afranca.com.br/brazil-failed-again-to-confront-organized-crime/" rel="alternate" type="text/html"/><published>2026-05-30T23:31:10-03:00</published><updated>2026-05-30T23:31:10-03:00</updated><category term="blogging"/><category term="politics"/><summary type="text">The Trump administration labeled Brazil&amp;rsquo;s CV and PCC as terrorist organizations, and a spotlight was pointed straight at Brasília (our Capital), and at the embarrassing habit this shit government has of acting like semantics matter more than dead bodies.</summary><content type="html">&lt;p&gt;The Trump administration labeled Brazil&amp;rsquo;s CV and PCC as terrorist organizations, and a spotlight was pointed straight at Brasília (our Capital), and at the embarrassing habit this shit government has of acting like semantics matter more than dead bodies.&lt;/p&gt;
&lt;p&gt;Marco Rubio, now running State, said the obvious about these groups. They&amp;rsquo;re brutally violent, they don&amp;rsquo;t stop at Brazil&amp;rsquo;s borders, and they move money, weapons, drugs, people, influence&amp;hellip; They export chaos through many regions and, yes, into the US.&lt;/p&gt;
&lt;p&gt;And this wasn&amp;rsquo;t a surprise for any sane Brazilian. In 2025, David Gamble, the State Department&amp;rsquo;s sanctions coordinator at the time, came to Brazil with a proposal tied to treating these factions as terrorist groups so the U.S. could hit them harder with sanctions. Reuters reported Lula&amp;rsquo;s government rejected that approach and repeated the line that Brazil doesn&amp;rsquo;t classify CV and PCC as terrorist organizations.&lt;/p&gt;
&lt;p&gt;Give me a break.&lt;/p&gt;
&lt;p&gt;If another country offers tools to squeeze the financial arteries of gangs that terrorize your own population, the adult response is to coordinate, share intel, and go after their money like your life depends on it. Because for millions of Brazilians, it kind of does. Instead, Lula&amp;rsquo;s people hid behind sovereignty theater and acted like the real danger was the label, not the criminals. Another diplomatic bullshit&amp;hellip;&lt;/p&gt;
&lt;p&gt;And no, before some genius tries it, this doesn&amp;rsquo;t turn Flávio Bolsonaro and the rest of that rotten clan into heroes. Reports say they lobbied Trump for the designation and immediately tried to sell it as a political win. Of course they did. The Bolsonaros are opportunists with a family business model built on outrage and impunity.&lt;/p&gt;
&lt;p&gt;But their shamelessness doesn&amp;rsquo;t erase Lula&amp;rsquo;s failure. It makes it worse. Even those parasites understand how to use international pressure when it benefits them. Lula had a chance to use it for the public good and chose to act offended instead.&lt;/p&gt;
&lt;p&gt;CV and PCC are not just &amp;ldquo;criminal organizations&amp;rdquo;. They run territories. They intimidate communities, corrupt police, buy politicians, and impose their own rules with rifles. Call them whatever you want on paper, but in practice they operate like domestic enemies. If you&amp;rsquo;re a resident stuck in the middle, the difference between &amp;ldquo;gang&amp;rdquo; and &amp;ldquo;terrorist&amp;rdquo; is academic. The fear is the same. The coercion is the same. The state&amp;rsquo;s absence is the same.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s why the U.S. designation matters. It might opens doors to broader sanctions. That&amp;rsquo;s leverage Brazil should be demanding, not rejecting.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Brazil+Failed+%28Again%29+to+Confront+Organized+Crime&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fbrazil-failed-again-to-confront-organized-crime%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/ms-cut-game-pass-subscription-prices/</id><title>MS cut Game Pass Subscription Prices</title><link href="https://afranca.com.br/ms-cut-game-pass-subscription-prices/" rel="alternate" type="text/html"/><published>2026-05-28T14:59:29-03:00</published><updated>2026-05-28T14:59:29-03:00</updated><category term="game pass"/><category term="microsoft"/><category term="games"/><summary type="text">Microsoft recently changed the Game Pass lineup and pricing here in Brazil. The small reductions and new tiers came after the unexpect price rise back in September of last year, user backlash and people cancelling their subscription. It felt more like damage control from the new CEO than putting customers first.</summary><content type="html">&lt;p&gt;Microsoft recently changed the Game Pass lineup and pricing here in Brazil. The small reductions and new tiers came after the unexpect price rise back in September of last year, user backlash and people cancelling their subscription. It felt more like damage control from the new CEO than putting customers first.&lt;/p&gt;
&lt;p&gt;Game Pass Essential is 43,90BRL/month (about $8.50 USD), Premium is 59,90BRL/month (about $11.60 USD), and Ultimate is 76,90BRL/month (about $14.90 USD). Ultimate remains the top tier, with access to console, PC, cloud, EA Play, Ubisoft+ Classics, and more. I&amp;rsquo;m on Ultimate, and while it&amp;rsquo;s a good value compared to buying games individually, that doesn&amp;rsquo;t change that Microsoft is reacting to public pressure instead of leading with better service.&lt;/p&gt;
&lt;p&gt;With Brazil’s economy and an unfavorable exchange rate for us locals, those prices still matter, but context should be kept in mind.&lt;/p&gt;
&lt;p&gt;If you play regularly, it may still be worth subscribing, but watch catalog stability and future changes.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+MS+cut+Game+Pass+Subscription+Prices&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fms-cut-game-pass-subscription-prices%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/f-sponsored-web/</id><title>F* Sponsored Web</title><link href="https://afranca.com.br/f-sponsored-web/" rel="alternate" type="text/html"/><published>2026-05-22T16:21:00-03:00</published><updated>2026-05-22T16:21:00-03:00</updated><category term="blogging"/><summary type="text">I spent three hours last weekend trying to figure out if a pair of earbuds was worth buying. Not three hours of enjoyable research. Three hours of wading through a swamp of sponsored content disguised as real reviews.</summary><content type="html">&lt;p&gt;I spent three hours last weekend trying to figure out if a pair of earbuds was worth buying. Not three hours of enjoyable research. Three hours of wading through a swamp of sponsored content disguised as real reviews.&lt;/p&gt;
&lt;p&gt;I wanted the Huawei FreeClip 2. They have an OWS design, which means they sit on the outer ear and do not seal the canal. I like this concept because I can wear them for calls and still hear my kid or the doorbell or whatever is happening in the room. I also was prepared to sacrifice some sound quality given the nature of the design. I just wanted to know about the microphone quality, whether the Bluetooth connection was stable, and how they performed in real-world scenarios.&lt;/p&gt;
&lt;p&gt;YouTube was useless, and I was kind of expecting that. I watched a couple of review videos. All of them had the same script. They started with the same unboxing sequence, the same &amp;ldquo;the company sent me this unit, but this is an unbiased review&amp;rdquo; shit, the same &amp;ldquo;oh, this is the best earbud I have ever listened to&amp;rdquo; B.S., and, of course, their affiliate link in the description. Not the really important things like technical specs, comparisons with similar products, the pros and cons, and so on.&lt;/p&gt;
&lt;p&gt;So I went to written reviews. Tech blogs, audio sites, mainstream publications with gadget sections. Here the language was more polished, probably AI-generated content, but with no substance. Every article had the same specs listed in the same order, but nothing outside of what could be found at the official product page. Then a conclusion that was always some variation of a great option for those looking for an open-ear design. No shit. That is like saying a car is a great option for those looking for four wheels. It communicates nothing.&lt;/p&gt;
&lt;p&gt;In other words, companies basically send review units to outlets and channels that are large enough to matter. It generates clicks, affiliate revenue, and the continued relationship to get the next review unit. This is how PR apparently works.&lt;/p&gt;
&lt;p&gt;I ended up finding good answers on a Reddit thread, especially from users who had actually used them in real-world scenarios like cycling or in loud environments.&lt;/p&gt;
&lt;p&gt;I bought them anyway, and I can say I&amp;rsquo;m pleasantly surprised. I have many good pairs of headphones and in-ear earbuds, but these are different. I can say this is the most comfortable pair I&amp;rsquo;ve ever worn. They&amp;rsquo;re extremely lightweight, and I can easily forget that I&amp;rsquo;m wearing them.&lt;/p&gt;
&lt;p&gt;Regarding sound quality, it&amp;rsquo;s good enough. Given the open design, you should not expect the best sound quality, but they are perfectly fine for casual listening, and for calls, they isolate background noise quite well. Codecs are limited, but let&amp;rsquo;s be honest, for a pair of earbuds transmitting data through Bluetooth, you are not going to get the best sound quality anyway, besides the fact that most people won&amp;rsquo;t even be able to tell the difference between a song transmitted through AAC 256kbps or a lossless file. If you want the best music experience, you probably should be looking at a good pair of wired headphones and a DAC.&lt;/p&gt;
&lt;p&gt;An important note is that if you&amp;rsquo;re one of those people who don&amp;rsquo;t care about your eardrums and want to blast music louder than 85dB, you may hear some distortions. This is the only con I can find. The sound quality degrades significantly at high volumes, and the distortion is pretty bad. So if you like to listen to music at high volumes, these are not for you.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+F%2A+Sponsored+Web&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Ff-sponsored-web%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/how-to-style-a-hugo-atom-feed-with-xsl/</id><title>How to style a Hugo Atom feed with XSL</title><link href="https://afranca.com.br/how-to-style-a-hugo-atom-feed-with-xsl/" rel="alternate" type="text/html"/><published>2026-05-03T07:04:00-03:00</published><updated>2026-05-03T07:04:00-03:00</updated><category term="hugo"/><category term="rss"/><category term="blogging"/><summary type="text">If you open my rss feed url in your browser, you&amp;rsquo;ll won&amp;rsquo;t see raw XML content anymore, but a styled HTML page with the same header and footer as the main site, and a list of recent posts in between. This won&amp;rsquo;t affect feed readers, which will still see the original XML content. The styling is applied only when a human visits the feed URL in a browser, to make it more readable.</summary><content type="html">&lt;p&gt;If you open &lt;a href="/feed.xml"&gt;my rss feed url&lt;/a&gt; in your browser, you&amp;rsquo;ll won&amp;rsquo;t see raw XML content anymore, but a styled HTML page with the same header and footer as the main site, and a list of recent posts in between.
This won&amp;rsquo;t affect feed readers, which will still see the original XML content. The styling is applied only when a human visits the feed URL in a browser, to make it more readable.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://afranca.com.br/styling-my-rss-feed/"&gt;I&amp;rsquo;ve achieved something similiar years ago with Jekyll&lt;/a&gt;, but never really got around to doing it in Hugo until recently.&lt;/p&gt;
&lt;p&gt;The idea is simple:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Generate an Atom feed in Hugo&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;xml-stylesheet&lt;/code&gt; to the XML.&lt;/li&gt;
&lt;li&gt;Create XSL files in &lt;code&gt;static/xsl/&lt;/code&gt; for a human-friendly browser view.&lt;/li&gt;
&lt;li&gt;Apply the same approach to sitemaps.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="why-atom-instead-of-hugos-native-rss"&gt;Why Atom instead of Hugo&amp;rsquo;s native RSS?&lt;/h2&gt;
&lt;p&gt;In this project I use Atom, not Hugo&amp;rsquo;s default RSS, for one practical reason: Atom supports an explicit &lt;code&gt;updated&lt;/code&gt; field per entry.&lt;/p&gt;
&lt;p&gt;That lets feeds expose both publish and update timestamps (&lt;code&gt;published&lt;/code&gt; and &lt;code&gt;updated&lt;/code&gt;), which is useful for edited posts.&lt;/p&gt;
&lt;h2 id="1-disable-default-rss-and-configure-atom-output-optional-if-you-want-to-keep-the-rss-format"&gt;1. Disable default RSS and configure Atom output [optional if you want to keep the RSS format]&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Define explicit outputs and do not include &lt;code&gt;rss&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add a custom Atom output format with &lt;code&gt;baseName = &amp;quot;feed&amp;quot;&lt;/code&gt;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In &lt;code&gt;hugo.toml&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;outputs&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;home&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;atom&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;sitemap&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;postssitemap&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pagessitemap&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;tagssitemap&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;term&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="c"&gt;# [optional] include &amp;#39;atom&amp;#39; for tags/categories if you want&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;outputFormats&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;outputFormats&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;atom&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;mediatype&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;application/atom+xml&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;baseName&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;feed&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;mediaTypes&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;mediaTypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;application/atom+xml&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;suffixes&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;xml&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With this, Hugo generates &lt;code&gt;/feed.xml&lt;/code&gt; as the canonical feed endpoint (instead of the default RSS endpoint behavior).&lt;/p&gt;
&lt;h2 id="2-create-atom-templates"&gt;2. Create Atom templates&lt;/h2&gt;
&lt;p&gt;Use:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;layouts/index.atom.xml&lt;/code&gt; for the home feed&lt;/li&gt;
&lt;li&gt;[optional] &lt;code&gt;layouts/_default/list.atom.xml&lt;/code&gt; for list/term feeds (for example, tags)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Important header snippet for both:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;printf&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;lt;?xml version=\&amp;#34;1.0\&amp;#34; encoding=\&amp;#34;utf-8\&amp;#34;?&amp;gt;\n&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;safeHTML&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;printf&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;lt;?xml-stylesheet type=\&amp;#34;text/xsl\&amp;#34; href=\&amp;#34;%s\&amp;#34;?&amp;gt;\n&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/xsl/atom.xsl&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;absURL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;safeHTML&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;feed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://www.w3.org/2005/Atom&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;xml&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;lang&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ site.Language.LanguageCode }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That &lt;code&gt;xml-stylesheet&lt;/code&gt; instruction tells the browser to apply the XSL.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/andrefcodes/afranca-website/refs/heads/main/layouts/index.atom.xml"&gt;See full atom template structure in my repo&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="3-create-the-feed-xsl-staticxslatomxsl"&gt;3. Create the feed XSL (&lt;code&gt;static/xsl/atom.xsl&lt;/code&gt;)&lt;/h2&gt;
&lt;p&gt;Current implementation:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;xsl:stylesheet&lt;/span&gt; &lt;span class="na"&gt;version=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;xmlns:xsl=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://www.w3.org/1999/XSL/Transform&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;xmlns:atom=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;http://www.w3.org/2005/Atom&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;exclude-result-prefixes=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;atom&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:output&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;html&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;encoding=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;indent=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;yes&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:template&lt;/span&gt; &lt;span class="na"&gt;match=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;en&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;viewport&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;width=device-width, initial-scale=1&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:text&amp;gt;&lt;/span&gt;Feed: &lt;span class="nt"&gt;&amp;lt;/xsl:text&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:value-of&lt;/span&gt; &lt;span class="na"&gt;select=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;atom:feed/atom:title&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- CSS trimmed for brevity --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- Same header structure as the website --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- site title + main menu --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- Feed entries --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:for-each&lt;/span&gt; &lt;span class="na"&gt;select=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;atom:feed/atom:entry&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;article&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{atom:link[@rel=&amp;#39;alternate&amp;#39;]/@href}&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:value-of&lt;/span&gt; &lt;span class="na"&gt;select=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;atom:title&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:text&amp;gt;&lt;/span&gt;Published: &lt;span class="nt"&gt;&amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of&lt;/span&gt; &lt;span class="na"&gt;select=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;atom:published&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:text&amp;gt;&lt;/span&gt; | Updated: &lt;span class="nt"&gt;&amp;lt;/xsl:text&amp;gt;&amp;lt;xsl:value-of&lt;/span&gt; &lt;span class="na"&gt;select=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;atom:updated&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;xsl:if&lt;/span&gt; &lt;span class="na"&gt;test=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;normalize-space(atom:summary) != &amp;#39;&amp;#39;&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;xsl:value-of&lt;/span&gt; &lt;span class="na"&gt;select=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;atom:summary&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/xsl:if&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/xsl:for-each&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- Same footer structure as the website --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;&amp;lt;!-- site name + footer nav + badges --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/xsl:template&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/xsl:stylesheet&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/andrefcodes/afranca-website/refs/heads/main/static/xsl/atom.xsl"&gt;See the full XSL template in my repo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this version, the feed XSL now mirrors site header/footer content (title, menus, and badges) instead of using a simplified custom top/bottom layout.&lt;/p&gt;
&lt;h2 id="4-style-sitemaps-with-the-same-approach-staticxslsitemapxsl"&gt;4. Style sitemaps with the same approach (&lt;code&gt;static/xsl/sitemap.xsl&lt;/code&gt;)&lt;/h2&gt;
&lt;p&gt;In your sitemap template, add:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;printf&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;lt;?xml version=\&amp;#34;1.0\&amp;#34; encoding=\&amp;#34;utf-8\&amp;#34;?&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;safeHTML&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;printf&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&amp;lt;?xml-stylesheet type=\&amp;#34;text/xsl\&amp;#34; href=\&amp;#34;%s\&amp;#34;?&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/xsl/sitemap.xsl&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;absURL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;safeHTML&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I&amp;rsquo;ve split my sitemaps into multiple files (home, posts, pages, and tags) for better organization, but you can also keep a single sitemap if you prefer. Just make sure to include the &lt;code&gt;xml-stylesheet&lt;/code&gt; instruction in each sitemap template and &lt;code&gt;disableKinds = [&amp;quot;sitemap&amp;quot;]&lt;/code&gt; to your hugo config to prevent Hugo from generating the default sitemap.xml, which would not have the XSL instruction.&lt;/p&gt;
&lt;p&gt;See my sitemap templates structure in my repo:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/andrefcodes/afranca-website/refs/heads/main/layouts/index.sitemap.xml"&gt;For home sitemap&lt;/a&gt;, &lt;a href="https://raw.githubusercontent.com/andrefcodes/afranca-website/refs/heads/main/layouts/index.postssitemap.xml"&gt;posts sitemap&lt;/a&gt;, &lt;a href="https://raw.githubusercontent.com/andrefcodes/afranca-website/refs/heads/main/layouts/index.pagessitemap.xml"&gt;pages sitemap&lt;/a&gt;, and &lt;a href="https://raw.githubusercontent.com/andrefcodes/afranca-website/refs/heads/main/layouts/index.tagssitemap.xml"&gt;tags sitemap&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Then create &lt;code&gt;static/xsl/sitemap.xsl&lt;/code&gt; to render:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sitemapindex&lt;/code&gt; as a list of sitemap files&lt;/li&gt;
&lt;li&gt;&lt;code&gt;urlset&lt;/code&gt; as a URL table&lt;/li&gt;
&lt;li&gt;the same site-level header/footer structure used in the Atom XSL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/andrefcodes/afranca-website/refs/heads/main/static/xsl/sitemap.xsl"&gt;See the full sitemap XSL template in my repo&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="5-common-issues"&gt;5. Common issues&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;404 on old feed path (&lt;code&gt;/index.xml&lt;/code&gt;):
if you changed hugo&amp;rsquo;s default &lt;code&gt;baseName = &amp;quot;feed&amp;quot;&lt;/code&gt; as I did above, the correct endpoint is &lt;code&gt;/feed.xml&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;XSL not applied in browser:
verify &lt;code&gt;href&lt;/code&gt; in &lt;code&gt;xml-stylesheet&lt;/code&gt; and confirm the file exists in &lt;code&gt;static/xsl&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Broken content in feed:
usually caused by double-escaping in &lt;code&gt;content&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Header/footer drift from site template:
if your site header/footer changes later, update both XSL files to keep visual parity. I haven&amp;rsquo;t managed to make the site&amp;rsquo;s header and footer templates reusable in XSL, but if you have a way to do that, please let me know!&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;With this setup, your feed and sitemap outputs remain standards-compliant for machines while also becoming human-readable in browsers, with a visual experience aligned to the main site template.&lt;/p&gt;
&lt;p&gt;This is the end result when you open the feed URL in a browser:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/019ddc15-9fec-7640-b181-2fc3e8afe3cd.webp" alt="feed.xml screenshot"&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Hugo&amp;rsquo;s default RSS uses the rss standard. By defining a custom Atom output format and templates, we can leverage the richer metadata that Atom provides.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;The &lt;code&gt;baseName&lt;/code&gt; determines the filename of the generated feed. Setting it to &amp;ldquo;feed&amp;rdquo; means the output will be &lt;code&gt;feed.xml&lt;/code&gt; instead of the default &lt;code&gt;index.xml&lt;/code&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+How+to+style+a+Hugo+Atom+feed+with+XSL&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fhow-to-style-a-hugo-atom-feed-with-xsl%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/introducing-rss-only-posts/</id><title>Introducing RSS-Only Posts</title><link href="https://afranca.com.br/introducing-rss-only-posts/" rel="alternate" type="text/html"/><published>2026-04-29T12:00:00-03:00</published><updated>2026-04-29T12:00:00-03:00</updated><category term="rss-only"/><summary type="text">This post is only available to RSS subscribers. I&amp;rsquo;ve just added a new feature to the blog: RSS-only posts. These are pieces of content that appear exclusively in your feed reader but are never rendered as public web pages.</summary><content type="html">&lt;mark&gt;This post is only available to RSS subscribers.&lt;/mark&gt;
&lt;p&gt;I&amp;rsquo;ve just added a new feature to the blog: &lt;strong&gt;RSS-only posts&lt;/strong&gt;. These are pieces of content that appear exclusively in your feed reader but are never rendered as public web pages.&lt;/p&gt;
&lt;p&gt;This post itself is an RSS-only post that you&amp;rsquo;re reading it in your feed, not on the website.&lt;/p&gt;
&lt;h2 id="why-did-i-add-this-feature"&gt;Why did I add this feature?&lt;/h2&gt;
&lt;p&gt;Because RSS is great, so are you for using it.&lt;/p&gt;
&lt;p&gt;I also wanted a way to share quick thoughts, and experimental ideas with RSS subscribers.&lt;/p&gt;
&lt;h2 id="how-does-it-work"&gt;How does it work?&lt;/h2&gt;
&lt;h3 id="summary"&gt;Summary:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Put &lt;code&gt;rss-only&lt;/code&gt; content under &lt;code&gt;content/rss-only/&lt;/code&gt; (I use year subfolders like &lt;code&gt;2026/&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Use an &lt;code&gt;archetypes/rss-only.md&lt;/code&gt; that sets &lt;code&gt;build.render: link&lt;/code&gt; so Hugo processes the content but does not emit an HTML file.&lt;/li&gt;
&lt;li&gt;Update the feed template to include &lt;code&gt;rss-only&lt;/code&gt; pages.&lt;/li&gt;
&lt;li&gt;[Optional] Update tag/taxonomy templates to exclude &lt;code&gt;rss-only&lt;/code&gt; items from public tag counts and listings.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="archetype"&gt;Archetype&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;archetypes/rss-only.md&lt;/code&gt; should include the build directives. Example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;{{ replace .File.ContentBaseName &amp;#34;&lt;/span&gt;-&lt;span class="s2"&gt;&amp;#34; &amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; | title }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;date&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;{{&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;dateFormat &amp;#34;2006-01-02T15:04:05-03:00&amp;#34; .Date }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;lastmod&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;{{&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;dateFormat &amp;#34;2006-01-02T15:04:05-03:00&amp;#34; .Date }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;slug&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;{{ .File.ContentBaseName }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;draft&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;featured&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;build&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;local&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;render&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;link&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;publishResources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;build.render: link&lt;/code&gt; is the key: it prevents HTML output while keeping the content available to templates and the feed.&lt;/p&gt;
&lt;h3 id="feed-template"&gt;Feed template&lt;/h3&gt;
&lt;p&gt;If you want RSS-only posts to appear in your feed alongside regular posts, update your feed template (for example &lt;code&gt;layouts/index.atom.xml&lt;/code&gt;) to include them explicitly. For example, to include only &lt;code&gt;posts&lt;/code&gt; and &lt;code&gt;rss-only&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-gotemplate" data-lang="gotemplate"&gt;{{/* include posts + rss-only only */}}
{{ $types := slice &amp;#34;posts&amp;#34; &amp;#34;rss-only&amp;#34; }}
{{ range (where .Site.RegularPages &amp;#34;Type&amp;#34; &amp;#34;in&amp;#34; $types) | sort &amp;#34;Date&amp;#34; &amp;#34;desc&amp;#34; }}
 &amp;lt;entry&amp;gt;
 &amp;lt;!-- standard feed entry markup --&amp;gt;
 &amp;lt;/entry&amp;gt;
{{ end }}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I use &lt;code&gt;.Site.RegularPages&lt;/code&gt; and filter by &lt;code&gt;Type&lt;/code&gt; to make sure only the content types I want are included.&lt;/p&gt;
&lt;h2 id="optional-excluding-rss-only-from-tag-counts-and-tag-pages"&gt;[Optional] Excluding &lt;code&gt;rss-only&lt;/code&gt; from tag counts and tag pages&lt;/h2&gt;
&lt;p&gt;Hugo&amp;rsquo;s taxonomies (tags) are built from all content that declares tags. You cannot stop Hugo from creating the taxonomy entries, but you can exclude &lt;code&gt;rss-only&lt;/code&gt; items when rendering tag lists and tag pages. Below are templates you can drop into your theme to achieve that.&lt;/p&gt;
&lt;h3 id="1-termstag-index-list-of-all-tags"&gt;1) Terms/Tag index (list of all tags)&lt;/h3&gt;
&lt;p&gt;If you render a tag cloud or list of tags (commonly &lt;code&gt;layouts/_default/terms.html&lt;/code&gt; or a partial), compute counts while excluding &lt;code&gt;rss-only&lt;/code&gt; pages:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;range&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;pages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Site&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Taxonomies&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tags&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;pages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Type&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;ne&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;rss-only&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;len&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;public&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;gt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;{{ (path.Join &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;tags&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="s"&gt;&amp;#34; $name | urlize) | relURL }}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;({{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}})&amp;lt;&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This shows only tags that have at least one non-&lt;code&gt;rss-only&lt;/code&gt; page and uses the filtered count.&lt;/p&gt;
&lt;h3 id="2-single-tag-page-list-posts-for-a-tag"&gt;2) Single tag page (list posts for a tag)&lt;/h3&gt;
&lt;p&gt;On the tag detail page (&lt;code&gt;layouts/_default/taxonomy.html&lt;/code&gt; or your tag template), filter out &lt;code&gt;rss-only&lt;/code&gt; pages before rendering the list:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-gotemplate" data-lang="gotemplate"&gt;{{ $pages := where .Pages &amp;#34;Type&amp;#34; &amp;#34;ne&amp;#34; &amp;#34;rss-only&amp;#34; | sort &amp;#34;Date&amp;#34; &amp;#34;desc&amp;#34; }}
{{ if eq (len $pages) 0 }}
 &amp;lt;p&amp;gt;No public posts for this tag.&amp;lt;/p&amp;gt;
{{ else }}
 {{ range $pages }}
 &amp;lt;!-- render excerpt/summary --&amp;gt;
 {{ end }}
{{ end }}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You can also choose to return a 404 if &lt;code&gt;len $pages == 0&lt;/code&gt;, depending on how you want empty tag pages to behave.&lt;/p&gt;
&lt;h3 id="3-counting-tags-elsewhere"&gt;3) Counting tags elsewhere&lt;/h3&gt;
&lt;p&gt;Anywhere you compute or display tag counts, apply the same &lt;code&gt;where &amp;quot;Type&amp;quot; &amp;quot;ne&amp;quot; &amp;quot;rss-only&amp;quot;&lt;/code&gt; filter to avoid counting feed-only posts.&lt;/p&gt;
&lt;h2 id="notes-and-caveats"&gt;Notes and caveats&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hugo will still include tags in &lt;code&gt;.Site.Taxonomies&lt;/code&gt; if any content (including &lt;code&gt;rss-only&lt;/code&gt;) declares them. The approach above hides those tags from public lists and prevents them from contributing to counts.&lt;/li&gt;
&lt;li&gt;If you want tags never to be built at all, you&amp;rsquo;d need a preprocessing step (e.g., a short script that removes &lt;code&gt;tags&lt;/code&gt; from front matter for &lt;code&gt;rss-only&lt;/code&gt; items before &lt;code&gt;hugo&lt;/code&gt; runs), but in most cases filtering in templates is cleaner.&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Introducing+RSS-Only+Posts&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fintroducing-rss-only-posts%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/how-china-broke-and-fixed-the-audio-industry/</id><title>🔗 How China Broke (and Fixed) the Audio Industry by Mind the Headphone</title><link href="https://afranca.com.br/how-china-broke-and-fixed-the-audio-industry/" rel="alternate" type="text/html"/><published>2026-01-23T11:56:42Z</published><updated>2026-01-23T11:56:42Z</updated><category term="music"/><category term="technology"/><summary type="text">Science Beat Branding: How China &amp;ldquo;Fixed&amp;rdquo; Audio</summary><content type="html">&lt;p&gt;Science Beat Branding: How China &amp;ldquo;Fixed&amp;rdquo; Audio&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/d4Fd5efpEA8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;
		&lt;p class="yt-warning"&gt;Clicking the video constitutes your consent to view it via YouTube.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+%F0%9F%94%97+How+China+Broke+%28and+Fixed%29+the+Audio+Industry+by+Mind+the+Headphone&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fhow-china-broke-and-fixed-the-audio-industry%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/thoughts-on-people-and-blogs/</id><title>🔗 Thoughts On People and Blogs</title><link href="https://afranca.com.br/thoughts-on-people-and-blogs/" rel="alternate" type="text/html"/><published>2026-01-19T23:44:20Z</published><updated>2026-01-19T23:44:20Z</updated><category term="link posts"/><summary type="text">I just read Manu Moreale&amp;rsquo;s recent update about the future of his series, &amp;ldquo;People &amp;amp; Blogs&amp;rdquo;, and it resonated deeply. While Manu explicitly asked readers not to email him now (a sentiment I completely understand), his reflections on the challenges of running an independent project deserve a public response - maybe not for him to read, but for all of us who consume and write online.</summary><content type="html">&lt;p&gt;I just read &lt;a href="https://manuelmoreale.com/thoughts/thoughts-on-people-and-blogs"&gt;Manu Moreale&amp;rsquo;s recent update about the future of his series, &amp;ldquo;People &amp;amp; Blogs&amp;rdquo;&lt;/a&gt;, and it resonated deeply. While Manu explicitly asked readers not to email him now (a sentiment I completely understand), his reflections on the challenges of running an independent project deserve a public response - maybe not for him to read, but for all of us who consume and write online.&lt;/p&gt;
&lt;p&gt;He spoke of the increasing administrative burden, the &amp;ldquo;ghosting&amp;rdquo; from potential guests, the sheer exhaustion of trying to keep a consistent and high-quality output, and the perceived lack of engagement and the nature of online support. He wrote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;And nothing makes me angrier than seeing people popping up from nowhere to express their sadness when a project gets shut down. Because where the fuck were these people when the creators of these projects needed some help to keep the momentum going? And I’m talking about something as simple as sending a message to them to let them know you appreciate what they do. Sometimes that’s more than enough. And yet even that is so rare these days.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This quote hits hard because it exposes a fundamental disconnect in our digital consumption habits. We consume, we enjoy, but often, we remain silent. We might think &amp;ldquo;oh, this is good&amp;rdquo;, but those thoughts rarely translate into active, visible support. Then, when a cool project announces its closure, a wave of retrospective grief appears.&lt;/p&gt;
&lt;p&gt;Manu&amp;rsquo;s plea isn&amp;rsquo;t just about his series IMO; it&amp;rsquo;s a commentary on the ecosystem of independent creation, bacause building something worthwhile takes immense energy, and when that energy isn&amp;rsquo;t reciprocated in some form, even passionate people can burn out.&lt;/p&gt;
&lt;p&gt;As consumers of independent blogs, podcasts, newsletters, and art, we have a collective responsibility. Sometimes, &lt;a href="https://afranca.com.br/why-people-should-not-ask-for-donations-or-money-to-run-their-own-personal-blog/"&gt;it&amp;rsquo;s not just about financial support&lt;/a&gt; (though that&amp;rsquo;s often crucial), but about the human connection. I love, for example, when people find time to write me a quick email, a thoughtful comment, or a share.&lt;/p&gt;
&lt;p&gt;So, thank you, Manu, for articulating this challenge so honestly.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+%F0%9F%94%97+Thoughts+On+People+and+Blogs&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthoughts-on-people-and-blogs%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/is-gen-alpha-screwed/</id><title>🔗 Is gen alpha screwed?</title><link href="https://afranca.com.br/is-gen-alpha-screwed/" rel="alternate" type="text/html"/><published>2026-01-17T00:50:56Z</published><updated>2026-01-18T14:07:43Z</updated><category term="link posts"/><summary type="text"> &amp;ldquo;Companies are literally designing everything for addiction these days. Trying to get you hooked on whatever they can profit off of as early in your development as possible&amp;hellip; Limiting screen time, curating the entertainment so it’s not just an algorithm determining what our kids watch, hell just BEING present with your kid is like 99% of the battle.&amp;rdquo; by Absurd Pirate</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Companies are literally designing everything for addiction these days. Trying to get you hooked on whatever they can profit off of as early in your development as possible&amp;hellip; Limiting screen time, curating the entertainment so it’s not just an algorithm determining what our kids watch, hell just BEING present with your kid is like 99% of the battle.&amp;rdquo; &lt;em&gt;&lt;strong&gt;by Absurd Pirate&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://blog.absurdpirate.com/is-gen-alpha-screwed/"&gt;Read post&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="my-thoughts"&gt;My Thoughts&lt;/h3&gt;
&lt;p&gt;Reading this as a father of a 1-year-old and a 3-year-old brings up a lot of reflections. The original post hits on something most people - and parents - often ignore: the difference between being &amp;ldquo;tech-native&amp;rdquo; and actually being tech-literate. We see kids who can navigate a locked iPhone at age two, but as the author points out, they’re lost when it comes to how things actually work.&lt;/p&gt;
&lt;p&gt;The author also mentions the &amp;ldquo;mental death&amp;rdquo; of parenting under modern life, and I totally get that. There are days when I’m so drained that a screen feels like a life raft, so the comparison of high-stimulant shows to &amp;ldquo;baby heroin&amp;rdquo; makes total sense to me. That crap is bad enough for an adult; for a child, it can be devastating. I’ve watched my oldest son’s behavior shift in real-time depending on what he’s consuming. When it’s junk, he turns into different person - more reactive, less patient. It makes me realize that parenting today is largely about shielding them from a culture that wants to outsource their development to an algorithm.&lt;/p&gt;
&lt;p&gt;With a 1 and 3-year-old, we try to make our home a fortress against that digital noise. It all starts with us controlling our own screen time, since our behavior reflects directly on our children - they are like sponges for both the good and the bad.&lt;/p&gt;
&lt;p&gt;One of the best things we did last year was sign up for &lt;a href="https://leiturinha.com.br/"&gt;Leiturinha&lt;/a&gt;, a kids&amp;rsquo; book subscription club. My kids absolutely love it. Instead of being hypnotized by a blue light, they get excited about the physical arrival of a new story. They love the smell of the pages, the textures, and the colors that don&amp;rsquo;t flash at them every second. One of the things I loved most about the United States was the public libraries - something that is unfortunately nonexistent in my current country.&lt;/p&gt;
&lt;p&gt;We push reading and avoid screens as much as humanly possible. I&amp;rsquo;ve noticed that when we swap a tablet for a book, the interaction is completely different.&lt;/p&gt;
&lt;p&gt;The author mentioned that &amp;ldquo;being present is 99% of the battle&amp;rdquo;, and reading to them is how I win some of those battles. It’s exhausting to &amp;ldquo;put the big boy pants on&amp;rdquo; every day after work, but seeing them discover the world through books rather than a YouTube video makes it worth it.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+%F0%9F%94%97+Is+gen+alpha+screwed%3F&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fis-gen-alpha-screwed%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/learning-to-speak-in-notes/</id><title>Learning to Speak in Notes</title><link href="https://afranca.com.br/learning-to-speak-in-notes/" rel="alternate" type="text/html"/><published>2026-01-16T01:32:13Z</published><updated>2026-01-16T01:32:13Z</updated><category term="music"/><category term="blogging"/><summary type="text">I just gifted myself a guitar.</summary><content type="html">&lt;p&gt;I just gifted myself a guitar.&lt;/p&gt;
&lt;p&gt;Honestly, I&amp;rsquo;m just really happy because I&amp;rsquo;m about to start learning something I&amp;rsquo;ve always wanted: playing an instrument. Music has always been a big part of my life, and it’s one of the few things that genuinely makes my days better, whether it&amp;rsquo;s calming me down, lifting my mood, or simply make me feel better.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t know where this journey will lead, but I know that starting already means a lot to me. Here&amp;rsquo;s to wrong notes, endless practice, and small wins along the way.&lt;/p&gt;
&lt;p&gt;If I’m going to start something new, let it be with music 🎶&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Learning+to+Speak+in+Notes&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Flearning-to-speak-in-notes%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/are-influencers-replacing-real-work/</id><title>Are Influencers Replacing Real Work?</title><link href="https://afranca.com.br/are-influencers-replacing-real-work/" rel="alternate" type="text/html"/><published>2026-01-15T01:47:50Z</published><updated>2026-01-15T01:47:50Z</updated><category term="blogging"/><category term="internet"/><summary type="text">It feels like everyone wants to quit their job and become a content creator. Honestly, I get the appeal. More freedom, flexible hours, working from anywhere, and maybe even making a hell of a lot of money. However, is this really a healthy direction for society?</summary><content type="html">&lt;p&gt;It feels like everyone wants to quit their job and become a content creator. Honestly, I get the appeal. More freedom, flexible hours, working from anywhere, and maybe even making a hell of a lot of money. However, is this really a healthy direction for society?&lt;/p&gt;
&lt;p&gt;I don’t want to tell people how to live their lives, what choices they should make, or even how they should earn their money. But this whole thing just feels wrong to me in so many different ways.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s start with how weird the money distribution in this market really is. Even if it doesn&amp;rsquo;t look like that at first glance, only a tiny percentage of creators make absurd amounts of money, while most people barely scrape by. Another thing is why does one viral video sometimes pay more than years of studying or working in a skilled profession? Essential jobs like teachers, nurses, engineers, and technicians - the people who actually keep things running - are often underpaid and undervalued. Everyone is chasing attention online, so who&amp;rsquo;s left to do the work society actually depends on?&lt;/p&gt;
&lt;p&gt;Another issue is how fragile this system is. When you&amp;rsquo;re a creator, you don&amp;rsquo;t really own your business of control how it runs. You&amp;rsquo;re basically renting space on someone else&amp;rsquo;s platform. Any algorithms change, rules change, and suddenly your reach disappears. Is that really independence? There are plenty of cases where creators lost everything because a group got offended and mass-reported their account.&lt;/p&gt;
&lt;p&gt;Traditional jobs, for all their flaws, still play a huge role in keeping society stable. Working with other people teaches cooperation, accountability, and basic social skills. You learn how to deal with disagreement, pressure, and responsibility. What happens when work becomes a solo activity optimized for likes and views? On top of that, education isn&amp;rsquo;t just about getting a diploma, as some people like to make us believe. Studying helps shape character, expand your worldview, and expose you to ideas outside your bubble. Can endless short videos really replace that?&lt;/p&gt;
&lt;p&gt;And then there’s the influencer question. No offense, but are influencers actually good for society? I see many of them adjusting their opinions based on what pays more or what won&amp;rsquo;t get them canceled. How honest can someone be when their income depends on staying &amp;ldquo;safe&amp;rdquo; and agreeable? The fear of cancellation pushes people toward shallow takes and recycled opinions - like labeling others as fascists, for example.&lt;/p&gt;
&lt;p&gt;I’m not saying content creation is bad or that no one should do it. Like I said, who am I to say that? But as a profession, it feels disconnected from long-term social value.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Are+Influencers+Replacing+Real+Work%3F&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fare-influencers-replacing-real-work%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/stuck-on-repeat/</id><title>Stuck on Repeat</title><link href="https://afranca.com.br/stuck-on-repeat/" rel="alternate" type="text/html"/><published>2026-01-13T03:17:24Z</published><updated>2026-01-13T03:17:24Z</updated><category term="blogging"/><summary type="text">I’ve found myself feeling reflective these past few days and wanted to share. It might sound a bit stupid, but who hasn’t had stupid thoughts?</summary><content type="html">&lt;p&gt;I’ve found myself feeling reflective these past few days and wanted to share. It might sound a bit stupid, but who hasn’t had stupid thoughts?&lt;/p&gt;
&lt;p&gt;Basically, it has to do with my relationship with time. Let me explain. I was listening to a live album I really like called &lt;em&gt;Ao Vivo em Lisboa by Resistência&lt;/em&gt;, and I started thinking about why I listen to so little current music (by current I mean from the 2000s, maybe even from 2010 onward).&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/8Su6sAyZz90?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;
		&lt;p class="yt-warning"&gt;Clicking the video constitutes your consent to view it via YouTube.&lt;/p&gt;
&lt;p&gt;I listen mostly to music from the 70s, 80s, and 90s. The same goes for most of the movies I watch. Often on repeat, I find more comfort in songs, rhythms, and stories that feel familiar or that make me think. There’s something grounding about them, something that feels alive in a way I struggle to find in much of today’s mainstream output.&lt;/p&gt;
&lt;p&gt;I don’t feel that this is just nostalgia, but rather as if something important was lost along the way. &lt;a href="https://afranca.com.br/why-90s-movies-feel-more-alive-than-anything-on-netflix/"&gt;I wrote recently about why 90s movies feel more alive than almost anything on Netflix&lt;/a&gt;, and that reflection came from the same place. I argued that those films took risks, and that they weren’t built purely around algorithms, franchises, or binge metrics. They trusted the audience to pay attention.&lt;/p&gt;
&lt;p&gt;But beneath all that, there’s a discomfort I frequently ignore: the fear of being stuck. I mean, am I choosing older art because it’s genuinely better, or because it’s &amp;ldquo;safe&amp;rdquo;? Sometimes I wonder if this habit shields me from disappointment, from engaging with the present and risking the conclusion that much of it feels hollow.&lt;/p&gt;
&lt;p&gt;It’s tempting to say that today’s culture is worse, thinner, obsessed with profit above all else. Actually, I do believe there’s some truth there. Many modern formats feel rushed, overproduced, and strangely empty. In general, it’s content designed to be consumed and forgotten, and there are plenty of reports that back this up. But I also know that every era has its noise, and that what survives from the past is usually the best of it, not the average.&lt;/p&gt;
&lt;p&gt;So the real question might not be whether things today are worse, but whether my resistance to them limits my growth. Taste, much like life, isn’t static. If I stay anchored only to what already feels meaningful, I risk turning reflection into stagnation. Maybe the challenge is learning to stay open without lowering standards, and to engage with the present critically, not defensively - which will already distance me from about 90% of the trash that’s produced nowadays, hehe. After all, time moves forward whether we like it or not, so it’s up to me to move with it, or just keep looking back.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Stuck+on+Repeat&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fstuck-on-repeat%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/why-people-should-not-ask-for-donations-or-money-to-run-their-own-personal-blog/</id><title>Why People Should Not Ask for Donations or Money to Run Their Own Personal Blog</title><link href="https://afranca.com.br/why-people-should-not-ask-for-donations-or-money-to-run-their-own-personal-blog/" rel="alternate" type="text/html"/><published>2026-01-08T12:15:29Z</published><updated>2026-01-08T12:15:29Z</updated><content type="html">&lt;p&gt;This post &lt;strong&gt;&lt;strong&gt;is not&lt;/strong&gt;&lt;/strong&gt; meant as a subtle jab, nor is it intended to offend anyone who had (or still has) this kind of behavior.&lt;/p&gt;
&lt;p&gt;Why do you run a blog? Is it to make a living, or is it a hobby? If you write from your small corner of the internet for pleasure, to meet new people, or simply for engagement, then you probably shouldn’t ask for money for it. Here&amp;rsquo;s why:&lt;/p&gt;
&lt;p&gt;First, asking for donations creates an implicit transaction, even when framed as &amp;ldquo;optional&amp;rdquo;. Readers may feel entitled to certain topics, frequency, or opinions.&lt;/p&gt;
&lt;p&gt;Second, financial incentives often (if not always) influence behavior. Writers may unconsciously avoid controversial opinions, difficult topics, or experimental ideas out of fear of alienating supporters. This certainly leads to self-censorship, where authenticity is sacrificed in favor of maintaining income. There are many examples of this among content creators out there.&lt;/p&gt;
&lt;p&gt;Third, the barrier to entry for blogging has never been lower. Today, there are countless ways to build an online presence, and running a blog can cost little to nothing. When the costs of running a blog are minimal or nonexistent, requesting money becomes harder to justify, especially for a purely personal website.&lt;/p&gt;
&lt;h3 id="closing-thoughts"&gt;Closing Thoughts&lt;/h3&gt;
&lt;p&gt;Running a personal blog as a hobby is an act of self-expression, and the primary goal should be sharing thoughts, ideas, experiences, and so on.&lt;/p&gt;
&lt;p&gt;Donation requests can distort the reader-writer dynamic and may make readers feel guilt for not contributing, even if they receive nothing tangible in return.&lt;/p&gt;
&lt;p&gt;Finally, without financial pressure, writers are free to write irregularly, change direction, or even stop altogether. At least, that is how I feel about this blog.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Why+People+Should+Not+Ask+for+Donations+or+Money+to+Run+Their+Own+Personal+Blog&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhy-people-should-not-ask-for-donations-or-money-to-run-their-own-personal-blog%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/your-content-should-be-easy-to-find/</id><title>Your Content Should Be Easy to Find</title><link href="https://afranca.com.br/your-content-should-be-easy-to-find/" rel="alternate" type="text/html"/><published>2026-01-08T00:42:59Z</published><updated>2026-01-08T23:40:25Z</updated><category term="indieweb"/><category term="blogging"/><category term="small web"/><summary type="text">One of the things I enjoy most is discovering new IndieWeb sites. I love seeing how bloggers like me experiment with their themes. Some go very old-school, using plain HTML, while others are highly polished - a masterclass in CSS usage.</summary><content type="html">&lt;p&gt;One of the things I enjoy most is discovering new IndieWeb sites. I love seeing how bloggers like me experiment with their themes. Some go very old-school, using plain HTML, while others are highly polished - a masterclass in CSS usage.&lt;/p&gt;
&lt;p&gt;What often frustrates me, though, is how many sites obscure their primary entry points. Posts, archives, or feeds are frequently hidden behind minimal navigation, visual abstraction, or missing links altogether. In some cases, RSS or other syndication endpoints are not exposed at all.&lt;/p&gt;
&lt;p&gt;When I update my site’s theme, my first priority is that it should feel personal. I try (within my technical limitation) to design it to reflect who I am. But that is only part of the equation. I also try to think carefully about content discoverability, i.e. how easily a visitor can find posts, follow updates, subscribe, and engage.&lt;/p&gt;
&lt;p&gt;The small web thrives on links, visibility, and reuse. Hiding content (even unintentionally) in favor of aesthetic choices may please you, but it weakens discoverability and discourages return visits, regardless of the quality of what’s being published.&lt;/p&gt;
&lt;p&gt;So I’m curious: when designing your site, how much do you prioritize discoverability? Do you clearly expose links to your posts, archives, or syndication feeds?&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Your+Content+Should+Be+Easy+to+Find&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fyour-content-should-be-easy-to-find%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/the-saas-takeover/</id><title>The SaaS Takeover</title><link href="https://afranca.com.br/the-saas-takeover/" rel="alternate" type="text/html"/><published>2026-01-05T10:10:05Z</published><updated>2026-01-05T10:10:05Z</updated><category term="technology"/><summary type="text">Some days I imagined the time when I could actually buy software. Pay once, install it, use it for years, done. It looks like every tool wants to live in my credit card, and even the simplest app insists on a monthly relationship. That didn’t happen by accident. I mean, the world didn’t wake up one day and decide SaaS was more elegant. It took shape as a practical solution, and over time it became the model users were expected to accept.</summary><content type="html">&lt;p&gt;Some days I imagined the time when I could actually buy software. Pay once, install it, use it for years, done. It looks like every tool wants to live in my credit card, and even the simplest app insists on a monthly relationship. That didn’t happen by accident. I mean, the world didn’t wake up one day and decide SaaS was more elegant. It took shape as a practical solution, and over time it became the model users were expected to accept.&lt;/p&gt;
&lt;p&gt;From a developer’s perspective, SaaS is almost obvious as predictable revenue keeps the lights on, and helps paying for servers, support, cloud bills, and the never-ending work of keeping software secure. Security alone is a full-time job now, actually.&lt;/p&gt;
&lt;p&gt;But then comes the uncomfortable side. Once revenue depends on retention, features become a tool, not always a solution. I’ve seen products ship updates no one asked for, just to justify another email saying &amp;ldquo;we’re evolving&amp;hellip;&amp;rdquo;. I&amp;rsquo;ve seen softwares growing heavier, more complex, and somehow less useful, all in service of looking busy enough to deserve its monthly fee.&lt;/p&gt;
&lt;p&gt;I have a particular example: My wife is a psychologist, and she used to make heavily use of pens and papers to jot down key informations during sessions. The transition to an iPad was game changer to her. She bought a license for GoodNotes 5. It&amp;rsquo;d been simple and solid for a long time. Then came version 6, wrapped in a subscription model, bundled with features most users never asked for, and paired with increasingly aggressive nudges to upgrade. Longtime users like her who had already paid for a perfectly functional tool were suddenly treated like they were outdated, even though nothing was broken.&lt;/p&gt;
&lt;p&gt;A subscription model most of the times lowers the entry barrier for people. You can start cheap, cancel anytime, and avoid big upfront costs. That’s great. But over time, the math changes. Ten dollars here, twenty there, and suddenly you’re renting your entire workflow. Stop paying, and access - or even data - disappears. In other words, ownership has been replaced by permission.&lt;/p&gt;
&lt;p&gt;This is where my frustration lives. SaaS isn’t evil, but it’s not neutral either. It asks users to trust that the company will stay honest, stable, and aligned with their needs. Sometimes prices creep up, features get locked, or the company is acquiresd by another one, and you realize switching is harder than staying.&lt;/p&gt;
&lt;p&gt;The SaaS takeover makes sense. I get why it happened. I just wish we talked more honestly about its trade-offs, instead of pretending subscriptions are always progress.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+The+SaaS+Takeover&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthe-saas-takeover%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/why-everyone-is-reacting/</id><title>Why Everyone Is Reacting</title><link href="https://afranca.com.br/why-everyone-is-reacting/" rel="alternate" type="text/html"/><published>2026-01-04T12:15:17Z</published><updated>2026-01-04T12:15:17Z</updated><category term="blogging"/><summary type="text">A few months ago, during a family visit, I noticed my brother watching a gameplay video of a first-person shooter. I asked him why he was watching it instead of playing. He couldn’t really explain. He went on to show me other videos he’d been watching lately, introducing me to the &amp;ldquo;react content&amp;rdquo;, which consists of someone filming themselves watching someone else’s work, pausing, nodding, laughing, pretending to be shocked, or whatever.</summary><content type="html">&lt;p&gt;A few months ago, during a family visit, I noticed my brother watching a gameplay video of a first-person shooter. I asked him why he was watching it instead of playing. He couldn’t really explain. He went on to show me other videos he’d been watching lately, introducing me to the &amp;ldquo;react content&amp;rdquo;, which consists of someone filming themselves watching someone else’s work, pausing, nodding, laughing, pretending to be shocked, or whatever.&lt;/p&gt;
&lt;p&gt;Where did the fucking creativity go?&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Why+Everyone+Is+Reacting&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhy-everyone-is-reacting%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/immich-on-a-raspberry-pi/</id><title>Immich on a Raspberry Pi</title><link href="https://afranca.com.br/immich-on-a-raspberry-pi/" rel="alternate" type="text/html"/><published>2026-01-04T00:37:38Z</published><updated>2026-01-04T09:59:41Z</updated><category term="technology"/><category term="apple"/><category term="samsung"/><category term="photo management"/><summary type="text">This post is not a tutorial, but rather my account of the process of migrating my photos from iCloud to Immich and how my Raspberry Pi has been able to run it without many issues.</summary><content type="html">&lt;p&gt;This post is not a tutorial, but rather my account of the process of migrating my photos from iCloud to Immich and how my Raspberry Pi has been able to run it without many issues.&lt;/p&gt;
&lt;p&gt;Before you ask why I made the switch: I’ve been using Android since 2024, and the only decent solution that would give me easy access to my photos - despite being a privacy nightmare - was Google Photos. I happened to hear about Immich on a podcast, and the quality of the software immediately caught my attention.&lt;/p&gt;
&lt;p&gt;Migrating my photo library to Immich turned out to be a bit more technical than I initially expected. Although the installation was straightforward - &lt;a href="https://docs.immich.app/overview/quick-start/"&gt;thanks to the Immich team for having well documented the entire process&lt;/a&gt; - the bigger problem occurred in a different way: how to import my files.&lt;/p&gt;
&lt;p&gt;I started with what seemed like the most easier approach: uploading directly from the Immich iOS app. It was a disaster. Even though my library isn’t particularly large, after almost four days of continuous uploading, my iPhone was constantly overheating, battery health was clearly taking a hit, and I wasn’t even halfway through the process. At that point, it was obvious this wasn’t sustainable. I canceled everything and wiped the entire Immich database.&lt;/p&gt;
&lt;p&gt;I tried to export my Photos Library from the Photos App on my old macbook and was surprised by multiple errors and missing files along the way. I gave up again.&lt;/p&gt;
&lt;p&gt;The next step was to request a full data export from Apple. They made me wait seven days for it. The result was my data, split across 46 files, totaling 343.81 GB. Downloading this archive was painfully slow. For reasons still unclear to me, download speeds were capped at around 130 Mbps, regardless of network conditions. Once everything was finally downloaded and extracted, importing locally into Immich was suuuper fast.&lt;/p&gt;
&lt;p&gt;One important thing here: hardware constraints played a big role in shaping the rest of the strategy. I’m running Immich on a Raspberry Pi 400 400 4GB, which is perfectly capable, but obviously limited in CPU, memory, and I/O throughput. Letting Immich process everything automatically could quickly overwhelm the system, so after the importing process began, I paused all background jobs and run them manually, one at a time. I also tuned job concurrency settings, especially for CPU-heavy tasks like video transcoding, thumbnail generation, and machine learning-based search and face recognition. Keeping concurrency low prevented thermal throttling and avoided locking up the system.&lt;/p&gt;
&lt;p&gt;After I had my data from Apple, the entire migration process took roughly a week from start to finish, including indexing, metadata extraction, and background processing. Once completed, the system has been running reliably and smoothly. One important optimization I adopted going forward is recording videos exclusively in H.264, which is widely supported and minimizes the need for transcoding. This reduces unnecessary CPU load and keeps the Raspberry Pi focused on serving content rather than constantly reprocessing it.&lt;/p&gt;
&lt;p&gt;Immich proved to be a solid self-hosted solution since then. And now I can seamlessly back up my phone directly using the Immich Android app.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Immich+on+a+Raspberry+Pi&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fimmich-on-a-raspberry-pi%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/psychology-of-get-rich-scams/</id><title>Psychology of Get-Rich Scams</title><link href="https://afranca.com.br/psychology-of-get-rich-scams/" rel="alternate" type="text/html"/><published>2026-01-02T14:43:41Z</published><updated>2026-01-02T14:54:12Z</updated><category term="self help"/><category term="digital marketing"/><summary type="text">Get-rich scams annoy me more than they should. Not because they exist, but because I keep seeing the same movie on repeat, and some people I like falling for it. Different faces, same promises, same emotional buttons being pressed like clockwork. Every time someone swears they’ve cracked the system, my first thought isn’t curiosity because I already know where this goes. It&amp;rsquo;s exhausting.</summary><content type="html">&lt;p&gt;Get-rich scams annoy me more than they should. Not because they exist, but because I keep seeing the same movie on repeat, and some people I like falling for it. Different faces, same promises, same emotional buttons being pressed like clockwork. Every time someone swears they’ve cracked the system, my first thought isn’t curiosity because I already know where this goes. It&amp;rsquo;s exhausting.&lt;/p&gt;
&lt;p&gt;These schemes aren’t clever anymore. They rely on ancient psychological tricks like urgency, borrowed authority, or the idea that everyone else is already winning and you’re the only dumb one still stuck. That pressure does weird things to the brain, and suddenly a stranger on the internet feels more trustworthy than your own common sense.&lt;/p&gt;
&lt;p&gt;This kind of farce is predictable. You first become part of the funnel, many success stories that sound all the same come next, and it ends up with people falling for it. Not because they&amp;rsquo;re naive I&amp;rsquo;d say. Life can be heavy for a lot of people, then this false sense of hope becomes a product you’re willing to buy if it’s packaged well enough.&lt;/p&gt;
&lt;p&gt;This is me ranting, yes, but also reminding myself that anything real takes time, friction, and doubt. If someone promises clarity without discomfort, they’re selling relief. And relief, when monetized, is rarely honest.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Psychology+of+Get-Rich+Scams&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fpsychology-of-get-rich-scams%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/o-lado-obscuro-do-induto-de-natal/</id><title>O Lado Obscuro do Induto de Natal</title><link href="https://afranca.com.br/o-lado-obscuro-do-induto-de-natal/" rel="alternate" type="text/html"/><published>2026-01-01T16:06:43Z</published><updated>2026-01-01T16:06:43Z</updated><category term="politics"/><category term="blogging"/><summary type="text">Todo fim de ano no Brasil, enquanto luzes piscam e mensagens de paz se repetem, o Indulto de Natal expõe um lado que quase ninguém quer encarar.</summary><content type="html">&lt;p&gt;Todo fim de ano no Brasil, enquanto luzes piscam e mensagens de paz se repetem, o Indulto de Natal expõe um lado que quase ninguém quer encarar.&lt;/p&gt;
&lt;p&gt;Ao contrário do &amp;ldquo;saidão&amp;rdquo; - aquela saída temporária que muitos presos têm em datas comemorativas e &lt;strong&gt;deveriam&lt;/strong&gt; retornar depois de alguns dias - o indulto é &lt;strong&gt;o perdão total da pena&lt;/strong&gt;, uma escatologia decretada pelo Presidente da República para extinguir definitivamente a pena de alguém não apto ou plenamente ressocializado à convicência em sociedade. Os dados da segurança pública mostram que esse benefício, vendido como gesto humanitário, cobra um preço alto de quem está do lado de fora.&lt;/p&gt;
&lt;p&gt;O que mais incomoda é a lógica distorcida. Presos que já cumprem penas baixíssimas recebem redução adicional, como se o sistema fosse rigoroso demais, quando na prática ele já falha em punir e ressocializar. Em muitos estados, os próprios números oficiais apontam que uma parcela significativa dos beneficiados volta a delinquir em pouco tempo. Não é exceção, é padrão conhecido.&lt;/p&gt;
&lt;p&gt;Conheço gente que passa o Natal com medo. Portões trancados, ruas vazias, silêncio tenso. A data que deveria simbolizar encontro e afeto vira sinônimo de alerta máximo. É cruel perceber que, em nome de um simbolismo vazio e de uma militância desonesta e cretina, aceita-se aumentar o risco para quem só quer trabalhar, voltar para casa e viver em paz.&lt;/p&gt;
&lt;p&gt;Talvez o problema não seja falta de compaixão, mas excesso de desconexão com a realidade.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+O+Lado+Obscuro+do+Induto+de+Natal&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fo-lado-obscuro-do-induto-de-natal%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/os-vexames-dos-socialistas-de-iphone/</id><title>🔗 Os Vexames dos Socialistas de iPhone</title><link href="https://afranca.com.br/os-vexames-dos-socialistas-de-iphone/" rel="alternate" type="text/html"/><published>2026-01-01T12:39:51Z</published><updated>2026-01-01T12:47:13Z</updated><category term="link posts"/><summary type="text">O Papo Antagonista exibe os vexames dos socialistas de Iphone.</summary><content type="html">&lt;p&gt;O Papo Antagonista exibe os vexames dos socialistas de Iphone.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/n1yof2rSMq0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;
		&lt;p class="yt-warning"&gt;Clicking the video constitutes your consent to view it via YouTube.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+%F0%9F%94%97+Os+Vexames+dos+Socialistas+de+iPhone&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fos-vexames-dos-socialistas-de-iphone%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/hyperlinks-should-have-context/</id><title>🔗 Hyperlinks Should Have Context</title><link href="https://afranca.com.br/hyperlinks-should-have-context/" rel="alternate" type="text/html"/><published>2026-01-01T12:31:03Z</published><updated>2026-01-01T12:31:03Z</updated><category term="link posts"/><summary type="text"> &amp;ldquo;While poorly implemented links can cause minor annoyances for users, improper interactive links can often lead to a loss of users. That’s why, if you have interactive links on a website or application, it helps to include detailed context. This avoids incorrect actions being triggered or users second-guessing themselves and needing support. You can achieve this through what I call “invisible hand-holding”. It’s not as aggressive as having forced tutorials or treating your customers like idiots, but still provides them with a sense of guidance.&amp;rdquo; by Bradley Taunt.</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;While poorly implemented links can cause minor annoyances for users, improper interactive links can often lead to a loss of users.
That’s why, if you have interactive links on a website or application, it helps to include detailed context. This avoids incorrect actions being triggered or users second-guessing themselves and needing support. You can achieve this through what I call “invisible hand-holding”. It’s not as aggressive as having forced tutorials or treating your customers like idiots, but still provides them with a sense of guidance.&amp;rdquo; by &lt;strong&gt;Bradley Taunt&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://btxx.org/posts/hyperlinks/"&gt;Read Post&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+%F0%9F%94%97+Hyperlinks+Should+Have+Context&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fhyperlinks-should-have-context%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/the-last-post-of-2025/</id><title>The Last Post of 2025</title><link href="https://afranca.com.br/the-last-post-of-2025/" rel="alternate" type="text/html"/><published>2025-12-31T10:00:56Z</published><updated>2025-12-31T10:00:56Z</updated><category term="blogging"/><summary type="text">As we close the books on 2025, I find myself reflecting on this incredible journey we&amp;rsquo;ve shared together. This blog started back in 2022 as a simple outlet for my thoughts on technology. What I never expected was the small community that would form around it.</summary><content type="html">&lt;p&gt;As we close the books on 2025, I find myself reflecting on this incredible journey we&amp;rsquo;ve shared together. This blog started back in 2022 as a simple outlet for my thoughts on technology. What I never expected was the small community that would form around it.&lt;/p&gt;
&lt;p&gt;Your comments, emails, and shared experiences have transformed what could have been a solitary monologue into something far more meaningful. Looking ahead to 2026, I&amp;rsquo;m genuinely excited about what we&amp;rsquo;ll explore together.&lt;/p&gt;
&lt;p&gt;Thank you for being here, for reading, for engaging, and for making this space feel like home. Here&amp;rsquo;s to another year of learning, building, and growing together.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+The+Last+Post+of+2025&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthe-last-post-of-2025%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/carta-de-natal-aos-meus-filhos/</id><title>Carta de Natal aos Meus Filhos</title><link href="https://afranca.com.br/carta-de-natal-aos-meus-filhos/" rel="alternate" type="text/html"/><published>2025-12-24T23:00:43Z</published><updated>2025-12-25T03:07:32Z</updated><category term="parenting"/><category term="blogging"/><summary type="text">Meus queridos filhos, enquanto escrevo esta carta neste Natal, penso em como o tempo passa rápido e em tudo que aprendi desde que vocês chegaram à minha vida. Não quero falar sobre presentes ou decorações, mas sobre algo muito mais importante que descobri ao longo dessa jornada chamada paternidade.</summary><content type="html">&lt;p&gt;Meus queridos filhos, enquanto escrevo esta carta neste Natal, penso em como o tempo passa rápido e em tudo que aprendi desde que vocês chegaram à minha vida. Não quero falar sobre presentes ou decorações, mas sobre algo muito mais importante que descobri ao longo dessa jornada chamada paternidade.&lt;/p&gt;
&lt;p&gt;Sabe, antes mesmo de vocês nascerem, eu tinha tantas certezas sobre o que seria ser pai. Achava que sabia exatamente como educar, como guiar, como ser um exemplo. A verdade é que vocês me ensinam muito mais do que eu poderia imaginar. Cada sorriso, cada pergunta curiosa, cada abraço apertado me mostra que ser pai não é sobre ter todas as respostas, mas sobre estar presente de verdade.&lt;/p&gt;
&lt;p&gt;Neste Natal, enquanto o mundo gira acelerado e todos parecem ocupados demais, quero que vocês saibam que o que mais importa é simples assim: estarmos juntos. Não precisa ser perfeito, não precisa ser extraordinário. Os momentos que mais guardo no coração são aqueles cotidianos, quando sentamos para conversar sobre o dia, quando rimos de alguma bobagem, quando vocês me procuram só para estar perto.&lt;/p&gt;
&lt;p&gt;Aprendi que paternidade é sobre presença genuína. É sobre desligar o celular e realmente escutar o que vocês tem a dizer. É sobre errar, pedir desculpas e mostrar que adultos também estão aprendendo. É sobre criar memórias que não custam dinheiro, mas valem uma fortuna. &lt;a href="https://afranca.com.br/embracing-fatherhood/"&gt;Como escrevi anteriomente sobre paternidade&lt;/a&gt;, abraçar esse papel significa aceitar a vulnerabilidade de ser imperfeito diante de quem mais amamos.&lt;/p&gt;
&lt;p&gt;Nesta época do ano, quando todos falam sobre dar e receber, quero que vocês entendam que o maior presente que posso lhes oferecer é meu tempo, minha atenção, minha presença. É estar ali quando vocês precisarem, é compartilhar seus sonhos e também seus medos. É construir juntos uma relação baseada em confiança e amor verdadeiro.&lt;/p&gt;
&lt;p&gt;Vocês não precisam ser os melhores em nada para me orgulhar. Só precisam ser vocês mesmos, com suas peculiaridades, seus talentos únicos e até suas dificuldades. O que mais importa neste Natal e em todos os dias é que vocês saibam que tem um pai que lhes ama incondicionalmente, que acredita em vocês e que estará sempre ao lado de vocês.&lt;/p&gt;
&lt;p&gt;Que possamos passar menos tempo pensando no que comprar e mais tempo pensando em como estar juntos. Que possamos criar tradições simples, mas significativas. Que possamos rir muito, conversar profundamente e construir memórias que aqueçam nossos corações mesmo nos dias mais frios.&lt;/p&gt;
&lt;p&gt;Este é meu desejo natalino: que vocês cresçam sabendo que são amados, que são importantes e que nossa conexão vai muito além de qualquer presente embrulhado. Feliz Natal, meus filhos.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Carta+de+Natal+aos+Meus+Filhos&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fcarta-de-natal-aos-meus-filhos%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/stop-reproducing-lies-a-brief-introduction-to-fascism/</id><title>Stop Reproducing Lies: A Brief Introduction to Fascism</title><link href="https://afranca.com.br/stop-reproducing-lies-a-brief-introduction-to-fascism/" rel="alternate" type="text/html"/><published>2025-12-17T14:12:08Z</published><updated>2025-12-17T17:16:39Z</updated><category term="politics"/><summary type="text">This blog post is sort of a part two of my last post, where I shared how tired I am of navigating online and seeing people practicing dehumanization through language by using the word &amp;ldquo;fascist&amp;rdquo; or &amp;ldquo;nazi&amp;rdquo; as an insult against those they disagree with. This technique was initially created by Stalin, but largely used and amplified by Goebbels.</summary><content type="html">&lt;p&gt;This blog post is sort of a &lt;a href="https://afranca.com.br/apprentices-of-goebbels/"&gt;part two of my last post&lt;/a&gt;, where I shared how tired I am of navigating online and seeing people practicing dehumanization through language by using the word &amp;ldquo;fascist&amp;rdquo; or &amp;ldquo;nazi&amp;rdquo; as an insult against those they disagree with. This technique was initially created by Stalin, but largely used and amplified by Goebbels.&lt;/p&gt;
&lt;p&gt;Labels become shortcuts for not reading, not listening, not remembering history, but creating narratives.&lt;/p&gt;
&lt;p&gt;If we go back to its origins, fascism was born in the collapse of liberal optimism and in movements that were openly anti-bourgeois. Its early language borrowed heavily from revolutionary syndicalism and from the belief that workers’ organizations, not parliaments, could forge a new civilization. There was a mix of anarchist impulses, nationalist myths, and a desire to smash the existing order.&lt;/p&gt;
&lt;p&gt;Mussolini did not emerge from conservative drawing rooms. He was formed inside socialism, lived most of his intellectual life as a socialist, and even died claiming that identity, despite breaking with Marxist orthodoxy. He was deeply influenced by Georges Sorel, especially the idea that myth, action, and moral force could move history when rational debates failed. From this background came fascist corporatism, an attempt to organize society through syndicates under state coordination, rejecting both laissez-faire capitalism and classical Marxism.&lt;/p&gt;
&lt;p&gt;None of this is an apology. Fascism later allied itself with traditional elites, destroyed independent unions, and hardened into an authoritarian machine. Those facts are essential. So reducing fascism to a vague synonym for &amp;ldquo;people I dislike&amp;rdquo; is intellectually shallow.
When we repeat simplified lies, we lose the ability to recognize how dangerous ideas actually emerge, and manipulation becomes easier, no matter how virtuous we believe our side to be.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Stop+Reproducing+Lies%3A+A+Brief+Introduction+to+Fascism&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fstop-reproducing-lies-a-brief-introduction-to-fascism%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/apprentices-of-goebbels/</id><title>Apprentices of Goebbels</title><link href="https://afranca.com.br/apprentices-of-goebbels/" rel="alternate" type="text/html"/><published>2025-12-17T12:18:32Z</published><updated>2025-12-17T12:18:32Z</updated><category term="politics"/><summary type="text">I’m honestly tired, and I don’t even try to hide it anymore. It’s frustration, accumulated over years of watching the same pattern repeat itself. Everywhere I look online, I see what I named the &amp;ldquo;apprentices of Goebbels&amp;rdquo;, people who swear they’re fighting authoritarianism while practicing dehumanization through language. They don’t argue. They just label.</summary><content type="html">&lt;p&gt;I’m honestly tired, and I don’t even try to hide it anymore. It’s frustration, accumulated over years of watching the same pattern repeat itself. Everywhere I look online, I see what I named the &amp;ldquo;apprentices of Goebbels&amp;rdquo;, people who swear they’re fighting authoritarianism while practicing dehumanization through language. They don’t argue. They just label.&lt;/p&gt;
&lt;p&gt;I’ve watched it happen to many good people. You question a narrative, you hesitate, you ask for evidence, you show a different point of view, and suddenly you’re not a human being anymore. You’re a fascist or a Nazi. Some abstract evil that deserves to be silenced, mocked, or erased - take Charlie Kirk as an example. There&amp;rsquo;s almost no empathy left when ideology takes over. These web communists and militant leftists talk endlessly about compassion, but only for those who agree with them. Everyone else becomes disposable. Once someone is stripped of their humanity, anything from harassment, censorship, or violence becomes permissible.&lt;/p&gt;
&lt;p&gt;I’m not sad because people may disagree with me. Disagreement is healthy. I’m sad because too many people have convinced themselves that calling others nazi somehow absolves them from acting like one.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Apprentices+of+Goebbels&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fapprentices-of-goebbels%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/johnny-decimal-system/</id><title>Johnny Decimal System</title><link href="https://afranca.com.br/johnny-decimal-system/" rel="alternate" type="text/html"/><published>2025-12-12T03:49:08Z</published><updated>2025-12-12T03:49:07Z</updated><category term="organization"/><category term="blogging"/><summary type="text">I discovered the Johnny Decimal System a short while ago, thanks to a great write-up I stumbled across by Kristof Zerbe.
The title &amp;ldquo;Emerging from the Abyss&amp;rdquo; resonated to me, as my digital life has always been a &amp;ldquo;Where did I put that?&amp;rdquo;, split across local and cloud drives, and random folders.</summary><content type="html">&lt;p&gt;I discovered the &lt;strong&gt;Johnny Decimal System&lt;/strong&gt; a short while ago, thanks to &lt;a href="https://kiko.io/post/Johnny-Decimal-Emerging-from-the-Abyss/"&gt;a great write-up I stumbled across&lt;/a&gt; by &lt;a href="https://indieweb.social/@kiko"&gt;Kristof Zerbe&lt;/a&gt;.&lt;br&gt;
The title &amp;ldquo;Emerging from the Abyss&amp;rdquo; resonated to me, as my digital life has always been a &amp;ldquo;Where did I put that?&amp;rdquo;, split across local and cloud drives, and random folders.&lt;/p&gt;
&lt;p&gt;Johnny describes his system as&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a system to organise your life.&lt;br&gt;
Find things, quickly, with more confidence, and less stress.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I stupidly assumed adopting it would be a simple &amp;ldquo;flip the switch&amp;rdquo; thing. Just create some directories, assign some numbers, and &lt;em&gt;voilà,&lt;/em&gt; I become an organized human being. Reality: I got lost for a couple of days wondering how I acquired so much digital junk.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;L&lt;/strong&gt;ong story short, I couldn’t go fully Johnny Decimal in every area of my digital life.&lt;/p&gt;
&lt;h3 id="heres-what-didnt-work-well"&gt;Here’s what didn’t work well:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;The mental overhead at the beginning was a real pain in the ass to me. &amp;ldquo;Is this category too broad? Too narrow? What if I run out of numbers? What if I regret this later?&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Some projects - especially long-term ones - naturally have subfolders within subfolders. I tried flattening them to match the Johnny Decimal structure, and it became harder, not easier, to navigate. Same goes for my old image library that I haven&amp;rsquo;t had time to move to Immich yet, or for my &amp;ldquo;Bridge&amp;rdquo; folder, where I place things that will be moved to a definitive directory or to the trash in a given moment.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="final-thoughts"&gt;Final Thoughts&lt;/h3&gt;
&lt;p&gt;Although I wasn&amp;rsquo;t able to implement it like it was supposed to, there was a big change in the way I organize my files.&lt;/p&gt;
&lt;p&gt;Today, I run a hybrid:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Johnny Decimal&lt;/strong&gt; for top-level organization;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Normal hierarchies&lt;/strong&gt; for deeply structured projects;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Free-flow (or messy) spaces&lt;/strong&gt; for creativity.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Surprisingly, they coexist beautifully. I mean, way better than it was before.&lt;/p&gt;
&lt;p&gt;➡️&lt;/p&gt;
&lt;p&gt;&lt;a href="https://johnnydecimal.com/"&gt;Check out the original site&lt;/a&gt; - It’s worth browsing not only to understand the system, but also to support his work, and appreciate the author’s clarity of thought and the sheer practicality - in his concept at least - behind it.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Johnny+Decimal+System&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fjohnny-decimal-system%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/as-universades-publicas-estao-dominadas-por-idiotas/</id><title>As Universades Públicas estão Dominadas por Idiotas</title><link href="https://afranca.com.br/as-universades-publicas-estao-dominadas-por-idiotas/" rel="alternate" type="text/html"/><published>2025-12-07T16:28:11Z</published><updated>2025-12-07T23:45:00Z</updated><category term="education"/><category term="politics"/><summary type="text">É difícil falar sobre as universidades públicas no Brasil sem um sentimento de frustração e, francamente, de raiva. Essas instituições, que deveriam ser a espinha dorsal do desenvolvimento intelectual e profissional da nossa nação, tornaram-se algo completamente diferente. Elas se transformaram em criadouros ideológicos onde a desonestidade, a corrupção e a completa falta de decência moral criaram - e criam - raízes. E tudo isso às custas do dinheiro pago por nossos impostos. Essas universidades há muito tempo não são mais lugares de pensamento livre, debate rigoroso e excelência acadêmica. Em vez disso, tornaram-se redutos de uma agenda radical de esquerda, onde a dissidência não apenas é indesejada, mas ativamente perseguida.</summary><content type="html">&lt;p&gt;É difícil falar sobre as universidades públicas no Brasil sem um sentimento de frustração e, francamente, de raiva. Essas instituições, que deveriam ser a espinha dorsal do desenvolvimento intelectual e profissional da nossa nação, tornaram-se algo completamente diferente. Elas se transformaram em criadouros ideológicos onde a desonestidade, a corrupção e a completa falta de decência moral criaram - e criam - raízes. E tudo isso às custas do dinheiro pago por nossos impostos. Essas universidades há muito tempo não são mais lugares de pensamento livre, debate rigoroso e excelência acadêmica. Em vez disso, tornaram-se redutos de uma agenda radical de esquerda, onde a dissidência não apenas é indesejada, mas ativamente perseguida.&lt;/p&gt;
&lt;p&gt;Um exemplo perfeito que exemplifica a decadência moral e intelectual que assola essas instituições é o infame episódio conhecido como &amp;ldquo;Educando pelo Cu&amp;rdquo;, um suposto evento acadêmico conduzido por Tertuliana Lustosa. Essa grotesca exibição de absurdidade não foi um incidente isolado, mas sim um sintoma de um problema muito mais profundo e preocupante.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/EIvcUpSJvOE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;
		&lt;p class="yt-warning"&gt;Clicking the video constitutes your consent to view it via YouTube.&lt;/p&gt;
&lt;p&gt;A dominação das universidades públicas por uma ideologia de esquerda é inegável. Essas instituições se transformaram em guetos ideológicos onde apenas um tipo de pensamento é permitido: a visão de mundo radical, coletivista, anticapitalista e fundamentalmente autoritária que tomou conta dos corpos docentes, das estruturas administrativas e das organizações estudantis. Qualquer tentativa de introduzir uma perspectiva diferente é imediatamente silenciada, e qualquer pessoa que se atreva a questionar essa hegemonia é rotulada como reacionária, fascista ou pior. Todos são obrigados a repetir os mesmos dogmas ou arriscar ostracismo social e profissional.&lt;/p&gt;
&lt;p&gt;Eu testemunhei pessoalmente como essa ditadura ideológica opera na prática, em meus tempos de aluno na Universidade de São Paulo. Professores que expressam ideias conservadoras, liberais ou até mesmo moderadamente centristas são recebidos com hostilidade, sabotados em suas carreiras e às vezes até expulsos de suas instituições. Estudantes que pensam diferente são silenciados, ridicularizados, ameaçados ou até agredidos fisicamente. A mensagem é cristalina: se você não faz parte da máquina esquerdista, você não pertence aqui. Isso não é apenas um problema acadêmico - é um problema que existe nos mais diversos ambientes na sociedade.&lt;/p&gt;
&lt;p&gt;A corrupção também abrange organizações estudantis, especialmente centros acadêmicos que foram completamente tomados por esse estrangulamento ideológico. Não é segredo que muitas dessas organizações são conduzidas por indivíduos profundamente envolvidos com a cultura das drogas. Não se trata de usuários ocasionais; são pessoas que consomem e distribuem substâncias ilícitas abertamente. Realizam eventos, ocupam salas de convivência estudantil e tratam a universidade como se fosse um santuário pessoal para autodestruição, enquanto alegam representar os estudantes e fingem lutar por justiça social. O que torna essa situação ainda mais revoltante é que as administrações universitárias, em vez de agir de forma decisiva (e ostensiva), fecham os olhos e às vezes até incentivam esse comportamento. Sim, omitir-se é incentivar.&lt;/p&gt;
&lt;p&gt;A solução para esse problema profundamente enraizado não é simples nem fácil, mas é absolutamente necessária. Exige coragem de indivíduos dispostos a enfrentar essa hegemonia, exigir responsabilidade e lutar por um verdadeiro sistema universitário, que valorize mérito, diversidade de pensamento e genuína excelência acadêmica.&lt;/p&gt;
&lt;p&gt;Até que essa transformação ocorra, as universidades públicas permanecerão o que são hoje: instituições corruptas e decadentes que representam um enorme peso para o povo que as financia. E essa realidade é simplesmente inaceitável.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+As+Universades+P%C3%BAblicas+est%C3%A3o+Dominadas+por+Idiotas&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fas-universades-publicas-estao-dominadas-por-idiotas%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/linux-freedom-and-philosophy/</id><title>Linux, Freedom, and Philosophy</title><link href="https://afranca.com.br/linux-freedom-and-philosophy/" rel="alternate" type="text/html"/><published>2025-12-06T17:20:09Z</published><updated>2025-12-07T23:48:40Z</updated><category term="linux"/><category term="opensource"/><category term="technology"/><category term="privacy"/><summary type="text">When I first switched to Linux years ago, I was drawn in by the typical reasons: it was free, it was fast, and I felt like joining some kind of club of people who actually understood computers - poor me. But the more time I spent in this world, the more I realized that choosing Linux isn&amp;rsquo;t just a technical preference, but a statement about what you value. It&amp;rsquo;s about rejecting the idea that your computer should be a black box controlled by someone else, running software you can&amp;rsquo;t inspect - and most people probably won&amp;rsquo;t -, collecting data you can&amp;rsquo;t see, making decisions you didn&amp;rsquo;t consent to.</summary><content type="html">&lt;p&gt;When I first switched to Linux years ago, I was drawn in by the typical reasons: it was free, it was fast, and I felt like joining some kind of club of people who actually understood computers - poor me. But the more time I spent in this world, the more I realized that choosing Linux isn&amp;rsquo;t just a technical preference, but a statement about what you value. It&amp;rsquo;s about rejecting the idea that your computer should be a black box controlled by someone else, running software you can&amp;rsquo;t inspect - and most people probably won&amp;rsquo;t -, collecting data you can&amp;rsquo;t see, making decisions you didn&amp;rsquo;t consent to.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://drewdevault.com/"&gt;Drew DeVault&lt;/a&gt; writes extensively about software freedom and the importance of user autonomy, and reading his work always reminds me why these principles matter. We live in an age where our digital lives are increasingly controlled by corporations that don&amp;rsquo;t have our best interests at heart. The operating system you choose is the foundation of your digital existence, and if that foundation is built on proprietary software owned by a company whose business model depends on surveilling you, then you&amp;rsquo;ve already lost a significant amount of control over your own digital life.&lt;/p&gt;
&lt;p&gt;Linux represents an alternative path. It&amp;rsquo;s not perfect - far from it, actually. The community can be fragmented, argumentative, and sometimes downright hostile, as I&amp;rsquo;ve explored before, &lt;a href="https://afranca.com.br/what-is-wrong-with-the-linux-community/"&gt;after one of my first blog posts&lt;/a&gt;. People fight about distributions, about init systems, about desktop environments, about package managers. Some spend endless hours debating which distro is &amp;ldquo;best&amp;rdquo; when the real answer is that it depends entirely on what they need and what they value. But beneath all that noise, there&amp;rsquo;s a shared understanding that software freedom matters, that users deserve control over their own machines, and that transparency and openness are fundamental principles worth fighting for.&lt;/p&gt;
&lt;p&gt;Using Linux forces you to be more intentional. Yes, it has a learning curve. Yes, sometimes things break. Yes, you&amp;rsquo;ll occasionally spend hours troubleshooting an issue that wouldn&amp;rsquo;t exist on Windows or macOS. But through that process, you learn how your system actually works.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not saying everyone needs to use Linux. Actually, anything that helps you get the job done is what you should be using. Different people have different needs, different skills, different priorities. What I am saying is that the principles Linux embodies matter whether you&amp;rsquo;re using Linux or not.&lt;/p&gt;
&lt;p&gt;The choice to use Linux is a rejection of the dominant paradigm that says technology should be closed, controlled, and commodified. Maybe it&amp;rsquo;s an affirmation that users deserve better.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Linux%2C+Freedom%2C+and+Philosophy&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Flinux-freedom-and-philosophy%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/migrating-from-writefreely-to-ghost-cms/</id><title>Migrating from WriteFreely to Ghost CMS</title><link href="https://afranca.com.br/migrating-from-writefreely-to-ghost-cms/" rel="alternate" type="text/html"/><published>2025-12-04T03:13:10Z</published><updated>2025-12-07T23:50:07Z</updated><category term="cms"/><category term="ghostcms"/><category term="writefreely"/><category term="blogging"/><category term="activitypub"/><summary type="text">I’m starting to think I’ve become a professional digital nomad, except the &amp;ldquo;nomad&amp;rdquo; part is my blog. Last October I proudly announced my escape from Hugo to WriteFreely, bragging about finally finding a platform that let my words breathe.</summary><content type="html">&lt;p&gt;I’m starting to think I’ve become a professional digital nomad, except the &amp;ldquo;nomad&amp;rdquo; part is my blog. Last October I proudly announced my escape from Hugo to WriteFreely, bragging about finally finding a platform that let my words breathe.&lt;/p&gt;
&lt;p&gt;Fast forward a month and a half, and here I am, elbow‑deep in another migration, this time to GhostCMS, because apparently my appetite for new features outweighs my tolerance for learning curves. I imagined the transition would be a swift hop, but instead it turned into a marathon of manual copy‑pastes, theme‑tweaking, and a healthy dose of &amp;ldquo;why did I think this would be easy?&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;These migrations have taught me two things: never underestimate the effort of moving digital furniture, and that I’ll probably be back here again next year, swapping platforms like socks!&lt;/p&gt;
&lt;p&gt;When I decided to move my blog from WriteFreely to Ghost (version 6), the primary driver was the richer ActivityPub integration. Ghost’s implementation supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Full federation of posts, comments, and reactions&lt;/strong&gt; across the Fediverse.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boosted discovery&lt;/strong&gt; through Mastodon and other ActivityPub clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customizable actor metadata&lt;/strong&gt; (profile picture, bio, preferred languages).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fine‑grained privacy controls&lt;/strong&gt; for each post (public, unlisted, or followers‑only).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;WriteFreely, on the other hand, suffered two major pain points:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Scheduling bugs&lt;/strong&gt; – scheduled posts never got federated, leaving gaps in the timeline.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feature gaps&lt;/strong&gt; compared to the managed Write.as service (e.g., no image upload support or issues with shortcodes).&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="what-went-wrong"&gt;What Went Wrong&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Underestimating migration effort&lt;/strong&gt; - I assumed - as I often do - a quick export/import would suffice, but ended up doing a lot of manual copy‑pasting and metadata cleanup.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Theme bloat&lt;/strong&gt; - Ghost’s default themes are feature‑heavy. While they’re fully customizable, stripping out unnecessary code can take extra time. WriteFreely’s minimal CSS approach made styling simpler, albeit way less flexible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-i-like-about-ghost"&gt;What I Like About Ghost&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Custom email delivery&lt;/strong&gt; – Ghost lets me send tailored newsletters directly from the platform, with some control over templates and subscriber segmentation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optional comments&lt;/strong&gt; – Readers can leave comments via its internal system, and native ActivityPub replies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Robust editor&lt;/strong&gt; – The built‑in rich‑text/markdown editor offers embeds, code blocks, and real‑time preview, far surpassing WriteFreely’s basic text area.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Overall, the migration demanded more hands‑on work than anticipated, but Ghost&amp;rsquo;s advanced federation and powerful publishing tools now give my blog the flexibility I was missing on WriteFreely.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Migrating+from+WriteFreely+to+Ghost%E2%80%AFCMS&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fmigrating-from-writefreely-to-ghost-cms%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/a-quick-word-on-f1-2025-championship-battle/</id><title>A Quick Word on F1 2025 Championship Battle</title><link href="https://afranca.com.br/a-quick-word-on-f1-2025-championship-battle/" rel="alternate" type="text/html"/><published>2025-11-30T18:34:00Z</published><updated>2025-12-08T12:32:22Z</updated><category term="blogging"/><category term="formula 1"/><category term="sports"/><summary type="text">McLaren is definitely letting Max Verstappen dream. Since I started following F1, this is the first time I&amp;rsquo;ve seen a team so dominant do absolutely everything in its power to lose the drivers’ championship.</summary><content type="html">&lt;p&gt;McLaren is definitely letting Max Verstappen dream. Since I started following F1, this is the first time I&amp;rsquo;ve seen a team so dominant do absolutely everything in its power to lose the drivers’ championship.&lt;/p&gt;
&lt;p&gt;With Verstappen’s recent win in Qatar - thanks to yet another absurd mistake by McLaren - the gap between them was reduced to just 12 points. In other words, if Max wins the Abu Dhabi race and Lando finishes fourth, the title will go to the current four‑time world champion.&lt;/p&gt;
&lt;p&gt;So, while Verstappen’s victory adds another impressive result to his record, it also preserves the suspense that makes the championship worth watching. I’m looking forward to the finale and eager to see who ultimately claims the title.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+A+Quick+Word+on+F1+2025+Championship+Battle&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fa-quick-word-on-f1-2025-championship-battle%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/black-friday/</id><title>Black Friday</title><link href="https://afranca.com.br/black-friday/" rel="alternate" type="text/html"/><published>2025-11-28T15:08:00Z</published><updated>2025-12-08T12:33:09Z</updated><category term="blogging"/><category term="digital minimalism"/><category term="proton"/><category term="black friday"/><summary type="text">I set out to write a rant on Black Friday, exposing how coordinated discounts turn shopping into a manufactured frenzy. The day feels engineered to lure us into buying things we don’t need, all while our wallets shrink.</summary><content type="html">&lt;p&gt;I set out to write a rant on Black Friday, exposing how coordinated discounts turn shopping into a manufactured frenzy. The day feels engineered to lure us into buying things we don’t need, all while our wallets shrink.&lt;/p&gt;
&lt;p&gt;Months before the event, algorithms scrape our browsing histories, abandoned carts, and even idle pauses, crafting ultra‑personalized ads that seem to read our thoughts. When the sales roll out, we’re bombarded with offers that promise convenience but often deliver complexity.&lt;/p&gt;
&lt;p&gt;Mid‑rant, I found myself caught in the same trap: the Black Friday flash sale for Proton Unlimited ~$3.70 USD/month on a 12‑month plan. In my country, that price is virtually unheard of, so I subscribed, trading a moment of resistance for a tangible upgrade: encrypted email, secure cloud storage, a cloud-based password manager and a VPN.&lt;/p&gt;
&lt;p&gt;This contradiction underscores why we must learn to separate need from desire, value from price, and freedom from convenience. A discount is only worthwhile when it aligns with genuine needs, not when it exploits our impulsive instincts.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Black%E2%80%AFFriday&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fblack-friday%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/thanksgiving-reflection/</id><title>Thanksgiving Reflection</title><link href="https://afranca.com.br/thanksgiving-reflection/" rel="alternate" type="text/html"/><published>2025-11-27T20:21:00Z</published><updated>2025-12-08T12:33:38Z</updated><category term="blogging"/><category term="indieweb"/><category term="small web"/><summary type="text">Thanksgiving always nudges me toward gratitude in places I didn’t expect. This year, the surprise guest at my table is the web, not the sprawling, algorithm‑driven beast we all complain about, but the tiny alcoves where real people still write, share, and actually listen.</summary><content type="html">&lt;p&gt;Thanksgiving always nudges me toward gratitude in places I didn’t expect. This year, the surprise guest at my table is the web, not the sprawling, algorithm‑driven beast we all complain about, but the tiny alcoves where real people still write, share, and actually listen.&lt;/p&gt;
&lt;p&gt;Since I launched my blog - and still today - I haven’t been chasing fame or followers. I just wanted a &amp;ldquo;digital notebook&amp;rdquo; where I could dump ideas, track experiments, and maybe help someone else who stumbled on the same problem. Somewhere along the line, the notebook grew legs a little bit. I even noticed &lt;a href="https://news.ycombinator.com/item?id=46062198"&gt;a recent thread on Hacker News&lt;/a&gt; that sparked a nice debate after a fellow reader recently linked my blog post &amp;ldquo;&lt;a href="https://afranca.com.br/why-90s-movies-feel-more-alive-than-anything-on-netflix/"&gt;why 90s movies feel more alive than anything on Netflix&lt;/a&gt;&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;What the &amp;ldquo;small web&amp;rdquo; taught me is simple: you don&amp;rsquo;t need millions of followers to matter. Some of the richest dialogues happen in a single comment, a brief reply, or an occasional inbox ping that says: &amp;ldquo;I&amp;rsquo;ve been reading your posts for months&amp;rdquo;. Those moments feel earned, not manufactured by a likes counter.&lt;/p&gt;
&lt;p&gt;In short, the web, when we treat it as a conversation rather than a broadcast, becomes a place to build relationships rooted in curiosity.&lt;/p&gt;
&lt;p&gt;So this Thanksgiving, I’m grateful for every reader who paused long enough to read a line and the whole community that still believes the internet can be a genuine meeting ground.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bottom line&lt;/strong&gt;: Keep writing, keep listening, and remember that even the smallest corner of the web can host the biggest ideas. Happy Thanksgiving!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Thanksgiving+Reflection&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthanksgiving-reflection%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/why-90s-movies-feel-more-alive-than-anything-on-netflix/</id><title>Why 90s Movies Feel More Alive Than Anything on Netflix</title><link href="https://afranca.com.br/why-90s-movies-feel-more-alive-than-anything-on-netflix/" rel="alternate" type="text/html"/><published>2025-11-21T12:11:00Z</published><updated>2025-12-28T00:05:14Z</updated><category term="blogging"/><category term="classic cinema"/><category term="modern movies"/><category term="netflix"/><category term="streaming"/><summary type="text">I was rewatching The Silence of the Lambs the other night, and something hit me hard. This movie, made in 1991, feels more alive, more gripping, more real than most things coming out today. And it got me thinking: why do 80s and 90s movies seem so much better than what we&amp;rsquo;re getting now?</summary><content type="html">&lt;p&gt;I was rewatching The Silence of the Lambs the other night, and something hit me hard. This movie, made in 1991, feels more alive, more gripping, more &lt;em&gt;real&lt;/em&gt; than most things coming out today. And it got me thinking: why do 80s and 90s movies seem so much better than what we&amp;rsquo;re getting now?&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s something about the way older films were crafted that modern cinema seems to have lost. Take Goodfellas from 1990. Scorsese doesn&amp;rsquo;t just tell you a story about mobsters, he pulls you into their world. The tracking shot through the Copacabana, the narration that feels like a conversation, the way violence erupts suddenly and brutally. You feel the seduction of that lifestyle and the paranoia that comes with it. Every frame has purpose. Every scene builds character. Compare that to The Irishman from 2019, which is actually good but feels bloated, overly long, relying too heavily on &amp;ldquo;de-aging&amp;rdquo; technology that never quite convinces you.&lt;/p&gt;
&lt;p&gt;Or think about Pulp Fiction from 1994. Tarantino took narrative structure and shattered it into pieces, then reassembled it into something that shouldn&amp;rsquo;t work but does, brilliantly. The dialogue crackles. The characters feel lived-in. Vincent and Jules aren&amp;rsquo;t just hitmen, they&amp;rsquo;re more like philosophers debating foot massages and divine intervention between murders. Now look at something like Bullet Train from 2022. It&amp;rsquo;s stylish, sure, but it feels like it&amp;rsquo;s trying too hard to be quirky. The characters are archetypes. The dialogue is clever for cleverness&amp;rsquo; sake. It&amp;rsquo;s entertaining in the moment but fades away from your memory almost immediately.&lt;/p&gt;
&lt;p&gt;Even The Silence of the Lambs itself proves the point. Every interaction between Clarice and Hannibal is a chess match. You feel her vulnerability, his intelligence, the way he gets under her skin. The horror isn&amp;rsquo;t in jump scares, it&amp;rsquo;s in the psychological warfare. Modern thrillers like The Woman in the Window from 2021 have twists and atmosphere, but they lack that deep character work that makes you actually care what happens.&lt;/p&gt;
&lt;p&gt;I think the difference comes down to this: older movies took risks. They trusted audiences to pay attention, to feel something, to think. Scorsese and Tarantino had visions and the freedom to execute them without endless studio interference. They weren&amp;rsquo;t chasing demographics or worrying about franchise potential. They were making &lt;em&gt;films&lt;/em&gt;, not products.&lt;/p&gt;
&lt;p&gt;Today&amp;rsquo;s cinema often feels designed by committee, optimized for streaming algorithms and opening weekend numbers rather than lasting impact. We have better technology, way bigger budgets, more sophisticated effects, but somewhere along the way, we forgot that movies are supposed to move us, not just occupy our time between scrolling sessions.&lt;/p&gt;
&lt;p&gt;Maybe I&amp;rsquo;m just nostalgic. Maybe I&amp;rsquo;m romanticizing the past. But when I finish a good movie, I can sit there thinking about them for hours, even days depending on the movie. When I finish most modern blockbusters, I&amp;rsquo;m already thinking about dinner. And that difference, I think, says everything.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Why+90s+Movies+Feel+More+Alive+Than+Anything+on+Netflix&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhy-90s-movies-feel-more-alive-than-anything-on-netflix%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/femismo-e-autofagismo/</id><title>Femismo e Autofagismo</title><link href="https://afranca.com.br/femismo-e-autofagismo/" rel="alternate" type="text/html"/><published>2025-11-20T23:50:00Z</published><updated>2025-12-08T12:35:59Z</updated><category term="blogging"/><category term="politics"/><summary type="text">A cena que rolou no programa Fim de Papo da UOL é quase uma comédia pronta. Juca Kfouri fez um comentário sugerindo que a cobertura jornalística de celebridades como Virginia deveria ser feita por jornalistas mulheres, e o circo pegou fogo. A apresentadora Domitila Becker pediu um minuto de silêncio e depois detonou o colega ao vivo. O detalhe irônico? Ambos são figuras conhecidas por rotularem qualquer discordância como machista, fascista ou qualquer outro &amp;ldquo;ista&amp;rdquo; da cartilha progressista.</summary><content type="html">&lt;p&gt;A cena que rolou no programa Fim de Papo da UOL é quase uma comédia pronta. Juca Kfouri fez um comentário sugerindo que a cobertura jornalística de celebridades como Virginia deveria ser feita por jornalistas mulheres, e o circo pegou fogo. A apresentadora Domitila Becker pediu um minuto de silêncio e depois detonou o colega ao vivo. O detalhe irônico? Ambos são figuras conhecidas por rotularem qualquer discordância como machista, fascista ou qualquer outro &amp;ldquo;ista&amp;rdquo; da cartilha progressista.&lt;/p&gt;
&lt;p&gt;O comentário do Juca pode até ser questionável no tom, mas qualquer pessoa com dois neurônios funcionando sabe que ele não estava inventando moda. Colunas de fofoca, celebridades e entretenimento têm um público majoritariamente feminino. Ponto. Não é machismo, é dado demográfico. Mas no universo do femismo - esse feminismo performático e militante, mais preocupado com lacração nas redes do que com questões reais - até constatar o óbvio virou crime de ódio.&lt;/p&gt;
&lt;p&gt;Domitila chegou a conectar a piada com feminicídio. É sério isso? Esse tipo de salto lógico absurdo só funciona quando você está tão imerso na bolha ideológica que perdeu completamente a noção de proporção. É o femismo em sua versão mais tóxica: histérico, incapaz de separar níveis de gravidade, pronto para executar publicamente até quem está do mesmo lado.&lt;/p&gt;
&lt;p&gt;E é aqui que entra o espetáculo da autofagia. Juca não é um conservador. Não é alguém que questiona as pautas identitárias. Ele sempre foi um militante das causas progressistas, ao meu ver, até mesmo de maneira demagócica. Mas isso não importa mais. No tribunal da pureza ideológica da esquerda, ninguém tem salvo-conduto. Basta um deslize, uma palavra mal escolhida, um comentário que fuja minimamente do script aprovado, e pronto: você vira réu. A militância devora seus próprios com mais ferocidade do que combate adversários reais.&lt;/p&gt;
&lt;p&gt;Isso não é fortalecimento de causa nenhuma. É autodestruição. Cria um ambiente sufocante onde todo mundo anda pisando em ovos, aterrorizado de ser o próximo cancelado pelos próprios companheiros de trincheira. E quando você gasta mais energia policiando linguagem do que defendendo ideias, perde qualquer relevância no debate público. O femismo e essa esquerda autocanibalizante estão tão ocupados em se devorar que viraram caricatura de si mesmos.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Femismo+e+Autofagismo&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Ffemismo-e-autofagismo%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/re-why-do-you-need-big-tech-for-your-ssg/</id><title>RE: Why Do You Need Big Tech for Your SSG?</title><link href="https://afranca.com.br/re-why-do-you-need-big-tech-for-your-ssg/" rel="alternate" type="text/html"/><published>2025-11-20T22:10:00Z</published><updated>2025-12-08T12:38:10Z</updated><category term="blogging"/><category term="self-hosting"/><category term="static site generator"/><summary type="text">The recent Cloudflare outage sparked an interesting talk in the small web community. I wrote about the fragile architecture we&amp;rsquo;ve built, where a single configuration file brought down half the internet. Kev Quirk responded with a compelling argument: why rely on big tech at all? Just spin up a VPS, build locally, and rsync your way to independence. Meanwhile, Loren Stephens offered a more pragmatic perspective, pointing out that not everyone wants to become a sysadmin for their personal blog.</summary><content type="html">&lt;p&gt;The recent Cloudflare outage sparked an interesting talk in the small web community. I wrote about &lt;a href="https://afranca.com.br/the-fragile-web-we-built/"&gt;the fragile architecture we&amp;rsquo;ve built&lt;/a&gt;, where a single configuration file brought down half the internet. Kev Quirk responded with a compelling argument: &lt;a href="https://kevquirk.com/blog/why-do-you-need-big-tech-for-your-ssg/"&gt;why rely on big tech at all&lt;/a&gt;? Just spin up a VPS, build locally, and rsync your way to independence. Meanwhile, Loren Stephens offered &lt;a href="https://ldstephens.net/blog/re-why-do-you-need-big-tech-for-your-ssg-kev-quirk/"&gt;a more pragmatic perspective&lt;/a&gt;, pointing out that not everyone wants to become a sysadmin for their personal blog.&lt;/p&gt;
&lt;p&gt;I get both sides because I&amp;rsquo;ve lived through both approaches. When I launched the &lt;a href="https://afranca.com.br/website-version-4-0/#version-10"&gt;first version of my blog&lt;/a&gt;, I used GitHub and Vercel - and &lt;a href="https://simplecss.org/"&gt;Simple.css&lt;/a&gt; (Thanks Kev, btw). Push to main, watch it deploy, done. It was perfect for someone who just wanted to write without thinking about server configurations.&lt;/p&gt;
&lt;p&gt;But Kev&amp;rsquo;s point about control resonates too. There&amp;rsquo;s something oddly satisfying about knowing exactly where your bits live and how they get there. No mysterious build pipelines, no waiting for someone else&amp;rsquo;s infrastructure to wake up. Just you, a bash script, and direct access to your server. For someone technical enough to handle it, the simplicity is also great.&lt;/p&gt;
&lt;p&gt;The truth is both approaches have merit depending on who you are and what you value. If you&amp;rsquo;re comfortable with command lines and enjoy tinkering, self-hosting gives you autonomy and eliminates a dependency on platforms that can go offline or change terms overnight. If you&amp;rsquo;re not interested in server maintenance or you&amp;rsquo;re just starting out, platforms like Netlify, Cloudflare, or Vercel remove friction and let you focus on content rather than infrastructure and cost.&lt;/p&gt;
&lt;p&gt;What the Cloudflare outage really exposed isn&amp;rsquo;t that one approach is universally better, but that centralization carries hidden costs we only notice when things break. Whether you choose the convenience of managed platforms or the independence of self-hosting, the important thing is making that choice consciously, understanding the tradeoffs you&amp;rsquo;re accepting.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+RE%3A+Why+Do+You+Need+Big+Tech+for+Your+SSG%3F&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fre-why-do-you-need-big-tech-for-your-ssg%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/why-i-write-in-public/</id><title>Why I Write in Public</title><link href="https://afranca.com.br/why-i-write-in-public/" rel="alternate" type="text/html"/><published>2025-11-19T23:18:00Z</published><updated>2025-12-08T12:39:02Z</updated><category term="blogging"/><summary type="text">I keep writing in public, even when it sometimes feels like standing naked in a crowded room. There&amp;rsquo;s something terrifying about hitting the &amp;ldquo;publish button&amp;rdquo;, knowing that anyone can read, judge, or misinterpret what I&amp;rsquo;ve written. Yet here I am, still doing it.</summary><content type="html">&lt;p&gt;I keep writing in public, even when it sometimes feels like standing naked in a crowded room. There&amp;rsquo;s something terrifying about hitting the &amp;ldquo;publish button&amp;rdquo;, knowing that anyone can read, judge, or misinterpret what I&amp;rsquo;ve written. Yet here I am, still doing it.&lt;/p&gt;
&lt;p&gt;When [I wrote about &amp;ldquo;the power of writing&amp;rdquo;]({{ ref &amp;ldquo;/posts/2024/the-power-of-writing.md&amp;rdquo; &amp;gt;}}) before, I focused on the personal benefits like the clarity, the thinking process, the way words help me understand myself better. But publishing? That&amp;rsquo;s a different beast entirely. It adds a layer of vulnerability that private journaling never demands. Every post is a tiny act of courage, or maybe foolishness, I&amp;rsquo;m not always sure which.&lt;/p&gt;
&lt;p&gt;The internet doesn&amp;rsquo;t forget, and people can be harsh. I&amp;rsquo;ve learned this the hard way. But here&amp;rsquo;s the thing: the potential for judgment is also the potential for connection. Someone, somewhere, might read what I wrote and think &amp;ldquo;oh, I thought I was the only one who felt that way.&amp;rdquo; That possibility makes the risk worthwhile.&lt;/p&gt;
&lt;p&gt;I write in public because ideas deserve to be shared, even the half-formed ones. Especially those, actually. The polished, perfect thoughts are easy to publish because they&amp;rsquo;re safe. The messy, uncertain reflections are where real growth happens, both for me and for readers who engage with them. When I share something I&amp;rsquo;m still figuring out, I try to invite others into the process of discovery rather than just presenting conclusions.&lt;/p&gt;
&lt;p&gt;Public writing also forces a kind of honesty I don&amp;rsquo;t always achieve in private. The possibility of being read makes me confront my own contradictions and examine whether I actually believe what I&amp;rsquo;m about to claim. It&amp;rsquo;s uncomfortable, but necessary. An invisible audience holds me accountable in ways I sometimes fail to hold myself.&lt;/p&gt;
&lt;p&gt;Every blog post, no matter how small, adds to the collective knowledge and experience we&amp;rsquo;re all building together online. So I keep publishing, despite the fear, because the alternative is silence. And silence, I&amp;rsquo;ve learned, is far more limiting than any critique could ever be.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Why+I+Write+in+Public&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhy-i-write-in-public%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/the-fragile-web-we-built/</id><title>The Fragile Web We Built</title><link href="https://afranca.com.br/the-fragile-web-we-built/" rel="alternate" type="text/html"/><published>2025-11-19T02:24:00Z</published><updated>2025-12-08T12:39:28Z</updated><category term="blogging"/><category term="cloudflare"/><category term="internet"/><category term="infrastructure"/><summary type="text">Today, I was in the middle of writing a blog post when things suddenly stopped making sense. I refreshed the page for a quick reference, and instead of loading, it just… hung. At first, I assumed I had messed something up as usual, maybe a DNS thing&amp;hellip; A couple of minutes later, it became clear the problem wasn&amp;rsquo;t me. Cloudflare was down, and with it a ridiculous amount of everything most people depend on daily.</summary><content type="html">&lt;p&gt;Today, I was in the middle of writing a blog post when things suddenly stopped making sense. I refreshed the page for a quick reference, and instead of loading, it just… hung. At first, I assumed I had messed something up as usual, maybe a DNS thing&amp;hellip; A couple of minutes later, it became clear the problem wasn&amp;rsquo;t me. &lt;a href="https://arstechnica.com/tech-policy/2025/11/widespread-cloudflare-outage-blamed-on-mysterious-traffic-spike/"&gt;Cloudflare was down&lt;/a&gt;, and with it a ridiculous amount of everything most people depend on daily.&lt;/p&gt;
&lt;p&gt;My blog, X, ChatGPT, Spotify, Canva, a bunch other sites, and ironically Downdetector. All these sites blinking in and out, gave me that old familiar tightness in the chest that only IT people really understand. And it wasn&amp;rsquo;t even my outage. The root cause, as Cloudflare explained, apparently was an automatically generated configuration file that ballooned beyond what the system could handle, triggering a cascade of failures across their global network.&lt;/p&gt;
&lt;p&gt;I couldn&amp;rsquo;t help but think of my time working IT for a retail chain. Back then, a single POS terminal going offline was enough to flip the store upside down. I remember one Saturday when an entire warehouse went offline, and we were basically firefighting with our hands tied. Managers pacing behind us, and that feeling of being the thin human layer separating what was supposed to be a &amp;ldquo;normal day&amp;rdquo; from full meltdown. Frontline IT work is basically invisible until the moment it isn&amp;rsquo;t. And then it&amp;rsquo;s chaos.&lt;/p&gt;
&lt;p&gt;So while the internet made jokes about the outage, or even compared to AWS past outages, I kept imagining the Cloudflare engineers staring at dashboards filled with red, jumping between incident channels, trying to bring a global network back online one piece at a time. It&amp;rsquo;s easy to blame &amp;ldquo;the system&amp;rdquo;, but behind that system are people breathing fast, typing faster, and hoping the fix holds.&lt;/p&gt;
&lt;p&gt;The internet looks massive and resilient from the outside, but under the hood it&amp;rsquo;s still a collection of services, configs, and humans doing their best not to let the rest of us notice when something breaks.&lt;/p&gt;
&lt;p&gt;As I watched my own site slowly come back to life, I couldn&amp;rsquo;t stop thinking about the fragility of the architecture we treat as unavoidable. When a single provider stumbles, the entire digital world feels the shockwave. It&amp;rsquo;s not a criticism of the incredible engineering behind these systems, actually it&amp;rsquo;s impressive how rarely they fail given its complexity. But it&amp;rsquo;s hard to ignore the feeling that we&amp;rsquo;ve built something huge on top of very few pillars.&lt;/p&gt;
&lt;p&gt;Decentralization always feels expensive, slow, and inefficient, right up until centralization sends the bill. And when it does, it hits everyone at once.&lt;/p&gt;
&lt;p&gt;Maybe this outage is a reminder to rethink how we distribute weight and responsibility. Because the next time a configuration file grows beyond expectations, it would be nice if it didn&amp;rsquo;t drag the whole world with it.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+The+Fragile+Web+We+Built&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthe-fragile-web-we-built%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/fatherhood-in-the-age-of-screens/</id><title>Fatherhood in the Age of Screens</title><link href="https://afranca.com.br/fatherhood-in-the-age-of-screens/" rel="alternate" type="text/html"/><published>2025-11-17T18:06:00Z</published><updated>2025-12-08T12:41:31Z</updated><category term="blogging"/><category term="parenting"/><summary type="text">The other day, my son looked up at me while I was scrolling through my phone and asked, &amp;ldquo;Daddy, are you working or playing?&amp;rdquo; I froze. The question wasn&amp;rsquo;t accusatory, just curious, but it cut through every rationalization I had been making about my screen time.</summary><content type="html">&lt;p&gt;The other day, my son looked up at me while I was scrolling through my phone and asked, &amp;ldquo;Daddy, are you working or playing?&amp;rdquo; I froze. The question wasn&amp;rsquo;t accusatory, just curious, but it cut through every rationalization I had been making about my screen time.&lt;/p&gt;
&lt;p&gt;Fatherhood in the digital age presents a peculiar paradox. We&amp;rsquo;re constantly connected yet perpetually distracted. We document our children&amp;rsquo;s lives obsessively while sometimes missing the actual moments we&amp;rsquo;re trying to capture. I&amp;rsquo;ve caught myself photographing my son&amp;rsquo;s first attempts at riding a bike instead of simply being there.&lt;/p&gt;
&lt;p&gt;The challenge isn&amp;rsquo;t about abandoning technology entirely. That&amp;rsquo;s neither practical nor desirable. My work requires connectivity, and I genuinely believe technology can enrich our lives when used mindfully. The real question is about intentionality. Am I using my devices with purpose?&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve started implementing small rituals, or at least trying to. The phone goes face-down during dinner. Weekend mornings are screen-free. When my kids are talking to me, I make it a point to put everything down and actually listen, not just hear them while my mind wanders to other things.&lt;/p&gt;
&lt;p&gt;It is impressive how children absorb everything. They don&amp;rsquo;t learn from our words about healthy tech habits, but from watching us struggle with our own devices. When I catch myself reaching for my phone out of habit rather than necessity, I think about what I&amp;rsquo;m teaching them about presence, about valuing real-world connections over digital dopamine hits.&lt;/p&gt;
&lt;p&gt;The irony isn&amp;rsquo;t lost on me that I&amp;rsquo;ll probably share these thoughts online. But perhaps that&amp;rsquo;s the balance we&amp;rsquo;re all seeking: using technology to connect and reflect, while ensuring it never replaces the irreplaceable moments happening right in front of us.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Fatherhood+in+the+Age+of+Screens&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Ffatherhood-in-the-age-of-screens%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/minimalismo-digital/</id><title>Minimalismo Digital</title><link href="https://afranca.com.br/minimalismo-digital/" rel="alternate" type="text/html"/><published>2025-11-16T15:16:00Z</published><updated>2025-12-08T12:42:42Z</updated><category term="blogging"/><category term="digital minimalism"/><summary type="text">Há algum tempo observo e reflito sobre a minha relação com a tecnologia. Na verdade, este foi/é um processo gradual de perceber o quanto certas ferramentas digitais ocupam espaço mental sem oferecer valor proporcional em troca. E essa percepção me levou a explorar o que muitos chamam de minimalismo digital. Para mim, não como uma filosofia rígida, mas como uma abordagem prática para recuperar um pouco de clareza num mundo que insiste em nos sobrecarregar.</summary><content type="html">&lt;p&gt;Há algum tempo observo e reflito sobre a minha relação com a tecnologia. Na verdade, este foi/é um processo gradual de perceber o quanto certas ferramentas digitais ocupam espaço mental sem oferecer valor proporcional em troca. E essa percepção me levou a explorar o que muitos chamam de minimalismo digital. Para mim, não como uma filosofia rígida, mas como uma abordagem prática para recuperar um pouco de clareza num mundo que insiste em nos sobrecarregar.&lt;/p&gt;
&lt;p&gt;A primeira coisa que percebi foi o peso invisível das redes sociais. Durante anos, mantive contas no Twitter, Facebook, Instagram, YouTube, entre outras plataformas, cada uma exigindo sua fatia de atenção. O problema não era necessariamente o tempo gasto - embora considerável - mas a fragmentação constante do foco. A cada notificação, a cada scroll interminável, eu estava alimentando um ciclo de distração que tornava difícil qualquer trabalho que exigisse concentração profunda. Comecei a questionar: o que realmente estou ganhando aqui? As respostas foram decepcionantes. A maior parte do conteúdo era ruído, discussões que me deixavam ansioso sem agregar nada útil, e uma sensação persistente de estar perdendo algo - o famoso FOMO (Fear of missing out) - que nunca se materializava em nada concreto.&lt;/p&gt;
&lt;p&gt;Mas minimalismo digital não é apenas sobre excluir redes sociais. É sobre repensar a infraestrutura digital da nossa vida. Comecei a olhar para as ferramentas que usava diariamente com um filtro mais crítico. Quantos aplicativos eu tinha no celular que nunca abria? Quantos serviços na nuvem mantinha por inércia? Quantas newsletters chegavam à minha caixa de entrada sem que eu jamais as lesse?&lt;/p&gt;
&lt;p&gt;A resposta para todas essas perguntas era: muitos. Comecei uma limpeza metodológica. No celular, deletei tudo que não havia usado nos últimos dois meses. Cancelei assinaturas de newsletters que não lia consistentemente. Fechei contas em serviços que acumulava há anos. O critério era simples: isso adiciona valor real à minha vida ou é apenas peso morto digital?&lt;/p&gt;
&lt;p&gt;Uma das mudanças mais impactantes foi em relação ao e-mail. Por anos, tratei a caixa de entrada como um lugar sagrado que precisava estar sempre em &amp;ldquo;inbox zero&amp;rdquo;. Era um estresse constante, uma corrida para processar mensagens que muitas vezes não exigiam resposta imediata. Mudei minha abordagem. Hoje, verifico e-mails em horários específicos. Não recebo notificações no celular. E descobri que o mundo não acabou. As pessoas entendem que responder pode levar algumas horas.&lt;/p&gt;
&lt;p&gt;O mais importante é entender que minimalismo digital não é sobre privação. Não é sobre rejeitar tecnologia ou fingir que vivemos em outra era. É sobre intencionalidade. É sobre escolher conscientemente quais ferramentas servem nossos objetivos e quais apenas nos servem como produtos. É sobre reconhecer que nossa atenção é um recurso finito e precioso, e que as empresas de tecnologia construíram impérios inteiros explorando nossa incapacidade de proteger esse recurso.&lt;/p&gt;
&lt;p&gt;Também aprendi que esse é um processo contínuo, não um destino final. Novos serviços surgem. Velhos hábitos tentam retornar. A tentação de &amp;ldquo;só dar uma olhada rápida&amp;rdquo; está sempre presente.&lt;/p&gt;
&lt;p&gt;Hoje, minha vida digital é significativamente mais simples do que era há alguns anos. Não estou em redes sociais, com exceção ao Mastodon e a este blog. E, paradoxalmente, sinto-me mais conectado com as coisas que realmente importam, como a minha família.&lt;/p&gt;
&lt;p&gt;Não evangelizo essa abordagem. Cada pessoa precisa encontrar seu próprio equilíbrio. Mas se você sente que a tecnologia está controlando você mais do que você controla ela, talvez valha a pena experimentar.&lt;/p&gt;
&lt;p&gt;O minimalismo digital é, por fim, sobre recuperar a autonomia sobre nossa própria atenção e, por extensão, sobre nossa vida. É reconhecer que nem toda inovação tecnológica representa progresso pessoal.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Minimalismo+Digital&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fminimalismo-digital%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/small-web-big-voice/</id><title>Small Web, Big Voice</title><link href="https://afranca.com.br/small-web-big-voice/" rel="alternate" type="text/html"/><published>2025-11-15T05:35:00Z</published><updated>2025-12-08T12:43:47Z</updated><category term="blogging"/><category term="technology"/><category term="openweb"/><summary type="text">Why to maintain a blog in 2025?
While the digital landscape continues to consolidate around many platforms, each promising reach and engagement and the holy grail of virality, some people still choose to write on their own little corner of the web. They update their domains, fiddle with their CSS, mess around with their static site generators, and publish posts that maybe no one will ever read, or maybe a hundred people will read, if they&amp;rsquo;re lucky. It&amp;rsquo;s not rational by modern metrics, and that&amp;rsquo;s precisely what makes it beautiful.</summary><content type="html">&lt;p&gt;Why to maintain a blog in 2025?&lt;/p&gt;
&lt;p&gt;While the digital landscape continues to consolidate around many platforms, each promising reach and engagement and the holy grail of virality, some people still choose to write on their own little corner of the web. They update their domains, fiddle with their CSS, mess around with their static site generators, and publish posts that maybe no one will ever read, or maybe a hundred people will read, if they&amp;rsquo;re lucky. It&amp;rsquo;s not rational by modern metrics, and that&amp;rsquo;s precisely what makes it beautiful.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been thinking about this lately while going through my blogroll (a practice of &lt;a href="https://afranca.com.br/curating-the-web/"&gt;curating links to sites you actually want to read&lt;/a&gt;), and I&amp;rsquo;d like to mention three blogs from that list. They&amp;rsquo;re not trying to reach big audiences or optimize for algorithms, but they&amp;rsquo;ve figured out something most of us forgot: our voice matters more when it&amp;rsquo;s genuinely ours.&lt;/p&gt;
&lt;p&gt;Kev Quirk writes at &lt;a href="https://kevquirk.com"&gt;kevquirk.com&lt;/a&gt; with the kind of straightforwardness that feels radical in an age of hot takes and engagement bait. His posts about technology, privacy, the open web - and his collection of watches - don&amp;rsquo;t try to manufacture urgency or controversy. He&amp;rsquo;s just someone who clearly thinks deeply about digital autonomy and shares those thoughts without pretense. That authenticity is rare. Most tech writing either tries too hard to be authoritative or bends over backward to seem relatable. Kev just writes like himself.&lt;/p&gt;
&lt;p&gt;Rachel Smith&amp;rsquo;s site, &lt;a href="https://rachsmith.com"&gt;rachsmith.com&lt;/a&gt;, captures something different but equally valuable. She writes about web development, creativity, and the messy reality of building things while also living a life. Her posts move between technical insights and personal observations with an ease that makes you realize how artificial the boundary between those things usually is. Rachel&amp;rsquo;s writing reminds you that being genuine about what you know and what you&amp;rsquo;re figuring out is actually more useful than performing omniscience.&lt;/p&gt;
&lt;p&gt;Then there&amp;rsquo;s Manuel Moreale at &lt;a href="https://manuelmoreale.com"&gt;manuelmoreale.com&lt;/a&gt;, whose project interviewing other independent bloggers has become an incredible map of the small web. He asks simple questions and lets people answer in their own voices, creating this collection of perspectives that feels like the opposite of social media&amp;rsquo;s tendency toward performance and positioning. Each interview is substantial, thoughtful, unhurried. There&amp;rsquo;s no attempt to extract viral moments or quotable snippets. It&amp;rsquo;s just people talking about why they write and what it means to them. In doing this, Manuel has created something that platform-based content rarely achieves: actual dialogue. Not debate, not dunking, not carefully curated personal branding, just humans sharing ideas.&lt;/p&gt;
&lt;p&gt;These three people/blogs share something beyond their commitment to independent publishing. They&amp;rsquo;ve each found a rhythm that works for them, a way of thinking in public that feels sustainable because it&amp;rsquo;s not performing sustainability. They&amp;rsquo;re not writing about work-life balance while burning out. They&amp;rsquo;re not preaching digital minimalism while chasing metrics. They&amp;rsquo;re just writing when they have something to say, in the way that feels natural to them, on platforms they control.&lt;/p&gt;
&lt;p&gt;Social media platforms have become hostile environments for genuine thought. Character limits and algorithmic feeds create perverse incentives toward provocation over substance. The entire structure pushes you toward constant performance, toward measuring your worth in likes and shares and follows&amp;hellip; It&amp;rsquo;s exhausting. Independent blogs offer the possibility of writing that isn&amp;rsquo;t designed to manipulate attention spans or trigger engagement metrics. Just thoughts, properly developed, shared with whoever finds them.&lt;/p&gt;
&lt;p&gt;Reading Kev, Rachel and Manuel reminds me why I maintain my own blog despite some rational arguments against it. Nobody&amp;rsquo;s getting rich from independent blogging. The reach is limited. The technology requires ongoing maintenance. But there&amp;rsquo;s value in having a space that&amp;rsquo;s genuinely yours, where you can write without wondering how an algorithm will interpret your words or whether you&amp;rsquo;re staying on-brand. There&amp;rsquo;s freedom in knowing your archive won&amp;rsquo;t disappear when a platform decides to pivot or shut down.&lt;/p&gt;
&lt;p&gt;The small web persists not because it&amp;rsquo;s winning any battle against platform dominance, but because some things are worth doing regardless of scale. These independent voices, scattered across their own domains, linked through blogrolls and RSS feeds and word of mouth, create a version of the internet that still feels human.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Small+Web%2C+Big+Voice&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fsmall-web-big-voice%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/when-technology-serves-not-controls/</id><title>When Technology Serves (Not Controls)</title><link href="https://afranca.com.br/when-technology-serves-not-controls/" rel="alternate" type="text/html"/><published>2025-11-13T23:15:00Z</published><updated>2025-12-08T12:44:16Z</updated><category term="blogging"/><category term="privacy"/><category term="social media"/><category term="technology"/><summary type="text">Have you ever asked yourself about the difference between technology that works for you and technology that quietly works against you? It&amp;rsquo;s not always obvious at first. A tool can seem helpful, even essential, until you realize you&amp;rsquo;ve handed over more control than you meant to. The line between servant and master is surprisingly thin in our digital lives.</summary><content type="html">&lt;p&gt;Have you ever asked yourself about the difference between technology that works for you and technology that quietly works against you? It&amp;rsquo;s not always obvious at first. A tool can seem helpful, even essential, until you realize you&amp;rsquo;ve handed over more control than you meant to. The line between servant and master is surprisingly thin in our digital lives.&lt;/p&gt;
&lt;p&gt;Take my phone, for instance. For years, I thought I was managing it just fine. I&amp;rsquo;d check notifications when they came in, respond to messages promptly, keep up with everything. I felt productive, connected, available. Then one day I caught myself reaching for it during a conversation with someone I actually cared about, and I realized the truth: I wasn&amp;rsquo;t managing my phone. It was managing me. Every buzz and banner was a tiny interruption, a small theft of attention that added up to something significant. I was living in reactive mode, responding to whatever demanded my focus rather than choosing where to direct it.&lt;/p&gt;
&lt;p&gt;The shift came when I started asking a simple question about every piece of technology I use: does this respect my agency, or does it assume I have none? Most social media platforms, for example, rarely respect agency. They&amp;rsquo;re designed to maximize engagement, which is a polite way of saying they&amp;rsquo;re designed to keep you scrolling even when you&amp;rsquo;d rather be doing something else. The infinite feed isn&amp;rsquo;t a feature for your benefit. It&amp;rsquo;s a feature that benefits from you. Long ago I deleted most social accounts and apps from my phone not because I&amp;rsquo;m anti-technology, but because I&amp;rsquo;m pro-me. Mastodon, for instance, I still use it occasionally on my computer, where the friction of opening a browser and typing a URL gives me just enough pause to ask myself if this is really what I want to be doing right now.&lt;/p&gt;
&lt;p&gt;Email is another interesting case. I spent years with notifications turned on, treating every incoming message like it deserved immediate attention. The problem wasn&amp;rsquo;t email itself, but the expectation it created that I should always be available. I turned off notifications a few years ago, and it felt radical at the time. Now it feels obvious. I check email when I choose to check email, not when someone else decides to send me something. The difference is subtle but profound. I went from being interrupted constantly to being in control of my own attention. Nothing terrible happened. The urgent messages turned out to be less urgent than they claimed. The world kept turning.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve become particular about the tools I invite into my life. I use a plain text editor for writing instead of something with fonts and formatting and internet connectivity, because I don&amp;rsquo;t want my writing environment trying to be helpful in ways I didn&amp;rsquo;t ask for. I use a password manager because remembering dozens of complex passwords is a job I&amp;rsquo;m happy to delegate to software. I use a GPS when I&amp;rsquo;m genuinely lost or need to look at traffic conditions, but I try to learn the route so I don&amp;rsquo;t need it next time. The pattern is consistent: I want technology that does what I tell it to do, not technology that tells me what to do.&lt;/p&gt;
&lt;p&gt;The sneakiest tech isn&amp;rsquo;t obviously controlling. It&amp;rsquo;s the stuff that presents itself as convenience while quietly shaping your behavior. Recommendation algorithms are like this. They seem helpful, suggesting things you might like based on what you&amp;rsquo;ve liked before. But they also trap you in a bubble of sameness, showing you more of what you already know and less of what might surprise you. I&amp;rsquo;ve started deliberately seeking out randomness, browsing physical bookstores where algorithms have no power, asking friends for recommendations instead of letting Netflix decide what I should watch next.&lt;/p&gt;
&lt;p&gt;Smart home devices are fascinating in this regard. I have none, though. That&amp;rsquo;s a level of ambient surveillance I&amp;rsquo;m not comfortable with, no matter how convenient it might be to ask a disembodied voice for the weather. The convenience isn&amp;rsquo;t worth the trade-off in privacy and agency.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s easy to drift into dependency without noticing. Technology is seductive. It promises to make life easier, and often it does, but there&amp;rsquo;s always a question of what you&amp;rsquo;re giving up in exchange. I don&amp;rsquo;t think the answer is to reject technology entirely. That&amp;rsquo;s not realistic or desirable. The answer is to be intentional about which tools you use and why. To remember that you&amp;rsquo;re in charge, not the software. To choose tools that enhance your capabilities without diminishing your autonomy. It&amp;rsquo;s a constant negotiation, and it requires paying attention to how technology makes you feel and behave over time, not just in the moment of initial convenience. When technology serves rather than controls, it fades into the background, becoming an extension of your intent rather than a distraction from it. That&amp;rsquo;s the kind of relationship with tech I&amp;rsquo;m trying to cultivate, one deliberate choice at a time.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+When+Technology+Serves+%28Not+Controls%29&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhen-technology-serves-not-controls%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/cop-30-um-vexame-global/</id><title>COP 30: Um Vexame Global</title><link href="https://afranca.com.br/cop-30-um-vexame-global/" rel="alternate" type="text/html"/><published>2025-11-12T19:33:00Z</published><updated>2025-12-08T12:44:45Z</updated><category term="blogging"/><category term="politics"/><category term="climate change"/><summary type="text">A COP 30 chegou a Belém carregando promessas grandiosas de sustentabilidade e compromisso climático, mas para por aí. Antes mesmo dos líderes mundiais discursarem sobre redução de emissões e proteção da Amazônia, a cidade paraense se transformara num palco de contradições tão gritantes que até o mais otimista dos ambientalistas teria dificuldade em ignorar - com exceção aos apoiadores do governo de turno.</summary><content type="html">&lt;p&gt;A COP 30 chegou a Belém carregando promessas grandiosas de sustentabilidade e compromisso climático, mas para por aí. Antes mesmo dos líderes mundiais discursarem sobre redução de emissões e proteção da Amazônia, a cidade paraense se transformara num palco de contradições tão gritantes que até o mais otimista dos ambientalistas teria dificuldade em ignorar - com exceção aos apoiadores do governo de turno.&lt;/p&gt;
&lt;p&gt;Comecemos pelo óbvio: a falta de infraestrutura. Belém, que já sofre com déficit de moradias de qualidade e saneamento básico, viu os preços do setor hoteleiro dispararem de forma absurda. Hotéis medíocres cobrando diárias equivalentes a estabelecimentos cinco estrelas em capitais europeias. O cidadão comum, aquele que realmente vive na cidade, foi praticamente expulso das opções de hospedagem enquanto observava uma especulação desenfreada que beneficiou poucos e prejudicou muitos. A Defensoria Pública do Pará chegou a receber denúncias de preços abusivos, com diárias que ultrapassavam facilmente dezenas de millhares de reais em hotéis que, em condições normais, não valeriam um décimo disso.&lt;/p&gt;
&lt;p&gt;Mas a cereja do bolo veio com a hospedagem presidencial. Enquanto o discurso oficial enfatizava a necessidade urgente de reduzir a pegada de carbono, Lula e a primeira dama Janja se instalaram num navio de luxo ancorado na baía de Guajará. Sim, um navio que consome, segundo estimativas técnicas, centenas de litros de combustível por hora apenas para manter seus sistemas funcionando. A embarcação, equipada com ar-condicionado, geradores potentes e toda sorte de confortos, representa exatamente o oposto do que se esperaria de uma cúpula climática. É como pregar vegetarianismo num churrasco de picanha.&lt;/p&gt;
&lt;p&gt;A ironia não para por aí. Reportagens da Folha de S.Paulo e do G1 revelaram uma série de irregularidades nas obras preparatórias para o evento. O Tribunal de Contas da União identificou indícios de superfaturamento em contratos de infraestrutura, com valores que não correspondiam aos praticados no mercado. Estamos falando de milhões de reais que simplesmente evaporaram em meio a licitações duvidosas e aditivos contratuais que faziam os custos inflarem como balão de festa junina.&lt;/p&gt;
&lt;p&gt;A ciência, essa que deveria ser a protagonista absoluta de uma conferência sobre clima, está relegada a segundo plano. Pesquisadores sérios, com décadas de estudo sobre a Amazônia, vêm sendo ofuscados por discursos políticos vazios e fotos para redes sociais. Dados concretos sobre desmatamento, emissões de metano e degradação de ecossistemas são tratados como meros acessórios decorativos numa peça de teatro ensaiada.&lt;/p&gt;
&lt;p&gt;O ceticismo aqui não é gratuito. A literatura científica aponta consistentemente para a necessidade de ações práticas e mensuráveis, não de eventos megalomaníacos que geram mais carbono do que soluções. Um estudo publicado na revista Nature Climate Change demonstra que grandes conferências internacionais frequentemente resultam em emissões significativas de gases de efeito estufa, considerando deslocamentos aéreos, infraestrutura temporária e consumo energético. A COP 30 não fuge dessa regra.&lt;/p&gt;
&lt;p&gt;O favelão de Belém, expressão que ganhou força nas redes sociais, sintetiza bem o sentimento de improvisação e descaso que marcou o evento. Infraestrutura precária montada às pressas, problemas de saneamento em áreas próximas aos locais oficiais, e uma população local que assistiu a tudo de longe, sem participação real nas decisões ou benefícios concretos. A promessa de legado urbano soa oca quando se observa que as obras emergenciais não seguiram projetos sustentáveis de longo prazo.&lt;/p&gt;
&lt;p&gt;Os escândalos de desvios, documentados pela imprensa investigativa, revelam um padrão preocupante. Empresas de fachada recebendo contratos milionários, subfaturamento de materiais, atrasos que resultaram em gastos adicionais. A Polícia Federal abriu inquéritos, mas sabemos como essas histórias costumam terminar no Brasil: muita investigação, pouca punição.&lt;/p&gt;
&lt;p&gt;No fim das contas, a COP 30 em Belém vem servindo mais como vitrine de hipocrisia institucionalizada do que como avanço real na agenda climática. Enquanto o planeta aquece e a Amazônia &amp;ldquo;arde&amp;rdquo;, continuamos presos num ciclo de eventos pomposos que custam fortunas e entregam migalhas. A ciência continua gritando seus alertas, mas parece que ninguém está realmente escutando, ocupados demais contando os lucros do superfaturamento ou posando para fotos oficiais.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+COP+30%3A+Um+Vexame+Global&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fcop-30-um-vexame-global%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/thoughts-on-webapps/</id><title>Thoughts on Webapps</title><link href="https://afranca.com.br/thoughts-on-webapps/" rel="alternate" type="text/html"/><published>2025-11-12T03:00:00Z</published><updated>2025-12-08T12:45:31Z</updated><category term="technology"/><category term="openweb"/><category term="metadata"/><category term="privacy"/><category term="security"/><summary type="text">I&amp;rsquo;ve been thinking about webapps lately, especially as I watch the endless cycle of software updates, permission requests, and the nagging feeling that every binary I download might be doing something I didn&amp;rsquo;t agree to in the background.</summary><content type="html">&lt;p&gt;I&amp;rsquo;ve been thinking about webapps lately, especially as I watch the endless cycle of software updates, permission requests, and the nagging feeling that every binary I download might be doing something I didn&amp;rsquo;t agree to in the background.&lt;/p&gt;
&lt;p&gt;The browser has become, almost by accident, one of the most sophisticated sandboxes we have. When you run a webapp, you&amp;rsquo;re essentially putting that application in a padded room where it can&amp;rsquo;t easily reach out and touch things it shouldn&amp;rsquo;t. It can&amp;rsquo;t rummage through your files without asking. It can&amp;rsquo;t silently phone home with your data unless you notice the network activity. The browser is paranoid on your behalf, and that&amp;rsquo;s actually good.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not unusual to install an application that seems innocent enough, then weeks later realize it was collecting usage statistics without authorization and sending them to servers no one has ever heard of. The privacy policy was buried somewhere one never reads, naturally. With a webapp, that same scenario plays out differently. The browser&amp;rsquo;s security model means that even if the developer wanted to be sneaky, they&amp;rsquo;re working within constraints. Cross-origin policies, content security rules, and limited access to system resources. These aren&amp;rsquo;t just technical specifications, they&amp;rsquo;re guardrails protecting us from both malicious intent and honest mistakes.&lt;/p&gt;
&lt;p&gt;The multiplatform aspect is almost a side effect, but it&amp;rsquo;s one that matters more than we sometimes acknowledge. I&amp;rsquo;ve watched developers spend months making their applications work across Windows, macOS, and Linux. Different build systems, different bugs, different user experiences. A webapp just works. Open a browser, and you&amp;rsquo;re in. It doesn&amp;rsquo;t matter if you&amp;rsquo;re on a Mac at home, a Linux machine at work, or borrowing a friend&amp;rsquo;s Windows laptop. The experience is consistent because the platform is the web itself.&lt;/p&gt;
&lt;p&gt;But the privacy angle is where things get really interesting. Traditional applications can be compromised in ways that are genuinely frightening. Supply chain attacks, malicious dependencies, trojan horses hiding in seemingly legitimate software aren&amp;rsquo;t theoretical concerns. They happen. When you download and run a binary, you&amp;rsquo;re trusting not just the developer, but their entire build process, their dependencies, their security practices. That&amp;rsquo;s a lot of trust to place in something you found on the internet.&lt;/p&gt;
&lt;p&gt;Webapps shift this dynamic. The code runs in your browser, isolated from your system. If something goes wrong, if there&amp;rsquo;s malicious code, the blast radius is smaller. Your browser is designed to contain exactly this kind of threat. It&amp;rsquo;s not perfect - nothing is, actually - but it&amp;rsquo;s a fundamentally different security model than installing native applications that run with full system privileges.&lt;/p&gt;
&lt;p&gt;I think about the apps I use daily. Many of them are webapps now, and I didn&amp;rsquo;t even consciously make that choice. They work great most of the time. They update themselves invisibly. They don&amp;rsquo;t clutter my application folder. They can&amp;rsquo;t install background processes that slow down my devices. When I close the browser tab, they&amp;rsquo;re gone, not lurking in memory or running scheduled tasks when I&amp;rsquo;m not looking.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s something philosophically appealing about this too. The web was built on openness, on the idea that you could view source and see what a page was doing. Modern webapps are more complex, sure, but that spirit remains. Developer tools let you peek under the hood. Network monitors show you exactly what data is being sent where. It&amp;rsquo;s transparency that native applications rarely offer.&lt;/p&gt;
&lt;p&gt;The digital security implications extend beyond just malware. Consider tracking and surveillance. A native application can monitor everything you do, every keystroke, every file you open, potentially without you ever knowing. Browsers, by design, make this harder. They ask for permissions. They show indicators when cameras or microphones are active. They give users control in ways that operating systems sometimes don&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not suggesting webapps are perfect or that we should abandon native applications entirely. There are legitimate use cases where you need direct hardware access or performance that only native code can provide. But for the vast majority of what we do like writing, communicating, organizing, or creating, webapps offer a compelling alternative that respects both our privacy and our security in ways we&amp;rsquo;ve perhaps taken for granted.&lt;/p&gt;
&lt;p&gt;The browser has evolved from a simple document viewer into a sophisticated application runtime, and that evolution has given us something valuable: a safer, more private, more universal way to run software. In a world where our devices know too much about us and applications often act in ways that benefit their creators more than their users, that matters more than we might think.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Thoughts+on+Webapps&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthoughts-on-webapps%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/curating-the-web/</id><title>Curating the Web</title><link href="https://afranca.com.br/curating-the-web/" rel="alternate" type="text/html"/><published>2025-11-11T11:15:00Z</published><updated>2025-12-08T12:46:18Z</updated><category term="blogging"/><category term="blogroll"/><category term="digital gardening"/><category term="indieweb"/><summary type="text">There&amp;rsquo;s something curiously nostalgic about maintaining a blogroll these days. It&amp;rsquo;s like tending a garden in a world where everyone consumes ultra-processed food delivered by algorithmic drones. While Twitter, Instagram, or TikTok feeds push content at you based on what you theoretically want to see, a blogroll is a deliberate statement about what you actually value. It&amp;rsquo;s slow, quiet, and deeply personal.</summary><content type="html">&lt;p&gt;There&amp;rsquo;s something curiously nostalgic about maintaining a blogroll these days. It&amp;rsquo;s like tending a garden in a world where everyone consumes ultra-processed food delivered by algorithmic drones. While Twitter, Instagram, or TikTok feeds push content at you based on what you theoretically want to see, a blogroll is a deliberate statement about what you actually value. It&amp;rsquo;s slow, quiet, and deeply personal.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve spent the last few months revisiting my own blogroll at afranca.com.br/blogroll, and the process has made me think about how the web has changed and how, paradoxically, some of its oldest features are coming back with renewed force. The blogroll, that humble list of links to other sites and blogs, seemed like a relic until recently. Now it returns as active resistance against the centralized, algorithmic web that was sold to us as progress.&lt;/p&gt;
&lt;p&gt;When I started working on my blogroll, I realized I was doing something more than organizing links. I was curating. Each link represents a conscious choice, a gesture of recognition to voices I genuinely want to amplify. There&amp;rsquo;s no algorithm deciding what deserves to be there, no engagement metrics determining the order. It&amp;rsquo;s pure human discretion, and it feels liberating in a way I didn&amp;rsquo;t know I was missing.&lt;/p&gt;
&lt;p&gt;The web of the 90s and early 2000s was built like this. You discovered new things by following the links people put on their sites. It was an organic network of peer-to-peer recommendations, where trust was built through consistency and quality. If someone had good taste in links, you came back. It was intentional discovery, not infinite scroll.&lt;/p&gt;
&lt;p&gt;Then came social media and promised to solve discovery at scale. Facebook, Twitter, Instagram all offered personalized feeds that would learn from your behavior. At first, it was magical. But gradually, the magic turned into a nightmare. The algorithms weren&amp;rsquo;t just learning what you liked, they were learning what kept you hooked. Engagement became the supreme metric, optimized not by quality but by visceral reaction. Anger works. Outrage works. Morbid curiosity works.&lt;/p&gt;
&lt;p&gt;The result is that today we spend hours consuming content that doesn&amp;rsquo;t necessarily enrich our lives, but keeps us glued to the screen. It&amp;rsquo;s a fundamentally exploitative relationship, where you are simultaneously consumer and product. Your data feeds the machine that feeds you content. It&amp;rsquo;s a closed loop, and the only way out is to disconnect.&lt;/p&gt;
&lt;p&gt;But disconnecting completely isn&amp;rsquo;t realistic. The question isn&amp;rsquo;t about abandoning the internet, but reconfiguring our relationship with it. And this is where the blogroll enters as a tool of resistance.&lt;/p&gt;
&lt;p&gt;Maintaining a blogroll is an act of digital gardening, that practice of cultivating your online space with the same attention you&amp;rsquo;d give a physical garden. It&amp;rsquo;s not about building something to impress visitors or optimize for SEO. It&amp;rsquo;s about creating an environment that reflects your values, your interests, your worldview. It&amp;rsquo;s slow, requires constant maintenance, and the results aren&amp;rsquo;t immediate. But there&amp;rsquo;s a deep satisfaction in this process.&lt;/p&gt;
&lt;p&gt;When I add a new blog to my blogroll, I&amp;rsquo;m making a statement. I&amp;rsquo;m saying this space deserves attention, that this person&amp;rsquo;s voice has value. There&amp;rsquo;s no intermediary in this transaction. It&amp;rsquo;s a direct connection between me and whoever visits my site, a recommendation without layers of algorithmic abstraction.&lt;/p&gt;
&lt;p&gt;The contrast with algorithmic feeds couldn&amp;rsquo;t be starker. Where the algorithm seeks to maximize screen time and engagement, the blogroll seeks quality and coherence. Where the algorithm is opaque and constantly changing, the blogroll is transparent and stable. Where the algorithm traps you in a bubble of similar content, the blogroll invites you to explore in multiple directions, following the genuine interests of real people.&lt;/p&gt;
&lt;p&gt;Of course, the blogroll doesn&amp;rsquo;t scale. It can&amp;rsquo;t compete with the amount of content an algorithmic feed delivers. But that&amp;rsquo;s precisely the point. The web doesn&amp;rsquo;t need to be only about scale and quantity. It can also be about care and intention. It can be about finding the few voices that truly resonate with you and giving them the attention they deserve.&lt;/p&gt;
&lt;p&gt;When I review my blogroll, sometimes I remove links. Blogs that stopped updating, projects that lost relevance, voices that changed direction. This pruning process is as important as adding new links. It&amp;rsquo;s an affirmation that this space is alive, that it reflects my current interests, not a time capsule of who I was five years ago.&lt;/p&gt;
&lt;p&gt;My blogroll will continue to evolve. The process never ends. But it&amp;rsquo;s precisely in this constant maintenance that the value lies. It&amp;rsquo;s an ongoing commitment to the idea that the web can be more than algorithmic feeds and engagement metrics, that it can be a space for genuine connection and intentional discovery. The blogroll is just one of those ideas, but it&amp;rsquo;s a good place to start.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Curating+the+Web&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fcurating-the-web%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/when-activism-excludes/</id><title>When Activism Excludes...</title><link href="https://afranca.com.br/when-activism-excludes/" rel="alternate" type="text/html"/><published>2025-11-07T14:53:00Z</published><updated>2025-12-08T12:47:17Z</updated><category term="blogging"/><category term="politics"/><summary type="text">In recent years, movements like &amp;ldquo;woke&amp;rdquo; culture, certain racialist groups, and parts of LGBT activism have gained significant influence in our cultural and political conversations. These movements started from real struggles against discrimination and violence - causes that genuinely mattered. But somewhere along the way, many of them shifted from trying to persuade people to trying to force compliance. If you disagree, you&amp;rsquo;re quickly labeled a racist, fascist, or transphobe. This all-or-nothing approach creates a new kind of exclusion that goes against the very values of openness and equality these movements claim to support.</summary><content type="html">&lt;p&gt;In recent years, movements like &amp;ldquo;woke&amp;rdquo; culture, certain racialist groups, and parts of LGBT activism have gained significant influence in our cultural and political conversations. These movements started from real struggles against discrimination and violence - causes that genuinely mattered. But somewhere along the way, many of them shifted from trying to persuade people to trying to force compliance. If you disagree, you&amp;rsquo;re quickly labeled a racist, fascist, or transphobe. This all-or-nothing approach creates a new kind of exclusion that goes against the very values of openness and equality these movements claim to support.&lt;/p&gt;
&lt;p&gt;One thing that bothers me about the these movements is how it uses &amp;ldquo;lived experience&amp;rdquo; or &amp;ldquo;place of speech&amp;rdquo; to shut down anyone who disagrees - especially if they&amp;rsquo;re not from a historically marginalized group. What started as a way to lift up voices that weren&amp;rsquo;t being heard has turned into a tool for silencing people. It reduces everyone to their race, gender, or sexual orientation, and suggests that white and straight people have no right to speak on certain topics. This comes dangerously close to reverse discrimination, where who you are matters more than what you&amp;rsquo;re actually saying.&lt;/p&gt;
&lt;p&gt;In some racialist circles, fighting racism has morphed into viewing everything through a racial lens. This leads to rhetoric that demonizes entire groups - whites, Europeans - and treats any attempt at neutrality as secretly supporting systemic racism. In certain academic and activist spaces, even talking about universal rights or legal equality gets dismissed as &amp;ldquo;oppressive&amp;rdquo; or &amp;ldquo;colonial.&amp;rdquo; This just deepens the divide and makes real conversation across racial lines nearly impossible. Fighting racism shouldn&amp;rsquo;t mean creating new forms of collective guilt or stirring up resentment between groups.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s also a growing expectation that goes beyond basic respect. It&amp;rsquo;s not enough to treat LGBT individuals with dignity - which we absolutely should. There&amp;rsquo;s pressure to adopt a whole worldview, use specific language, and accept certain theories about gender and identity without question. If you disagree with ideas like unlimited gender fluidity, or if you hold traditional or religious views on sexuality, you&amp;rsquo;re immediately called intolerant. This creates an atmosphere where people are afraid to voice honest disagreement, even when they still respect everyone&amp;rsquo;s dignity. Fighting intolerance by being intolerant of different views is deeply ironic.&lt;/p&gt;
&lt;p&gt;I want to be clear: criticizing these excesses doesn&amp;rsquo;t mean rejecting those people. The problem is when the pursuit of justice turns into moral authoritarianism and thought policing. Real resistance to intolerance has to include space for people who disagree. When we call everyone who thinks differently a &amp;ldquo;fascist,&amp;rdquo; we lose the ability to have meaningful conversations and just end up more polarized. In the name of inclusion, these movements often exclude. In the name of diversity, they demand conformity. And in the name of justice, they rush to judgment.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+When+Activism+Excludes...&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhen-activism-excludes%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/same-blog-new-domain/</id><title>Same Blog, New Domain</title><link href="https://afranca.com.br/same-blog-new-domain/" rel="alternate" type="text/html"/><published>2025-11-04T14:29:00Z</published><updated>2025-12-08T12:48:18Z</updated><category term="blogging"/><category term="announcements"/><summary type="text">It&amp;rsquo;s been a while since I&amp;rsquo;ve shared some behind-the-scenes updates here, and today I have an important one. After much thought and preparation, I&amp;rsquo;ve decided to move this website from abf.li to a new home at afranca.com.br</summary><content type="html">&lt;p&gt;It&amp;rsquo;s been a while since I&amp;rsquo;ve shared some behind-the-scenes updates here, and today I have an important one. After much thought and preparation, I&amp;rsquo;ve decided to move this website from abf.li to a new home at afranca.com.br&lt;/p&gt;
&lt;p&gt;This wasn&amp;rsquo;t a decision I made lightly. The old domain is shorter, super nice, and has been with me since back when everything here was smaller and simpler. Over time, though, things evolved. The audience grew, the content deepened, and the purpose of this space became clearer. I wanted a domain that better represented that growth and carried a bit more of my own identity, especially since most of what I do and write about is rooted in Brazil. Moving to afranca.com.br feels like a natural next step in that evolution.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve been visiting for a while, don&amp;rsquo;t worry because nothing about the content or the spirit of the site is changing. All the old links will continue to work, and I&amp;rsquo;ve set up redirects from the old domain to the new one. Those redirects will stay in place for about 90 days, giving everyone plenty of time to update bookmarks, RSS feeds, or any saved pages you might have.&lt;/p&gt;
&lt;p&gt;I know changes like this can sometimes be annoying, but I wanted to make the transition as smooth as possible. After those 90 days, the redirects from abf.li will be turned off, so please make sure to start using afranca.com.br going forward.&lt;/p&gt;
&lt;p&gt;If you notice anything broken, weird, or missing during the transition, please don&amp;rsquo;t hesitate to reach out. Your feedback has always helped me improve things around here.&lt;/p&gt;
&lt;p&gt;Thank you for sticking around through all the changes. It means a lot.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Same+Blog%2C+New+Domain&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fsame-blog-new-domain%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/por-que-precisamos-de-mais-operacoes-contra-o-terror-das-faccoes/</id><title>Por Que Precisamos de Mais Operações Contra o Terror das Facções?</title><link href="https://afranca.com.br/por-que-precisamos-de-mais-operacoes-contra-o-terror-das-faccoes/" rel="alternate" type="text/html"/><published>2025-10-31T17:20:00Z</published><updated>2025-12-08T14:45:10Z</updated><category term="blogging"/><category term="politics"/><category term="security"/><summary type="text">Vivemos tempos em que as palavras se tornaram mais importantes do que os fatos, tempos em que a narrativa escolhida importa mais do que a realidade vivida por milhões de brasileiros que acordam e dormem ao som de tiros, que calculam rotas para evitar áreas de confronto, que enterram parentes mortos por balas que não escolhem entre inocentes e culpados. A megaoperação realizada no Complexo do Alemão e da Penha, no Rio de Janeiro, com mais de cem mortes, deveria ser analisada a partir de uma pergunta simples e direta: queremos ou não retomar o território nacional das mãos de organizações criminosas armadas que operam como verdadeiros exércitos paralelos?</summary><content type="html">&lt;p&gt;Vivemos tempos em que as palavras se tornaram mais importantes do que os fatos, tempos em que a narrativa escolhida importa mais do que a realidade vivida por milhões de brasileiros que acordam e dormem ao som de tiros, que calculam rotas para evitar áreas de confronto, que enterram parentes mortos por balas que não escolhem entre inocentes e culpados. A megaoperação realizada no Complexo do Alemão e da Penha, no Rio de Janeiro, com mais de cem mortes, deveria ser analisada a partir de uma pergunta simples e direta: queremos ou não retomar o território nacional das mãos de organizações criminosas armadas que operam como verdadeiros exércitos paralelos?&lt;/p&gt;
&lt;p&gt;Confesso que sinto uma satisfação genuína ao ver o Estado do Rio de Janeiro, ao contrário de outros estados da federação, finalmente reagir e demonstrar que não aceitará indefinidamente a existência de territórios sob controle de grupos terroristas disfarçados de traficantes, que impõem sua própria lei, que cobram impostos, que julgam e executam, que compram armamento pesado capaz de derrubar helicópteros e blindados. A operação que tirou a vida de quatro policiais e mais de cem criminosos não é um episódio isolado de violência que surgiu do nada. É uma batalha necessária numa guerra que já existe há décadas, mas que grande parte da sociedade brasileira prefere fingir que não vê.&lt;/p&gt;
&lt;p&gt;Sou completamente a favor da morte de faccionados que entram em confronto armado com a polícia. Não há ambiguidade nisso. Quando um criminoso decide pegar um fuzil e atirar contra agentes do Estado que cumprem mandados judiciais, ele selou seu próprio destino. Esses indivíduos fizeram uma escolha consciente de integrar estruturas militarizadas que aterrorizam populações inteiras e se colocar em confronto direto com as forças de segurança. As consequências são claras: a resposta letal do Estado em legítima defesa.&lt;/p&gt;
&lt;p&gt;O que me revolta profundamente é a velocidade com que certos setores se mobilizam para criticar a operação policial, transformando criminosos armados em vítimas de um Estado opressor, enquanto permanecem em silêncio ensurdecedor quando facções promovem tiroteios que matam inocentes. Dois dias antes da megaoperação, setenta criminosos do Comando Vermelho tentaram invadir o Morro da Quitanda, dominado por uma facção rival. Nesse confronto, Marli Macedo dos Santos, uma senhora de sessenta anos, foi morta dentro da própria casa quando bandidos invadiram sua residência para fugir de traficantes adversários, que metralharam o local e lançaram granadas. Um jovem de trinta anos também perdeu a vida. Onde estavam os defensores dos direitos humanos? Onde estava a indignação das redes sociais?&lt;/p&gt;
&lt;p&gt;É fundamental entender o nível de armamento que estamos enfrentando. Não são pequenos traficantes com revólveres enferrujados. São organizações criminosas que possuem fuzis de guerra, granadas, lançadores de explosivos e até drones modificados para lançar bombas. Na operação do Alemão e da Penha, foram apreendidos quase cem fuzis. Armas de guerra que deveriam estar em campos de batalha internacionais, não nas mãos de criminosos brasileiros. Durante a operação, drones-bomba foram usados contra os policiais, uma tática terrorista que coloca esses grupos no mesmo patamar de organizações terroristas internacionais.&lt;/p&gt;
&lt;p&gt;Estamos lidando com exércitos paralelos, com estruturas militares sofisticadas que controlam logística de armamentos, rotas de suprimento, hierarquias de comando e territórios geográficos definidos. O Comando Vermelho e outras facções não são gangues de rua, são organizações paramilitares que desafiam abertamente o monopólio legítimo da força do Estado. Quando faccionados armados com esse arsenal decidem resistir à polícia, a única resposta possível e proporcional é o combate armado até a neutralização completa da ameaça.&lt;/p&gt;
&lt;p&gt;A hipocrisia dos críticos é evidente. Quando facções se matam entre si e levam inocentes juntos, quando impõem toques de recolher, quando executam desafetos em praça pública, há um silêncio cúmplice. Mas quando o Estado age, surgem de todos os lados as vozes da indignação seletiva, aquelas que só enxergam vítimas quando podem culpar o Estado e inocentar o crime organizado. Essa não é defesa dos direitos humanos, é conivência com o terror.&lt;/p&gt;
&lt;p&gt;Precisamos de mais operações como essa. Dezenas, centenas de operações até que cada centímetro do território nacional volte a estar sob controle legítimo do Estado brasileiro. Não podemos aceitar a normalização da existência de áreas onde a polícia não entra, onde a justiça não alcança, onde cidadãos brasileiros vivem sob a tirania de grupos armados. Isso não é aceitável numa democracia, e quem defende a continuidade dessa situação está defendendo a continuidade do terror contra a população mais vulnerável do país.&lt;/p&gt;
&lt;p&gt;É preciso falar abertamente sobre algo que incomoda muita gente: a cultura de favela precisa acabar. Não estou falando em expulsar moradores pobres, mas em acabar com a romantização, com a normalização, com a aceitação resignada de que existam territórios brasileiros onde o Estado não tem soberania. A favela não pode ser tratada como um espaço à parte, com regras próprias, onde vale outra lei que não a da República. Não pode haver &amp;ldquo;cultura própria&amp;rdquo; quando essa cultura inclui aceitar o domínio de facções armadas, toques de recolher impostos por bandidos, &amp;ldquo;tribunais do crime&amp;rdquo; que julgam e executam moradores. Isso não é cultura, é barbárie disfarçada de autenticidade popular.&lt;/p&gt;
&lt;p&gt;O romantismo em torno da favela como espaço de resistência serve apenas para perpetuar o abandono dessas áreas pelo Estado e sua entrega ao crime organizado. Quando intelectuais e artistas celebram a &amp;ldquo;cultura de favela&amp;rdquo; sem fazer a distinção necessária entre as manifestações culturais legítimas dos moradores e o domínio territorial das facções, eles legitimam a existência de territórios fora do controle estatal. A favela precisa deixar de ser favela para se tornar simplesmente parte da cidade, com endereços formais, moradia decente ao invés de barracos, serviços públicos regulares, presença permanente do Estado, e onde a única lei que vale é a lei brasileira.&lt;/p&gt;
&lt;p&gt;Não há nada de autêntico ou valioso no fato de uma área urbana estar fora do controle do Estado. Não há nada de bom em crianças crescerem vendo fuzis nas esquinas, em famílias tendo que pagar taxas extorsivas para criminosos, em moradores não poderem chamar a polícia quando sofrem violência. A verdadeira dignidade para essas populações virá quando puderem viver sob a proteção do Estado de Direito, com segurança garantida pela polícia, justiça acessível e oportunidades criadas por políticas públicas efetivas.&lt;/p&gt;
&lt;p&gt;É preciso questionar com firmeza aqueles que fazem comparações grotescas entre a ação policial contra grupos terroristas e os crimes de colarinho branco. A comparação é absolutamente descabida. Não há ninguém defendendo que corruptos não devam ser investigados e punidos. Mas estabelecer uma falsa equivalência entre alguém que desvia dinheiro público e alguém que empunha um fuzil, dispara contra policiais e controla territórios pela força das armas é desonestidade intelectual da pior espécie.&lt;/p&gt;
&lt;p&gt;O crime de colarinho branco causa danos imensos à sociedade, desviando recursos que poderiam ir para saúde, educação, infraestrutura. Mas ele não impede uma senhora de sessenta anos de dormir tranquila em sua casa. Ele não faz crianças se jogarem no chão quando ouvem tiros. Ele não cria territórios onde o Estado não pode entrar. Ele não mata policiais em confronto armado com fuzis e drones-bomba. A violência armada do crime organizado é uma ameaça direta, imediata e cotidiana à vida de milhões de brasileiros.&lt;/p&gt;
&lt;p&gt;Além disso, há uma diferença operacional fundamental: prender um corrupto exige investigação longa, coleta de provas documentais, quebra de sigilo, análise de transações financeiras. É um trabalho de inteligência que leva meses ou anos. Combater grupos armados que dominam territórios exige operação policial direta, confronto quando há resistência armada, ocupação de terreno. São naturezas completamente diferentes de ação estatal. Exigir que a polícia deixe de combater o crime organizado armado até que todos os corruptos estejam presos é exigir que o Estado se omita indefinidamente, porque sempre haverá corrupção a ser investigada.&lt;/p&gt;
&lt;p&gt;A realidade que precisa ser dita é que essas facções são grupos terroristas. Sim, a desigualdade e a falta de oportunidades alimentam o recrutamento. Sim, é preciso política social, educação, trabalho. Mas um grupo que possui arsenal de guerra capaz de enfrentar as forças de segurança do Estado, que usa drones para lançar bombas, que mantém estruturas de comando hierarquizadas, que controla território, que cobra tributos pela força, que julga e executa, esse grupo ultrapassou há muito qualquer fronteira que o separava do terrorismo. E terrorismo se combate com força, com inteligência, com operações coordenadas e, sim, com a morte daqueles que resistem armados.&lt;/p&gt;
&lt;p&gt;Os quatro policiais mortos na operação são heróis que deram suas vidas defendendo o Estado de Direito. E os mais de cem criminosos mortos? Eram pessoas armadas, em confronto, que escolheram resistir ao Estado com fuzis, granadas e explosivos. A polícia não executou inocentes dormindo, não invadiu casas atirando indiscriminadamente. Como provam as imagens, houve resistência armada intensa.&lt;/p&gt;
&lt;p&gt;Cada faccionado abatido em combate representa fuzis que não dispararão mais contra inocentes, drones-bomba que não explodirão mais sobre comunidades, uma peça a menos na engrenagem do terror que domina territórios inteiros. A morte desses criminosos em confronto armado é resultado direto e justo de suas próprias escolhas. Não há vítimas entre criminosos armados mortos em combate, há apenas o resultado previsível e necessário do enfrentamento entre quem defende a lei e quem a desafia com armas de guerra.&lt;/p&gt;
&lt;p&gt;O caminho é longo e não se resume a operações policiais. É preciso inteligência para desarticular as estruturas financeiras das facções, investigar lavagem de dinheiro, interromper o fornecimento de armas e munição. É preciso presença permanente do Estado após as operações, não apenas militar mas também social, com serviços públicos, oportunidades, retomada definitiva do território. É preciso justiça rápida e eficaz para que criminosos presos não voltem logo às ruas. Tudo isso é verdadeiro. Mas nada disso exclui a necessidade de confrontar diretamente, com força policial letal quando necessário, grupos armados que dominam territórios e desafiam o Estado.&lt;/p&gt;
&lt;p&gt;A guerra existe, querendo nós ou não. As facções já declararam guerra ao Estado e à sociedade há muito tempo, estabeleceram domínios territoriais e criaram suas próprias leis. Fingir que não há guerra, criticar quem enfrenta essa guerra, criar equivalências morais falsas entre quem ataca e quem defende, tudo isso é cumplicidade disfarçada de pacifismo. A paz verdadeira só virá quando nenhum cidadão brasileiro precisar pedir permissão a bandidos para circular, quando nenhuma criança precisar crescer ouvindo tiros e vendo fuzis nas esquinas. Até lá, precisamos de mais operações como essa, executadas com profissionalismo, determinação e força letal proporcional à ameaça enfrentada, até vermos o país livre dos grupos terroristas que operam dentro de nossas fronteiras. E quando faccionados armados escolhem resistir, que sejam abatidos sem hesitação, porque essa é a única linguagem que esses grupos entendem e a única resposta que merecem.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Por+Que+Precisamos+de+Mais+Opera%C3%A7%C3%B5es+Contra+o+Terror+das+Fac%C3%A7%C3%B5es%3F&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fpor-que-precisamos-de-mais-operacoes-contra-o-terror-das-faccoes%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/a-presidents-moral-collapse/</id><title>A President's Moral Collapse</title><link href="https://afranca.com.br/a-presidents-moral-collapse/" rel="alternate" type="text/html"/><published>2025-10-30T16:13:00Z</published><updated>2025-12-08T14:48:55Z</updated><category term="blogging"/><category term="politics"/><summary type="text">I&amp;rsquo;ve reached a point where I can no longer stomach the kind of intellectual dishonesty that passes for political discourse in Brazil. When President Lula stood in Jakarta and declared that drug traffickers are &amp;ldquo;victims of users&amp;rdquo;, he didn&amp;rsquo;t just make a political gaffe or stumble over his words. He revealed something far more sinister: a complete moral collapse at the highest levels of Brazilian leadership, a willingness to excuse the inexcusable, and a contempt for the millions of Brazilians who live in terror of the criminals his words defend.</summary><content type="html">&lt;p&gt;I&amp;rsquo;ve reached a point where I can no longer stomach the kind of intellectual dishonesty that passes for political discourse in Brazil. When President Lula stood in Jakarta and declared that drug traffickers are &amp;ldquo;victims of users&amp;rdquo;, he didn&amp;rsquo;t just make a political gaffe or stumble over his words. He revealed something far more sinister: a complete moral collapse at the highest levels of Brazilian leadership, a willingness to excuse the inexcusable, and a contempt for the millions of Brazilians who live in terror of the criminals his words defend.&lt;/p&gt;
&lt;p&gt;Let me be brutally clear about what we&amp;rsquo;re dealing with here. Drug traffickers are not misunderstood entrepreneurs. They&amp;rsquo;re not victims of circumstance forced into regrettable choices. They are predators who have chosen violence, chosen to destroy communities, chosen to profit from human misery. When Lula calls these monsters &amp;ldquo;victims,&amp;rdquo; he spits in the face of every mother who has buried a child caught in crossfire, every shopkeeper forced to pay extortion, every resident of a favela who can&amp;rsquo;t let their kids play outside because armed thugs control the streets.&lt;/p&gt;
&lt;p&gt;The sheer audacity of this statement takes my breath away. We&amp;rsquo;re talking about organizations that recruit children as young as ten to work as lookouts and soldiers. We&amp;rsquo;re talking about criminals who torture and execute rivals, sometimes livestreaming the murders as warnings. We&amp;rsquo;re talking about traffickers who have turned entire neighborhoods into war zones where ambulances won&amp;rsquo;t enter and police only dare to go in armored vehicles. And Lula wants us to feel sorry for them? Because drug users exist? This isn&amp;rsquo;t compassion, but moral insanity.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m tired of this endless coddling of criminals that has infected Brazilian politics like a disease. There&amp;rsquo;s this perverse intellectual fashion among the leftist elite where every criminal is really just a victim of society, where personal responsibility doesn&amp;rsquo;t exist, where the only real villain is &amp;ldquo;the system&amp;rdquo;. It&amp;rsquo;s comfortable thinking for people who live in gated communities with private security, who never have to worry about stray bullets or drug-dealing operations on their street corners. For the rest of us living in reality, this philosophical nonsense is a luxury we can&amp;rsquo;t afford.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s talk about who the real victims are, shall we? The real victims are the thousands of Brazilians murdered every year in drug-related violence. The real victims are the children who grow up without fathers because traffickers killed them over territory disputes. The real victims are the honest workers who can&amp;rsquo;t build businesses in their own neighborhoods because criminals demand protection money or simply take over commercial properties. The real victims are the young people who have their futures destroyed because traffickers deliberately got them addicted to poison for profit.&lt;/p&gt;
&lt;p&gt;But according to our president, the guys orchestrating all this carnage are the real sufferers here. The poor cartel bosses, just trying to make a living, victimized by the terrible scourge of people wanting to buy drugs. Do you hear how absolutely deranged this sounds? This is the kind of backwards moral reasoning that would make George Orwell weep. War is peace. Freedom is slavery. Murderers are victims.&lt;/p&gt;
&lt;p&gt;And before anyone tries the usual &amp;ldquo;he misspoke&amp;rdquo; defense, let me stop you right there. Lula tried to walk it back within hours, calling it a &amp;ldquo;poorly placed phrase.&amp;rdquo; You know what that tells me? It tells me he said exactly what he believes, and only reversed himself when the political blowback hit. Politicians don&amp;rsquo;t &amp;ldquo;poorly place phrases&amp;rdquo; about fundamental questions of right and wrong. Either you understand that traffickers bear responsibility for their actions, or you don&amp;rsquo;t. There&amp;rsquo;s no middle ground here, no room for nuance.&lt;/p&gt;
&lt;p&gt;The context makes it even worse. Lula was criticizing Trump&amp;rsquo;s anti-narcotics operations, arguing that the U.S. should focus on reducing consumption instead of fighting traffickers. Fine, you want to debate whether military operations are the right approach? Have that debate. But you don&amp;rsquo;t need to transform organized criminals into martyrs to make an argument about policy. The fact that Lula apparently cannot separate these two things shows how deeply corrupted his thinking has become.&lt;/p&gt;
&lt;p&gt;This is what decades of leftist apologetics for crime have produced: a president who genuinely seems to believe that the real problem isn&amp;rsquo;t the guy pulling the trigger, but the social forces that put the gun in his hand. It&amp;rsquo;s the same tired playbook that has failed everywhere it&amp;rsquo;s been tried. Don&amp;rsquo;t hold criminals accountable; instead, try to address &amp;ldquo;root causes&amp;rdquo;. Don&amp;rsquo;t lock up violent offenders; give them therapy and job training. Don&amp;rsquo;t worry about victims&amp;rsquo; rights; focus on the humanity of perpetrators.&lt;/p&gt;
&lt;p&gt;You know what happens with this approach? Exactly what we&amp;rsquo;re seeing in Brazil right now. Crime rates that would horrify a war zone. Cities where certain areas are effectively under criminal control, not government authority. A homicide rate that has made Brazil one of the most violent countries on Earth. And through it all, our enlightened political class lectures us about the importance of understanding and compassion for the people literally murdering us.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m done with this. I&amp;rsquo;m done pretending that everyone deserves infinite second chances, that we need to understand the criminal&amp;rsquo;s perspective, that harsh punishment is somehow the real injustice. The real injustice is what&amp;rsquo;s being done to ordinary Brazilians who just want to live without fear, who want their kids to make it home from school safely, who want to run a business without being extorted or killed.&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;lock them up or take them out&amp;rdquo; approach that movements like MBL advocate for isn&amp;rsquo;t extremism - it&amp;rsquo;s common sense that has been pathologized by academics and politicians who don&amp;rsquo;t live with the consequences of their soft-on-crime policies. When someone joins a drug trafficking organization, when they arm themselves, when they participate in violence and intimidation, they have made a choice to become enemies of civilized society. At that point, society has not just the right but the obligation to remove them from circulation, permanently if necessary.&lt;/p&gt;
&lt;p&gt;Does this sound harsh? Good. It should. Because the alternative is what we have now: a country where criminals operate with impunity, where they know the worst they&amp;rsquo;ll face is a few years in prison that probably won&amp;rsquo;t even be served, where they can continue running operations from inside jail cells. The current system treats violent crime as a minor inconvenience rather than the existential threat it actually represents.&lt;/p&gt;
&lt;p&gt;And let&amp;rsquo;s address the elephant in the room: the people making excuses for criminals are never the ones suffering from crime. Lula lives surrounded by armed security. His family doesn&amp;rsquo;t worry about traffickers controlling their neighborhood. When he wants to go somewhere, he doesn&amp;rsquo;t have to calculate routes to avoid gang territories. The politicians, academics, and activists who endlessly defend criminals all share this same insulation from consequences.&lt;/p&gt;
&lt;p&gt;Meanwhile, the working-class Brazilians who actually live in affected communities, who see the violence firsthand, who lose loved ones to this scourge - they overwhelmingly support tough-on-crime policies. They&amp;rsquo;re the ones begging for more police presence, for harsher sentences, for politicians who will actually protect them instead of making excuses for their tormentors. But their voices get ignored because they don&amp;rsquo;t fit the narrative, because acknowledging their suffering would require admitting that the soft-on-crime approach has been a catastrophic failure.&lt;/p&gt;
&lt;p&gt;The drug trade isn&amp;rsquo;t some abstract economic phenomenon driven by impersonal market forces. It&amp;rsquo;s a choice made by individuals who decide that their profit matters more than other people&amp;rsquo;s lives. The young man who joins a trafficking organization knows what he&amp;rsquo;s signing up for. He knows he&amp;rsquo;ll be terrorizing his own community. He knows he&amp;rsquo;ll likely kill or be killed. He makes that choice anyway because the money is good and the risk of real consequences is low.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s what needs to change. The risk-reward calculation has to shift dramatically. When joining a criminal organization means virtually certain death or life imprisonment with no possibility of release, suddenly the recruits dry up. When society demonstrates through action, not just words, that it values innocent lives infinitely more than criminal lives, the crime rate drops. We&amp;rsquo;ve seen this work in countries that take crime seriously. We&amp;rsquo;ve seen it fail in countries that treat criminals like wayward children who just need a stern talking-to.&lt;/p&gt;
&lt;p&gt;Lula&amp;rsquo;s statement reveals the bankruptcy not just of his personal moral compass, but of an entire political philosophy that has dominated Brazilian governance for too long. This philosophy says that society is always to blame, never the individual. That criminals are products of their environment, not moral agents making choices. That the real violence is poverty and inequality, not the actual murders happening in our streets.&lt;/p&gt;
&lt;p&gt;I reject this completely. Yes, poverty and lack of opportunity are problems that need addressing. But you know what? Plenty of poor people don&amp;rsquo;t become drug traffickers. Millions of Brazilians face hardship without deciding to profit from others&amp;rsquo; destruction. Poverty doesn&amp;rsquo;t put a gun in someone&amp;rsquo;s hand - they pick it up themselves. And when they do, when they choose to become predators, they forfeit their claim to society&amp;rsquo;s compassion.&lt;/p&gt;
&lt;p&gt;The proper response to organized crime isn&amp;rsquo;t understanding and rehabilitation programs. It&amp;rsquo;s overwhelming force. It&amp;rsquo;s making the cost of criminal activity so high that rational people won&amp;rsquo;t choose it. It&amp;rsquo;s protecting innocent citizens even if that means putting criminals in the ground. This isn&amp;rsquo;t bloodthirstiness - it&amp;rsquo;s basic mathematics. Either criminals fear the state, or citizens fear the criminals. There&amp;rsquo;s no third option where everyone holds hands and sings songs.&lt;/p&gt;
&lt;p&gt;Every time a politician like Lula makes excuses for criminals, every time the justice system gives a light sentence to a violent offender, every time we prioritize the &amp;ldquo;rights&amp;rdquo; of predators over the safety of their prey, we&amp;rsquo;re making a choice about what kind of society we want. We&amp;rsquo;re saying that we value criminal lives more than law-abiding lives. We&amp;rsquo;re telling violent thugs that we don&amp;rsquo;t really have the stomach to stop them.&lt;/p&gt;
&lt;p&gt;And they believe us. Why wouldn&amp;rsquo;t they? They watch as career criminals rack up dozens of arrests and convictions without facing serious consequences. They see politicians bend over backwards to excuse and explain away their behavior. They understand, even if our political class doesn&amp;rsquo;t, that there&amp;rsquo;s no real deterrent operating here.&lt;/p&gt;
&lt;p&gt;This has to end. The endless tolerance, the infinite second chances, the compassion for the guilty that somehow never extends to the innocent - it all has to stop. We need leaders who understand that the state&amp;rsquo;s first duty is protecting citizens from violence, not protecting violent criminals from consequences. We need a justice system that treats violent crime as the ultimate betrayal of the social contract, deserving of ultimate punishment.&lt;/p&gt;
&lt;p&gt;What we don&amp;rsquo;t need is a president who calls traffickers victims while the bodies pile up in Brazilian streets. What we don&amp;rsquo;t need is more hand-wringing about the socioeconomic factors that supposedly forced criminals into their lifestyle choices. What we don&amp;rsquo;t need is another politician who thinks the real problem is that we&amp;rsquo;re not understanding enough of the people actively destroying our country.&lt;/p&gt;
&lt;p&gt;Lula&amp;rsquo;s statement wasn&amp;rsquo;t just offensive - it was a declaration of whose side he&amp;rsquo;s on. And it&amp;rsquo;s not the side of the millions of Brazilians living in fear. It&amp;rsquo;s not the side of the victims of violence, past and present. It&amp;rsquo;s the side of the perpetrators, the predators, the destroyers of communities and lives.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m tired of being told that my desire to see criminals face serious consequences makes me the extremist. I&amp;rsquo;m tired of watching politicians prioritize the welfare of murderers over the safety of citizens. I&amp;rsquo;m tired of a system that treats self-defense and harsh justice as greater evils than the crimes they respond to.&lt;/p&gt;
&lt;p&gt;The truth is simple, even if it makes comfortable elites uncomfortable: some people choose to be evil, and when they do, society must choose between protecting them or protecting their victims. There&amp;rsquo;s no world where we can do both. Every resource spent on rehabilitating unrepentant criminals is a resource not spent on protecting potential victims. Every light sentence for a violent offender is an invitation for more violence.&lt;/p&gt;
&lt;p&gt;Lula had a choice in that moment in Jakarta. He could have condemned traffickers while arguing for smarter policy approaches. He could have maintained moral clarity while disagreeing with Trump&amp;rsquo;s methods. Instead, he chose to defend the indefensible, to excuse the inexcusable, to call victims those who victimize.&lt;/p&gt;
&lt;p&gt;That choice tells us everything we need to know about his priorities and his values. It tells us that when push comes to shove, his sympathies lie with criminals rather than their victims. It tells us that he sees drug lords not as enemies to be destroyed but as unfortunate souls to be pitied.&lt;/p&gt;
&lt;p&gt;And that, more than any single policy failure, is why his leadership on this issue is not just inadequate but actively harmful. You cannot fight an enemy you secretly sympathize with. You cannot win a war you don&amp;rsquo;t believe should be fought. And you cannot protect citizens if you&amp;rsquo;re more worried about the wellbeing of the people preying on them.&lt;/p&gt;
&lt;p&gt;Brazil needs leaders who understand that civilization requires the capacity for righteous violence against those who would destroy it. We need leaders who lose sleep over victims, not perpetrators. We need leaders who understand that some problems can&amp;rsquo;t be solved with dialogue and understanding, but only with overwhelming force and the will to use it.&lt;/p&gt;
&lt;p&gt;What we have instead is a president who thinks drug traffickers are victims.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+A+President%27s+Moral+Collapse&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fa-presidents-moral-collapse%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/ive-migrated-to-writefreely/</id><title>I've Migrated to WriteFreely</title><link href="https://afranca.com.br/ive-migrated-to-writefreely/" rel="alternate" type="text/html"/><published>2025-10-24T18:02:00Z</published><updated>2025-12-08T14:49:40Z</updated><category term="blogging"/><summary type="text">I would like to announce that this blog has migrated from Hugo to WriteFreely! This change brings a more streamlined writing and reading experience with less distraction while maintaining all the content.</summary><content type="html">&lt;p&gt;I would like to announce that this blog has migrated from Hugo to WriteFreely! This change brings a more streamlined writing and reading experience with less distraction while maintaining all the content.&lt;/p&gt;
&lt;h2 id="whats-changed"&gt;What&amp;rsquo;s Changed&lt;/h2&gt;
&lt;p&gt;The blog is now powered by WriteFreely, a minimalist, federated blogging platform. The new setup offers a cleaner reading experience and out-of-the-box ActivityPub integration, so people can follow this blog to get my updates directly in their social stream.&lt;/p&gt;
&lt;h2 id="redirects"&gt;Redirects&lt;/h2&gt;
&lt;p&gt;I have not set up redirects for old links, except for the RSS feed.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re subscribed via RSS, your feed reader should automatically follow the redirect to the new feed URL.&lt;/p&gt;
&lt;h2 id="what-to-expect"&gt;What to Expect&lt;/h2&gt;
&lt;p&gt;Over the next few days, RSS subscribers may notice some older posts appearing in their feed readers as the new feed populates. This is normal behavior as feed readers sync with the new feed format. These aren&amp;rsquo;t new posts, but the system getting acquainted with the new setup.&lt;/p&gt;
&lt;h2 id="questions"&gt;Questions?&lt;/h2&gt;
&lt;p&gt;If you experience any broken links or issues with the migration, please let me know. Thanks for reading!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+I%27ve+Migrated+to+WriteFreely&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Five-migrated-to-writefreely%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/when-words-fail-the-right-must-rise/</id><title>When Words Fail, The Right Must Rise</title><link href="https://afranca.com.br/when-words-fail-the-right-must-rise/" rel="alternate" type="text/html"/><published>2025-09-15T15:16:00Z</published><updated>2025-12-08T14:50:23Z</updated><category term="blogging"/><category term="politics"/><summary type="text">The past few days have delivered shocks that leave anyone who still believes in decency and basic human dignity with a sense of outrage, sorrow, and urgency. When I think about the murder of Iryna Zarutska, a young Ukrainian refugee who came to the United States hoping for safety and a future, only to be brutally stabbed to death on a train. What makes this even more infuriating and heartbreaking is that her killer was free despite multiple arrests and convictions, free under a system that often treats ideology and policy over responsibility and public safety, that had let someone clearly dangerous wander. And then about the assassination of Charlie Kirk while he was speaking publicly on campus.</summary><content type="html">&lt;p&gt;The past few days have delivered shocks that leave anyone who still believes in decency and basic human dignity with a sense of outrage, sorrow, and urgency. When I think about the murder of Iryna Zarutska, a young Ukrainian refugee who came to the United States hoping for safety and a future, only to be brutally stabbed to death on a train. What makes this even more infuriating and heartbreaking is that her killer was free despite multiple arrests and convictions, free under a system that often treats ideology and policy over responsibility and public safety, that had let someone clearly dangerous wander. And then about the assassination of Charlie Kirk while he was speaking publicly on campus.&lt;/p&gt;
&lt;p&gt;I see not just two tragedies but two clear signs of where our society is heading. These are not isolated crimes that can be brushed aside as bad luck. They are symptoms of a climate that has been deliberately cultivated, where dissenting voices are demonized, where opponents are painted as subhuman, where mobs operate under the conviction that disagreement is not to be debated but to be destroyed. And what chills me most is not only that these deaths happened, but that in our current political environment we all knew, on some level, that something like this was inevitable.&lt;/p&gt;
&lt;p&gt;What has become painfully obvious is that one side of the political spectrum believes in the power of words, arguments, and debate, while the other side increasingly resorts to intimidation, violence, and the politics of fear. Conservatives, even when heated in their rhetoric, fundamentally cling to persuasion, to winning hearts and minds, to defending principles in public. The radicalized left, in contrast, too often shows that when words fail, they turn to silencing, to censorship, to cancel culture, to name calling, and at the extremes, to physical violence. If it were merely about disagreements over policy, this would be bearable; societies can function with diverse opinions. But when the disagreement is framed as &amp;ldquo;good&amp;rdquo; vs &amp;ldquo;evil&amp;rdquo;, when dissenters are automatically branded &amp;ldquo;fascists&amp;rdquo; or &amp;ldquo;Nazis&amp;rdquo;, when public figures are not opponents but existential threats, then the line between heated rhetoric and bloodshed becomes frighteningly thin. The deaths of Iryna and Charlie show us just how thin that line has become.&lt;/p&gt;
&lt;p&gt;The right cannot afford to ignore what these events mean, nor can we afford to react in the wrong way. If we sink into vengeance, we will lose our moral authority. If we retreat into silence, we will be erased. The only path forward is one of conviction, clarity, and resilience. We must insist on our place in the public square, on our right to argue, to dissent, to propose, to reject, to persuade, without fear that our lives or livelihoods will be taken from us. That means understanding exactly what forces are at play in this cultural battle and how we must meet them.&lt;/p&gt;
&lt;p&gt;One of the most corrosive forces in our time is the casual dehumanization of political opponents. As I mentioned before, it has become common for people on the left to label anyone who disagrees with them as &amp;ldquo;a fascist&amp;rdquo;, &amp;ldquo;a Nazi&amp;rdquo;, or some other variation of evil incarnate. These labels are not chosen by accident. They are not mere insults. They are designed to strip away the humanity of those who hold conservative views, to make them into monsters who can be eliminated rather than individuals who must be debated. And once someone is dehumanized in the public imagination, violence against them becomes easier to justify. You can already see the logic: if your opponent is a Nazi, then stopping them &amp;ldquo;by any means necessary&amp;rdquo; sounds righteous, because Nazism is evil. This is how language prepares the ground for murder. And it is why the assassination of someone like Charlie Kirk, regardless of whether the perpetrator had direct political motives or acted in some deranged frenzy, cannot be separated from the cultural environment that constantly portrays conservative thinkers as existential threats.&lt;/p&gt;
&lt;p&gt;But it doesn’t stop with rhetoric. It seeps into institutions that shape the minds of the next generation. Schools and universities have become breeding grounds for ideological conformity, where the ideology of gender theory and intersectional politics is not just offered as one perspective among many but enforced as the only acceptable worldview. Students learn early on that to question these dogmas is not merely to be wrong, but to be morally defective, hateful, or dangerous. Professors who challenge the consensus risk their careers. Parents who ask for transparency are vilified. In such an environment, young people are not being taught to think critically, but to recite slogans. And when you teach entire generations that opposing voices are not simply mistaken but inherently harmful, you lay the foundation for silencing them by whatever means are available. What happened to Iryna and Charlie is not disconnected from this cultural indoctrination; it is the poisonous fruit of it.&lt;/p&gt;
&lt;p&gt;The same dynamic plays out in movements that began with noble intentions but were captured by radicalism. Black Lives Matter, at its core, raised awareness about real issues of injustice and police misconduct. But as the movement grew, it was hijacked by voices that demanded not reform but revolution, not nuance but condemnation of entire groups of people. Police officers were vilified wholesale, white people were told their very existence was a form of privilege that made them complicit in oppression, dissenters were shouted down as racists. Protests turned to riots, property was destroyed, cities burned. And rather than hold these excesses accountable, too many leaders excused them as &amp;ldquo;understandable anger&amp;rdquo;. What message does that send, other than that violence in pursuit of the &amp;ldquo;right&amp;rdquo; cause is permissible? Once that precedent is set, it is no surprise that others pick up on it and carry it further.&lt;/p&gt;
&lt;p&gt;At the fringes of the left, the radical ideologies of communism and anti-Western resentment openly preach that the existing order is not just flawed but irredeemable. For these groups, law, family, tradition, religion, and even the basic structures of democracy are seen as oppressive. They long not for reform but for dismantling. And when you embrace dismantling, you inevitably flirt with destruction. To them, conservatives are not simply political rivals but obstacles to their utopia. And obstacles, in revolutionary logic, must be removed. Once again, we see how ideology fuels justification for violence.&lt;/p&gt;
&lt;p&gt;It is in this toxic mix, constant labeling of opponents as fascists, ideological indoctrination in schools, radicalized movements that sanctify violence, and fringe groups that dream of dismantling everything, that tragedies like the murders of Iryna and Charlie become possible. Their deaths are not random. They are part of the story of a society in which the culture of the left has normalized hostility toward conservatives and anyone who does not conform to its dogmas. And yet, in facing this reality, the right must be smarter, steadier, and stronger than ever before.&lt;/p&gt;
&lt;p&gt;The first principle must be an absolute, unwavering rejection of political violence in all its forms. If we justify violence when it serves our side, we destroy the very ground we stand on. The legitimacy of our cause depends on the consistency of our moral compass. We cannot condemn the stabbing of Iryna or the shooting of Charlie while secretly applauding attacks on those we dislike. That double standard is what corrodes the left today, and we cannot afford to replicate it. If we stand for law, order, and liberty, we must stand for them always, even when it is inconvenient.&lt;/p&gt;
&lt;p&gt;But rejection is not enough. We must also seize the mantle of moral clarity. Conservatives cannot shy away from speaking uncomfortable truths, nor can they allow themselves to be bullied into silence. Leaders on the right must condemn hatred wherever it arises, but they must also expose the hypocrisy of a culture that excuses left-wing violence while magnifying every conservative misstep. They must refuse to play by the rules of a debate that presumes conservatives are guilty until proven innocent. And they must insist on debating ideas rather than trading insults.&lt;/p&gt;
&lt;p&gt;A crucial part of this battle is the defense of free speech. Free speech is not just an abstract right; it is the foundation of democratic society. Without it, all other freedoms crumble. Yet today we see speech suppressed under the banners of &amp;ldquo;safety&amp;rdquo; or &amp;ldquo;anti-hate&amp;rdquo;. Universities disinvite speakers who might offend. Tech platforms ban or shadow-ban voices that challenge progressive orthodoxy. Public employees whisper their opinions in fear of losing their jobs. This cannot stand. Conservatives must fight for the principle that in a free society, offensive speech is still protected speech, and the answer to bad ideas is better ideas, not censorship. At the same time, conservatives must model responsibility, showing that free speech does not mean reckless speech or calls to violence, but the courage to speak the truth boldly.&lt;/p&gt;
&lt;p&gt;If we are serious about saving our society from further collapse, we must also focus on strengthening the institutions that hold it together. That means supporting police who protect communities, insisting on justice systems that punish criminals rather than coddle them, and ensuring public spaces are safe for ordinary citizens like me and you. It also means confronting the mental health crisis that often underlies violent behavior.&lt;/p&gt;
&lt;p&gt;Nowhere is the battle more urgent than in education. Conservatives must push back against the hijacking of classrooms by ideologues who see schools not as places of learning but as platforms for indoctrination. We need people that will teach history honestly, science rigorously, and philosophy broadly. Students should be exposed to multiple perspectives, trained to evaluate evidence, and encouraged to think critically, not programmed to recite slogans. Parents must have a voice in what their children are taught, and academic freedom must extend to professors who dissent from progressive dogmas. If the left owns the minds of the young, then the right has already lost the future. This is not about banning discussion of difficult topics; it is about ensuring that discussion is truly open, balanced, and free from coercion.&lt;/p&gt;
&lt;p&gt;Equally dangerous is the obsession with identity politics, which reduces every issue to race, gender, or sexuality. When you divide people endlessly into oppressors and oppressed, when you insist that one’s skin color or gender identity is more important than one’s character or actions, you destroy the possibility of unity. The right must resist this by emphasizing universal values: dignity, liberty, equality under the law, and the idea that merit and effort matter more than group identity. We can acknowledge real injustices without reducing all of life to an eternal battle of identities. That kind of reductionism only breeds resentment and, eventually, violence.&lt;/p&gt;
&lt;p&gt;To win this fight, conservatives must also learn to tell better stories. Too often we argue with statistics and logic, while the left appeals to emotion and narrative. But the truth is that stories move people. We should be telling the stories of victims like Iryna, whose life was cut short by violence, or of people silenced on campus, or of families destroyed by riots. These stories put a human face on abstract principles and remind people what is really at stake. At the same time, we must show hope, not just outrage. People respond not only to warnings about danger but to visions of a better future. We must paint a picture of communities where people are safe, families are strong, education is fair, and freedom is real.&lt;/p&gt;
&lt;p&gt;None of this will be easy, because the right itself is not monolithic. Some will be tempted to mirror the tactics of the left, to fight fire with fire. Some will advocate retreat, convinced that the system is too far gone. Both paths are dangerous. Fighting fire with fire makes us what we despise. Retreat leaves the field to radicals. The only viable path is one of active, disciplined engagement, building communities, running for office, voting, showing up at school board meetings, and refusing to be intimidated. Civic engagement is the weapon that cannot be taken away from us if we choose to wield it.&lt;/p&gt;
&lt;p&gt;In the end, the question is not just about the deaths of Iryna Zarutska and Charlie Kirk, though their deaths should be remembered with grief and anger. The question is what kind of society we want to live in. Do we want a society where disagreement is met with violence, where speech is censored, where ideology trumps truth, and where identities matter more than humanity? Or do we want a society where differences are debated vigorously but peacefully, where laws protect the vulnerable, where education liberates rather than indoctrinates, and where dignity is preserved even amid disagreement? The choice should be obvious, yet it requires courage to act on it.&lt;/p&gt;
&lt;p&gt;The right has no option but to rise to this challenge. Not by retreating into silence, not by indulging in vengeance, but by standing firm for liberty, truth, and community. We must show the country and the world that we are not afraid, that we will not be silenced, that we will not accept the label of &amp;ldquo;fascist&amp;rdquo; from those who use it to excuse their own extremism. We will defend life, defend speech, defend families, defend communities, and defend civilization itself. Let these tragedies be not only moments of mourning but also turning points of awakening. Let them be the fire that steels our resolve. Let us honor the memory of Charlie Kirk not by echoing the hatred that killed him but by living out the courage they represent: the courage to speak, to stand, and to fight for the future of our civilization with unshakable conviction.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+When+Words+Fail%2C+The+Right+Must+Rise&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhen-words-fail-the-right-must-rise%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/back-to-the-gym-my-fitness-comeback/</id><title>Back to the Gym: My Fitness Comeback</title><link href="https://afranca.com.br/back-to-the-gym-my-fitness-comeback/" rel="alternate" type="text/html"/><published>2025-06-09T18:15:00Z</published><updated>2025-12-08T14:50:57Z</updated><category term="blogging"/><category term="wellness"/><summary type="text">After 18 years away from the gym, I finally decided to return. It wasn’t an easy decision, but it became inevitable as I faced the consequences of years of a sedentary lifestyle. My body was heavier, my energy levels were low, and simple daily activities started to feel like strenuous tasks.</summary><content type="html">&lt;p&gt;After 18 years away from the gym, I finally decided to return. It wasn’t an easy decision, but it became inevitable as I faced the consequences of years of a sedentary lifestyle. My body was heavier, my energy levels were low, and simple daily activities started to feel like strenuous tasks.&lt;/p&gt;
&lt;p&gt;The first day back was intimidating. Stepping into a somewhat familiar but at the same time foreign environment, surrounded by individuals lifting weights and pushing their limits, brought back memories of my younger, fitter self. This time, however, my goals were not just about aesthetics but reclaiming my health, strength, and vitality.&lt;/p&gt;
&lt;p&gt;Over the years, especially after living abroad, my weight gradually increased. Life&amp;rsquo;s demands, coupled with poor eating habits and a lack of physical activity, led me to a point where I could no longer ignore the effects. It wasn’t just about appearance; I felt the toll on my physical and mental well-being. Climbing a few flights of stairs left me breathless, and getting a good night&amp;rsquo;s sleep became a challenge. I knew that continuing on this path would only aggravate the problem.&lt;/p&gt;
&lt;p&gt;Returning to the gym became my form of &amp;ldquo;rebellion&amp;rdquo; against the unhealthy lifestyle I had embraced. The first few weeks were brutal. My body resisted the change, and my muscles ached in protest. But I&amp;rsquo;ve been showing up consistently since then. Consistency became my mantra, and gradually, the scale started to reflect my efforts.&lt;/p&gt;
&lt;p&gt;One of the most rewarding aspects of my return to the gym has been the noticeable increase in strength and overall disposition. Tasks that once felt burdensome became easier, like being able to lift heavier weights around the house or playing with my kids without feeling exhausted. I found myself waking up with more energy and approaching my day with a sense of vitality I hadn’t felt in years.&lt;/p&gt;
&lt;p&gt;Beyond the physical benefits, exercising became a stress reliever, providing a mental reset after long days. My mood improved (people around me noticed), and feelings of fatigue and lethargy diminished.&lt;/p&gt;
&lt;p&gt;In recent years, I have observed a concerning cultural shift towards the romanticization of excess weight. I don&amp;rsquo;t fully agree, but I understand that for some people, body positivity helps foster self-love and combating harmful beauty standards. However, there is a fine line between accepting oneself and ignoring genuine health risks, or even pressuring people to normalize it. Some in favor of this movement argue that you can be healthy at any size. While it is true that some individuals with excess weight may present normal blood pressure, cholesterol, and glucose levels, this alone &lt;strong&gt;does not&lt;/strong&gt; neutralize the long-term risks associated with obesity.&lt;/p&gt;
&lt;p&gt;Excess weight is a known risk factor for numerous health conditions, including heart disease, type 2 diabetes, and joint problems. Normal lab results today do not guarantee future health. By promoting the idea that obesity is entirely benign, we risk encouraging complacency and discouraging individuals from making lifestyle changes that could significantly improve their quality of life.&lt;/p&gt;
&lt;p&gt;Another aspect that has shocked me is the widespread use of anabolic steroids. In my early gym days, performance-enhancing drugs were taboo and reserved for elite bodybuilders like Arnold Schwarzenegger or Ronnie Coleman. Today, it is disturbingly common to see casual gym-goers turning to steroids in pursuit of the &amp;lsquo;perfect&amp;rsquo; aesthetic body.&lt;/p&gt;
&lt;p&gt;Social media exacerbates this trend where influencers advertise drugs with a simple swipe-up link, without revealing the sacrifices and health risks involved. Many people prioritize aesthetics over well-being, often ignoring the serious consequences of steroid use, such as hormonal imbalances, cardiovascular issues, and psychological effects.&lt;/p&gt;
&lt;p&gt;What concerns me most is how normalized this behavior has become. In these few months of going to the gym, I have witnessed how conversations about cycles, stacks, and post-cycle therapy are as common as discussions about soccer. Younger folks, in particular, are vulnerable to this influence. They see steroid use as a shortcut to their dream body, unaware of the lifelong consequences they might face.&lt;/p&gt;
&lt;p&gt;Well, my return to the gym after 18 years has been nothing short of transformative. It has been a journey of resilience and growth. Battling overweight and regaining my strength has been teaching me the value of consistency and patience. I remain committed to promoting a balanced, sustainable approach to health and well-being. True fitness is not about quick fixes or superficial ideals, but fostering a lifestyle that enhances both physical and mental health.&lt;/p&gt;
&lt;p&gt;For anyone considering their own return to the gym, know that the journey is worth it. The road may be challenging, but the rewards are worth it.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Back+to+the+Gym%3A+My+Fitness+Comeback&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fback-to-the-gym-my-fitness-comeback%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/update-thoughts-on-sveltia-cms/</id><title>[Update] Thoughts on Sveltia-CMS</title><link href="https://afranca.com.br/update-thoughts-on-sveltia-cms/" rel="alternate" type="text/html"/><published>2025-05-17T08:14:00Z</published><updated>2025-12-09T01:29:33Z</updated><category term="technology"/><category term="opensource"/><category term="cms"/><category term="static site generator"/><category term="hugo"/><summary type="text">This is a quick update on Sveltia CMS.</summary><content type="html">&lt;p&gt;This is a quick update on Sveltia CMS.&lt;/p&gt;
&lt;p&gt;I recently shared my &lt;a href="https://afranca.com.br/thoughts-on-sveltia-cms/"&gt;thoughts on it&lt;/a&gt;, and a few days later, the dev team released &lt;a href="https://github.com/sveltia/sveltia-cms/releases/tag/v0.70.0"&gt;version 0.70.0&lt;/a&gt;, which now officially supports mobile devices! 📱&lt;/p&gt;
&lt;p&gt;This update has made my life easier. I can review and update content right from my phone, whether I’m commuting, traveling, or just away from my desk. Super convenient and a big win for flexibility.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+%5BUpdate%5D+Thoughts+on+Sveltia-CMS&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fupdate-thoughts-on-sveltia-cms%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/thoughts-on-fosstodon-moderation-controversy/</id><title>Thoughts on Fosstodon Moderation Controversy</title><link href="https://afranca.com.br/thoughts-on-fosstodon-moderation-controversy/" rel="alternate" type="text/html"/><published>2025-04-30T09:45:00Z</published><updated>2025-12-08T14:51:55Z</updated><category term="blogging"/><category term="fediverse"/><category term="social media"/><summary type="text">In recent days, Fosstodon (a Mastodon instance) has become an example of how even well-intentioned communities can go sideways when communication breaks down and everyone starts shouting past each other. I&amp;rsquo;ve been following the drama with a mix of frustration and disappointment.</summary><content type="html">&lt;p&gt;In recent days, Fosstodon (a Mastodon instance) has become an example of how even well-intentioned communities can go sideways when communication breaks down and everyone starts shouting past each other. I&amp;rsquo;ve been following the drama with a mix of frustration and disappointment.&lt;/p&gt;
&lt;p&gt;At the center of the discussion was a moderator known as &lt;em&gt;carrotcypher&lt;/em&gt;, whose conduct sparked concern among users who reportedly described them as demonstrating hostility toward marginalized people in other public spaces. Instead of addressing these concerns transparently and with care, much of the Fosstodon community&amp;rsquo;s reaction turned toward extremism, labeling the entire moderation team, including co-founders Mike Stone and Kev Quirk, as &amp;ldquo;fascists&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This is not only inaccurate; it’s counterproductive. Let&amp;rsquo;s be honest: that word has meaning. It is not just a catch-all for &amp;ldquo;people you disagree with.&amp;rdquo; Throwing it around so carelessly cheapens real critiques, poisons the atmosphere for everyone involved, and makes it nearly impossible to have good-faith dialogue.&lt;/p&gt;
&lt;p&gt;Were moderation missteps made on Fosstodon? Apparently not. Is the moderator perceived to act in ways that contradict the community’s stated values? Maybe&amp;hellip; But it’s vital for the community to remain grounded. Turning complex, human situations into black-and-white narratives of tyranny vs. justice does little to help resolve real issues. Instead, it fans the flames of paranoia and drives away the people trying to keep the platform functioning.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://kevquirk.com/blog/my-thoughts-on-the-fosstodon-drama"&gt;Kev Quirk wrote that he is stepping down&lt;/a&gt;, citing burnout and an exhaustion with the constant stream of drama. In his blog post, he expressed a genuine desire to &amp;ldquo;step away from the entire Fedi, or just move to another instance&amp;rdquo;. Meanwhile, Mike Stone has tried to emphasize that &lt;a href="https://mikestone.me/2025-04-28-do-what-you-love"&gt;moderation actions are discussed as a team and not dictated by any single individual&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Despite these clarifications, the discourse on Fosstodon has become increasingly hostile. The energy that once went into sharing projects, helping newcomers, and supporting free software is now diverted into moderation arguments and ideological policing.&lt;/p&gt;
&lt;p&gt;It’s entirely valid to demand accountability from admins and moderators. It’s also good to point out failures in leadership. But equating an alleged mismanagement or not-as-desired moderation decisions with fascism is inaccurate and corrosive. It shuts down dialogue, simplifies complex issues, and ultimately poisons the well for everyone who still wants the community to survive.&lt;/p&gt;
&lt;p&gt;If this instance wants to be more than just another broken node in the Fediverse, it’s time for real reflection on all sides. A community can’t function without mutual respect, even when people disagree.&lt;/p&gt;
&lt;p&gt;Fosstodon isn’t being crushed by fascists. It’s not being saved by revolutionaries either. It’s just burning out. And it didn’t have to end up this way. Whether you stay on it or not, maybe ask yourself what kind of community you&amp;rsquo;re helping to build.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Thoughts+on+Fosstodon+Moderation+Controversy&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthoughts-on-fosstodon-moderation-controversy%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/social-media-made-me-stupid-and-how-i-fixed-it/</id><title>Social Media Made Me Stupid (and How I Fixed It)</title><link href="https://afranca.com.br/social-media-made-me-stupid-and-how-i-fixed-it/" rel="alternate" type="text/html"/><published>2025-04-24T09:20:00Z</published><updated>2025-12-08T14:52:39Z</updated><category term="blogging"/><category term="social media"/><category term="bigtech"/><category term="wellness"/><summary type="text">Over the past years, social media has completely reshaped how most people communicate, learn, and interact with the world around us. Platforms like Instagram, X (formerly Twitter), Facebook, TikTok, or even the corporate oriented LinkedIn have woven themselves into the fabric of everyday life, offering endless content and constant connectivity. On the surface, they seem like miraculous tools for staying informed and connected. But over time, what I’ve come to see is that these platforms supposedly designed to keep us engaged and informed often do the opposite. They make us intellectually lazier, more vulnerable to manipulation, and less inclined to engage in deep, thoughtful conversations - not to mention the implications for our digital security and privacy. Since then, figuring out how to reverse it has become something personal for me.</summary><content type="html">&lt;p&gt;Over the past years, social media has completely reshaped how most people communicate, learn, and interact with the world around us. Platforms like Instagram, X (formerly Twitter), Facebook, TikTok, or even the corporate oriented LinkedIn have woven themselves into the fabric of everyday life, offering endless content and constant connectivity. On the surface, they seem like miraculous tools for staying informed and connected. But over time, what I’ve come to see is that these platforms supposedly designed to keep us engaged and informed often do the opposite. They make us intellectually lazier, more vulnerable to manipulation, and less inclined to engage in deep, thoughtful conversations - not to mention the implications for our digital security and privacy. Since then, figuring out how to reverse it has become something personal for me.&lt;/p&gt;
&lt;p&gt;The more I used social media, the more I realized how much of what I saw wasn’t organic or random, but chosen for me by algorithms. These complex systems were meant to analyze our behavior such as what we click on, what we ignore, how long we linger on a post, and then serve us more of the same (along with a bunch of ads). It usually feels helpful at first, like our feed can understand us, but over time, we begin to notice something more troubling. For me, I was being shown only the kinds of content I agreed with, that I found entertaining or emotionally connected. Without even noticing, I’d scroll through my feed and feel validated, but not challenged. The more I thought about it, the more I realized how much this was shrinking my ability to think critically and see other perspectives.&lt;/p&gt;
&lt;p&gt;These platforms are designed to be addictive. I remember waking up in the morning and instinctively reaching for my phone, scrolling through notifications, hoping for messages or new content. All of that for a tiny jolt of pleasure, like I was winning some kind of game. What I didn’t realize was that this was all by design. These platforms use principles from behavioral psychology to create loops that keep us coming back. I found myself checking my phone dozens of times a day without even thinking. My attention span shrank. I struggled to sit with a book or focus on a deep conversation without wanting to check in on what I was “missing” online. It was exhausting.&lt;/p&gt;
&lt;p&gt;I thought I was just casually scrolling, but I was actually part of a much larger system of commercialized attention. These platforms aren’t free out of goodwill - they’re businesses, and what they’re really selling is &lt;em&gt;us&lt;/em&gt;: our time, our focus, our personal data. The more I engaged, the more they could track, package, and sell me to advertisers. And to keep me engaged, they had every reason to prioritize the most provocative, emotionally charged content they could find. I started to notice how much of what I was seeing was designed to trigger me.&lt;/p&gt;
&lt;p&gt;I also started to notice a growing sense of intellectual laziness in myself and others. With so much information constantly available, why bother digging deeper? I caught myself reading or watching headlines and assuming I understood the whole story. My friends would form strong opinions based on short clips or tweets, and I did it too. We were just exchanging hot takes. The space for complexity and nuance seemed to be shrinking by the day. It made me question how well any of us were really understanding a bit of the world we live in.&lt;/p&gt;
&lt;p&gt;Maybe the most damaging effect, though, was the way social media divides people. I watched many people become more entrenched in their beliefs, more hostile to those who disagreed, and friendships fray over political issues.&lt;/p&gt;
&lt;p&gt;Still, I don’t believe all is lost. I’ve been trying to take back control of how I use social media, and it’s made a difference. The first step was becoming aware, recognizing that what I saw wasn&amp;rsquo;t neutral or random. I quit big techs social platforms a couple of years ago, started this blog, and joined Mastodon. I&amp;rsquo;m way more open to different viewpoints, following people I disagreed with just to challenge my assumptions. I also began limiting my screen time, setting boundaries around how often I checked my phone. Sometimes I’d do digital detox weekends where I wouldn’t go online at all, and those were some of the most refreshing days. I also needed to be an example for the kids in the house.&lt;/p&gt;
&lt;p&gt;It was hard at first as my brain felt out of shape, but it got easier over time, and I feel sharper and more grounded. I made a point of questioning my assumptions and fact-checking what I read. I diversified my news sources, following outlets with different political leanings so I wasn’t stuck in a single narrative - and believe me, this is challenging. I also started practicing digital minimalism, being more intentional about what platforms I use, and why.&lt;/p&gt;
&lt;p&gt;It’s clear to me now that social media’s impact on our minds and our society is big, but it’s not irreversible. With awareness and intentional effort, we can reclaim our capacity for critical thought and meaningful connection. It’s not about rejecting technology, but making sure we’re the ones in control of it, not the other way around.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Social+Media+Made+Me+Stupid+%28and+How+I+Fixed+It%29&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fsocial-media-made-me-stupid-and-how-i-fixed-it%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/why-i-dont-like-streaming-music-services/</id><title>Why I Don't Like Streaming Music Services</title><link href="https://afranca.com.br/why-i-dont-like-streaming-music-services/" rel="alternate" type="text/html"/><published>2025-04-04T09:24:00Z</published><updated>2025-12-08T14:53:15Z</updated><category term="blogging"/><category term="music"/><category term="streaming"/><summary type="text">In the &amp;ldquo;modern world&amp;rdquo;, streaming services have become the dominant method of music consumption. Platforms like Spotify, Apple Music, and others offer millions of tracks at the tip of our fingers, promising convenience and endless music. On the surface, this innovation appears to be a blessing for music lovers. However, the more I tried to engage with these platforms, the more I found myself disappointed with the experience they offer. My disappointments are based on several factors: the algorithm-driven playlists that strip away the joy of discovering full albums, the financial exploitation of artists, the manipulation behind chart rankings, and the loss of genuine connection with the music itself. The way music is consumed today feels impersonal and transactional, rather than an experience that truly resonates with listeners and respects the artists who create it.</summary><content type="html">&lt;p&gt;In the &amp;ldquo;modern world&amp;rdquo;, streaming services have become the dominant method of music consumption. Platforms like Spotify, Apple Music, and others offer millions of tracks at the tip of our fingers, promising convenience and endless music. On the surface, this innovation appears to be a blessing for music lovers. However, the more I tried to engage with these platforms, the more I found myself disappointed with the experience they offer. My disappointments are based on several factors: the algorithm-driven playlists that strip away the joy of discovering full albums, the financial exploitation of artists, the manipulation behind chart rankings, and the loss of genuine connection with the music itself. The way music is consumed today feels impersonal and transactional, rather than an experience that truly resonates with listeners and respects the artists who create it.&lt;/p&gt;
&lt;p&gt;One of my biggest issues with streaming music services is how they have fundamentally changed the way people engage with music. Before the rise of these platforms, discovering music was a personal, intentional act. You would borrow from a friend or purchase an album, sit down, and listen to it from beginning to end, immersing yourself in the story the artist intended to tell. Albums were cohesive works of art, almost always curated to provide a narrative or emotional journey. I felt like each song had its place and meaning within the larger context of the album. The physicality of buying a record or a CD also added to the experience such as admiring the album artwork.&lt;/p&gt;
&lt;p&gt;Streaming services, however, have prioritized playlists and algorithmic recommendations over albums. The music is no longer consumed as a whole, but instead, it is fragmented into bite-sized pieces. Algorithms that, like in social media, are designed to keep listeners on the platform for as long as possible, often favoring catchy, easily digestible tracks over more profound, experimental, or complex works. This shift means that listeners are far less likely to experience albums in their entirety. Instead, they hear the same trending songs repeatedly. The algorithm dictates what is &amp;ldquo;recommended,&amp;rdquo; pushing music that fits a particular mold rather than encouraging listeners to explore outside their comfort zone.&lt;/p&gt;
&lt;p&gt;The convenience of curated playlists has also led to a passive listening culture - the same applies to video streaming platforms. Instead of seeking out new music or diving deep into an artist’s discography, people are content to let the algorithm do the work for them. Music, in my view, should be an immersive experience, something that engages us fully, not something that fades into the background as we go about our daily routines.&lt;/p&gt;
&lt;p&gt;Beyond the loss of artistic engagement, streaming services are notorious for their inadequate compensation of artists. The vast majority of musicians earn a pittance from streams.&lt;br&gt;
&lt;a href="https://www.indiemusicacademy.com/spotify-royalties-calculator"&gt;According to reports&lt;/a&gt;, Spotify pays artists approximately $0.003 to $0.005 per stream. This means that even moderately successful musicians struggle to make a living from their music on these platforms. For an artist to earn a sustainable income, their songs need to accumulate millions of streams, a nearly impossible feat for independent or niche artists.&lt;/p&gt;
&lt;p&gt;This financial model favors major record labels and popular artists while leaving independent musicians to fend for themselves. The artists who do not conform to algorithmic preferences or mainstream tastes are often buried beneath the flood of content. This reality is especially disheartening when you consider how much time, effort, and personal investment go into creating music. It is an inherently exploitative system that devalues the creative labor of musicians while enriching corporate entities. Streaming platforms present themselves as a solution for artists to reach a wider audience, but in reality, they function more like gatekeepers, deciding which artists get exposure and which remain in obscurity.&lt;/p&gt;
&lt;p&gt;In contrast, buying albums directly from artists or through platforms like Bandcamp allows musicians to retain a larger share of the profits. This direct support empowers artists to continue creating without being at the mercy of corporate algorithms. When I purchase a physical album or a digital download, I know that a significant portion of my money is going straight to the person who created the music. This transaction feels fairer and more meaningful than handing a subscription fee to a tech conglomerate.&lt;/p&gt;
&lt;p&gt;Another troubling aspect of streaming services is the manipulation behind their “top” charts. On the surface, these charts appear to reflect public taste and organic popularity. In reality, they are again heavily influenced by record labels and corporate interests. Major labels often have partnerships with streaming platforms, which allows them to push their artists to the forefront through prominent playlist placements and advertising. This practice creates the illusion that certain artists are more popular than they actually are.&lt;/p&gt;
&lt;p&gt;Moreover, there have been &lt;a href="https://news.sky.com/story/fraud-gangs-stealing-billions-from-music-industry-via-fake-streams-13163016"&gt;numerous reports of fraudulent streaming practices&lt;/a&gt;. Some labels and management companies artificially inflate streaming numbers through bots or other deceptive methods. As a listener, I find it demoralizing to know that the music being promoted is not always a reflection of genuine public enthusiasm but rather the result of corporate agendas. There is something fundamentally dishonest about the way music is marketed through streaming services, and it weakens the integrity of the industry as a whole.&lt;/p&gt;
&lt;p&gt;I still find much greater satisfaction in buying albums directly from artists. Owning an album provides a sense of permanence and value that streaming simply cannot replicate. There is something deeply rewarding about listening to an album with full attention. Even digital downloads feel more substantial than streaming because they represent an actual exchange of value between the artist and me.&lt;/p&gt;
&lt;p&gt;In an era dominated by convenience and instant gratification, it can be challenging to resist the allure of streaming services. By choosing to buy albums and prioritize deep listening, we can reclaim a more intentional and meaningful relationship with music. Supporting artists directly is not only a financial decision but also a moral and cultural one to me. It allows musicians to retain control over their work and fosters a more diverse musical landscape. Furthermore, it encourages listeners to slow down and fully engage with the art they consume, rather than passively allowing algorithms to dictate their tastes.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Why+I+Don%27t+Like+Streaming+Music+Services&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhy-i-dont-like-streaming-music-services%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/vinicius-jr-a-fall-from-grace/</id><title>Vinicius Jr: A Fall from Grace</title><link href="https://afranca.com.br/vinicius-jr-a-fall-from-grace/" rel="alternate" type="text/html"/><published>2025-04-02T08:46:00Z</published><updated>2025-12-08T14:54:19Z</updated><category term="blogging"/><category term="sports"/><summary type="text">Vinícius Júnior, recently declared as one of Brazil&amp;rsquo;s most promising soccer talents and elected FIFA&amp;rsquo;s Best Player of the season, has become a figure of disappointment for many fans, including myself - [who have always been a fan of his playing style]({{ ref &amp;ldquo;/posts/2022/vinicius-jr-an-example-of-determination.md&amp;rdquo; &amp;gt;}}). His journey from a celebrated athlete to a controversial figure has been marked by a series of incidents that have tarnished his reputation, leaving not only supporters but many people questioning his character and choices.</summary><content type="html">&lt;p&gt;Vinícius Júnior, recently declared as one of Brazil&amp;rsquo;s most promising soccer talents and elected FIFA&amp;rsquo;s Best Player of the season, has become a figure of disappointment for many fans, including myself - [who have always been a fan of his playing style]({{ ref &amp;ldquo;/posts/2022/vinicius-jr-an-example-of-determination.md&amp;rdquo; &amp;gt;}}). His journey from a celebrated athlete to a controversial figure has been marked by a series of incidents that have tarnished his reputation, leaving not only supporters but many people questioning his character and choices.&lt;/p&gt;
&lt;p&gt;The controversies surrounding Vinícius began to gain significant attention after the racist abuse and offenses he has experienced on several occasions. For example, during a match against Valencia at the Mestalla Stadium, Vinícius was subjected to persistent insults from the crowd, leading to a temporary halt in the game as officials addressed the situation.&lt;/p&gt;
&lt;p&gt;Although these incidents elicited widespread condemnation, Vinícius&amp;rsquo;s responses often escalated tensions rather than diffusing them. His confrontational demeanor towards opposing players, referees, and even fans became increasingly evident. In a Champions League match against Atlético Madrid, Vinícius was investigated for alleged misconduct, including provocative gestures towards spectators, which contributed to a hostile atmosphere and led to objects being thrown from the stands.&lt;/p&gt;
&lt;p&gt;Such behavior not only undermines the spirit of sportsmanship but also compromises the broader fight against discrimination in the sport. Instead of channeling his frustrations into constructive dialogue or using his platform to advocate for meaningful change, Vinícius often takes actions that exacerbate conflicts, casting a shadow over his professional conduct. I dare say that the decline in the quality of his football, especially in Brazil&amp;rsquo;s national team, is largely related to his divided focus on football.&lt;/p&gt;
&lt;p&gt;More seriously than his on-field behavior, Vinícius chose to endorse off the field an individual linked to criminal activities. He shared content from the pseudo-artist known as Oruam. This individual, whose real name is Maurício, is the son of Marcinho VP, a notorious leader of one of Brazil&amp;rsquo;s most dangerous criminal groups. Unlike Pablo Escobar&amp;rsquo;s son, who dedicated his life to denouncing his father&amp;rsquo;s crimes and promoting peace, Oruam&amp;rsquo;s work glorifies the lifestyle associated with organized crime.&lt;/p&gt;
&lt;p&gt;Oruam&amp;rsquo;s history is fraught with legal troubles, including several arrests, the most recent being related to harboring a fugitive drug trafficker. His music and public persona frequently make direct references to criminal activities, portraying them in a manner that can be interpreted as apologetic or even celebratory. By endorsing such content, Vinícius not only disappoints fans who admire him but also sends a troubling message that contradicts the values of integrity and responsibility expected from public figures, especially from a young man who came from a favela and certainly experienced the abuses and crimes perpetrated by the same criminal groups that the artist he now promotes defends.&lt;/p&gt;
&lt;p&gt;Vinícius Júnior had the potential to be more than just a soccer star; he could have been an advocate for positive changes such as reducing inequality. Instead, his actions alienate supporters and raise serious doubts about his judgment and the bad influences he chooses to support.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Vinicius+Jr%3A+A+Fall+from+Grace&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fvinicius-jr-a-fall-from-grace%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/thoughts-on-sveltia-cms/</id><title>Thoughts on Sveltia-CMS</title><link href="https://afranca.com.br/thoughts-on-sveltia-cms/" rel="alternate" type="text/html"/><published>2025-04-01T15:45:00Z</published><updated>2025-12-09T01:30:25Z</updated><category term="technology"/><category term="opensource"/><category term="cms"/><category term="static site generator"/><category term="hugo"/><summary type="text">Using Sveltia-CMS on my blog has been an interesting experience. Long ago, when I first started exploring content management systems, I switched to Ghost [and posted about it]({{ &amp;lt; ref &amp;ldquo;/posts/2022/ghost-as-my-blogging-platform.md&amp;rdquo; ?}}). For multiple reasons, which I had explained in another post, I ditched Ghost, and by that time, I went back to Jekyll - currently I build this site with Hugo.</summary><content type="html">&lt;p&gt;Using &lt;a href="https://github.com/sveltia/sveltia-cms"&gt;Sveltia-CMS&lt;/a&gt; on my blog has been an interesting experience. Long ago, when I first started exploring content management systems, I switched to Ghost [and posted about it]({{ &amp;lt; ref &amp;ldquo;/posts/2022/ghost-as-my-blogging-platform.md&amp;rdquo; ?}}). For multiple reasons, &lt;a href="https://afranca.com.br/website-version-4-0/"&gt;which I had explained in another post&lt;/a&gt;, I ditched Ghost, and by that time, I went back to Jekyll - currently I build this site with &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;One drawback of working with a Static Site Generator is usually the need to deal with content, coding, building, git, and so on, and this can be time-consuming. &lt;a href="https://afranca.com.br/between-two-languages/"&gt;I mentioned in a recent post&lt;/a&gt; that &amp;ldquo;my primary goal here has always been to write more, not to get bogged down&amp;hellip;&amp;rdquo; with anything else, but content. My goal was to find a solution that didn’t add unnecessary complexity to my workflow while allowing me to maintain control over my content. Sveltia-CMS has largely delivered on that front, and using it has improved the way I handle my blog. There have been plenty of positives, especially on how it integrates seamlessly with GitHub, and how it simplifies my publishing workflow. But, like any tool, it’s not without its limitations—particularly when it comes to mobile usability.&lt;/p&gt;
&lt;p&gt;One of the most immediate benefits I’ve noticed using Sveltia-CMS is how much it has streamlined the process of publishing content. Before trying it, my workflow involved using a text editor, managing content through Git, and pushing updates manually. That always felt cumbersome, especially when I wanted to make quick edits or push out a simple post or note. Each time, I’d need to open my text editor, ensure that markdown was correctly formatted, commit the changes, and push them to my repository. This workflow, while manageable, often felt like overkill for smaller updates. Sveltia-CMS changed that by offering a more straightforward way to interact with my content. Now, I can manage posts directly through a clean interface without needing to dive into my editor or navigate Git’s command-line interface. It saves time and reduces friction, which ultimately encourages me to post more frequently.&lt;/p&gt;
&lt;p&gt;Another thing I appreciate about Sveltia-CMS is how well it integrates with GitHub. Since the source code is hosted there, maintaining that connection is essential. Sveltia-CMS acts as a bridge, allowing me to make updates without leaving the CMS interface, and it automatically syncs everything to my repository. This integration means I don’t have to worry about manual commits or forgetting to push changes, which used to happen occasionally. The automated process is both reliable and transparent—every change is still version-controlled, which gives me peace of mind. I know that if I ever need to roll back a post or revisit older content, the full history is safely stored in my GitHub repository.&lt;/p&gt;
&lt;p&gt;However, it’s not all perfect, and there are areas where I feel Sveltia-CMS could improve, particularly when it comes to mobile usability. While the interface works smoothly on desktop, using it on my phone is a different story. I often find myself wanting to make quick edits or post updates while away from my main computer, but the experience on mobile devices is frustrating. Navigation feels clunky, and most UI elements don’t respond as smoothly as I’d like. The interface doesn’t scale properly to a smaller screen, making it harder to interact with controls even when rotating the screen. It’s a minor annoyance when I’m at home, but when I’m on the go, it becomes a real limitation.&lt;/p&gt;
&lt;p&gt;Given how much of my life happens on mobile devices, this feels like an area for improvement. I’d love to see better responsiveness and a more polished mobile experience, especially since the rest of the CMS feels simple but well thought out. There are times when I have an idea or spot a mistake while browsing my blog on my phone, and I wish I could fix it right there.&lt;/p&gt;
&lt;p&gt;Despite these mobile frustrations, Sveltia-CMS&amp;rsquo;s positives far outweigh the negatives. It has made my blogging workflow significantly easier. The combination of GitHub integration and a clean interface makes for a powerful CMS. I no longer feel tied to a technical process when I want to share something new. Instead, I can focus on writing and trust that the CMS will handle the rest.&lt;/p&gt;
&lt;p&gt;Looking ahead, I’m hopeful that Sveltia-CMS will continue to evolve. If the developers focus on improving mobile usability while maintaining the existing strengths, it could become an even more indispensable tool. In many ways, using Sveltia-CMS has reconnected me with why I started blogging in the first place. At the end of the day, blogging is about sharing ideas and connecting with people.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Thoughts+on+Sveltia-CMS&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthoughts-on-sveltia-cms%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/distro-war-choosing-the-best-linux-distribution/</id><title>Distro War: Choosing the Best Linux Distribution</title><link href="https://afranca.com.br/distro-war-choosing-the-best-linux-distribution/" rel="alternate" type="text/html"/><published>2025-03-30T10:00:00Z</published><updated>2025-12-08T14:55:52Z</updated><category term="technology"/><category term="opensource"/><category term="linux"/><summary type="text">Linux is an open source operating system that offers a variety of distributions (distros) to suit different user needs. Each distro caters to a unique audience, whether you&amp;rsquo;re a beginner exploring the world of Linux, a gamer looking for high-performance capabilities, or a security-conscious individual aiming to protect your privacy. With hundreds of distros available, it can be overwhelming to choose the best one for your needs. Here I will try to explore popular Linux distros across several categories and provide a list based on my personal experience and preferences.</summary><content type="html">&lt;p&gt;Linux is an open source operating system that offers a variety of distributions (distros) to suit different user needs. Each distro caters to a unique audience, whether you&amp;rsquo;re a beginner exploring the world of Linux, a gamer looking for high-performance capabilities, or a security-conscious individual aiming to protect your privacy. With hundreds of distros available, it can be overwhelming to choose the best one for your needs. Here I will try to explore popular Linux distros across several categories and provide a list based on my personal experience and preferences.&lt;/p&gt;
&lt;h2 id="tier-list-linux-distributions-by-category"&gt;&lt;strong&gt;Tier List: Linux Distributions by Category&lt;/strong&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Distro&lt;/strong&gt;&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best Overall Distro&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Ubuntu&lt;/td&gt;
					&lt;td&gt;User-friendly, massive community, LTS support&lt;/td&gt;
					&lt;td&gt;Can be bloated, not the most lightweight&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Amazing for Newbies&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Linux Mint&lt;/td&gt;
					&lt;td&gt;Windows-like interface, beginner-friendly&lt;/td&gt;
					&lt;td&gt;Can feel outdated compared to others&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Gaming&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Pop!_OS&lt;/td&gt;
					&lt;td&gt;Optimized for gaming, NVIDIA support&lt;/td&gt;
					&lt;td&gt;Limited customization&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Programmers&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Arch Linux&lt;/td&gt;
					&lt;td&gt;Highly customizable, bleeding-edge packages&lt;/td&gt;
					&lt;td&gt;Steep learning curve&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Privacy &amp;amp; Security&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qubes OS&lt;/td&gt;
					&lt;td&gt;Strong isolation, compartmentalized structure&lt;/td&gt;
					&lt;td&gt;Resource-heavy, complex to set up&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Servers&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Debian&lt;/td&gt;
					&lt;td&gt;Stability, reliability, long-term support&lt;/td&gt;
					&lt;td&gt;Older software packages&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Most Lightweight&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Alpine Linux&lt;/td&gt;
					&lt;td&gt;Extremely lightweight, fast boot times&lt;/td&gt;
					&lt;td&gt;Minimal software by default&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Customization&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Gentoo&lt;/td&gt;
					&lt;td&gt;Complete control over system optimization&lt;/td&gt;
					&lt;td&gt;Time-consuming installation&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Enterprise&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Red Hat Enterprise&lt;/td&gt;
					&lt;td&gt;Professional support, enterprise-grade tools&lt;/td&gt;
					&lt;td&gt;Subscription required for full features&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Cutting Edge&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Fedora&lt;/td&gt;
					&lt;td&gt;Latest technology, strong community&lt;/td&gt;
					&lt;td&gt;Shorter support cycle&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Ethical Hacking&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Kali Linux&lt;/td&gt;
					&lt;td&gt;Pre-installed penetration testing tools&lt;/td&gt;
					&lt;td&gt;Not ideal for daily use&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for Stability&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;openSUSE Leap&lt;/td&gt;
					&lt;td&gt;Enterprise-level stability, YaST configuration&lt;/td&gt;
					&lt;td&gt;Slower updates compared to Tumbleweed&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Best for IoT Devices&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Raspberry Pi OS&lt;/td&gt;
					&lt;td&gt;Optimized for Raspberry Pi, lightweight&lt;/td&gt;
					&lt;td&gt;Limited outside Pi hardware&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="1-best-overall-distro-ubuntu"&gt;1. Best Overall Distro: Ubuntu&lt;/h2&gt;
&lt;p&gt;Ubuntu is arguably the most recognized Linux distribution worldwide. Developed by Canonical, it has become synonymous with ease of use and versatility. Whether you&amp;rsquo;re a beginner or an advanced user, Ubuntu provides a balanced experience that works out-of-the-box while allowing customization for power users.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;User-friendly installation and interface&lt;/li&gt;
&lt;li&gt;Extensive community support and documentation&lt;/li&gt;
&lt;li&gt;Long-Term Support (LTS) versions for stability&lt;/li&gt;
&lt;li&gt;Supports a wide variety of software packages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Can be resource-intensive compared to minimalist distros&lt;/li&gt;
&lt;li&gt;Some users find Snap packages controversial&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ubuntu is perfect for users who want a reliable system without diving too deeply into manual configuration. Its regular updates and wide user base make it a safe choice for any use case.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-great-for-newbies-linux-mint"&gt;2. Great for Newbies: Linux Mint&lt;/h2&gt;
&lt;p&gt;Linux Mint is well-known for providing a familiar, Windows-like interface. It&amp;rsquo;s built on Ubuntu&amp;rsquo;s solid base but adds extra polish and ease of use. It comes with multimedia codecs pre-installed, making it an excellent choice for users transitioning from other operating systems.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simple and intuitive interface&lt;/li&gt;
&lt;li&gt;Based on Ubuntu, with better usability tweaks&lt;/li&gt;
&lt;li&gt;Comes with essential tools and codecs pre-installed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Less cutting-edge; updates may lag behind Ubuntu&lt;/li&gt;
&lt;li&gt;Limited support for advanced configurations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Linux Mint is best for users who want a &amp;ldquo;plug and play&amp;rdquo; experience. Its simplicity and minimal configuration make it a popular choice for those new to Linux.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="3-best-for-gaming-pop_os"&gt;3. Best for Gaming: Pop!_OS&lt;/h2&gt;
&lt;p&gt;Pop!_OS, developed by System76, is optimized for modern hardware and gaming. It provides excellent support for NVIDIA and AMD GPUs out-of-the-box, reducing the hassle of driver installation. With built-in tools for gaming performance, it&amp;rsquo;s the go-to for Linux gamers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Built-in support for gaming hardware&lt;/li&gt;
&lt;li&gt;Optimized kernel for performance&lt;/li&gt;
&lt;li&gt;Easy installation and clean interface&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fewer customization options than Arch or Fedora&lt;/li&gt;
&lt;li&gt;Smaller community compared to Ubuntu&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pop!_OS is ideal for gamers who want a Linux distro that just works. With dedicated support for GPUs and ease of use, it provides a seamless gaming experience.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="4-best-for-programmers-and-advanced-users-arch-linux"&gt;4. Best for Programmers and Advanced Users: Arch Linux&lt;/h2&gt;
&lt;p&gt;Arch Linux is my favorite distro, and also the number one choice among advanced users and programmers due to its &amp;ldquo;do-it-yourself&amp;rdquo; nature. With the Arch User Repository (AUR), users have access to thousands of packages, including the latest developer tools and libraries.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rolling release model with the latest software&lt;/li&gt;
&lt;li&gt;Extreme customization&lt;/li&gt;
&lt;li&gt;Access to AUR for a vast array of packages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Requires manual setup and configuration&lt;/li&gt;
&lt;li&gt;Not beginner-friendly&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Arch Linux is the ultimate choice for programmers or advanced users who want complete control over their environment. Its flexibility and access to the latest packages make it ideal for software development.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="5-best-for-privacy--security-qubes-os"&gt;5. Best for Privacy &amp;amp; Security: Qubes OS&lt;/h2&gt;
&lt;p&gt;Qubes OS takes a unique approach to privacy by using Xen-based virtualization to compartmentalize different aspects of your system. Each &amp;ldquo;qube&amp;rdquo; operates independently, enhancing security and reducing the impact of vulnerabilities.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Advanced compartmentalization for security&lt;/li&gt;
&lt;li&gt;Ideal for privacy advocates and security researchers&lt;/li&gt;
&lt;li&gt;Strong protection against malware and surveillance&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Requires high system resources&lt;/li&gt;
&lt;li&gt;Can be complex to manage for newcomers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Qubes OS is the gold standard for those prioritizing security. While resource-heavy and complex, its isolation model provides unparalleled privacy.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="6-best-for-servers-debian"&gt;6. Best for Servers: Debian&lt;/h2&gt;
&lt;p&gt;Debian is renowned for its rock-solid stability, making it the perfect choice for servers. With its focus on security and long-term support, Debian is widely used in enterprise environments.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Highly stable and reliable&lt;/li&gt;
&lt;li&gt;Extensive repository of packages&lt;/li&gt;
&lt;li&gt;Long-term support&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Older packages compared to bleeding-edge distros&lt;/li&gt;
&lt;li&gt;Less beginner-friendly for desktop use&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Debian is the go-to choice for system administrators who need a reliable, secure server environment. Its emphasis on stability ensures smooth operation over years.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="7-most-lightweight-alpine-linux"&gt;7. Most Lightweight: Alpine Linux&lt;/h2&gt;
&lt;p&gt;Alpine Linux is designed with simplicity and performance in mind. It’s known for its minimalistic approach, focusing on delivering a small, resource-efficient operating system ideal for containers, embedded systems, and users who want to build their system from the ground up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Extremely lightweight with a small footprint&lt;/li&gt;
&lt;li&gt;Fast boot times and low system resource usage&lt;/li&gt;
&lt;li&gt;Strong security focus with hardened kernel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Minimal software available by default; requires additional setup&lt;/li&gt;
&lt;li&gt;Limited out-of-the-box functionality compared to other distros&lt;/li&gt;
&lt;li&gt;Smaller community and support options&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Alpine Linux is perfect for users who need a lightweight, fast, and secure system. It’s particularly suited for server environments, containers, or users who want to fully control their system&amp;rsquo;s setup.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="8-best-for-customization-gentoo"&gt;8. Best for Customization: Gentoo&lt;/h2&gt;
&lt;p&gt;Gentoo is a source-based Linux distribution, meaning users compile everything from source code. It allows fine-tuned customization and optimization, making it an ideal choice for users who want full control over their system, from the kernel to the applications they install.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Maximum control over system configuration and optimization&lt;/li&gt;
&lt;li&gt;Portage system allows for fine-tuning software compilation&lt;/li&gt;
&lt;li&gt;Performance improvements through custom-built packages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installation process is time-consuming and complex&lt;/li&gt;
&lt;li&gt;Requires a high level of technical expertise&lt;/li&gt;
&lt;li&gt;Longer update times due to compiling packages from source&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Gentoo is best for advanced users who enjoy tweaking and optimizing every part of their system. Its level of customization is unparalleled, but it comes at the cost of a steep learning curve.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="9-best-for-enterprise-red-hat-enterprise-linux-rhel"&gt;9. Best for Enterprise: Red Hat Enterprise Linux (RHEL)&lt;/h2&gt;
&lt;p&gt;Red Hat Enterprise Linux (RHEL) is a commercial Linux distribution designed for enterprise environments. It offers extensive support, certified hardware, and a stable environment that’s ideal for businesses that require reliability, security, and performance in their server infrastructure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enterprise-grade support and security features&lt;/li&gt;
&lt;li&gt;Long-term support with predictable update cycles&lt;/li&gt;
&lt;li&gt;Certified on a wide range of hardware and software&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Requires a paid subscription for full access to support and updates&lt;/li&gt;
&lt;li&gt;Less flexibility compared to other community-driven distros&lt;/li&gt;
&lt;li&gt;Higher cost compared to free alternatives like CentOS or Fedora&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;RHEL is ideal for businesses or organizations that need a secure, stable, and supported operating system for their servers. The enterprise-level features and professional support make it a go-to choice for large-scale deployments.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="10-best-for-cutting-edge-fedora"&gt;10. Best for Cutting Edge: Fedora&lt;/h2&gt;
&lt;p&gt;Fedora is a cutting-edge Linux distribution known for always including the latest software and technologies. It serves as the upstream for Red Hat Enterprise Linux, which means it’s often one of the first distros to adopt new features and innovations in the Linux ecosystem.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fast adoption of the latest technologies and software&lt;/li&gt;
&lt;li&gt;Strong community and developer support&lt;/li&gt;
&lt;li&gt;Provides a polished GNOME desktop environment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shorter support cycle compared to LTS-based distributions like Ubuntu&lt;/li&gt;
&lt;li&gt;Can be less stable at times due to the rolling release model&lt;/li&gt;
&lt;li&gt;Not as user-friendly for beginners&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fedora is ideal for users who want to stay on the bleeding edge of Linux and are comfortable with newer, sometimes experimental software. It’s perfect for developers and tech enthusiasts who want access to the latest features.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="11-best-for-ethical-hacking-kali-linux"&gt;11. Best for Ethical Hacking: Kali Linux&lt;/h2&gt;
&lt;p&gt;Kali Linux is a specialized distribution designed for penetration testing, ethical hacking, and security research. It comes pre-loaded with a vast collection of tools for network analysis, vulnerability assessment, and exploitation, making it the go-to choice for security professionals.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pre-installed penetration testing and hacking tools&lt;/li&gt;
&lt;li&gt;Tailored for ethical hacking and security auditing&lt;/li&gt;
&lt;li&gt;Strong community and resources for security research&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Not suitable for everyday use or casual desktop computing&lt;/li&gt;
&lt;li&gt;Tools may be overwhelming for beginners&lt;/li&gt;
&lt;li&gt;Not optimized for performance in regular desktop environments&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kali Linux is best suited for security professionals or those in the ethical hacking field. It’s not intended for everyday use but excels in providing a comprehensive set of tools for cybersecurity research.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="12-best-for-stability-opensuse-leap"&gt;12. Best for Stability: openSUSE Leap&lt;/h2&gt;
&lt;p&gt;openSUSE Leap is a distribution focused on stability and enterprise-level reliability, making it a popular choice for professional environments. With strong support for system administrators and a robust package management system, it’s well-suited for servers, workstations, and development environments.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enterprise-grade stability and support&lt;/li&gt;
&lt;li&gt;YaST configuration tool for easy system management&lt;/li&gt;
&lt;li&gt;Strong focus on security and stability&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Slower updates compared to Fedora or rolling-release distros&lt;/li&gt;
&lt;li&gt;Can be less user-friendly for beginners&lt;/li&gt;
&lt;li&gt;More suited for professional and enterprise environments&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;openSUSE Leap is ideal for users who prioritize stability and enterprise-level reliability. It’s perfect for system administrators, businesses, and those who need a consistent and secure operating system.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="13-best-for-iot-devices-raspberry-pi-os"&gt;13. Best for IoT Devices: Raspberry Pi OS&lt;/h2&gt;
&lt;p&gt;Raspberry Pi OS, formerly known as Raspbian, is a Debian-based distribution designed specifically for the Raspberry Pi hardware. It provides a lightweight, optimized environment that makes it an excellent choice for IoT projects and small computing devices.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Optimized for the Raspberry Pi hardware&lt;/li&gt;
&lt;li&gt;Lightweight and fast&lt;/li&gt;
&lt;li&gt;Huge community and plenty of documentation for IoT projects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Limited support for non-Raspberry Pi hardware&lt;/li&gt;
&lt;li&gt;Not as feature-rich as other desktop-focused distros&lt;/li&gt;
&lt;li&gt;Lacks some enterprise-grade features for larger systems&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Raspberry Pi OS is perfect for makers, developers, and hobbyists working on IoT projects or using Raspberry Pi hardware. Its lightweight nature and optimization for the platform make it a great choice for small-scale and embedded systems.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The Linux world is vast and diverse, offering a distribution for every need. Whether you&amp;rsquo;re seeking a beginner-friendly experience with Linux Mint, a performance-driven gaming system with Pop!_OS, or a privacy-first approach with Qubes OS, there&amp;rsquo;s a distro designed with your goals in mind.&lt;/p&gt;
&lt;p&gt;My personal preference leans toward Ubuntu for daily use due to its balance of usability and community support. However, when it comes to customization, Arch Linux - the distro I currently run on my personal laptop - is unbeatable. Regardless of your needs, the beauty of Linux lies in the freedom to choose the environment that best suits you. Explore, experiment, and find the distribution that fits your lifestyle and needs.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Distro+War%3A+Choosing+the+Best+Linux+Distribution&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fdistro-war-choosing-the-best-linux-distribution%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/f1-rookies-under-pressure/</id><title>F1 Rookies Under Pressure</title><link href="https://afranca.com.br/f1-rookies-under-pressure/" rel="alternate" type="text/html"/><published>2025-03-30T08:41:00Z</published><updated>2025-12-08T14:56:33Z</updated><category term="blogroll"/><category term="sports"/><summary type="text">For many people like me, Formula 1 is the pinnacle of motorsport, and for the rookies joining the grid, it&amp;rsquo;s a real pressure cooker where every mistake is magnified, and even success is scrutinized. This year - in addition to all the buzz surrounding Lewis Hamilton signing with Ferrari and the McLaren duo - the spotlight is shining on a new generation of young drivers, each with their own unique skills and challenges. Watching Andrea Kimi Antonelli, Liam Lawson, Oliver Bearman, Gabriel Bortoleto, Jack Doohan, and Isack Hadjar navigate their rookie seasons has been really cool. And while some thrive under pressure, others are already feeling the unforgiving nature of the paddock.</summary><content type="html">&lt;p&gt;For many people like me, Formula 1 is the pinnacle of motorsport, and for the rookies joining the grid, it&amp;rsquo;s a real pressure cooker where every mistake is magnified, and even success is scrutinized. This year - in addition to all the buzz surrounding Lewis Hamilton signing with Ferrari and the McLaren duo - the spotlight is shining on a new generation of young drivers, each with their own unique skills and challenges. Watching Andrea Kimi Antonelli, Liam Lawson, Oliver Bearman, Gabriel Bortoleto, Jack Doohan, and Isack Hadjar navigate their rookie seasons has been really cool. And while some thrive under pressure, others are already feeling the unforgiving nature of the paddock.&lt;/p&gt;
&lt;p&gt;I have to start by saying how impressed I am with Gabriel Bortoleto, my fellow countryman. Against all odds, driving what is undeniably the worst car on the grid, he&amp;rsquo;s managed to deliver performances that are turning heads. It&amp;rsquo;s easy to overlook someone when the car doesn&amp;rsquo;t match their talent, but Bortoleto refuses to go unnoticed. His racecraft is mature for his age, and he has shown a remarkable ability to extract every ounce of performance from his car, consistently outperforming his teammate, Nico Hülkenberg.&lt;/p&gt;
&lt;p&gt;Meanwhile, Red Bull&amp;rsquo;s junior program has once again proven to be brutal. Liam Lawson&amp;rsquo;s journey this season has been a rollercoaster - and not in a good way. After just two extremely disappointing races (plus the sprint race), Red Bull decided to cut his stint short, demoting him back to the RB team and immediately promoting Yuki Tsunoda for the upcoming Japanese Grand Prix. In my opinion, Lawson deserved more time. Two races are simply not enough to judge someone adapting to a completely different car. Lawson showed promise during his substitute appearances last season, and there was reason to believe he could grow within the team. But Red Bull&amp;rsquo;s appetite for immediate results has claimed another victim.&lt;/p&gt;
&lt;p&gt;The way Red Bull operates seems like a double-edged sword. On one hand, they give young talents a shot at Formula 1 while many other teams would leave these drivers waiting for years - unless they bring substantial financial backing. On the other hand, the pressure to deliver instant results is suffocating. It&amp;rsquo;s a system that prioritizes short-term outcomes over long-term development. Lawson&amp;rsquo;s treatment is just the latest chapter in Red Bull&amp;rsquo;s long history of burning through their young drivers.&lt;/p&gt;
&lt;p&gt;Over at Mercedes-Benz, despite all the hype surrounding him, Andrea Kimi Antonelli has had a mixed start. You can see flashes of brilliance - moments where the car is on the edge and he handles it masterfully. But you can also see the mistakes that come from inexperience. It&amp;rsquo;s a tough learning curve, and while I believe he has the talent to establish himself long-term, it will require patience.&lt;/p&gt;
&lt;p&gt;Oliver Bearman is another rookie under intense scrutiny. Coming through Ferrari&amp;rsquo;s Driver Academy brings its own set of pressures. Expectations are high, and every race is a test to prove whether he can handle the weight of a future in the red car. Bearman showed potential last year when he had to step in for Carlos Sainz in Saudi Arabia, but the big question is whether he can turn that promise into consistent performances.&lt;/p&gt;
&lt;p&gt;Jack Doohan and Isack Hadjar fall somewhere in the middle of the rookie spectrum. Doohan carries the burden of a famous last name, but another rookie, Franco Colapinto, is waiting for his chance to take his spot. Doohan&amp;rsquo;s aggressive driving style makes him prone to mistakes when he pushes too hard. Hadjar, on the other hand, seems to be taking a more gradual approach. He hasn&amp;rsquo;t grabbed headlines like some of his peers, but aside from his first race, there&amp;rsquo;s a quiet consistency to his performances that suggests he could surprise people if given time to develop.&lt;/p&gt;
&lt;p&gt;What has become clear when observing these rookies is how much their environment dictates their success. Bortoleto is thriving despite having an underperforming car because he has the freedom to race without the constant threat of being replaced hanging over his head. Lawson, by contrast, was under a microscope from day one, and the moment he stumbled, Red Bull showed no mercy. Formula 1 loves to talk about giving young drivers opportunities, but the reality is that few teams are willing to invest in a driver&amp;rsquo;s long-term development.&lt;/p&gt;
&lt;p&gt;Watching these rookies navigate the high-pressure world of Formula 1 is a reminder that talent alone isn&amp;rsquo;t enough. You need the right team, the right timing, and a little bit of luck. But most importantly, you need people around you who are willing to invest in your potential.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+F1+Rookies+Under+Pressure&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Ff1-rookies-under-pressure%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/a-reviravolta-no-caso-daniel-alves/</id><title>A Reviravolta No Caso Daniel Alves</title><link href="https://afranca.com.br/a-reviravolta-no-caso-daniel-alves/" rel="alternate" type="text/html"/><published>2025-03-29T08:30:00Z</published><updated>2025-12-08T14:57:11Z</updated><category term="blogging"/><category term="politics"/><category term="education"/><category term="sports"/><summary type="text">A vida de Daniel Alves, um dos mais renomados laterais do futebol mundial, tomou um rumo inesperado nos últimos anos. Conhecido por sua habilidade em campo e por uma carreira repleta de títulos em clubes como Barcelona, Juventus e Paris Saint-Germain, além de atuações destacadas pela seleção brasileira e pelo meu time do coração, São Paulo, Daniel viu sua reputação ser abalada por uma acusação grave que acabou por condená-lo por agressão sexual na Espanha.​</summary><content type="html">&lt;p&gt;A vida de Daniel Alves, um dos mais renomados laterais do futebol mundial, tomou um rumo inesperado nos últimos anos. Conhecido por sua habilidade em campo e por uma carreira repleta de títulos em clubes como Barcelona, Juventus e Paris Saint-Germain, além de atuações destacadas pela seleção brasileira e pelo meu time do coração, São Paulo, Daniel viu sua reputação ser abalada por uma acusação grave que acabou por condená-lo por agressão sexual na Espanha.​&lt;/p&gt;
&lt;p&gt;Basicamente, em dezembro de 2022, surgiram notícias de que uma jovem de 23 anos o acusava de tê-la agredido sexualmente no banheiro de uma boate em Barcelona. A denúncia rapidamente ganhou destaque na mídia internacional, e o jogador foi detido preventivamente em janeiro de 2023. O caso avançou nos tribunais, e, em fevereiro de 2024, o Tribunal de Barcelona condenou Alves a quatro anos e meio de prisão pelo crime de agressão sexual. A sentença baseou-se, em grande parte, no testemunho da vítima, que descreveu detalhes da noite e do suposto abuso. Mesmo com alegações de que a vítima teria se insinuado para ele e o seguido até o banheiro da boate, a condenação foi fundamentada na suposta credibilidade de seu relato. Durante o julgamento, Daniel Alves negou as acusações, admitindo ter consumido bebidas alcoólicas naquela noite, mas refutando qualquer comportamento inadequado.&lt;/p&gt;
&lt;p&gt;A condenação teve um grande impacto na carreira e na vida pessoal do ex-jogador. O clube mexicano com o qual mantinha contrato rescindiu o seu vínculo, patrocinadores se afastaram, e sua imagem pública foi profundamente manchada. A mídia, principalmente no Brasil, desempenhou um papel significativo nesse processo com muitos veículos adotando uma postura mais voltada para o ativismo do que para o jornalismo imparcial. Jornalistas, em sua ânsia por justiça social ou apenas por lacrar, pareciam mais interessados em condená-lo publicamente do que em apresentar os fatos de maneira equilibrada. Essa abordagem contribuiu para a formação de uma opinião pública negativa em relação ao jogador, antes mesmo de uma sentença definitiva.​&lt;/p&gt;
&lt;p&gt;No entanto, hoje, 28 de março de 2025, uma reviravolta surpreendente ocorreu. O Tribunal Superior de Justiça da Catalunha (TSJC), composto por três juízas e um juiz, absolveu Daniel Alves da condenação por agressão sexual. A decisão veio após um recurso apresentado pela própria defesa, insatisfeita com a primeira condenação. O TSJC apontou &amp;ldquo;déficits valorativos&amp;rdquo; na sentença original e destacou a &amp;ldquo;falta de fiabilidade no testemunho da denunciante&amp;rdquo;, concluindo que não havia provas suficientes para sustentar a condenação e que a presunção de inocência de Daniel Alves deveria prevalecer.&lt;/p&gt;
&lt;p&gt;Essa decisão levanta questões complexas. Se Daniel Alves é inocente, a sua condenação inicial representa uma falha grave do sistema judicial, que resultou em danos irreparáveis à sua carreira e reputação. Por outro lado, se ele é culpado, a absolvição indica que um criminoso pode estar em liberdade, o que seria algo alarmante. O caso ainda não transitou em julgado, e o Ministério Público tem a possibilidade de recorrer da decisão, o que significa que novos desdobramentos podem ocorrer.​&lt;/p&gt;
&lt;p&gt;Este caso é emblemático no que tange aos desafios enfrentados pelo sistema judicial ao lidar com casos de agressão sexual, nos quais é comum a ausência de provas físicas contundentes, e as decisões dependem fortemente dos testemunhos das partes envolvidas. Além disso, ressalta a responsabilidade da mídia em cobrir tais casos com imparcialidade e cautela, evitando julgamentos precipitados que podem influenciar indevidamente a opinião pública.​&lt;/p&gt;
&lt;p&gt;O caso de Daniel Alves serve como um alerta sobre a complexidade das acusações de agressão sexual e a necessidade de um equilíbrio delicado entre acreditar nas vítimas e garantir o direito à defesa dos acusados. O sistema judicial deve trabalhar para assegurar que a justiça seja verdadeiramente justa, baseada em evidências sólidas e livre de influências externas que possam comprometer sua integridade.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+A+Reviravolta+No+Caso+Daniel+Alves&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fa-reviravolta-no-caso-daniel-alves%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/janja-ou-esbanja/</id><title>Janja ou Esbanja</title><link href="https://afranca.com.br/janja-ou-esbanja/" rel="alternate" type="text/html"/><published>2025-03-28T08:49:00Z</published><updated>2025-12-30T02:17:54Z</updated><category term="blogging"/><category term="politics"/><summary type="text">Desde que Rosângela Lula da Silva assumiu o posto temporário de primeira-dama do Brasil, seu nome nunca deixou de estar em evidência. Para o público, ela é apenas &amp;ldquo;Janja&amp;rdquo; - um apelido que sugere intimidade e proximidade, mas que, paradoxalmente, contrasta com a postura distanciada e, em muitos momentos, arrogante, que ela demonstra em relação às críticas que recebe desde que seu marido - que numa controversa decisão jurídica teve suas condenações anuladas - disputou e venceu as eleições de 2022 para Presidente do Brasil. Desde o início do governo, sua presença tem sido marcada por polêmicas que giram em torno do uso indiscriminado de dinheiro público para custear seus caprichos pessoais e suas ambições de protagonismo, como se o cargo de primeira-dama lhe conferisse um passe livre para esbanjar sem prestar satisfações.</summary><content type="html">&lt;p&gt;Desde que Rosângela Lula da Silva assumiu o posto temporário de primeira-dama do Brasil, seu nome nunca deixou de estar em evidência. Para o público, ela é apenas &amp;ldquo;Janja&amp;rdquo; - um apelido que sugere intimidade e proximidade, mas que, paradoxalmente, contrasta com a postura distanciada e, em muitos momentos, arrogante, que ela demonstra em relação às críticas que recebe desde que seu marido - que numa controversa decisão jurídica teve suas condenações anuladas - disputou e venceu as eleições de 2022 para Presidente do Brasil. Desde o início do governo, sua presença tem sido marcada por polêmicas que giram em torno do uso indiscriminado de dinheiro público para custear seus caprichos pessoais e suas ambições de protagonismo, como se o cargo de primeira-dama lhe conferisse um passe livre para esbanjar sem prestar satisfações.&lt;/p&gt;
&lt;p&gt;Um exemplo emblemático dessa postura foi o evento apelidado popularmente de &amp;ldquo;Janjapalooza&amp;rdquo;, uma festa que ultrapassou qualquer limite razoável de bom senso e responsabilidade fiscal. Em um país em que milhões de pessoas enfrentam dificuldades econômicas, é no mínimo desrespeitoso assistir a uma primeira-dama promover um evento de proporções exageradas, financiado com recursos que deveriam ter um destino mais digno. Não há como justificar tamanho descompasso entre o discurso de empatia e justiça social que tanto prega o governo e a prática de gastos ostensivos com eventos privados e viagens que, muitas vezes, carecem de qualquer justificativa plausível em termos de interesse público.&lt;/p&gt;
&lt;p&gt;As viagens de Janja são outro capítulo à parte nesse enredo de excessos. Com uma agenda que frequentemente parece mais voltada para o turismo de luxo do que ao cumprimento de obrigações institucionais, a primeira-dama atravessa continentes enquanto o cidadão comum mal consegue arcar com os custos básicos do dia a dia. A questão que fica é: até que ponto essas viagens são realmente necessárias? Quantas delas são, de fato, imprescindíveis para a representação do Brasil, e quantas servem apenas para alimentar um ego sedento por visibilidade? É inevitável que a opinião pública questione o peso desses deslocamentos para os cofres públicos, especialmente quando as prioridades reais do país permanecem negligenciadas.&lt;/p&gt;
&lt;p&gt;O que mais incomoda, no entanto, não são apenas os gastos excessivos em si, mas a maneira como Janja reage às críticas. Sempre que questionada sobre os custos de suas festas, viagens ou qualquer outra extravagância, ela recorre ao argumento - que aqui soa como um escudo conveniente - do machismo. É evidente que existem resquícios de discriminação por sexo na sociedade, mas isso está muito longe do que a mídia e a militância tentam fazer parecer. Com isso, consegue-se banalizar essa questão transformando-a em uma cortina de fumaça para desviar de críticas legítimas e necessárias. Apontar os gastos excessivos de uma figura pública - que, no caso de Janja, não exerce nenhum cargo público - não é uma questão de gênero; é uma questão de responsabilidade e transparência.&lt;/p&gt;
&lt;p&gt;Utilizar o machismo como muleta para escapar de questionamentos sérios é, em essência, um ato de covardia. Em vez de responder de maneira objetiva e clara, apresentando justificativas concretas para seus gastos, Janja opta por desviar o foco, acusando seus detratores de agirem com base em preconceito de gênero. Isso não apenas enfraquece a discussão sobre igualdade, como também subestima a inteligência do cidadão que tem o direito de saber como seu dinheiro é empregado. A crítica é a essência da democracia, e figuras públicas devem estar preparadas para lidar com ela de forma madura e responsável.&lt;/p&gt;
&lt;p&gt;Não se trata de implicância pessoal ou de querer limitar o papel de uma primeira-dama a uma figura decorativa e silenciada. O que se espera de alguém em uma posição de visibilidade é respeito ao papel que exerce, compromisso com o interesse público e, sobretudo, responsabilidade no uso dos recursos que pertencem a toda a população. Quando essas expectativas são frustradas, a crítica é não apenas natural, mas fundamental para a saúde da democracia. Fugir dela sob o pretexto de machismo não é apenas desonesto, é também um desserviço a todas as mulheres que realmente enfrentam dificuldades em suas vidas cotidianas.&lt;/p&gt;
&lt;p&gt;É também importante destacar que a postura de Janja contrasta fortemente com a de outras primeiras-damas que a antecederam. Enquanto algumas adotaram um papel discreto e focado em causas sociais, ela parece empenhada em transformar sua posição em um palco pessoal, no qual as necessidades do país ficam em segundo plano diante de seu desejo de protagonismo. A insistência dela em se posicionar como uma figura central dentro do governo reforça a percepção de que, para ela, ser primeira-dama é mais uma oportunidade de autopromoção do que um compromisso real com o bem-estar coletivo.&lt;/p&gt;
&lt;p&gt;Por fim, é inevitável refletir sobre o impacto que essa conduta tem na imagem do governo como um todo, em que até mesmo políticos do mesmo espectro questionam esses desatinos. Em um momento em que a sociedade clama por maior transparência, eficiência e responsabilidade fiscal, comportamentos como os de Janja enfraquecem o discurso oficial e aumentam a desconfiança em relação à gestão pública. Nenhum governo está imune a críticas, mas a maneira como lida com elas revela muito sobre seu compromisso com a democracia e com a população. No caso da primeira-dama, a escolha por se vitimizar em vez de responder com transparência é um sinal claro de que algo está errado.&lt;/p&gt;
&lt;p&gt;Em uma democracia madura, o debate aberto e honesto é essencial. Questionar o uso de recursos públicos não é machismo; é cidadania. Exigir responsabilidade de quem ocupa cargos de destaque não é perseguição; é um direito fundamental. Até que Janja compreenda isso e mude sua postura, continuará a ser alvo de críticas – e com razão. Afinal, estamos todos cansados de tanto espetáculo.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/d572acec-04e0-4ba0-82d4-b28653f64a46.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gastos da Primeira-Dama até a data deste post. Imagem retirada do site&lt;/strong&gt; &lt;a href="https://www.janjometro.com/"&gt;&lt;strong&gt;Janjômetro&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Janja+ou+Esbanja&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fjanja-ou-esbanja%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/between-two-languages/</id><title>Between Two Languages</title><link href="https://afranca.com.br/between-two-languages/" rel="alternate" type="text/html"/><published>2025-03-27T11:16:00Z</published><updated>2025-12-08T15:00:00Z</updated><category term="blogging"/><summary type="text">Since I created this blog, I have primarily written in English because of the broader reach it provides. English opens the door to a global audience, allowing my ideas to be shared and discovered by people from different countries and backgrounds. Also, the internet is dominated by English content, and writing in this language has always seemed like the most effective way to connect with a larger readership. Yet, despite the advantages, I often find myself wondering if I should write more in Portuguese. It is my native language, after all, and there is something deeply personal and authentic about expressing myself in the language I grew up speaking.</summary><content type="html">&lt;p&gt;Since I created this blog, I have primarily written in English because of the broader reach it provides. English opens the door to a global audience, allowing my ideas to be shared and discovered by people from different countries and backgrounds. Also, the internet is dominated by English content, and writing in this language has always seemed like the most effective way to connect with a larger readership. Yet, despite the advantages, I often find myself wondering if I should write more in Portuguese. It is my native language, after all, and there is something deeply personal and authentic about expressing myself in the language I grew up speaking.&lt;/p&gt;
&lt;p&gt;The decision to write in English came naturally at first. I wanted my blog to reach as many people as possible. The truth is that if I had started writing solely in Portuguese, my audience would have been far more limited. Few Brazilians read content in English, and even fewer read blogs in Portuguese, and I knew that choosing to write in a globally dominant language would increase my visibility. I&amp;rsquo;ve had readers from countries I never imagined reaching, and the feedback I receive often reaffirms my choice. But lately, I cannot shake the feeling that by focusing exclusively on English, I&amp;rsquo;m neglecting a part of myself and a part of Brazilians who share my language or some of my cultural experiences.&lt;/p&gt;
&lt;p&gt;There is a unique intimacy in writing in your native language that is hard to replicate in a second language. While I&amp;rsquo;m quite comfortable expressing myself in English (even though I still make some mistakes), there are nuances and emotional layers that only Portuguese seems to capture. Certain phrases and cultural references lose their richness when translated. I often find myself holding back or simplifying my ideas to ensure they are accessible to non-native speakers. This compromise feels like a subtle erasure of my voice, as though I&amp;rsquo;m filtering my thoughts through a linguistic lens that does not fully reflect who I am.&lt;/p&gt;
&lt;p&gt;I also think about the potential readers I&amp;rsquo;m leaving behind. Most people in Brazil do not speak basic English, and by choosing to write in a foreign language, I&amp;rsquo;m excluding them from the conversation. This feels especially ironic given that the experiences and reflections I share are often rooted in my identity as a Brazilian. Why am I addressing a global audience while ignoring the people who might relate to things I&amp;rsquo;d like to say the most? There is a certain sadness in realizing that some of the people closest to me - friends, family members, or fellow Brazilians - cannot engage with my writing because of a language barrier I have imposed.&lt;/p&gt;
&lt;p&gt;Yet, there are practical challenges to writing in both languages. Implementing i18n (internationalization) on my blog is an obvious solution, but it is not one I&amp;rsquo;m willing to pursue. The technical side of maintaining a bilingual site is, although technically easy, time-consuming and, frankly, not where I want to direct my energy. My primary goal here has always been to write more, not to get bogged down in the mechanics of website configuration. Every minute spent tweaking code or troubleshooting translations is a minute not spent writing something or with my family. For someone already balancing limited time, this added complexity feels more like a burden, if you know what I&amp;rsquo;m saying.&lt;/p&gt;
&lt;p&gt;At the same time, writing in both languages without a formal i18n setup feels messy and disorganized. I think readers would find it confusing to navigate a site where some posts are in English and others in Portuguese. Consistency matters to me, not just in the quality of my writing, but in the user experience. And yet, I keep circling back to the question: Is the trade-off worth it if it means I can better connect my thoughts with my Portuguese-speaking audience?&lt;/p&gt;
&lt;p&gt;Another factor I cannot ignore is the nature of online visibility. English content has a higher chance of being discovered, especially through social sharing. Writing exclusively in Portuguese might create a more inclusive space for Brazilian readers, but it risks shrinking my audience significantly. And while I don&amp;rsquo;t write solely for external validation, knowing that my posts are being read and appreciated gives me the motivation to keep this site going.&lt;/p&gt;
&lt;p&gt;Despite these concerns, there are moments when I feel like a &amp;ldquo;pull&amp;rdquo; to write in Portuguese. There is an ease and freedom that comes from writing in the language where my thoughts usually first take shape. I can be more playful with my words, more precise in my meanings, and more vulnerable in my reflections. It feels like coming home.&lt;/p&gt;
&lt;p&gt;For me, the solution lies somewhere in the middle. Without overcomplicating my workflow, I will dedicate specific posts/notes to each language depending on the topic, complexity of what I&amp;rsquo;d like to express, or when the mood strikes - similar to what people already see on this site, but more often. I don&amp;rsquo;t want to overthink it or make it a rigid policy. Some reflections certainly resonate more with a Brazilian readership, while others are better suited for a global audience. This approach allows me to engage with everyone without fully committing to the technical aspect of a bilingual site.&lt;/p&gt;
&lt;p&gt;Ultimately, my dilemma is about more than language. I write to express myself, and I try to be authentic as much as I can. At the end of the day, my goal is simple: to keep writing. Whether in English or Portuguese, what matters most is that I continue to share my thoughts in the most meaningful way I can. Language is just the vehicle.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Between+Two+Languages&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fbetween-two-languages%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/disappointment-with-samsung/</id><title>Disappointment with Samsung</title><link href="https://afranca.com.br/disappointment-with-samsung/" rel="alternate" type="text/html"/><published>2025-03-27T10:02:00Z</published><updated>2025-12-08T15:00:23Z</updated><category term="android"/><category term="mobile"/><category term="technology"/><category term="security"/><category term="samsung"/><category term="privacy"/><summary type="text">Samsung, a global leader in the technology industry, is often recognized for its cutting-edge devices and innovative features rivaling Apple. From their flagship smartphones to smart home appliances, the brand has built a reputation as a powerhouse in the electronics market worldwide. Yet, despite their impressive hardware capabilities, there is one area where Samsung consistently lets users (including me) down: the delivery of timely software updates and the persistent, unavoidable issue of bloatware. As someone who relies heavily on my devices to stay connected and productive, these shortcomings have become a constant source of frustration.</summary><content type="html">&lt;p&gt;Samsung, a global leader in the technology industry, is often recognized for its cutting-edge devices and innovative features rivaling Apple. From their flagship smartphones to smart home appliances, the brand has built a reputation as a powerhouse in the electronics market worldwide. Yet, despite their impressive hardware capabilities, there is one area where Samsung consistently lets users (including me) down: the delivery of timely software updates and the persistent, unavoidable issue of bloatware. As someone who relies heavily on my devices to stay connected and productive, these shortcomings have become a constant source of frustration.&lt;/p&gt;
&lt;p&gt;What makes it worse is that I switched from an iPhone to Samsung a year or so ago, believing in the company&amp;rsquo;s promises of better customization, cutting-edge technology, and user-centric innovation. I was excited about the freedom that Android supposedly offered - an open ecosystem where I could personalize my experience, the opposite of Apple&amp;rsquo;s iOS. Samsung&amp;rsquo;s marketing made it sound like I would be stepping into a world of better control and innovation, similar to what&amp;rsquo;s offered on Google Pixel devices. But the reality has fallen far short of those promises. Instead of the seamless experience I hoped for, I find myself drowning in delayed updates and an overload of pre-installed apps I neither want nor need.&lt;/p&gt;
&lt;p&gt;Waiting for essential Android updates as a Samsung user is like being stuck in an endless loop of anticipation and disappointment. Every time Google announces a new Android version, I get excited about the fresh features, especially security enhancements. But that excitement fades quickly as the weeks (usually months) drag on without an update in sight. Meanwhile, iPhone users receive their updates almost immediately as soon as it&amp;rsquo;s released. It&amp;rsquo;s perplexing to me that a company with Samsung&amp;rsquo;s resources and technological prowess cannot manage a more efficient update cycle.&lt;/p&gt;
&lt;p&gt;The delays stem largely from Samsung&amp;rsquo;s insistence on layering their proprietary One UI skin over Android. While I can appreciate some of the customization options One UI offers, it also means that every Android update requires extensive testing and tweaking before it&amp;rsquo;s rolled out to users. This drawn-out process results in staggered and unpredictable updates, especially for those with mid-range or older devices. Even if you own a flagship model, like the S24 Ultra that I bought last year, you still don&amp;rsquo;t get software updates within a reasonable timeframe. If you have an older phone, you are even more left behind, vulnerable to security risks and unable to access the latest Android innovations. It feels as though Samsung prioritizes newer devices while the rest of us feel treated as an afterthought.&lt;/p&gt;
&lt;p&gt;The consequences of these delayed updates are more than just an inconvenience. Security vulnerabilities are one of my biggest concerns. Without regular patches, my device is at greater risk of malware and cyberattacks. In today’s world, where personal data is constantly under threat, I shouldn&amp;rsquo;t have to worry that my phone is months behind on crucial security fixes. On top of that, outdated software means missing out on new features and performance enhancements that could make my phone run smoother and more efficiently. It&amp;rsquo;s frustrating to know that my device is technically capable of doing more but but is held back by Samsung&amp;rsquo;s sluggish update process.&lt;/p&gt;
&lt;p&gt;Beyond the issue of slow updates, Samsung&amp;rsquo;s relentless push of bloatware is equally maddening. When I buy a new phone, I expect a device that I can customize to fit my needs, not one crammed with redundant and unwanted apps (Apple does the same, however I can at least remove apps that don&amp;rsquo;t affect functionality). Yet every Samsung device comes preloaded with an absurd amount of bloatware. There are two web browsers (Samsung Internet and Google Chrome), two app stores (Galaxy Store and Google Play), and an entire suite of proprietary apps I never asked for. Worse still, many of these apps cannot be uninstalled. They take up precious storage space and often run in the background, draining battery life and affecting performance. It feels intrusive, as if Samsung thinks they know better than I do about what I want on my phone.&lt;/p&gt;
&lt;p&gt;What bothers me most is the lack of choice. I understand that some users might find value in Samsung&amp;rsquo;s extra apps, but why not make them optional? Give me the ability to uninstall or at least disable them fully. I want to decide which apps I use, not have them forced upon me. This lack of control over my own device only amplifies my dissatisfaction with the brand.&lt;/p&gt;
&lt;p&gt;What I crave is the option to install a clean, unmodified version of Android — a &amp;ldquo;pure Android&amp;rdquo; experience. Stock Android is sleek, fast, and efficient. Devices running stock Android receive faster updates because manufacturers do not have to spend months adapting the software. Plus, it usually offers better performance and more control. Even from a privacy standpoint, stock Android is preferable, as it limits the number of services tracking my behavior (although it seems like fewer people care about privacy nowadays).&lt;/p&gt;
&lt;p&gt;It doesn&amp;rsquo;t seem like too much to ask for a company as large as Samsung to provide these options. Additionally, being more transparent about the update process would help manage expectations. If I know when to expect the next security patch or Android version, I might feel less like I am in the dark and more like a valued customer.&lt;/p&gt;
&lt;p&gt;At this point, I wonder if I should consider alternatives. Samsung has the means to improve the user experience dramatically if they choose to prioritize it.&lt;/p&gt;
&lt;p&gt;Samsung&amp;rsquo;s hardware is undeniably great, but hardware alone is not enough. The long waits for Android updates, combined with the frustrating presence of unremovable bloatware, make me feel as though my preferences and time do not matter. As consumers, we deserve better. Until Samsung takes these concerns seriously, I think everyone will remain disappointed.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Disappointment+with+Samsung&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fdisappointment-with-samsung%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/snow-white-review/</id><title>Snow White Review</title><link href="https://afranca.com.br/snow-white-review/" rel="alternate" type="text/html"/><published>2025-03-26T17:57:00Z</published><updated>2025-12-08T15:00:50Z</updated><category term="movie review"/><category term="blogging"/><category term="entertainment"/><summary type="text">This is my first movie review, and it comes with lots of controversies.</summary><content type="html">&lt;p&gt;This is my first movie review, and it comes with lots of controversies.&lt;/p&gt;
&lt;p&gt;This weekend, with a mix of nostalgia, my wife, our kid, and I decided to watch the latest adaptation of &lt;em&gt;Snow White&lt;/em&gt;. As someone who grew up surrounded by Disney classics, I was curious to revisit the timeless tale of the princess and the seven dwarfs. However, what unfolded on the screen was not the story I remembered. Instead, it was a misguided attempt to modernize (again) a beloved fairy tale, so drenched in political correctness that it lost the magic and charm that once defined it.&lt;/p&gt;
&lt;p&gt;Even before the film&amp;rsquo;s release, controversy swirled around Disney&amp;rsquo;s decisions. One of the most discussed choices was the casting of Rachel Zegler as Snow White. While Zegler appears talented, the decision to cast someone for a character explicitly described by the Brothers Grimm as having skin &amp;ldquo;white as snow&amp;rdquo; raised eyebrows. This change, though well-intentioned - giving them the benefit of the doubt -, felt like an arbitrary attempt to check a diversity box rather than a thoughtful casting decision rooted in the story’s lore. While representation is important, it should not come at the expense of the narrative’s integrity.&lt;/p&gt;
&lt;p&gt;The controversy didn&amp;rsquo;t stop at the casting. Disney also chose to eliminate the seven dwarfs, replacing them with a diverse group of weird magical companions. This decision was made to avoid perpetuating stereotypes about people with dwarfism. While sensitivity toward marginalized communities is commendable when it makes sense, erasing iconic characters undermines the source material and alienates fans who cherished the unique personalities of Doc, Grumpy, and their companions. By attempting to sanitize the story, the film lost one of its most essential elements.&lt;/p&gt;
&lt;p&gt;Moreover, the character of Snow White herself underwent a drastic transformation. Gone is the gentle, kind-hearted princess who found joy in caring for others. In her place, we meet a headstrong, independent leader who is more interested in ruling the kingdom than finding love. While strong female characters are great and welcome not only in modern cinema but in our society, this reimagining strips Snow White of the qualities that made her beloved. The original Snow White&amp;rsquo;s kindness and innocence were not signs of weakness but strength. This new version, however, seems to reject any notion of vulnerability in favor of a one-dimensional display of empowerment.&lt;/p&gt;
&lt;p&gt;Critics across the web have echoed these concerns. In a piece from &lt;em&gt;The Rolling Stone&lt;/em&gt;, the writer noted how Disney’s attempt to reshape the narrative into a modern feminist allegory feels &amp;lsquo;forced and uninspired,&amp;rsquo; while &lt;em&gt;The New York Post&lt;/em&gt; similarly criticized the film for &amp;ldquo;sacrificing storytelling on the altar of political correctness,&amp;rdquo; highlighting how these changes dilute the emotional depth of the original fairy tale.&lt;/p&gt;
&lt;p&gt;One of the most outrageous changes is the film’s treatment of the classic romance. The original tale revolves around the prince awakening Snow White from an enchanted sleep with true love’s kiss - a motif that has become synonymous with fairy tales themselves. In this new adaptation, the romantic subplot is downplayed to the point of irrelevance. Snow White no longer seeks or needs romantic love, a decision that feels less like a fresh perspective and more like an overcorrection. Fairy tales are, at their heart, stories of love, wonder, and transformation. By stripping away these elements, Disney delivers a film devoid of emotional resonance.&lt;/p&gt;
&lt;p&gt;Another issue lies in the Evil Queen, arguably one of Disney’s most iconic villains, who also suffers under this new vision. Portrayed by Gal Gadot, the character loses much of her terrifying allure. In the original, the Queen’s obsessive vanity and descent into madness made her a compelling antagonist. In this version, she is reduced to a caricature of a power-hungry ruler, lacking the psychological depth that made her so frightening. Instead of evoking fear, this new Queen feels like a watered-down imitation, further undercutting the story’s dramatic stakes.&lt;/p&gt;
&lt;p&gt;As we left the theater, I couldn&amp;rsquo;t help but reflect on how drastically Disney has deviated from the core of its storytelling legacy. Classic fairy tales have endured for centuries because they speak to universal truths: love conquers all, kindness is a strength, and good ultimately triumphs over evil. These stories resonate because of their timelessness. In its effort to cater to modern sensibilities, Disney has sacrificed the heart and soul of &lt;em&gt;Snow White&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Perhaps, the most frustrating aspect is the missed opportunity for a nuanced modernization. Updating fairy tales for contemporary audiences is not inherently a bad thing. For example, 2015’s &lt;em&gt;Cinderella&lt;/em&gt;, directed by Kenneth Branagh, managed to introduce its heroine with intelligence while preserving the core themes of kindness and forgiveness. Similarly, 2017’s &lt;em&gt;Beauty and the Beast&lt;/em&gt; expanded Belle’s character without stripping away the enchantment of the original. This &lt;em&gt;Snow White&lt;/em&gt;, however, fails to strike that balance. It replaces timeless magic with a checklist of modern tropes, leaving behind a hollow shell of what could have been a beautiful retelling.&lt;/p&gt;
&lt;p&gt;Beyond the narrative missteps, there is also a larger cultural conversation at play. Disney’s commitment to political correctness seems to stem from a fear of backlash rather than a genuine desire to tell richer, more inclusive stories. This defensive posture resulted in a film that felt sanitized and, ironically, less inclusive because it failed to capture the full spectrum of human experience. True inclusivity does not require erasing the past; it requires embracing and expanding upon it in thoughtful, creative ways.&lt;/p&gt;
&lt;p&gt;Audiences seem to agree. Early reviews and audience reactions have been overwhelmingly negative, with many considering the film as &amp;ldquo;soulless&amp;rdquo; and &amp;ldquo;unnecessary.&amp;rdquo; On YouTube, the trailer for the film faced an avalanche of dislikes, reflecting a growing discontent among viewers who feel alienated by Disney’s heavy-handed approach. Even casual moviegoers have expressed frustration on social media, lamenting the loss of the magic they once associated with Disney fairy tales.&lt;/p&gt;
&lt;p&gt;What is particularly disappointing is that the core of &lt;em&gt;Snow White&lt;/em&gt; is a deeply human story. At its heart, it is a tale about envy, innocence, and the transformative power of love. The 1937 film captured these themes with elegance and heart. In contrast, this new adaptation feels like a lecture rather than a story, prioritizing messaging over genuine emotion.&lt;/p&gt;
&lt;p&gt;By the time the credits rolled, I was left wondering: Who is this movie for? It fails to satisfy fans of the original while offering little to engage new audiences. Children, the primary demographic for Disney films, are unlikely to connect with the joyless tone and lifeless characters. Meanwhile, adults who cherished the original are left with a bitter reminder of how corporate agendas can drain the soul from beloved stories.&lt;/p&gt;
&lt;p&gt;In conclusion, the new &lt;em&gt;Snow White&lt;/em&gt; is a cautionary tale in its own right. It exemplifies the dangers of prioritizing political correctness over storytelling. While there is merit in striving for inclusivity and modern relevance, these goals should never come at the expense of narrative integrity and emotional authenticity. I would say that fairy tales endure because they speak to something fundamental about the human condition. When we strip them of their magic, we lose more than just a story, we lose a piece of our cultural imagination. Sadly, Disney’s &lt;em&gt;Snow White&lt;/em&gt; is a pale imitation of the classic, a reminder that not all reimaginings are worth the price of admission.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Snow+White+Review&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fsnow-white-review%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/i-hate-the-fifa-international-break/</id><title>I Hate the FIFA International Break</title><link href="https://afranca.com.br/i-hate-the-fifa-international-break/" rel="alternate" type="text/html"/><published>2025-03-26T16:00:00Z</published><updated>2025-12-08T15:01:31Z</updated><category term="sports"/><category term="blogging"/><summary type="text">For football fans worldwide, the FIFA international break is a persistent source of frustration. Just as domestic leagues gather momentum, these breaks interrupt the season by pulling players away from their clubs and leaving fans without matches from their favorite teams. Beyond the surface-level inconvenience, the FIFA international break causes serious issues for club soccer, including scheduling disruptions, increased player injuries, and a lack of accountability from governing bodies. The negative impact of these breaks reflect deeper problems in the relationship between clubs and FIFA, highlighting an imbalance of power and a pressing need for reform.</summary><content type="html">&lt;p&gt;For football fans worldwide, the FIFA international break is a persistent source of frustration. Just as domestic leagues gather momentum, these breaks interrupt the season by pulling players away from their clubs and leaving fans without matches from their favorite teams. Beyond the surface-level inconvenience, the FIFA international break causes serious issues for club soccer, including scheduling disruptions, increased player injuries, and a lack of accountability from governing bodies. The negative impact of these breaks reflect deeper problems in the relationship between clubs and FIFA, highlighting an imbalance of power and a pressing need for reform.&lt;/p&gt;
&lt;p&gt;One of the most immediate effects of the FIFA international break is the disruption it causes to club soccer schedules. Domestic competitions, which thrive on a consistent rhythm, are repeatedly interrupted as players leave for international duty. This interference breaks the flow of the season and affects team performance. Clubs on a winning streak may lose momentum during the break, returning disjointed and fatigued. The disruption undermines competitive consistency and increases the likelihood of poor performances upon resumption.&lt;/p&gt;
&lt;p&gt;Fixture congestion is another significant consequence. With multiple breaks scattered throughout the season, domestic leagues must compress their schedules to accommodate these interruptions. In Brazil, for instance, top clubs can play more than 70 matches per season, leading to an exhausting sequence of midweek fixtures. This intense schedule heightens the risk of player burnout and injury, as there is insufficient time for recovery between matches. Furthermore, clubs with a large number of international players face greater disruption than those with fewer call-ups, creating an uneven playing field. While some teams return from the break weakened, others remain unaffected, directly impacting league standings and title races.&lt;/p&gt;
&lt;p&gt;The break also hinders tactical preparation. Managers are left without key players during crucial training periods, and when these players return—often just days before an important match—there is limited time to reintegrate them into the team structure. This lack of preparation compromises tactical consistency and makes it difficult for clubs to maintain peak performance levels. Despite these problems, FIFA and regional confederations have shown little willingness to adjust the international calendar to better accommodate the needs of club soccer.&lt;/p&gt;
&lt;p&gt;Another major consequence of the FIFA international break is the increased risk of player injuries. The combination of domestic and international commitments places an unsustainable physical burden on players, leading to a higher likelihood of acute injuries and long-term health issues. Players returning from international duty often endure long flights across multiple time zones, reducing their recovery time and increasing the chances of muscle strains and other injuries. National teams also frequently lack the advanced medical care available at elite clubs, further elevating the risk of misdiagnosis and improper treatment.&lt;/p&gt;
&lt;p&gt;Despite the clear risks, FIFA shows limited accountability when players are injured during international duty. Clubs bear the financial and competitive burden of these injuries, even though the decisions leading to them are out of their control. While FIFA&amp;rsquo;s Club Protection Program offers some compensation, it is often insufficient to cover the full cost of lost wages and medical expenses. Moreover, FIFA regulations mandate that clubs release their players for international duty, even when those players are recovering from injury. National teams sometimes pressure injured players to participate, often disregarding their long-term health and well-being.&lt;/p&gt;
&lt;p&gt;The reason clubs continue to comply with these disruptive breaks lies in the power dynamics of global soccer governance. FIFA holds a regulatory monopoly over international soccer, controlling participation in prestigious tournaments like the World Cup. This power dynamic forces clubs to adhere to FIFA&amp;rsquo;s regulations or risk exclusion from these high-profile competitions. Smaller clubs, in particular, are vulnerable because they depend on the financial benefits of international exposure. When their players perform well on the global stage, it raises their market value and enhances the club&amp;rsquo;s profile. Even wealthier clubs face limitations, as the legal framework established by FIFA enforces the mandatory release of players for international duty, leaving clubs with little ability to protect their own interests.&lt;/p&gt;
&lt;p&gt;Addressing these problems requires comprehensive reform of the international soccer calendar. One effective solution would be to consolidate international breaks into fewer, longer periods. This change would reduce the frequency of disruptions while still allowing national teams adequate time for preparation and competition. Increasing compensation for clubs is another necessary measure. Expanding the FIFA Club Protection Program to fully cover injury-related costs, including player wages and medical expenses, would relieve the financial burden on clubs when their players are injured while representing their national teams.&lt;/p&gt;
&lt;p&gt;Granting clubs greater autonomy over player call-ups is also crucial. Clubs should have the right to refuse call-ups for players, especially those recovering from injury, without facing sanctions. This policy would prioritize player welfare and prevent athletes from being forced into physically risky situations. Additionally, fostering greater collaboration between FIFA, confederations, and clubs could lead to more balanced governance. Initiatives like the World Leagues Forum represent a promising step toward increasing club representation in decision-making processes and ensuring that the interests of all stakeholders are fairly considered.&lt;/p&gt;
&lt;p&gt;Standardizing medical care across club and international soccer would further protect players. Implementing universal medical protocols would ensure consistent, high-quality treatment, regardless of the team a player represents. This reform would help prevent misdiagnoses and ensure that injured players receive the care they need to recover fully before returning to competition.&lt;/p&gt;
&lt;p&gt;The FIFA international break is a flawed system that prioritizes the interests of governing bodies over those of clubs, players and fans. That&amp;rsquo;s why I hate it!&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+I+Hate+the+FIFA+International+Break&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fi-hate-the-fifa-international-break%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/devemos-punir-clubes-por-atos-isolados-de-torcedores/</id><title>Devemos Punir Clubes Por Atos Isolados de Torcedores?</title><link href="https://afranca.com.br/devemos-punir-clubes-por-atos-isolados-de-torcedores/" rel="alternate" type="text/html"/><published>2025-03-22T16:04:00Z</published><updated>2025-12-08T15:02:18Z</updated><category term="sports"/><category term="blogging"/><category term="politics"/><summary type="text">O desejo de escrever este texto surgiu do recente episódio envolvendo o atleta Luighi, jogador do Palmeiras sub-20, durante a Copa Libertadores. Por ser um tema sensível, preferi escrevê-lo na minha língua natal, evitando incorrer interpretações errôneas.</summary><content type="html">&lt;p&gt;O desejo de escrever este texto surgiu do recente episódio envolvendo o atleta Luighi, jogador do Palmeiras sub-20, durante a Copa Libertadores. Por ser um tema sensível, preferi escrevê-lo na minha língua natal, evitando incorrer interpretações errôneas.&lt;/p&gt;
&lt;p&gt;O caso ganhou grande repercussão após a presidente do clube, Leila Pereira, magnata do setor financeiro, de maneira oportunista, ao meu ver, sugerir a desfiliação da Conmebol, além de reivindicar punições mais severas contra o clube rival, Cerro Porteño do Paraguai. Esse caso reascendeu o debate sobre a validade de penalizar clubes por atos isolados de seus torcedores, tema que merece uma análise aprofundada. Embora a luta contra o racismo seja um objetivo louvável, responsabilizar uma instituição por atitudes individuais levanta uma série de questionamentos sobre justiça, proporcionalidade e o verdadeiro alcance dessas medidas.&lt;/p&gt;
&lt;p&gt;Em primeiro lugar, é importante compreender que um clube esportivo não tem controle total sobre a conduta de todos os seus torcedores. Ainda que campanhas de conscientização possam ser realizadas, a ação de um ou alguns indivíduos não reflete, necessariamente, os valores defendidos pela entidade. Punições como perda de pontos, jogos com portões fechados ou multas financeiras acabam penalizando milhares de torcedores inocentes e os próprios jogadores, que não têm participação direta na ofensa.&lt;/p&gt;
&lt;p&gt;Outro aspecto a ser considerado é a mudança de percepção entre gerações. Pessoas de 30, 40, 50 anos ou mais cresceram em um contexto em que a resiliência e a capacidade de lidar com ofensas eram vistas como parte da maturidade emocional. Em contrapartida, a geração mais jovem vive em uma era onde qualquer forma de discurso considerado ofensivo é amplamente condenada, o que gera uma baixa tolerância a críticas e provocações. Essa fragilidade emocional é intensificada pelas redes sociais, onde cada ofensa ganha proporções globais e gera reações imediatas e inflamadas.&lt;/p&gt;
&lt;p&gt;No Brasil, essa sensibilidade exacerbada com questões raciais se destaca ainda mais em comparação com países vizinhos, onde a abordagem costuma ser mais branda. Enquanto problemas estruturais graves, como pobreza, corrupção e violência, continuam a afetar milhões de brasileiros, o debate racial muitas vezes se transforma em uma tempestade em copo d&amp;rsquo;água, desviando o foco para questões menos urgentes. Por outro lado, na Argentina, no Uruguai ou na Colômbia, a sociedade em geral encara esses episódios com menos radicalismo, inclusive no âmbito das leis, tratando-os como casos isolados e evitando generalizações que prejudiquem coletividades inteiras.&lt;/p&gt;
&lt;p&gt;Um exemplo emblemático desse debate é o caso de Vinícius Jr., jogador do Real Madrid. Apesar de não ser o único atleta negro no time, ele é o principal alvo de ofensas racistas em estádios espanhóis. Uma questão pertinente é por que outros jogadores negros do elenco não recebem o mesmo tipo de tratamento. Um fator que não pode ser ignorado é o comportamento provocativo de Vinícius dentro e fora de campo. Suas comemorações exuberantes, desrespeito à equipe de arbitragem, ofensas aos seus colegas de profissão e suas reações às críticas acabam inflamando ainda mais as torcidas adversárias. Isso não justifica, de forma alguma, as ofensas racistas, mas ajuda a explicar por que ele se tornou um alvo preferencial.&lt;/p&gt;
&lt;p&gt;Em resumo, punir clubes esportivamente por atos isolados de torcedores é uma medida que fere o princípio da individualização da responsabilidade. Além disso, é essencial considerar as diferenças geracionais na forma como as ofensas são encaradas e refletir se o Brasil não está superdimensionando questões raciais em detrimento de problemas sociais mais graves. O caso de Vinícius Jr. evidencia como comportamentos individuais podem intensificar reações hostis, ainda que nada justifique atos de racismo. Um debate mais equilibrado e racional sobre o tema é fundamental para que a busca por justiça não acabe gerando mais injustiças.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Devemos+Punir+Clubes+Por+Atos+Isolados+de+Torcedores%3F&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fdevemos-punir-clubes-por-atos-isolados-de-torcedores%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/the-brazilian-supreme-court-a-threat-to-freedom-and-justice/</id><title>The Brazilian Supreme Court: A Threat to Freedom and Justice</title><link href="https://afranca.com.br/the-brazilian-supreme-court-a-threat-to-freedom-and-justice/" rel="alternate" type="text/html"/><published>2025-03-22T11:17:00Z</published><updated>2025-12-08T15:02:50Z</updated><category term="politics"/><category term="blogging"/><summary type="text">In Brazil, the Supreme Federal Court (STF) has increasingly become a source of concern for the protection of fundamental rights, particularly freedom of expression and legal certainty. The Court&amp;rsquo;s actions, particularly under the leadership of some of its ministers, have raised alarm over the erosion of constitutional guarantees and the growing insecurity in the legal system. Many of these actions not only jeopardize individual freedoms but also amplify the perception of a judicial system that is prone to political bias and arbitrary decision-making.</summary><content type="html">&lt;p&gt;In Brazil, the Supreme Federal Court (STF) has increasingly become a source of concern for the protection of fundamental rights, particularly freedom of expression and legal certainty. The Court&amp;rsquo;s actions, particularly under the leadership of some of its ministers, have raised alarm over the erosion of constitutional guarantees and the growing insecurity in the legal system. Many of these actions not only jeopardize individual freedoms but also amplify the perception of a judicial system that is prone to political bias and arbitrary decision-making.&lt;/p&gt;
&lt;p&gt;One recent example of the STF&amp;rsquo;s overreach is the case involving Minister Alexandre de Moraes, who ordered the removal of the social media platform X (formerly Twitter) from the internet for Brazillians. This extraordinary decision came after X allegedly failed to provide user data, despite the absence of any clear legal justification for such an action. The court’s intervention in this case raises serious concerns about the limits of judicial power and the dangers of a government entity arbitrarily restricting access to information. It exemplifies how the STF, with its unchecked power, can undermine the principles of free speech and transparency.&lt;/p&gt;
&lt;p&gt;Another instance of the STF&amp;rsquo;s excesses will be witnessed during the trial of former president Jair Bolsonaro in the next few days. In the aftermath of the January 8th, 2023 attacks on Brazil’s democratic institutions, Ministers Alexandre de Moraes and Flávio Dino were not only involved in the investigation but will also actively participate in the subsequent judicial proceedings. These ministers, who are themselves alleged victims of the attacks, are taking part in the decision to judge Bolsonaro’s case, thus raising serious doubts about the impartiality of the court. By involving themselves in both the investigation and the judgment, they created a dangerous conflict of interest that undermines the fairness of the entire process. The very idea that these ministers, with personal stakes in the case, are allowed to judge it reveals the extent to which the STF’s actions jeopardize legal certainty.&lt;/p&gt;
&lt;p&gt;Moreover, the Brazilian judiciary&amp;rsquo;s excessive spending has further fueled public discontent. The high salaries, lavish parties, and generous bonuses enjoyed by some of the Court&amp;rsquo;s members have contributed to an image of a bloated, self-serving institution disconnected from the realities faced by the general population. At a time when millions of Brazilians struggle with poverty, the judiciary&amp;rsquo;s excessive expenditures on luxury and perks paint a picture of the mismanagement of public funds. This opulence stands in sharp contrast to the struggles of ordinary citizens, deepening the sense of inequality and distrust in the system.&lt;/p&gt;
&lt;p&gt;Finally, it is important to note that any attempt to challenge or criticize the actions of the STF, as I&amp;rsquo;m doing right now, is met with accusations of attacking democracy. The narrative that any opposition to the Court’s decisions is tantamount to undermining Brazil’s democratic institutions has created a climate where dissent is suppressed. This environment bears an unsettling resemblance to authoritarianism, where the judiciary positions itself as an untouchable authority. Such a stance suppresses open debate and prevents any meaningful discussion on the reform or accountability of the judiciary.&lt;/p&gt;
&lt;p&gt;In conclusion, the STF’s actions have created a precarious situation for Brazil, where the rule of law and freedom of expression are increasingly under threat. The Court’s overreach, combined with the growing politicization of its decisions and the misuse of public funds, has led to a state of legal insecurity and public disillusionment. The Brazilian people deserve a judiciary that is impartial, transparent, and accountable, rather than one that acts as a power unto itself.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+The+Brazilian+Supreme+Court%3A+A+Threat+to+Freedom+and+Justice&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthe-brazilian-supreme-court-a-threat-to-freedom-and-justice%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/performative-activism-and-cancel-culture/</id><title>Performative Activism and Cancel Culture</title><link href="https://afranca.com.br/performative-activism-and-cancel-culture/" rel="alternate" type="text/html"/><published>2025-03-22T10:20:00Z</published><updated>2025-12-08T15:03:31Z</updated><category term="politics"/><category term="blogging"/><summary type="text">In recent years, performative activism and cancel culture have become dominant forces in social and political discourse, particularly in countries like Brazil. While these movements claim to advocate for justice and diversity, they often lead to serious consequences that undermine free speech, democracy, and even legal certainty.</summary><content type="html">&lt;p&gt;In recent years, performative activism and cancel culture have become dominant forces in social and political discourse, particularly in countries like Brazil. While these movements claim to advocate for justice and diversity, they often lead to serious consequences that undermine free speech, democracy, and even legal certainty.&lt;/p&gt;
&lt;p&gt;One of the main issues with performative activism—or &amp;ldquo;lacração&amp;rdquo; as it is commonly referred to in Brazil—is its tendency to prioritize emotional outrage over rational debate. Instead of engaging in meaningful discussions, many individuals and organizations opt for superficial gestures, where public displays of indignation take precedence over real solutions. This phenomenon creates a hostile environment where dissenting opinions are not only discouraged but actively punished.&lt;/p&gt;
&lt;p&gt;Cancel culture exacerbates this problem by enforcing a rigid ideological conformity. Those who express differing viewpoints, even in a respectful manner, risk facing severe social and professional consequences. The fear of being &amp;ldquo;canceled&amp;rdquo; leads to widespread self-censorship, discouraging honest discourse and the exchange of ideas. In a democratic society, the ability to debate and challenge prevailing narratives is essential for progress, yet cancel culture stifles this fundamental right.&lt;/p&gt;
&lt;p&gt;In Brazil, where political polarization is already extreme, cancel culture and performative activism contribute to an increasingly toxic climate. The so-called &amp;ldquo;mimimi&amp;rdquo; (excessive sensitivity and complaints) has made it difficult for people to engage in honest conversations without the risk of being labeled intolerant or hateful. Instead of fostering open dialogue, these movements create echo chambers where only one perspective is deemed acceptable.&lt;/p&gt;
&lt;p&gt;Another alarming aspect of this trend is the hypocrisy of many large corporations that publicly embrace performative activism merely as a marketing strategy. Many companies fear the backlash of cancel culture and adopt progressive slogans, not out of genuine concern, but to protect their bottom line. However, a growing number of businesses are beginning to abandon the so-called &amp;ldquo;woke&amp;rdquo; agenda as they realize it alienates customers and damages their reputation. Companies such as Disney and Anheuser-Busch, which faced significant consumer pushback for their highly politicized campaigns, have been gradually shifting their strategies to avoid further financial losses.&lt;/p&gt;
&lt;p&gt;In Brazil, a similar shift can be observed. Some major brands, once heavily invested in progressive marketing, have toned down their messaging in response to public dissatisfaction. Retail giants and food chains have faced backlash for aligning too closely with controversial social issues, prompting them to rethink their approach. Companies that once publicly embraced activism are now quietly distancing themselves to maintain broader consumer appeal. This demonstrates that performative activism is not only insincere but also unsustainable in the long run.&lt;/p&gt;
&lt;p&gt;Equally concerning is the role of biased media outlets and so-called journalists who act more like activists than neutral reporters. Many mainstream media organizations no longer prioritize factual reporting but instead push ideological narratives, using their platforms to attack dissenters and reinforce cancel culture. By disguising activism as journalism, they manipulate public perception and contribute to the suppression of alternative viewpoints. Instead of informing the public with balanced perspectives, these media figures engage in selective outrage, targeting individuals and businesses that do not conform to their ideological stance. This lack of journalistic integrity erodes trust in the media and further polarizes society.&lt;/p&gt;
&lt;p&gt;Perhaps even more concerning is the impact of this ideological rigidity on legal certainty. In an environment where subjective offense dictates legal consequences, the principle of free expression becomes fragile. Brazil already struggles with inconsistent judicial decisions, and the rise of cancel culture only worsens this issue. When laws are weaponized to silence individuals who do not conform to a specific ideology, good citizens face unjust persecution simply for voicing their opinions.&lt;/p&gt;
&lt;p&gt;A healthy democracy thrives on diversity of thought and the ability to question prevailing narratives without fear of social or legal repercussions. However, performative activism and cancel culture have turned ideological purity into a form of social capital, where those who challenge the dominant discourse are punished rather than heard. If Brazil—and the world—truly values freedom and progress, it must move beyond performative outrage and embrace genuine, open discussions that respect differing perspectives.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Performative+Activism+and+Cancel+Culture&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fperformative-activism-and-cancel-culture%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/childs-school-vacation/</id><title>Child's School Vacation</title><link href="https://afranca.com.br/childs-school-vacation/" rel="alternate" type="text/html"/><published>2024-12-12T07:59:00Z</published><updated>2025-12-08T12:28:31Z</updated><category term="parenting"/><category term="blogging"/><summary type="text">Here in the southern hemisphere, we&amp;rsquo;re already heading towards the worst season of all: the Summer.</summary><content type="html">&lt;p&gt;Here in the southern hemisphere, we&amp;rsquo;re already heading towards the worst season of all: the Summer.&lt;/p&gt;
&lt;p&gt;My family love this season, but I don&amp;rsquo;t cope very well with any temperature above 20ºC/68ºF. I dare say that since we moved from the US to Brazil, a snowy winter is what I miss the most. Now, it&amp;rsquo;s only during family vacations.&lt;/p&gt;
&lt;p&gt;Speaking of vacations, from next Saturday until the end of January, it will be my little one&amp;rsquo;s first school vacation, and preparations are underway for a schedule full of activities to keep him happy and, above all, occupied.&lt;/p&gt;
&lt;p&gt;Any parent who takes care of their child knows how hard it is to keep them entertained, especially away from screens.&lt;/p&gt;
&lt;p&gt;Our swimming pool is set up, we&amp;rsquo;ve bought a printer to print out activities and colouring pages, and we&amp;rsquo;ve already gotten a feel for the parks in the area so that we can take him there.&lt;/p&gt;
&lt;p&gt;Now, all I ask for is some extra energy.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Child%27s+School+Vacation&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fchilds-school-vacation%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/rodri-the-worlds-best-player-this-season/</id><title>Rodri, the World's Best Player This Season</title><link href="https://afranca.com.br/rodri-the-worlds-best-player-this-season/" rel="alternate" type="text/html"/><published>2024-12-02T15:30:00Z</published><updated>2025-12-08T12:27:52Z</updated><category term="sports"/><category term="blogging"/><summary type="text">Manchester City&amp;rsquo;s defeat to Liverpool in the 13th round of the Premier League marks a significant milestone in the Guardiola era: one of the longest, if not the longest, winless streaks for the team.</summary><content type="html">&lt;p&gt;Manchester City&amp;rsquo;s defeat to Liverpool in the 13th round of the Premier League marks a significant milestone in the Guardiola era: one of the longest, if not the longest, winless streaks for the team.&lt;/p&gt;
&lt;p&gt;In my analysis, I see that injury problems are one of the main factors, and among these is the injury to Rodri, recently voted the best player in the world, in the 2024 Ballon d&amp;rsquo;Or award by &lt;em&gt;France Football&lt;/em&gt; magazine.&lt;/p&gt;
&lt;p&gt;I often say that the midfielder position, even without having the same glamour and attracting the same attention as an attacker, is the most important position in a football team. Rodri is an excellent midfielder and performs his defensive and offensive functions perfectly, being a key piece in the last English league titles, as well as the recent Champions League title in 2023.&lt;/p&gt;
&lt;p&gt;However, a large part of the Brazilian media not only undervalued the midfielder&amp;rsquo;s achievement for the Manchester team but also used petty arguments to justify why the award should have gone to Vinícius Jr, a Real Madrid forward.&lt;/p&gt;
&lt;p&gt;In 2022, I wrote &lt;a href="https://afranca.com.br/vinicius-jr-an-example-of-determination/"&gt;Vinicius Jr: an Example of Determination&lt;/a&gt;. In this post, I talked about how much pleasure it was to watch this player on the field and his disconcerting dribbles. At that time, the racist attacks he suffered from fans of other teams in the Spanish championship were already notorious. I cannot say if and how much this impacted his football, but everything that was pleasant to watch when he was playing for his team, today gives me a stomachache. Vinícius has become an aggressive, quarrelsome, disloyal, and disrespectful player. Every game, there he is with his finger pointed at the referees and his opponents. And this behavior on the field, according to the vote of the journalists participating in the best player election, is what made him come in second place in the dispute.&lt;/p&gt;
&lt;p&gt;For Brazilian football journalists and commentators, his political activism and combativeness against racism should be enough to consider him the best player of the season, ignoring the context that his performances for the Brazilian national team have been poor since the World Cup in Qatar, as well as his limitation as a football player to play in other positions for Real Madrid other than left winger. To be fair, after Benzema&amp;rsquo;s departure, coach Ancelotti even started to give him more freedom to float in the middle at times, but he never managed to be the team&amp;rsquo;s main player. For example, in the 2023/2024 season, his teammate and newcomer Jude Bellingham played a much more important role. But deep down, this doesn&amp;rsquo;t matter, because in today&amp;rsquo;s world, many people see that we have to give the award to the player who is black, from a poor background, and a political activist.&lt;/p&gt;
&lt;p&gt;One of the biggest examples of Rodri&amp;rsquo;s deserved Ballon d&amp;rsquo;Or is Manchester City&amp;rsquo;s losing streak, but also the fundamental role he played in the recent Spain National Team&amp;rsquo;s Euro victory in the middle of this year.&lt;/p&gt;
&lt;p&gt;I hope to see him back on the field soon.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Rodri%2C+the+World%27s+Best+Player+This+Season&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Frodri-the-worlds-best-player-this-season%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/random-thoughts-on-a-saturday-night/</id><title>Random Thoughts on a Saturday Night</title><link href="https://afranca.com.br/random-thoughts-on-a-saturday-night/" rel="alternate" type="text/html"/><published>2024-12-01T15:52:00Z</published><updated>2025-12-08T12:27:25Z</updated><category term="blogging"/><summary type="text">First: Lando Norris and his Sportsmanship</summary><content type="html">&lt;h2 id="first-lando-norris-and-his-sportsmanship"&gt;First: Lando Norris and his Sportsmanship&lt;/h2&gt;
&lt;p&gt;Lando Norris, who is often criticized for not being aggressive enough in his battles against his opponents, often shows a very calm demeanor in his decisions.&lt;/p&gt;
&lt;p&gt;Two races ago, at the Brazilian Grand Prix, he was helped by his teammate, Oscar Piastri, who gave up his position so that Norris could get more points in the fight for the championship. However, due to the circumstances and Max Verstappen&amp;rsquo;s superior score in the Las Vegas race - which crowned him four-time Formula 1 champion - the only thing at stake for Norris and his team was the constructors&amp;rsquo; championship.&lt;/p&gt;
&lt;p&gt;Today, in the Qatar Sprint race, Lando Norris made a very controversial decision to reciprocate the help he received from his teammate, letting him overtake him just a few meters from the finish line.&lt;/p&gt;
&lt;p&gt;Many Formula 1 blogs and specialized media reported and criticized his stance. Which, to me, is a big mistake. For me, Norris, despite his great talent, is not an exciting driver, but his gesture was noble. Sport is like life. Sometimes the most important thing is not to be right or to win, but to be at peace with our conscience.&lt;/p&gt;
&lt;h2 id="second-the-netflix-show-on-ayrton-senna"&gt;Second: The Netflix Show on Ayrton Senna&lt;/h2&gt;
&lt;p&gt;Netflix has just released a new show about Senna, portraying the beginning of his career until he became a Formula 1 driver and a three-time world champion.&lt;/p&gt;
&lt;p&gt;Of course, when watching, we must be aware of the bias and intention of his family and producers to show the good side of Ayrton, as well as, in my opinion, an exaggerated victimization to portray some dirty tricks of FIA administrators like Jean-Marie Balestre and Max Mosley, or of his former teammate Alain Prost. In addition, the main target audience of the show are Brazilians, who idolize him, and new F1 fans who hear so much about him but have no idea who he was.&lt;/p&gt;
&lt;p&gt;But one thing that can be extracted, and even compared to the present day, is the somewhat despicable environment of the competition, which resembles a club of the super-rich, where only financial and image interests are important. I use as an example the recent big no that the associated teams gave to the Andretti family.&lt;/p&gt;
&lt;p&gt;But overall, the story depicted in the show is touching.&lt;/p&gt;
&lt;h2 id="third-the-copa-libertadores-final"&gt;Third: The Copa Libertadores Final&lt;/h2&gt;
&lt;p&gt;Today was the final of the Copa Libertadores. For the ignorant, it&amp;rsquo;s the South American equivalent of the Champions League. Yes, there is football outside of England, Spain, Italy, Germany, and France.&lt;/p&gt;
&lt;p&gt;It was a great game and there was no shortage of excitement. Just 30 seconds into the game, one of Botafogo&amp;rsquo;s main players was sent off, but even so, the team, demonstrating a lot of overcoming power and resilience, scored two goals in the first half.&lt;/p&gt;
&lt;p&gt;Atlético Mineiro, even with the man advantage, only managed to score one goal, but would suffer a third near the end of the game, as they ended up being very exposed defensively trying to find the result.&lt;/p&gt;
&lt;p&gt;This match was worthy of a Champions League final. But many will not know, perhaps out of some arrogance or lack of interest. Whatever&amp;hellip;&lt;/p&gt;
&lt;p&gt;With the result, Botafogo won its first Copa Libertadores trophy and had guaranteed a spot in the FIFA Club World Cup to be held in the middle of next year.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Random+Thoughts+on+a+Saturday+Night&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Frandom-thoughts-on-a-saturday-night%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/rustpix/</id><title>Rustpix</title><link href="https://afranca.com.br/rustpix/" rel="alternate" type="text/html"/><published>2024-11-19T06:24:00Z</published><updated>2026-01-18T18:03:27Z</updated><category term="coding"/><category term="metadata"/><category term="opensource"/><category term="static site generator"/><summary type="text">I&amp;rsquo;ve just published a new open-source software named Rustpix. As the name suggests, it&amp;rsquo;s a simple program written entirely in Rust.</summary><content type="html">&lt;p&gt;I&amp;rsquo;ve just published &lt;a href="https://github.com/andrefcodes/rustpix"&gt;a new open-source software named Rustpix&lt;/a&gt;. As the name suggests, it&amp;rsquo;s a simple program written entirely in Rust.&lt;/p&gt;
&lt;p&gt;Essentially, Rustpix is a lightweight tool that automatically optimizes images for web use.&lt;/p&gt;
&lt;p&gt;How it works:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Takes one or more images in common formats (JPEG, PNG, GIF, etc.) as input.&lt;/li&gt;
&lt;li&gt;Strips EXIF data from the images.&lt;/li&gt;
&lt;li&gt;Converts them to the WebP format with up to 75% quality for lossy compression.&lt;/li&gt;
&lt;li&gt;Renames each file to a random UUID (Universally Unique Identifier) with a .webp extension.&lt;/li&gt;
&lt;li&gt;Overwrites the original files with the optimized versions in the same directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The program is still under development, and I plan to add more features in the future.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t meant to reinvent the wheel, as there are already many image optimization tools out there. However, it&amp;rsquo;s a convenient way to streamline my workflow when preparing images for my blog or other online projects.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Rustpix&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Frustpix%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/how-to-set-up-fail2ban-to-protect-miniflux-against-brute-force-attacks/</id><title>How to Set Up Fail2ban to Protect Miniflux Against Brute Force Attacks</title><link href="https://afranca.com.br/how-to-set-up-fail2ban-to-protect-miniflux-against-brute-force-attacks/" rel="alternate" type="text/html"/><published>2024-11-12T17:16:00Z</published><updated>2025-12-08T12:23:34Z</updated><category term="self-hosting"/><category term="security"/><summary type="text">If you self-host your own instance of Miniflux (a RSS Feed Reader) and have it exposed publicly to the internet, it is a good idea to protect it against brute force attacks.</summary><content type="html">&lt;p&gt;If you self-host your own instance of Miniflux (a RSS Feed Reader) and have it exposed publicly to the internet, it is a good idea to protect it against brute force attacks.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not going into details on how to install it, as it&amp;rsquo;s already well documented on &lt;a href="https://miniflux.app/docs/installation.html"&gt;the official webpage&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you can afford it, an even better alternative, before reading this blog post to the end, is to have it managed for you by the Miniflux team itself. Paying for a subscription of $15/year (as of writing) helps supporting product development, and it skips all the hassle of managing updates, patches, SSL certificates and so on.&lt;/p&gt;
&lt;p&gt;There are several ways to &lt;a href="https://github.com/fail2ban/fail2ban"&gt;install fail2ban&lt;/a&gt;. Since my VPS runs Ubuntu, I used the following command:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt install fail2ban
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On my VPS, Miniflux outputs its logs to &lt;code&gt;/var/log/syslog&lt;/code&gt;, which can be accessed with:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo journalctl -u miniflux
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I wanted Fail2ban to monitor these logs for failed authentication, and ban any IP address with three consecutive failed attempts for a few hours, so I did the following:&lt;/p&gt;
&lt;h3 id="1-created-a-custom-fail2ban-filter-to-match-log-lines-in-varlogsyslog-that-contain-miniflux-and-authentication_failedtrue"&gt;1. Created a custom Fail2ban filter to match log lines in &lt;code&gt;/var/log/syslog&lt;/code&gt; that contain &amp;ldquo;miniflux&amp;rdquo; and &amp;ldquo;authentication_failed=true&amp;rdquo;.&lt;/h3&gt;
&lt;p&gt;a. Create a custom filter for Miniflux:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nano /etc/fail2ban/filter.d/miniflux.conf
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;b. Add the following filter definition:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[Definition]

# Regex to match the relevant log lines
# &amp;lt;HOST&amp;gt; is a Fail2Ban placeholder that will capture the offending IP address from the log line.
failregex = .*miniflux.*authentication_failed=true.*client_ip=&amp;lt;HOST&amp;gt;

# This pattern should not match successful logins or other irrelevant logs
ignoreregex =
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2-configured-fail2ban-jail-to-look-for-three-consecutive-failed-attempts-from-the-same-ip-address-and-then-ban-that-ip-across-all-ports-for-a-few-hours"&gt;2. Configured Fail2ban Jail to look for three consecutive failed attempts from the same IP address and then ban that IP across all ports for a few hours.&lt;/h3&gt;
&lt;p&gt;a. Create a new jail for Miniflux:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nano /etc/fail2ban/jail.local
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;b. Add the following jail configuration:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[miniflux]
enabled = true
port = 0:65535
filter = miniflux
logpath = /var/log/syslog
maxretry = 3
# 72 hours in seconds
bantime = 259200
# Window of time to consider failures (10 minutes in seconds)
findtime = 600
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Lines explained:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;enabled = true&lt;/code&gt; activates the jail.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;port = 0:65535&lt;/code&gt; bans the IP for all ports.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;filter = miniflux&lt;/code&gt; specifies the custom filter we created.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;logpath = /var/log/syslog&lt;/code&gt; tells Fail2Ban to scan the syslog file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;maxretry = 3&lt;/code&gt; specifies that the IP will be banned after three consecutive failed attempts.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bantime = 259200&lt;/code&gt; sets the ban duration&lt;/li&gt;
&lt;li&gt;&lt;code&gt;findtime = 600&lt;/code&gt; defines the window for detecting failures.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-with-everything-in-place-i-tested-and-restarted-fail2ban"&gt;3. With everything in place, I tested and restarted Fail2ban.&lt;/h3&gt;
&lt;p&gt;a. Check your filter syntax for errors:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo fail2ban-regex /var/log/syslog /etc/fail2ban/filter.d/miniflux.conf
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;b. Restart the Fail2Ban service to apply the new configuration:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo systemctl restart fail2ban
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;c. Monitor Fail2Ban logs to verify that the jail is working:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo tail -f /var/log/fail2ban.log
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;you can also check with the command:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo fail2ban-client status miniflux

my-user@my-vps:~$ sudo fail2ban-client status miniflux
Status for the jail: miniflux
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- Journal matches:
`- Actions
 |- Currently banned: 1
 |- Total banned: 1
 `- Banned IP list: 89.115.48.22
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Testing&lt;/strong&gt;: Be cautious during testing to avoid getting locked out of your VPS. Use a VPN connection or connect via mobile network instead of your home network.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+How+to+Set+Up+Fail2ban+to+Protect+Miniflux+Against+Brute+Force+Attacks&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fhow-to-set-up-fail2ban-to-protect-miniflux-against-brute-force-attacks%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/goodbye-jekyll-hello-hugo/</id><title>Goodbye, Jekyll! Hello, Hugo!</title><link href="https://afranca.com.br/goodbye-jekyll-hello-hugo/" rel="alternate" type="text/html"/><published>2024-11-07T15:15:00Z</published><updated>2025-12-08T12:22:52Z</updated><category term="static site generator"/><category term="jekyll"/><category term="hugo"/><category term="blogging"/><summary type="text">After running into some dependency issues and long build and deployment times on Cloudflare, I decided it was finally time to move away from Jekyll and switch to a different Static Site Generator.</summary><content type="html">&lt;p&gt;After running into some dependency issues and long build and deployment times on Cloudflare, I decided it was finally time to move away from Jekyll and switch to a different Static Site Generator.&lt;/p&gt;
&lt;p&gt;I’ve tried other ways of publishing on my blog before, like Ghost and 11ty, but this time I went with Hugo.&lt;/p&gt;
&lt;p&gt;I spent a focused (and somewhat frustrating) weekend getting the hang of Hugo’s core features and basic structure, as well as migrating my pages, posts, and layouts, which to be honest, were pretty confusing at first glance.&lt;/p&gt;
&lt;p&gt;Here are my first impressions and what I’m liking so far:&lt;/p&gt;
&lt;h3 id="1-performance"&gt;1. &lt;strong&gt;Performance&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Hugo provides incredible speed in building sites.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-dependencies"&gt;2. &lt;strong&gt;Dependencies&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Hugo comes in a single binary file with no dependencies, while Jekyll requires Ruby and several Ruby gems, which can sometimes lead to compatibility or dependency issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-plugins"&gt;3. &lt;strong&gt;Plugins&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Hugo does not rely on plugins the way Jekyll does, which need to be managed, updated, and may cause compatibility issues, might break with updates or cause security concerns. Everything is built-in.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-native-taxonomy-support"&gt;4. &lt;strong&gt;Native Taxonomy Support&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Hugo supports taxonomies like tags, categories, or custom classifications out of the box. Jekyll can support these too, but it often requires plugins, which adds complexity like I mentioned above.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-deployment-and-cicd-integration"&gt;5. &lt;strong&gt;Deployment and CI/CD Integration&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Hugo like Jekyll integrates seamlessly with CI/CD systems like GitHub Actions, Netlify, Vercel, and Cloudflare (which I&amp;rsquo;m currently using), but requires no additional setup to manage Ruby dependencies, and it&amp;rsquo;s incredibly fast.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="6-shortcodes"&gt;6. &lt;strong&gt;Shortcodes&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Hugo&amp;rsquo;s shortcodes allow you to embed rich content within Markdown, such as custom HTML, code snippets.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What I haven’t been loving about Hugo:&lt;/p&gt;
&lt;h3 id="1-templating"&gt;1. &lt;strong&gt;Templating&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Although there is a powerful templating system, I haven&amp;rsquo;t been able to make a couple of things work yet, like styling my rss and sitemap files. Jekyll templating system is way easier to work with.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;m still not totally happy with the blog&amp;rsquo;s result, but I&amp;rsquo;m getting there. I still have a lot to learn about the template system, so I can feel as comfortable as I did with Jekyll.&lt;/p&gt;
&lt;p&gt;On the bright side, I don’t have to worry about Ruby and its dependencies anymore, and now I&amp;rsquo;m able to deploy my site in just a few seconds, which is pretty exciting.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Goodbye%2C+Jekyll%21+Hello%2C+Hugo%21&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fgoodbye-jekyll-hello-hugo%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/electronic-brain/</id><title>Electronic Brain</title><link href="https://afranca.com.br/electronic-brain/" rel="alternate" type="text/html"/><published>2024-03-05T10:58:00Z</published><updated>2025-12-08T12:19:53Z</updated><category term="music"/><category term="blogging"/><summary type="text"> Clicking the video constitutes your consent to view it via YouTube.
Read the lyrics on Genius.</summary><content type="html">&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/NzdxvhhzV1Q?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;
		&lt;p class="yt-warning"&gt;Clicking the video constitutes your consent to view it via YouTube.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://genius.com/Marisa-monte-cerebro-eletronico-lyrics"&gt;Read the lyrics&lt;/a&gt; &lt;em&gt;on Genius&lt;/em&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Electronic+Brain&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Felectronic-brain%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/hold-on/</id><title>Hold On</title><link href="https://afranca.com.br/hold-on/" rel="alternate" type="text/html"/><published>2024-02-28T10:58:00Z</published><updated>2025-12-08T12:17:56Z</updated><category term="blogging"/><summary type="text">I was wondering whether or not to write this post because it&amp;rsquo;s personal and painful. However, after being woken up by my son who was having trouble sleeping, I found myself awake at 4am, thinking about how to get started.</summary><content type="html">&lt;p&gt;I was wondering whether or not to write this post because it&amp;rsquo;s personal and painful. However, after being woken up by my son who was having trouble sleeping, I found myself awake at 4am, thinking about how to get started.&lt;/p&gt;
&lt;p&gt;This story is about a friend of mine, whom I will refer to as April for privacy reasons.&lt;/p&gt;
&lt;p&gt;Approximately 15 to 20 years ago, during our teenage years, April became involved with a white powder that is still much popular among the upper middle class. I will try not discuss her health problem here. Instead, I will reflect on a nuance that I only had the opportunity to consider many years later.&lt;/p&gt;
&lt;p&gt;Nowadays, we talk more openly about depression and anxiety disorders. However, this was not always the case. Older generations, such as those from Generation Y or X and earlier, tended to ignore or view these issues as a sign of weakness. As a result, people from Generation Z or Alpha are often associated with being highly sensitive and having low resilience. I don&amp;rsquo;t believe that there is a right or wrong. We should not analyze contemporary issues from the perspective of a previous era. It is also a mistake to deal with past issues from the perspective of the current decade.&lt;/p&gt;
&lt;p&gt;April always was a fun and adventurous person. Like many of us, she has encountered some peer pressure to engage in risky behaviors. She may have developed this trait due to being raised by a single mother who struggled to provide for her beyond basic necessities.&lt;/p&gt;
&lt;p&gt;When April met her first love, a guy one or two years older than her, she would be presented to what would become her companion through great joys and deepest sorrows. And I&amp;rsquo;m not talking about him.&lt;/p&gt;
&lt;p&gt;She sought help in many ways, but at the time her relationship with her mother was strained because of April&amp;rsquo;s boyfriend. Feeling hopeless, she left home. She went through a lot to support her addiction, and depression took hold of her heart.&lt;/p&gt;
&lt;p&gt;As I mentioned earlier, older people may view issues like April&amp;rsquo;s as a sign of weakness. I wonder where she found the strength to get out of this difficult situation.&lt;/p&gt;
&lt;p&gt;The climax was the moment she went missing for two weeks. She and her boyfriend were found next to a highway guardrail at least 50 miles from home, and were subsequently hospitalized. Since then, there has been no word from her old boyfriend, but April is now a fantastic mother and wife. I think of every battle she has fought, and perhaps continues to fight, but her efforts are rewarded, as she likes to say.&lt;/p&gt;
&lt;p&gt;April&amp;rsquo;s favorite song was &lt;em&gt;Hold on&lt;/em&gt; by &lt;em&gt;Good Charlotte&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This is an excerpt from the song:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;#34;This world, this world is cold
But you don&amp;#39;t, you don&amp;#39;t have to go
You&amp;#39;re feeling sad, you&amp;#39;re feeling lonely
And no one seems to care
Your mother&amp;#39;s gone and your father hits you
This pain you cannot bear

But we all bleed the same way as you do
And we all have the same things to go through

Hold on, if you feel like letting go
Hold on, it gets better than you know

Your days, you say they&amp;#39;re way too long
And your nights, you can&amp;#39;t sleep at all
Hold on
And you&amp;#39;re not sure what you&amp;#39;re waiting for
But you don&amp;#39;t want to know more
You&amp;#39;re not sure what you&amp;#39;re looking for
But you don&amp;#39;t want to know more

But we all bleed the same way as you do
And we all have the same things to go through

Hold on, if you feel like letting go
Hold on, it gets better than you know
Don&amp;#39;t stop looking, you&amp;#39;re one step closer
Don&amp;#39;t stop searching, it&amp;#39;s not over
Hold on
[...]&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;We often fail to pay attention to many things. I didn&amp;rsquo;t speak or understand much English at the time, so this song was just like any other. Although, in my reflections today, I believe that song served a purpose: it was a disguised request for help.&lt;/p&gt;
&lt;p&gt;Although pain often prevents us from being precise or explicit, we always give signals when something is wrong.&lt;/p&gt;
&lt;p&gt;Depression is a tricky illness, incomprehensible up to a certain point. As a depressive person in eternal treatment, I know it is one of the worst illnesses you can carry. Its cause, development, and treatment are still being studied, and it has the power to cause as much pain as any other illness you can name.&lt;/p&gt;
&lt;p&gt;Well, if you&amp;rsquo;ve made it this far, let&amp;rsquo;s make a difference today by asking someone you care about if they&amp;rsquo;re okay.&lt;/p&gt;
&lt;p&gt;Feeling loved is essential.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Hold+On&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fhold-on%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/i-surrendered-to-google/</id><title>I Surrendered to Google</title><link href="https://afranca.com.br/i-surrendered-to-google/" rel="alternate" type="text/html"/><published>2024-02-21T10:58:00Z</published><updated>2025-12-08T12:16:59Z</updated><category term="privacy"/><category term="social media"/><category term="blogging"/><summary type="text">I&amp;rsquo;m very upset these days. The web is really messed up. Can we really achieve even a little privacy? Some argue that it is a human right, but to me, privacy seems like a discussion for the elite, where only a few can afford this &amp;ldquo;luxury&amp;rdquo;, given the huge number of products we have to pay a premium price for in order to get a little privacy.</summary><content type="html">&lt;p&gt;I&amp;rsquo;m very upset these days. The web is really messed up. Can we really achieve even a little privacy? Some argue that it is a human right, but to me, privacy seems like a discussion for the elite, where only a few can afford this &amp;ldquo;luxury&amp;rdquo;, given the huge number of products we have to pay a premium price for in order to get a little privacy.&lt;/p&gt;
&lt;p&gt;Some time ago, I tried to de-google myself, but one of the few things I couldn&amp;rsquo;t give up was my dependency on YouTube. I follow a lot of journalistic content on the platform, as many media outlets are moving their content there.&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s the downside? The damn Ads. Google is a company that generates revenue through ads, and YouTube is no exception. Storing and distributing the vast number of daily uploads for free is not feasible. However, the problem lies in the company&amp;rsquo;s methods for personalizing ads and lack of transparency.&lt;/p&gt;
&lt;p&gt;I have attempted to use various YouTube frontends to watch videos without interruptions, including &lt;a href="https://github.com/TeamPiped/Piped/wiki/Instances"&gt;Piped&lt;/a&gt;, &lt;a href="https://github.com/iv-org/invidious"&gt;Invidious&lt;/a&gt;, &lt;a href="https://github.com/yattee/yattee"&gt;Yattee&lt;/a&gt;, and &lt;a href="https://github.com/TeamNewPipe/NewPipe"&gt;New Pipe&lt;/a&gt;. Unfortunately, all of these options provide a poor streaming and usability experience.&lt;/p&gt;
&lt;p&gt;Finally, I reluctantly decided to subscribe to YouTube Premium and use the official app. Although I sacrifice some privacy, I gain peace of mind by avoiding various usability problems and tweaks.&lt;/p&gt;
&lt;p&gt;In other words, Google won this battle.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+I+Surrendered+to+Google&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fi-surrendered-to-google%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/from-tactile-to-linear-keyboard-switches/</id><title>From Tactile to Linear Keyboard Switches</title><link href="https://afranca.com.br/from-tactile-to-linear-keyboard-switches/" rel="alternate" type="text/html"/><published>2024-02-12T10:58:00Z</published><updated>2025-12-30T02:15:29Z</updated><category term="mechanical keyboard"/><category term="technology"/><summary type="text">I have an Akko 3084B Plus mechanical keyboard, one of the devices I like the most and use on a daily basis. It&amp;rsquo;s a nice-sized tenkeyless keyboard, very comfortable and well built.</summary><content type="html">&lt;p&gt;I have an Akko 3084B Plus mechanical keyboard, one of the devices I like the most and use on a daily basis. It&amp;rsquo;s a nice-sized tenkeyless keyboard, very comfortable and well built.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/EF18B218-AE83-4255-8281-2F7BBD20E65F.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.akkogear.com/"&gt;&lt;strong&gt;Akko 3084B Plus&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When I bought it, I had to choose between the Akko CS Jelly Pink (Linear) or Akko CS Jelly Purple (Tactile) switches. As I had never used either type of switch before, I decided on the Jelly Purple which&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;is aimed at creating unique and smooth feedbacks followed by the high tactile bump.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Until then, I was used to Apple&amp;rsquo;s butterfly and my old keychron K2 (Blue Switches) keyboards. I felt a lot of difference, but I adapted quickly.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/69c042b2-e301-44ea-8b83-5702d77566bc.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.akkogear.com/"&gt;&lt;strong&gt;Akko CS Jelly Purple&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/b37aad21-bc6c-46b6-bf2d-c1ed7de6e64e.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.akkogear.com/"&gt;&lt;strong&gt;Akko CS Jelly Purple - Force Travel Diagram&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;However, two years of using tactile switches led me to reconsider what I wanted in a switch. A linear switch would be a better option for both typing and gaming, instead of tactile ones.&lt;/p&gt;
&lt;p&gt;While researching afordable switches, I came across the Matcha Green Pro model, from the same brand as the keyboard.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/20ffa721-e1f5-4b00-aa3b-44d32bf3c8ea.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.akkogear.com/"&gt;&lt;strong&gt;Akko Matcha Green Pro&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The 50gf actuation force for Matcha Green Pro is heavier than regular Matcha Green and is a great option for users who are in favor of smooth linear switches but prefer stronger feedback and deeper sound.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/2e504da4-fd59-46ab-a9ea-30328547fbf0.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.akkogear.com/"&gt;&lt;strong&gt;Akko Matcha Green Pro - Force Travel Diagram&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Typing on these new switches is a pleasure. They offer a smooth and consistent keystroke. The sound is &amp;ldquo;thock&amp;rdquo; and not clicky anymore, which is very much appreciated by people around me.&lt;/p&gt;
&lt;h2 id="closing-thoughts"&gt;Closing Thoughts&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m far from being a keyboard expert, nor do I intend to make it a hobby. Keyboards are nothing more than a tool to me, and the fact that I replaced the switches was to achieve a goal.&lt;/p&gt;
&lt;p&gt;Regardless of whether the keyboard is model X or Y, or has any kind of fancy switches, in my experience it doesn&amp;rsquo;t make us type better, but the practice of typing does. I even have a post wondering if &lt;a href="https://afranca.com.br/is-there-a-perfect-keyboard/"&gt;a perfect keyboard exists&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+From+Tactile+to+Linear+Keyboard+Switches&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Ffrom-tactile-to-linear-keyboard-switches%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/skiff-sold-to-notion/</id><title>Skiff Sold to Notion</title><link href="https://afranca.com.br/skiff-sold-to-notion/" rel="alternate" type="text/html"/><published>2024-02-11T10:58:00Z</published><updated>2025-12-30T02:12:39Z</updated><category term="privacy"/><category term="fediverse"/><category term="email"/><summary type="text">Yesterday, when I went to the website of my email provider, Skiff (a privacy-focused productivity platform), I came across the announcement that the company had been sold to Notion.</summary><content type="html">&lt;p&gt;Yesterday, when I went to the website of my email provider, Skiff (a privacy-focused productivity platform), I came across the announcement that the company had been sold to Notion.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/bc05c5c8-3f77-4d21-8a77-bcfd11ce2c1e.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Skiff Homepage - Screenshot taken on 02/10/24&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As we begin to shift focus to our shared efforts with Notion, we will be closing down Skiff&amp;rsquo;s product suite after a 6-month sunset period.&lt;/p&gt;
&lt;p&gt;We encourage you to export your data and migrate custom domains within the next 6 months.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I followed the instructions on &lt;a href="https://skiff.com/data-migration"&gt;how to migrate data&lt;/a&gt; provided at the bottom of the page&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/90fbf793-b756-4adf-990e-222be1c13f6b.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Link to Instructions on how to migrate your data located at the bottom of the&lt;/strong&gt; page&lt;/p&gt;
&lt;p&gt;I had migrated to Skiff a few months ago when I began the transition from the Apple ecosystem, where my iCloud+ plan allowed me to host my own domain.&lt;/p&gt;
&lt;p&gt;Before I hosted my email with Apple, I used Zoho Mail as my provider. The company doesn&amp;rsquo;t call itself privacy-focused, but it offers an incredible service with reasonable prices, and its &lt;a href="https://www.zoho.com/mail/privacy.html"&gt;privacy policy&lt;/a&gt; is very straightforward.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/bdb706de-b958-4f98-8e88-4433ac371d94.webp" alt=""&gt;&lt;img src="https://afranca.com.br/uploads/2d350588-7038-42c0-8920-af94b6f2de1a.webp" alt=""&gt;&lt;img src="https://afranca.com.br/uploads/8dc0841e-0608-4ebd-9018-5434c130e318.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Zoho Mail Privacy Policy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Because it&amp;rsquo;s a well-known and well-established service, I decided to move back to Zoho as my email provider.&lt;/p&gt;
&lt;p&gt;In other words, this is frustrating news, but let&amp;rsquo;s move on.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Skiff+Sold+to+Notion&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fskiff-sold-to-notion%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/thoughts-on-my-new-smartphone/</id><title>Thoughts on My New Smartphone</title><link href="https://afranca.com.br/thoughts-on-my-new-smartphone/" rel="alternate" type="text/html"/><published>2024-02-10T10:58:00Z</published><updated>2025-12-08T12:14:58Z</updated><category term="ios"/><category term="android"/><category term="mobile"/><category term="apple"/><category term="samsung"/><category term="technology"/><summary type="text">It&amp;rsquo;s been three days with my new smartphone, a Samsung Galaxy s24 Ultra, and I confess that it&amp;rsquo;s been pretty boring.</summary><content type="html">&lt;p&gt;It&amp;rsquo;s been three days with my new smartphone, a Samsung Galaxy s24 Ultra, and I confess that it&amp;rsquo;s been pretty boring.&lt;/p&gt;
&lt;p&gt;Well, the phone is fast and responsive compared to my old iPhone 11 Pro Max, but my learning curve has been slower than I anticipated, given that I haven&amp;rsquo;t used Android for at least 6 years. Unlike iOS, there are many layers of customization (which is a positive point), but my mindset is still geared towards a simpler, more objective interface, which has been causing me some mental confusion.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m still learning how to customize app permissions, and I&amp;rsquo;ve organized the Home Menu to resemble what I was used to on my old phone. I&amp;rsquo;ve migrated almost all the possible apps and replaced those that didn&amp;rsquo;t have Android versions like NetNewsWire.&lt;/p&gt;
&lt;h3 id="what-i-like-so-far"&gt;What I like so far:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;m using the original (Samsung) keyboard, which seems infinitely better than the Apple one. The number of mistyped keys has been greatly reduced and there are other built-in functions that make typing easier;&lt;/li&gt;
&lt;li&gt;The screen is gorgeous. I dare say it&amp;rsquo;s better than the screen on my wife&amp;rsquo;s iPhone 15 Pro Max, especially outdoors;&lt;/li&gt;
&lt;li&gt;I can install apps from stores like F-Droid, which is inconceivable on iOS;&lt;/li&gt;
&lt;li&gt;Fingerprint reader is amazing, especially for unlocking the phone at night;&lt;/li&gt;
&lt;li&gt;One battery charge gives me around 10 to 12 hours of screen-on time. This point is a double-edged sword, since my iPhone with a battery of less than 3000mAh and 80% of its capacity allowed me 6 to 7 hours of screen-on after almost 5 years of use. Historically, Apple phones optimize battery use much better than any other manufacturer;&lt;/li&gt;
&lt;li&gt;File management seems more fluid and functional, especially when working with Nextcloud files;&lt;/li&gt;
&lt;li&gt;The Firefox and Brave browsers use, respectively, Gecko and Blink as engines, which provides a desktop-like experience;&lt;/li&gt;
&lt;li&gt;The promise of 7 years of software and security updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-i-didnt-like-or-didnt-adapt-to"&gt;What I didn&amp;rsquo;t like or didn&amp;rsquo;t adapt to:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I couldn&amp;rsquo;t find an easy way to configure carddav and caldav in the standard system applications. This was only possible using 3 or 4 different apps. On the iPhone, this was possible with a simple profile configuration.&lt;/li&gt;
&lt;li&gt;Password autofill, either with Bitwarden or KeepassDX, works very badly.&lt;/li&gt;
&lt;li&gt;I don&amp;rsquo;t get notifications as quickly as on iOS.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-i-miss-about-ios"&gt;What I miss about iOS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Everything I mentioned under &amp;ldquo;didn&amp;rsquo;t like&amp;rdquo; above.&lt;/li&gt;
&lt;li&gt;Apple Pay. Here in the US, almost every establishment accepts Apple Pay, and it&amp;rsquo;s very convenient.&lt;/li&gt;
&lt;li&gt;Airdrop (due to the ease of sharing files with my wife).&lt;/li&gt;
&lt;li&gt;Clean and simple interface.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="final-thoughts"&gt;Final thoughts&lt;/h2&gt;
&lt;p&gt;My decision to switch devices was due to the fact that my iPhone - although I still consider it to be an excellent device hardware-wise -, due to recent software updates, provides a less fluid experience and screen stuttering in some applications, even with just 4/5 years of use.&lt;/p&gt;
&lt;p&gt;The choice of an Android device over iOS is philosophically choosing a more open system, allowing better interoperability with other operating systems, such as Windows and Linux, whereas Apple devices only work well (and perfectly well) between their ecosystem.&lt;/p&gt;
&lt;p&gt;I considered buying the Ultra model because of the $200 credit I got on the pre-order and the storage upgrade to 512GB. Added to the 5% Credit Card Cashback, the phone cost me a whopping $1115.00. The value didn&amp;rsquo;t exceed my Budget of US$1200. If I manage to use this device for its entire planned life, it will cost me around US$14 a month, whereas the iPhone has cost me around US$23 a month so far. I did take a look at a Pixel phone, but it seems like the Samsung hardware is better.&lt;/p&gt;
&lt;p&gt;Not that I&amp;rsquo;m not happy with the new phone, but if I were to make a decision with the information I have today, I would buy the s24 or the s24 plus. I&amp;rsquo;m not a photographer, I don&amp;rsquo;t really understand all the camera settings and I don&amp;rsquo;t see the difference between a 200MP photo and a 50MP photo. Besides that, I can&amp;rsquo;t see myself using the S-Pen, even though I think it&amp;rsquo;s amazing. I don&amp;rsquo;t know if the extra $300 on top of the S24 Plus is justifiable.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Thoughts+on+My+New+Smartphone&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthoughts-on-my-new-smartphone%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/i-dont-care-about-seo/</id><title>I Don't Care About SEO</title><link href="https://afranca.com.br/i-dont-care-about-seo/" rel="alternate" type="text/html"/><published>2024-01-30T10:58:00Z</published><updated>2025-12-08T12:13:39Z</updated><category term="openweb"/><category term="blogging"/><summary type="text">I remember that when I first set up this site with Jekyll, I made sure to configure the site&amp;rsquo;s metadata to make it easier for search engines to index it.</summary><content type="html">&lt;p&gt;I remember that when I first set up this site with Jekyll, I made sure to configure the site&amp;rsquo;s metadata to make it easier for search engines to index it.&lt;/p&gt;
&lt;p&gt;As much as I had reservations about this, I&amp;rsquo;ve always believed that scraping is an important way of disseminating knowledge. However, with this AI boom everywhere, and with a series of questions being raised about intellectual property, language model training, biases, and how some search engines scrape our content to provide answers for the user (often without giving credit or providing the source link), I see no reason to have my content indexed, leaving me to resort to other ways of disseminating content, such as my mastodon account, webring, blogrolls, etc.&lt;/p&gt;
&lt;p&gt;I changed the &lt;code&gt;robots.txt&lt;/code&gt; file on the website to&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;User-agent: *
Disallow: /
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;and changed the following meta tag on the page&amp;rsquo;s &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; to&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;meta name=&amp;#39;robots&amp;#39; content=&amp;#34;noindex, nofollow, noimageindex, nosnippet&amp;#34;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I know, bots can ignore that, and technically there&amp;rsquo;s nothing we can really do about it.&lt;/p&gt;
&lt;p&gt;At the end of the day, I feel like this is more of a philosophical question than anything else. I mean, in the sense of how much we want tools like AI and &amp;ldquo;bad&amp;rdquo; algorithms to be an integral part of our lives.&lt;/p&gt;
&lt;p&gt;The answers we give to questions like these dictate how much companies will want to keep developing or integrating these AI tools everywhere. In the search engine example, I just want a search engine, not an assistant who does everything for me (sometimes at the expense of other people&amp;rsquo;s work).&lt;/p&gt;
&lt;p&gt;Okay, maybe I went a little off topic or too far into it, but I think you get my idea.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+I+Don%27t+Care+About+SEO&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fi-dont-care-about-seo%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/styling-my-rss-feed/</id><title>Styling My Rss Feed</title><link href="https://afranca.com.br/styling-my-rss-feed/" rel="alternate" type="text/html"/><published>2024-01-15T10:58:00Z</published><updated>2025-12-30T02:09:28Z</updated><category term="openweb"/><summary type="text">Recently, I came across the post &amp;ldquo;Styling RSS and Atom feeds&amp;rdquo; by Robb Knight, where he styled his RSS feed in a way that a person could read, instead of a machine-readable .xml file.</summary><content type="html">&lt;p&gt;Recently, I came across the post &amp;ldquo;&lt;a href="https://rknight.me/blog/styling-rss-and-atom-feeds"&gt;Styling RSS and Atom feeds&lt;/a&gt;&amp;rdquo; by Robb Knight, where he styled his RSS feed in a way that a person could read, instead of a machine-readable &lt;code&gt;.xml&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;Styling the RSS feed is possible with the help of XSLT (Extensible Stylesheet Language Transformations), which transforms our &lt;code&gt;.xml&lt;/code&gt; file into other document types, such as HTML.&lt;/p&gt;
&lt;p&gt;First, I added an &lt;code&gt;xml-stylesheet&lt;/code&gt; processing instruction inside my &lt;code&gt;feed.xml&lt;/code&gt; file. Right below the line containing the XML version.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt;
&amp;lt;?xml-stylesheet href=&amp;#34;/feed.xsl&amp;#34; type=&amp;#34;text/xsl&amp;#34;?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then, in the same directory as my &lt;code&gt;feed.xml&lt;/code&gt; file, I created a file called &lt;strong&gt;&lt;code&gt;feed.xsl&lt;/code&gt;&lt;/strong&gt; and added the following content.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;---
layout:
title: &amp;#39;RSS Feed&amp;#39;
permalink: &amp;#34;/feed.xsl&amp;#34;
---

&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;utf-8&amp;#34;?&amp;gt;
&amp;lt;xsl:stylesheet version=&amp;#34;3.0&amp;#34; xmlns:xsl=&amp;#34;http://www.w3.org/1999/XSL/Transform&amp;#34; xmlns:atom=&amp;#34;http://www.w3.org/2005/Atom&amp;#34; xmlns:dc=&amp;#34;http://purl.org/dc/elements/1.1/&amp;#34;&amp;gt;
 &amp;lt;xsl:output method=&amp;#34;html&amp;#34; version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34; indent=&amp;#34;yes&amp;#34;/&amp;gt;
 &amp;lt;xsl:template match=&amp;#34;/&amp;#34;&amp;gt;
 &amp;lt;html xmlns=&amp;#34;http://www.w3.org/1999/xhtml&amp;#34; lang=&amp;#34;en&amp;#34;&amp;gt;
 &amp;lt;head&amp;gt;
 &amp;lt;title&amp;gt;{{ page.title }} - {{ site.title }}&amp;lt;/title&amp;gt;
 &amp;lt;meta http-equiv=&amp;#34;Content-Type&amp;#34; content=&amp;#34;text/html; charset=UTF-8&amp;#34;/&amp;gt;
 &amp;lt;meta name=&amp;#34;viewport&amp;#34; content=&amp;#34;width=device-width, initial-scale=1.0&amp;#34;/&amp;gt;
 &amp;lt;meta name=&amp;#34;color-scheme&amp;#34; content=&amp;#34;dark light&amp;#34;/&amp;gt;
 {% include style.html %}
 &amp;lt;/head&amp;gt;
 &amp;lt;body&amp;gt;
 {% include header.html %}
 &amp;lt;main&amp;gt;
 &amp;lt;h1&amp;gt;
 &amp;lt;!-- Feed-icon.svg: unnamed (Mozilla Foundation)User:Jahoe (GPL &amp;lt;http://www.gnu.org/licenses/gpl.html&amp;gt;, LGPL &amp;lt;http://www.gnu.org/licenses/lgpl.html&amp;gt;, MPL 1.1 &amp;lt;https://www.mozilla.org/MPL/1.1/&amp;gt;, MPL 1.1 &amp;lt;https://www.mozilla.org/MPL/1.1/&amp;gt;, GPL &amp;lt;http://www.gnu.org/licenses/gpl.html&amp;gt; or LGPL &amp;lt;http://www.gnu.org/licenses/lgpl.html&amp;gt;), via Wikimedia Commons --&amp;gt;
 &amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; version=&amp;#34;1.1&amp;#34; style=&amp;#34;vertical-align: text-bottom; width: 1.2em; height: 1.2em;&amp;#34; id=&amp;#34;RSSicon&amp;#34; viewBox=&amp;#34;0 0 8 8&amp;#34;&amp;gt;
 &amp;lt;title&amp;gt;RSS feed icon&amp;lt;/title&amp;gt;
 &amp;lt;style type=&amp;#34;text/css&amp;#34;&amp;gt;
 .button {stroke: none; fill: orange;}
 .symbol {stroke: none; fill: white;}
 &amp;lt;/style&amp;gt;
 &amp;lt;rect class=&amp;#34;button&amp;#34; width=&amp;#34;8&amp;#34; height=&amp;#34;8&amp;#34; rx=&amp;#34;1.5&amp;#34; /&amp;gt;
 &amp;lt;circle class=&amp;#34;symbol&amp;#34; cx=&amp;#34;2&amp;#34; cy=&amp;#34;6&amp;#34; r=&amp;#34;1&amp;#34; /&amp;gt;
 &amp;lt;path class=&amp;#34;symbol&amp;#34; d=&amp;#34;m 1,4 a 3,3 0 0 1 3,3 h 1 a 4,4 0 0 0 -4,-4 z&amp;#34; /&amp;gt;
 &amp;lt;path class=&amp;#34;symbol&amp;#34; d=&amp;#34;m 1,2 a 5,5 0 0 1 5,5 h 1 a 6,6 0 0 0 -6,-6 z&amp;#34; /&amp;gt;
 &amp;lt;/svg&amp;gt;
 Web Feed
 &amp;lt;/h1&amp;gt;
 &amp;lt;p class=&amp;#34;tip&amp;#34;&amp;gt;
 &amp;lt;strong&amp;gt;This is a web feed,&amp;lt;/strong&amp;gt; also known as an RSS feed. &amp;lt;strong&amp;gt;Subscribe&amp;lt;/strong&amp;gt; by copying the URL &amp;lt;mark&amp;gt;https://abf.li/feed.xml&amp;lt;/mark&amp;gt; into your newsreader.
 &amp;lt;/p&amp;gt;
 &amp;lt;table&amp;gt;
 &amp;lt;thead&amp;gt;
 &amp;lt;tr&amp;gt;
 &amp;lt;th&amp;gt;Latest Posts&amp;lt;/th&amp;gt;
 &amp;lt;th style=&amp;#34;text-align: center;&amp;#34;&amp;gt;Published&amp;lt;/th&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;/thead&amp;gt;
 &amp;lt;tbody&amp;gt;
 &amp;lt;xsl:for-each select=&amp;#34;/rss/channel/item&amp;#34;&amp;gt;
 &amp;lt;tr&amp;gt;
 &amp;lt;td&amp;gt;
 &amp;lt;a target=&amp;#34;_blank&amp;#34;&amp;gt;
 &amp;lt;xsl:attribute name=&amp;#34;href&amp;#34;&amp;gt;
 &amp;lt;xsl:value-of select=&amp;#34;link&amp;#34;/&amp;gt;
 &amp;lt;/xsl:attribute&amp;gt;
 &amp;lt;xsl:value-of select=&amp;#34;title&amp;#34;/&amp;gt;
 &amp;lt;/a&amp;gt;
 &amp;lt;/td&amp;gt;
 &amp;lt;td style=&amp;#34;text-align: center; white-space: nowrap; width: 50px;&amp;#34;&amp;gt;
 &amp;lt;xsl:value-of select=&amp;#34;substring(pubDate, 0, 18)&amp;#34; /&amp;gt;
 &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;/xsl:for-each&amp;gt;
 &amp;lt;/tbody&amp;gt;
 &amp;lt;/table&amp;gt;
 &amp;lt;/main&amp;gt;
 &amp;lt;footer&amp;gt;
 &amp;lt;p&amp;gt;
 {{ site.author.copy}} &amp;lt;a href=&amp;#34;{{ site.author.mastodon }}&amp;#34; rel=&amp;#34;me noopener&amp;#34; target=&amp;#34;_blank&amp;#34;&amp;gt;{{ site.author.name }}&amp;lt;/a&amp;gt;
 ~ Content licensed under &amp;lt;a href=&amp;#34;{{ site.license_url }}&amp;#34; rel=&amp;#34;noopener noreferrer nofollow&amp;#34; target=&amp;#34;_blank&amp;#34;&amp;gt;{{ site.license }}&amp;lt;/a&amp;gt;.&amp;lt;br /&amp;gt;
 Last modified: {{ site.time | date: &amp;#34;%B %-d, %Y&amp;#34; }}.
 &amp;lt;/p&amp;gt;
 &amp;lt;/footer&amp;gt;
 &amp;lt;/body&amp;gt;
 &amp;lt;/html&amp;gt;
 &amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This code was based on &lt;a href="https://github.com/genmon/aboutfeeds/blob/main/tools/pretty-feed-v3.xsl"&gt;Pretty Feed v3&lt;/a&gt;, but I removed all the CSS that was adding unnecessary load, and then I simplified it so that the page shows just the site header, a banner about the web feed, and a table with the posts.&lt;/p&gt;
&lt;p&gt;This is the before and after:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/dd9cbdae-5073-49f8-8a77-ab9050367b06.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Before&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/2f11be8e-98ce-4d35-9b15-17a9287e9a57.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;After&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These are nice people who have also styled their feed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://darekkay.com/atom.xml"&gt;Darek Kay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://minutestomidnight.co.uk/feed.xml"&gt;Simone Silvestroni&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rknight.me/subscribe/posts/rss.xml"&gt;Robb Knight&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Styling+My+Rss+Feed&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fstyling-my-rss-feed%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/the-power-of-writing/</id><title>The Power of Writing</title><link href="https://afranca.com.br/the-power-of-writing/" rel="alternate" type="text/html"/><published>2024-01-15T10:58:00Z</published><updated>2025-12-08T12:12:59Z</updated><category term="blogging"/><summary type="text">Some time ago, my therapist helped me understand a desire I&amp;rsquo;ve always had: to express myself more and better.</summary><content type="html">&lt;p&gt;Some time ago, my therapist helped me understand a desire I&amp;rsquo;ve always had: to express myself more and better.&lt;/p&gt;
&lt;p&gt;Introverts like me tend to suffer because we can&amp;rsquo;t get our feelings, desires, and wishes out. Often, we have inner thoughts that can cause pain in our chest and throat because we want to share them with someone, but nothing comes out of our mouths.&lt;/p&gt;
&lt;p&gt;One of my homework assignments was to start writing. Literally, to write in a journal every single day, whatever was on my mind, with no page limit.&lt;/p&gt;
&lt;p&gt;I doubted I could do it, but within a few days I found myself writing two or three pages a day. I wondered how I was capable of that. It amazed me how much I had to say. So basically the act of writing made me realize that I was able to share things with myself (in a journal) and with others.&lt;/p&gt;
&lt;p&gt;With this blog, my introspection still prevails. I could have a similar approach of just writing, but publishing what I write comes with the judgment of those who will read it, whereas writing in my journal would only pass through my own filter. Unfortunately, the internet has become a place of hate, and maybe people can shout any nonsense at you just because you said something they didn&amp;rsquo;t like or agree with.&lt;/p&gt;
&lt;p&gt;This post is to share my frustration at not being more active on this blog. In reality, I shouldn&amp;rsquo;t be so hard on myself, because it was never my goal to have a publishing frequency here, but I get anxious when I see people from blogs I enjoy reading make it seem so easy to express their ideas and address any topic.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+The+Power+of+Writing&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fthe-power-of-writing%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/patience/</id><title>Patience...</title><link href="https://afranca.com.br/patience/" rel="alternate" type="text/html"/><published>2024-01-11T10:58:00Z</published><updated>2025-12-08T12:12:22Z</updated><category term="blogging"/><category term="wellness"/><summary type="text">We rarely notice behavioral changes in ourselves unless someone points them out. One reason is that we often don’t pay enough attention to ourselves.</summary><content type="html">&lt;p&gt;We rarely notice behavioral changes in ourselves unless someone points them out. One reason is that we often don’t pay enough attention to ourselves.&lt;/p&gt;
&lt;p&gt;We tend to robotize and normalize our daily actions, and before we know it, we may be dealing with a serious problem or addiction, and so on.&lt;/p&gt;
&lt;p&gt;One trait I used to lack was patience, whether with myself, my family, in traffic, or in line at the grocery store. As I said, “used to”, not anymore.&lt;/p&gt;
&lt;p&gt;My lack of patience used to come with symptoms like anxiety, anger, impulsiveness, and a sense of urgency. These signs should have been easy to notice, but for me, they gradually went unnoticed. It wasn’t until people close to me - and I’m grateful to them for their patience - started pointing out every episode where I overreacted because of this issue.&lt;/p&gt;
&lt;p&gt;It’s embarrassing to be called out for such foolishness. If you’ve been through this, as I have, don’t overreact. Surely this person wants the best for you, even if it doesn’t seem that way at the moment.&lt;/p&gt;
&lt;p&gt;Breaking this cycle is not easy and requires understanding what triggers this behavior. Stress-inducing triggers are often related to the environment (home, work, transportation&amp;hellip;), to someone, to our financial situation, the political situation in our country, and so on.&lt;/p&gt;
&lt;p&gt;In my case, I already recognized that I had a problem and wanted to make a change, so it was time for me to see what I could do to break this bad cycle. One of the exercises I’ve been practicing is mindfulness through breathing. Essentially, when we focus on our breath, our awareness of our body increases; we feel more relaxed (with improved circulation), which leads to better decision-making.&lt;/p&gt;
&lt;p&gt;I can already see improvements because everything gets better when we are less stressed.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Patience...&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fpatience%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/advertising/</id><title>Advertising</title><link href="https://afranca.com.br/advertising/" rel="alternate" type="text/html"/><published>2024-01-08T10:58:00Z</published><updated>2025-12-08T12:10:56Z</updated><category term="blogging"/><summary type="text">I despise advertising. If you&amp;rsquo;re a marketing professional, don&amp;rsquo;t be offended. I despise you because, unfortunately, you are doing the job well.</summary><content type="html">&lt;p&gt;I despise advertising. If you&amp;rsquo;re a marketing professional, don&amp;rsquo;t be offended. I despise you because, unfortunately, you are doing the job well.&lt;/p&gt;
&lt;p&gt;Advertising serves various purposes, often associated with a company trying to sell you a product or a desire. Nowadays, it&amp;rsquo;s common to see advertising for our image, in terms of how we sell who we are and how we present ourselves (yes, exactly that foolish coach talk that everyone knows and still falls for). It also exists in politics or in dictatorships, where politicians try to sell an idea of the world, of a country, or whatever it may be.&lt;/p&gt;
&lt;p&gt;The latter two examples are less tempting. What really messes with my head is that daily, everywhere advertising, trying to make me switch my phone or eat ultra-processed foods because they have &amp;ldquo;natural flavors.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Limited regulation allows this temptation machine (often full of lies) to profit greatly at the expense of many people, without any reparation or accountability. A good example is Google, a technology company whose largest revenue comes from ads. This example becomes even more interesting when we notice the cycle:&lt;/p&gt;
&lt;p&gt;Google provides a free video platform supported by ads ~&amp;gt; people are drawn into the &amp;ldquo;glorious&amp;rdquo; world of content creation ~&amp;gt; people get addicted to useless content and spend more time on the platform ~&amp;gt; Google shares a small fraction of its profits with content creators to keep them publishing videos ~&amp;gt; Google attracts more advertisers. With one caveat: due to the centralized nature of the platform, all creators are subject to the rules and availability of the platform, which sometimes acts in an obscure manner.&lt;/p&gt;
&lt;p&gt;No generation has spent so much time connected to a device before. Children don&amp;rsquo;t tell their parents that they want to be police officers, doctors, lawyers, but digital influencers. All of this is capitalized on by large corporations that have specialized in addicting them.&lt;/p&gt;
&lt;p&gt;Everything has become a product and advertisement, in a kind of symbiosis. And we need to learn to choose what truly benefits us and not allow someone to tell us that we need something, as the pathetic Steve Jobs perpetuated.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Advertising&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fadvertising%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/my-default-apps-at-the-beginning-of-2024/</id><title>My Default Apps at the Beginning of 2024</title><link href="https://afranca.com.br/my-default-apps-at-the-beginning-of-2024/" rel="alternate" type="text/html"/><published>2024-01-07T10:58:00Z</published><updated>2025-12-30T00:11:43Z</updated><category term="technology"/><category term="blogging"/><category term="opensource"/><summary type="text">Last year, several people shared their list of default apps, and it was fun to follow the various blogs and see what people have been using.</summary><content type="html">&lt;p&gt;Last year, several people shared their list of default apps, and it was fun to follow the various blogs and see what people have been using.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re interested, &lt;a href="https://defaults.rknight.me/"&gt;Robb Knight keeps a list&lt;/a&gt; of everyone who has joined.&lt;/p&gt;
&lt;p&gt;Better late than never, this is my list, containing my default apps at the beginning of 2024:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mail Service: Skiff Mail&lt;/li&gt;
&lt;li&gt;Mail Client: Skiff Mail&lt;/li&gt;
&lt;li&gt;Notes: Standard Notes&lt;/li&gt;
&lt;li&gt;To-Do: Nextcloud Tasks&lt;/li&gt;
&lt;li&gt;Calendar: Nextcloud Calendar&lt;/li&gt;
&lt;li&gt;Contacts: Nextcloud Contacts&lt;/li&gt;
&lt;li&gt;RSS Service: Miniflux&lt;/li&gt;
&lt;li&gt;RSS Client: NetNewsWire&lt;/li&gt;
&lt;li&gt;Cloud Storage: Nextcloud / iCloud&lt;/li&gt;
&lt;li&gt;Photo library: Immich&lt;/li&gt;
&lt;li&gt;Web Browser: Firefox / Brave (Mobile)&lt;/li&gt;
&lt;li&gt;Chat: Signal / WhatsApp&lt;/li&gt;
&lt;li&gt;Bookmarks: Firefox&lt;/li&gt;
&lt;li&gt;Reading: Kindle App&lt;/li&gt;
&lt;li&gt;Word Processing: Onlyoffice&lt;/li&gt;
&lt;li&gt;Spreadsheets: Onlyoffice&lt;/li&gt;
&lt;li&gt;Shopping Lists: Standard Notes&lt;/li&gt;
&lt;li&gt;Personal Finance: Onlyoffice Spreadsheet&lt;/li&gt;
&lt;li&gt;Music: Jellyfin&lt;/li&gt;
&lt;li&gt;Podcasts: Pocket Casts&lt;/li&gt;
&lt;li&gt;Password Management: KeepassXC&lt;/li&gt;
&lt;li&gt;Social Media: Mastodon&lt;/li&gt;
&lt;li&gt;Weather: Apple Weather&lt;/li&gt;
&lt;li&gt;Search: DuckDuckGo&lt;/li&gt;
&lt;li&gt;Code Editor: VSCode&lt;/li&gt;
&lt;li&gt;Email Aliases: SimpleLogin / Addy&lt;/li&gt;
&lt;li&gt;VPN: Tailscale / IVPN&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I now keep an up-to-date version at &amp;ldquo;&lt;a href="https://afranca.com.br/uses/"&gt;Things I use&lt;/a&gt;&amp;rdquo;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+My+Default+Apps+at+the+Beginning+of+2024&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fmy-default-apps-at-the-beginning-of-2024%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/embracing-fatherhood/</id><title>Embracing Fatherhood</title><link href="https://afranca.com.br/embracing-fatherhood/" rel="alternate" type="text/html"/><published>2023-11-10T10:58:00Z</published><updated>2025-12-08T01:04:14Z</updated><category term="parenting"/><category term="blogging"/><summary type="text">The privilege of being present in a child&amp;rsquo;s life is given to few. I&amp;rsquo;ll set aside any politically correct concerns, but I won&amp;rsquo;t refrain from saying that men in general often behave badly, which prevents them from enjoying an incredible experience, which is fatherhood.</summary><content type="html">&lt;p&gt;The privilege of being present in a child&amp;rsquo;s life is given to few. I&amp;rsquo;ll set aside any politically correct concerns, but I won&amp;rsquo;t refrain from saying that men in general often behave badly, which prevents them from enjoying an incredible experience, which is fatherhood.&lt;/p&gt;
&lt;p&gt;Every man should salute a mother, the one who dedicates herself to her child, who loses many nights of sleep, who educates and feeds them.&lt;/p&gt;
&lt;p&gt;The daily process of changing a man&amp;rsquo;s thoughts and behavior to take care of a home and a child is not easy (after all, how many parents prepare their male children for these tasks?). We&amp;rsquo;re usually taught that the house and kids are women&amp;rsquo;s concern, and our role is to provide financially.&lt;/p&gt;
&lt;p&gt;Not that being away from our child due to a 6-day-a-week job routine isn&amp;rsquo;t difficult either - in the world we live in, it&amp;rsquo;s often necessary - but the point is that this idea has prevailed for so long in the minds of many men, and this normalization often hinders the creation of a true father-child connection.&lt;/p&gt;
&lt;p&gt;I give up many things to be present as a father. The choice to have a child is the choice to live for them until they can live on their own. This doesn&amp;rsquo;t mean giving up on myself, but it means putting myself aside because my child is the most important thing to me.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Embracing+Fatherhood&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fembracing-fatherhood%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/friendship/</id><title>Friendship</title><link href="https://afranca.com.br/friendship/" rel="alternate" type="text/html"/><published>2023-11-03T10:58:00Z</published><updated>2025-12-08T01:02:46Z</updated><category term="blogging"/><summary type="text">It&amp;rsquo;s funny how we create bonds of friendship. These bonds are often made up of common interests or difficulties, some of family proximity, admiration, or even some random event without explanation.</summary><content type="html">&lt;p&gt;It&amp;rsquo;s funny how we create bonds of friendship. These bonds are often made up of common interests or difficulties, some of family proximity, admiration, or even some random event without explanation.&lt;/p&gt;
&lt;p&gt;What all friendships have in common, however, besides mutual respect, is, in my view, the freedom to share feelings openly, to be who we are without judgment, and the absence of a predetermined give-and-take relationship or obligation.&lt;/p&gt;
&lt;p&gt;Building healthy relationships takes a lot of time and dedication, so it&amp;rsquo;s common to have few friends and many acquaintances. We have acquaintances at school, at work, at the local coffee shop, in the virtual environment, in so many places that sometimes we confuse what type of relationship we share with someone.&lt;/p&gt;
&lt;p&gt;We live in a time of friend scarcity. People are increasingly busy, struggling to survive, taking care of their lives and their families. With growing inequality, disinterest in knowledge, and social media, it&amp;rsquo;s hard to muster the courage to embrace a beautiful friendship.&lt;/p&gt;
&lt;p&gt;If you have a friend, be grateful. A good friendship lasts longer than a lifetime.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Friendship&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Ffriendship%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/learning-not-to-care/</id><title>Learning Not to Care</title><link href="https://afranca.com.br/learning-not-to-care/" rel="alternate" type="text/html"/><published>2023-11-01T10:58:00Z</published><updated>2025-12-08T01:00:28Z</updated><category term="blogging"/><summary type="text">In my imagination, I&amp;rsquo;ve always entertained the idea of trying to be a person whose actions benefited the common good at the expense of my own interests. Far from being a monk or a saint, I try to live my life this way.</summary><content type="html">&lt;p&gt;In my imagination, I&amp;rsquo;ve always entertained the idea of trying to be a person whose actions benefited the common good at the expense of my own interests. Far from being a monk or a saint, I try to live my life this way.&lt;/p&gt;
&lt;p&gt;While thinking about others has become natural to me, I have never understood people with high levels of selfishness, narcissism, and arrogant individuals. That was until my downstairs neighbor began complaining about alleged noise coming from my apartment.&lt;/p&gt;
&lt;p&gt;I grew up in good single family homes, and I never had (or rather, my mother never had) issues with neighbors, even on days of parties or special events. This doesn&amp;rsquo;t mean the opposite didn&amp;rsquo;t occur.&lt;/p&gt;
&lt;p&gt;Today I live in an apartment - I don&amp;rsquo;t know for how long - against my will. I&amp;rsquo;ve had to deal with many problems like noisy people, some hosting late-night parties, mess in the common areas, and so on, the list is long.&lt;/p&gt;
&lt;p&gt;Fate wanted a role reversal. So much chaos was happening that, recently, I decided not to be bothered by the sounds produced by my child. Children play, laugh, cry, and run around the house, and despite all the care we can take, we aren&amp;rsquo;t leaving our child in the crib all day.&lt;/p&gt;
&lt;p&gt;We have frequent visits from the downstairs neighbor. I simply tell them that we&amp;rsquo;ll do our best. I&amp;rsquo;m learning, in this situation, not to care, as many people do.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Learning+Not+to+Care&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Flearning-not-to-care%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/formula-one-is-back/</id><title>Formula One Is Back</title><link href="https://afranca.com.br/formula-one-is-back/" rel="alternate" type="text/html"/><published>2023-03-06T10:58:00Z</published><updated>2025-12-08T00:58:18Z</updated><category term="sports"/><category term="blogging"/><summary type="text">The 2023 Formula One season is about to start, and I&amp;rsquo;m excited.</summary><content type="html">&lt;p&gt;The 2023 Formula One season is about to start, and I&amp;rsquo;m excited.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve always been a motor racing fan, not only Formula One, and this passion made me want to learn and compete in virtual races.&lt;/p&gt;
&lt;p&gt;Many Americans are fans of motor racing, but Formula One specifically has always been left aside for national championships such as NASCAR and Indy. This scenario began to change about 4 years ago after Netflix began to portray some behind-the-scenes content in the series Drive to Survive, attracting new fans, mostly young people. Another important factor was the purchase of the category by Liberty Media, which bet on a complete shift on how we see the category and the use of technology, which allows viewers, for example, to have access to telemetry resources of cars, among other information.&lt;/p&gt;
&lt;p&gt;My excitement about the beginning of the championship would be even greater if it weren&amp;rsquo;t for the fact that I can only watch the races from my couch.&lt;/p&gt;
&lt;p&gt;With all these changes and modernization, the cost of watching a race on a racetrack is only accessible to people willing to pay astronomical fees. Last year, Miami was added to the calendar, but the $600+ tickets discouraged me.&lt;/p&gt;
&lt;p&gt;Well, I can&amp;rsquo;t say if Formula One is on the right track, but the races are in my heart and I will always try to find a way to be in touch with this wonderful sport.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Formula+One+Is+Back&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fformula-one-is-back%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/re-de-brand/</id><title>Re: De-brand</title><link href="https://afranca.com.br/re-de-brand/" rel="alternate" type="text/html"/><published>2023-03-04T10:58:00Z</published><updated>2025-12-08T00:57:18Z</updated><category term="blogging"/><summary type="text">This is, but not really, a reply to the post “De-brand”, written by Simone Silvestroni. Actually, it made me want to share some thoughts on this subject.</summary><content type="html">&lt;p&gt;This is, but not really, a reply to the post “&lt;a href="https://minutestomidnight.co.uk/blog/de-brand/"&gt;De-brand&lt;/a&gt;”, written by Simone Silvestroni. Actually, it made me want to share some thoughts on this subject.&lt;/p&gt;
&lt;p&gt;This “branding ourselves” situation has become a trend for the past couple of years due to many aspects. The way I picture the world, I would name three as the most relevant: the financial disparity between the regular people and the super-rich; the excess of technology development, e.g. artificial intelligence, that urges people to abruptly change their formation and jobs to survive; and the big tech role to promote social media addiction, besides being the scene for dissemination of the, somewhat misleading, digital marketing and personal branding content, of which I consider an abomination.&lt;/p&gt;
&lt;p&gt;What’s the matter with the super-rich people?&lt;/p&gt;
&lt;p&gt;Well, it&amp;rsquo;s basically the accumulation of capital that could be better distributed and the excess of power that it brings. Just look at the soft power that figures like Jeff Bezos, Bill Gates, or maybe the king of some Arabic country you want to name have.&lt;/p&gt;
&lt;p&gt;Although it may look otherwise, I don’t advocate against capitalism. I just think that this system should be rethought and studied deeply, if what we want is a sustainable and less unequal planet.&lt;/p&gt;
&lt;p&gt;We need to reflect as a society whether we want to evolve technologically so fast and who benefits from this &amp;rsquo;evolution&amp;rsquo;, that is, only the great businessmen and shareholders of some large company or the people who indeed use it.&lt;/p&gt;
&lt;p&gt;Long story short, there is a set of factors that lead us to such personal branding. Many people need to reinvent themselves to survive and some of them end up &amp;ldquo;prostituting&amp;rdquo; themselves on social media platforms, being exploited by big tech companies and the so-called gurus, life coaches or some other unscrupulous marketer, as well as by the super-rich people who speak in the name of a supposed liberalism (without at least knowing what liberalism is about).&lt;/p&gt;
&lt;p&gt;De-branding is a movement of courage. It&amp;rsquo;s giving up a supposed visibility, it&amp;rsquo;s removing the mask, it&amp;rsquo;s being who we want to be.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Re%3A+De-brand&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fre-de-brand%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/its-been-easy-not-to-miss-you-dear-old-macbook/</id><title>It's Been Easy not to Miss You, Dear Old Macbook</title><link href="https://afranca.com.br/its-been-easy-not-to-miss-you-dear-old-macbook/" rel="alternate" type="text/html"/><published>2023-03-03T10:58:00Z</published><updated>2025-12-08T00:56:38Z</updated><category term="technology"/><category term="apple"/><category term="lenovo"/><summary type="text">Recently, I was having a bad time with my macbook, and I wrote a post sharing my experiences.</summary><content type="html">&lt;p&gt;Recently, I was having a bad time with my macbook, and &lt;a href="https://afranca.com.br/having-a-bad-time-with-my-macbook-pro/"&gt;I wrote a post sharing my experiences&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Those who know me are aware of my thoughts on technology waste, and how I try to keep and use my devices for as long as they last. There&amp;rsquo;s one exception, though: a product is so horrible that it makes me struggle to get my things done.&lt;/p&gt;
&lt;p&gt;After a full year dealing with multiple issues on my macbook, I decided to buy a new machine, and retire the current one.&lt;/p&gt;
&lt;p&gt;I had a clear view of what I wanted my new laptop to be/offer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Non-Apple;&lt;/li&gt;
&lt;li&gt;Bigger display of at least 15&amp;quot;;&lt;/li&gt;
&lt;li&gt;Ports (not only two miserable USB-C ports);&lt;/li&gt;
&lt;li&gt;Decent amount of memory with possibility to upgrade;&lt;/li&gt;
&lt;li&gt;A processor that could stand for a couple of years without struggling;&lt;/li&gt;
&lt;li&gt;Fit my humble budget of $1400;&lt;/li&gt;
&lt;li&gt;Some basic repairability.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After some research, I came up with some interesting options. Among them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dell XPS 15&lt;/li&gt;
&lt;li&gt;Lenovo Carbon X1&lt;/li&gt;
&lt;li&gt;Framework&lt;/li&gt;
&lt;li&gt;System76 Gazelle&lt;/li&gt;
&lt;li&gt;System76 Pangolin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Dell&lt;/strong&gt; is beautifully crafted and resembles in some sort of way Apple machines, but it didn&amp;rsquo;t fit most of my requirements.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lenovo Carbon X1&lt;/strong&gt; looks great and offers out-the-box support for Linux. What I didn&amp;rsquo;t like was the price, and after reading some reviews, I found it to have some thermal problems that can cause performance throttling.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Framework&lt;/strong&gt; conceptually is great. I love how modular it can be, and I was considering giving up my display size requirement for this laptop, until I found out how expensive it can become. Some upgrades can cost the price of a new machine.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;System76 Gazelle&lt;/strong&gt; is a beefy machine, and it could fit to my budget playing with customizations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;System76 Pangolin&lt;/strong&gt; This one really caught my attention. The updated version has some good specs, fit my budget, and it&amp;rsquo;s not manufactured by Clevo as I was told by a System76 representative.&lt;/p&gt;
&lt;p&gt;I was almost hitting the buy button for the Gazelle, and an article came to my attention where the author was having some issues with this machine and having a bad time with customer care and post-sales. I did some more research on online forums and there were some people complaining about battery, Wi-Fi antenna, and all of that was the deciding factor to keep looking elsewhere.&lt;/p&gt;
&lt;p&gt;System76 is a company that I was considering giving a shot to. They seem to have good values and look passionate on what they do. It&amp;rsquo;s admirable how they are striving, given how many manufacturers there are out there. Maybe in the future&amp;hellip;&lt;/p&gt;
&lt;p&gt;By that time, I was getting a bit disappointed, and I headed to Lenovo website to see if they had other machines that would fit my requirements. Why Lenovo? Well, I have worked for a big company before, and from all desktops/laptops I had to deal with, this brand was the most durable one.&lt;/p&gt;
&lt;p&gt;Just by curiosity, looking at the gaming laptops section, I got impressed to find pretty decent machines with fair prices, including the one from where I&amp;rsquo;m writing this post, a Lenovo Legion i5 Pro Gen7.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/014943be-72c4-490e-82fa-1fff17d16c8a.webp" alt="Image of a Lenovo Legion 5i Pro Gen7 Laptop"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Lenovo Legion 5i Pro Gen7 Laptop&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This laptop has been amazing so far. Its estimated price is $1,789.99, however I paid $1,364.79 (including tax). Here are my specs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Processor: 12th Gen Intel i7-12700H (14 Cores, 20 Threads, 24MB Cache)&lt;/li&gt;
&lt;li&gt;Graphics: NVIDIA GeForce RTX 3050 Ti 4GB&lt;/li&gt;
&lt;li&gt;Display: 16&amp;quot; (2560 x 1600) IPS, 500 nits, 165Hz&lt;/li&gt;
&lt;li&gt;Memory: 16GB (up to 32 GB) DDR5 4800MHz&lt;/li&gt;
&lt;li&gt;Battery: 80Whr (in my tests around 5 hours)&lt;/li&gt;
&lt;li&gt;Storage: 1TB PCIe Gen 4 (plus 1 PCIe slot)&lt;/li&gt;
&lt;li&gt;Ports
&lt;ul&gt;
&lt;li&gt;1x Thunderbolt 4 (USB 4, DisplayPort 1.4)&lt;/li&gt;
&lt;li&gt;2x USB Type-C (USB 3.2 Gen 2, DisplayPort 1.4)&lt;/li&gt;
&lt;li&gt;3x USB-A 3.2 Gen 1&lt;/li&gt;
&lt;li&gt;Headphone / mic combo&lt;/li&gt;
&lt;li&gt;1x HDMI&lt;/li&gt;
&lt;li&gt;1x RJ45&lt;/li&gt;
&lt;li&gt;1x DC-In&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://psref.lenovo.com/syspool/Sys/PDF/Legion/Lenovo_Legion_5_Pro_16IAH7/Lenovo_Legion_5_Pro_16IAH7_Spec.pdf"&gt;Full Specs can be found here&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="final-thoughts"&gt;Final Thoughts&lt;/h2&gt;
&lt;p&gt;After some time migrating my data, and setting up things here and there, now I finally have a working machine. Getting used to a new operating system has been easier than expected. Anything beyond that, only time will tell, but for now I&amp;rsquo;m happy.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s worth mentioning that this machine is not Linux certified, but everything works wonders out-the-box. The only issue is with suspend mode (as always).&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+It%27s+Been+Easy+not+to+Miss+You%2C+Dear+Old+Macbook&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fits-been-easy-not-to-miss-you-dear-old-macbook%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/having-a-bad-time-with-my-macbook-pro/</id><title>Having a Bad Time With My Macbook Pro</title><link href="https://afranca.com.br/having-a-bad-time-with-my-macbook-pro/" rel="alternate" type="text/html"/><published>2023-02-11T10:58:00Z</published><updated>2025-12-08T00:55:32Z</updated><category term="technology"/><category term="apple"/><summary type="text">I might have mentioned elsewhere my disappointment with my MacBook keyboard, but I need to say it again: Apple&amp;rsquo;s butterfly keyboard is a piece of garbage.</summary><content type="html">&lt;p&gt;I might have mentioned elsewhere my disappointment with my MacBook keyboard, but I need to say it again: Apple&amp;rsquo;s butterfly keyboard is a piece of garbage.&lt;/p&gt;
&lt;p&gt;Buying an apple product nowadays, in my experience, revolves only around hyping. It has been a long time that Apple devices &amp;ldquo;are not recognized as something revolutionary, despite what its marketing department says in every iDevice launch. Not that one should expect for anything to be revolutionary, but at least we should be getting things that work properly, especially when paying a premium price.&lt;/p&gt;
&lt;p&gt;Back in 2010, I bought my first laptop, a macbook pro with reasonable specs. It was top-notch quality and customizable. It lasted 10+ years with basic upgrades - that I did myself - on memory and hdd (replaced with an SSD). You have no idea how I miss this machine. Never had a single problem. To be fair, the only issue was with OS upgrades that Apple started to make purposely slow to make people buy new hardware.&lt;/p&gt;
&lt;p&gt;My experience with my current laptop, a macbook 2018, has been a disaster. It was built beautifully design-wise, and the quality stops right there. My battery after only 4 years needs to be serviced (it dies out of nowhere without the power cable), my keyboard, even after multiples deep cleanings, keeps failing, and to complete the list, all OS upgrades make it super hard to digest with the added complexity.&lt;/p&gt;
&lt;p&gt;Having my keyboard or battery replaced would cost me an amount of money that does not make any sense to spend. I&amp;rsquo;m not in favor of e-waste and will continue using this laptop for as long as I can. When the time comes, I&amp;rsquo;m likely looking for a better machine or something that, just in case, I can service myself. A new requirement would be having the possibility to install Linux natively.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Having+a+Bad+Time+With+My+Macbook+Pro&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fhaving-a-bad-time-with-my-macbook-pro%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/we-need-more-teaching-on-digital-security/</id><title>We Need More Teaching on Digital Security</title><link href="https://afranca.com.br/we-need-more-teaching-on-digital-security/" rel="alternate" type="text/html"/><published>2023-02-10T10:58:00Z</published><updated>2025-12-08T00:53:46Z</updated><category term="technology"/><category term="security"/><summary type="text">For the second time this month, my wife received two messages where the sender offered some crazy opportunity to make money or asked her for financial help. She became suspicious of both messages.</summary><content type="html">&lt;p&gt;For the second time this month, my wife received two messages where the sender offered some crazy opportunity to make money or asked her for financial help. She became suspicious of both messages.&lt;/p&gt;
&lt;p&gt;The first message was a blatant fraud; the second drew her attention because it was not from a close contact.&lt;/p&gt;
&lt;p&gt;I recommended that she try to contact these people in a way that she could verify whether they were really themselves, and ask them about the alleged messages. Both people said they did not know what those messages were about, then later on confirmed they had lost access to their Instagram accounts.&lt;/p&gt;
&lt;p&gt;My wife asked me whether she could also be vulnerable to this kind of trouble, and my short answer was yes. I mean, I am starting from the premise that there is no one-hundred-percent safe system, nor can we be always careful. However, there are small precautions that we can take - in this case, having a good and unique password, in addition to MFA.&lt;/p&gt;
&lt;p&gt;My question, after this short introduction, is to understand why, in an increasingly technological world, people, especially children and young people, are not taught about digital security.&lt;/p&gt;
&lt;p&gt;Obviously, there are cases where no matter what we do, we cannot prevent a malicious actor, but there are other cases where we do not do the basics at least. And this can lead us to various losses, including financial.&lt;/p&gt;
&lt;p&gt;This is an important reflection for us as a society, and especially for parents, like me, as responsible for the formation of children.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+We+Need+More+Teaching+on+Digital+Security&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwe-need-more-teaching-on-digital-security%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/using-cloudflare-for-dynamic-url-redirects/</id><title>Using Cloudflare for Dynamic Url Redirects</title><link href="https://afranca.com.br/using-cloudflare-for-dynamic-url-redirects/" rel="alternate" type="text/html"/><published>2023-02-01T10:58:00Z</published><updated>2025-12-08T00:52:43Z</updated><category term="howto"/><category term="technology"/><summary type="text">A couple of days ago, a domain switch took place on this website, and I wanted to have a way to dynamically 1 forward URLs from the old domain to the new one, preserving the current permalink structure.</summary><content type="html">&lt;p&gt;A couple of days ago, a &lt;a href="https://afranca.com.br/switching-from-afhub-dev-domain/"&gt;domain switch&lt;/a&gt; took place on this website, and I wanted to have a way to dynamically &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; forward URLs from the old domain to the new one, preserving the current permalink structure.&lt;/p&gt;
&lt;p&gt;Searching the web, I came across the &lt;a href="https://btxx.org/posts/netlify-urls/"&gt;&amp;ldquo;Using Netlify for Dynamic URL Redirects&amp;rdquo;&lt;/a&gt; article, written by Brad Taunt. The problem is, I didn&amp;rsquo;t want to sign up for Netlify just for that.&lt;/p&gt;
&lt;p&gt;My blog is already hosted on Cloudflare, so it made sense to me to use it for the redirects too. I checked their documentation to see if something similar could be achieved. And it is, in fact, really simple and free.&lt;/p&gt;
&lt;h2 id="steps-to-reproduce"&gt;Steps to reproduce&lt;/h2&gt;
&lt;h3 id="setup-content-locally"&gt;Setup content locally&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Create a folder in your computer and add the following files:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ touch _redirects index.html 404.html
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Add the following &lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; to your &lt;code&gt;_redirects&lt;/code&gt; file:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/ https://domain.tld 301
/* https://domain.tld/:splat 301
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Replace &lt;strong&gt;domain.tld&lt;/strong&gt; with your domain.&lt;/p&gt;
&lt;p&gt;Breaking down the above lines:&lt;/p&gt;
&lt;p&gt;~ &lt;strong&gt;First line:&lt;/strong&gt; Redirects all connections from the old domain&amp;rsquo;s home page to the new domain one;&lt;/p&gt;
&lt;p&gt;~ &lt;strong&gt;Second line:&lt;/strong&gt; A splat (asterisk, &lt;code&gt;*&lt;/code&gt;) will greedily match all characters and use them to dynamically redirect a user to the new location with &lt;code&gt;:splat&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add the following to both index.html and 404.html files.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;#34;en&amp;#34;&amp;gt;
&amp;lt;head&amp;gt;
 &amp;lt;title&amp;gt;403 Forbidden&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
 &amp;lt;h1&amp;gt;403 Forbidden&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="create-a-new-cloudflare-pages-project"&gt;Create a new Cloudflare Pages project&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Access your &lt;a href="https://dash.cloudflare.com"&gt;Cloudflare Dashboard&lt;/a&gt; (create an account if needed) and click Pages on the sidebar.&lt;/li&gt;
&lt;li&gt;Now, &lt;strong&gt;create a new project&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You have three options to set up your project: connecting to a git repository (usually GitHub or GitLab); uploading a folder; or using the &lt;a href="https://developers.cloudflare.com/workers/get-started/guide/"&gt;Wrangler CLI tool&lt;/a&gt;. We&amp;rsquo;re uploading our folder in this example.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Give your project a name, upload the folder you just created, then click deploy.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="set-up-a-custom-domain"&gt;Set up a custom domain&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Now, in your new project&amp;rsquo;s page, look for the &lt;strong&gt;custom domains&lt;/strong&gt; tab, then add a new domain.&lt;/li&gt;
&lt;li&gt;Type your domain.tld, then follow the instructions given to add the proper &lt;code&gt;CNAME&lt;/code&gt; record to the assigned project URL. If your DNS is managed by Cloudflare, this will be a 1-click process.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: If you&amp;rsquo;re redirecting from a zone apex, i.e. example.com, instead of a subdomain, Cloudflare will require your old domain name nameservers to match Cloudflare&amp;rsquo;s.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;That&amp;rsquo;s pretty much it!&lt;/p&gt;
&lt;p&gt;Cloudflare will be in charge of generating an SSL certificate for you, and by now, you&amp;rsquo;ll have all of your pre-existing URLs forwarded dynamically to your new domain.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TIP&lt;/strong&gt;: A similar approach can be used to have your big URLs shortened to another small domain.tld. Of course, without all the telemetry those URL shortener services provide.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Dynamically in this case means preserving the current permalink structure, instead of DNS forwarding setup, which doesn&amp;rsquo;t allow this level of customization.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Feel free to add to your &lt;code&gt;_redirects&lt;/code&gt; file a different set of rules. &lt;a href="https://developers.cloudflare.com/pages/platform/redirects"&gt;All options are well documented here&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Using+Cloudflare+for+Dynamic+Url+Redirects&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fusing-cloudflare-for-dynamic-url-redirects%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/website-version-4-0/</id><title>Website version 4.0</title><link href="https://afranca.com.br/website-version-4-0/" rel="alternate" type="text/html"/><published>2023-01-31T10:58:00Z</published><updated>2025-12-30T02:06:56Z</updated><category term="static site generator"/><category term="jekyll"/><category term="cms"/><category term="ghostcms"/><summary type="text">I&amp;rsquo;ve been running this blog since April, and for the first time I can say I&amp;rsquo;m really happy with it in terms of functionality and appearance.</summary><content type="html">&lt;p&gt;I&amp;rsquo;ve been running this blog since April, and for the first time I can say I&amp;rsquo;m really happy with it in terms of functionality and appearance.&lt;/p&gt;
&lt;p&gt;Back in September, I wrote &amp;ldquo;&lt;a href="https://afranca.com.br/ghost-as-my-blogging-platform/"&gt;Ghost as my blogging platform&lt;/a&gt;&amp;rdquo; explaining the reasons why I was giving a shot at a CMS and leaving Jekyll as my SSG. Two of the reasons were the ability to schedule posts that Ghost provides and how easy it was to manage content.&lt;/p&gt;
&lt;p&gt;That choice came with some drawbacks. Like everything in life, when you make a choice, you also choose to leave something behind. In my case, I was struggling with making visual modifications due to the way Ghost is developed, and saw a huge decrease in performance when loading pages, due to excess bloat, JavaScript, etc.&lt;/p&gt;
&lt;p&gt;For the fourth time, I decided it was time to go static again. I still don&amp;rsquo;t post frequently, so I can&amp;rsquo;t justify my wish to manage content I don&amp;rsquo;t produce in a more &amp;ldquo;powerful&amp;rdquo; way. Also, I found out that I can simply write using any editor I like and push it to the web when I&amp;rsquo;m at my computer and have time available. And that is okay after all.&lt;/p&gt;
&lt;p&gt;Moving back to Jekyll was a bit of a headache because there was no way to export my previous posts in a format that I could easily work with. Jekyll, Ruby, and my macOS were also playing tricks on me. Let me explain myself: On a beautiful day, I ran a &lt;code&gt;brew update&lt;/code&gt; command and my Jekyll installation broke. I came to find that I wasn&amp;rsquo;t running a properly compatible version of Ruby.&lt;/p&gt;
&lt;p&gt;I followed the exact instructions (from Jekyll website) to set up the environment again, installed chruby, and then hit more errors when trying to install Ruby. After hours of troubleshooting &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;, I realized I had some &lt;code&gt;CFLAGS&lt;/code&gt; set in my &lt;strong&gt;.zshrc&lt;/strong&gt; file that were somehow breaking the build. Once I unset the &lt;code&gt;CFLAGS&lt;/code&gt;, &lt;code&gt;LDFLAGS&lt;/code&gt;, and &lt;code&gt;LDLIBS&lt;/code&gt;, everything went okay. I created a &lt;strong&gt;.ruby-version&lt;/strong&gt; file in my working directory to make sure I won&amp;rsquo;t run into update issues again.&lt;/p&gt;
&lt;p&gt;In the meantime, while trying to fix ruby, I installed Hugo and 11ty to see whether any of them would fit better than Jekyll.&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t have a good time with Hugo, as it turned out to be overcomplicated (compared to Jekyll, in my opinion);&lt;/p&gt;
&lt;p&gt;11ty seemed to work well. I liked the idea of being able to use different template languages and the fact that it has more similarities with Jekyll, however, I have zero experience with JavaScript, and customizing its settings wasn&amp;rsquo;t friendly to me.&lt;/p&gt;
&lt;p&gt;It meant Jekyll would be the way to go, or to stay with Ghost in case I couldn&amp;rsquo;t fix my Jekyll installation.&lt;/p&gt;
&lt;p&gt;It took me some time to fully migrate. I was doing things patiently and trying to improve my Jekyll setup with as few plugins as possible for future-proofing. One good example is that I have a custom &lt;code&gt;.html&lt;/code&gt; for SEO, a custom RSS and JSON feed file, and a sitemap file, all rendered by Jekyll at build time without an additional plugin.&lt;/p&gt;
&lt;p&gt;Differently from using Ghost, I regained control of what&amp;rsquo;s going on under the hood, and now I have a minimal and much faster website &lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;h2 id="looking-back-to-the-beginning"&gt;Looking back to the beginning&lt;/h2&gt;
&lt;h3 id="version-10"&gt;Version 1.0&lt;/h3&gt;
&lt;p&gt;The first version of the blog was built upon Jekyll, using &lt;a href="https://simplecss.org/"&gt;simple.css&lt;/a&gt;, a CSS framework created by @kev@fosstodon.org.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/B7857668-F9A6-47C1-9048-4F66E556679E-287657614.webp" alt=""&gt;&lt;/p&gt;
&lt;h3 id="version-20"&gt;Version 2.0&lt;/h3&gt;
&lt;p&gt;Five months later, I changed things up a bit and launched the second version.&lt;/p&gt;
&lt;p&gt;I hate to admit it, but it was horrible. As you can see, the background had a yellow-ish color, and hyperlinks had tones of orange. What I liked was the navigation that I was able to shrink.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/C0295DF6-53E1-4225-BF87-1FFED7B53A84-1809084866.webp" alt=""&gt;&lt;/p&gt;
&lt;h3 id="version-30-now-using-ghost"&gt;Version 3.0 (Now using Ghost)&lt;/h3&gt;
&lt;p&gt;By Sep 22, I switched to Ghost.&lt;/p&gt;
&lt;p&gt;I haven&amp;rsquo;t found any Ghost template that I like, even the paid ones. I had to choose something and ended up with &lt;a href="https://attila.peteramende.de/"&gt;Attila Theme&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/AA7AE463-30E3-455B-B102-9E74B2BF6472-1064595816.webp" alt=""&gt;&lt;img src="https://afranca.com.br/uploads/7B839340-6B71-4CE2-97BD-B01CE8937DCC-1802060500.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;There is a large feature image, and the typography is not well sized (I mean, they don&amp;rsquo;t seem to work well together).&lt;/p&gt;
&lt;p&gt;For the first time I had Tags on my website.&lt;/p&gt;
&lt;h2 id="how-is-it-going"&gt;How is it going?&lt;/h2&gt;
&lt;h3 id="version-40-current---back-to-jekyll"&gt;Version 4.0 (current - back to Jekyll)&lt;/h3&gt;
&lt;p&gt;This version is somewhat based on &lt;a href="https://btxx.org/"&gt;Bradley Taunt&amp;rsquo;s&lt;/a&gt; minimalist website.&lt;/p&gt;
&lt;p&gt;Some Features:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/3E8688EE-952F-440D-A1C2-48D9029F22A3-217874859.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Simple website title and &lt;a href="https://btxx.org/posts/hamburger-menu-alternative/"&gt;sausage links&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/4CA0874B-6992-4BAC-8093-16587F9FB2D8-1211198854.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;List of recent posts&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/E3E05D60-4985-4EAC-8CBA-6A7C137ADAFE-1084587838.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Posts metadata. Includes post date, word count, time to read and post tags&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/FB162412-7A4D-4A26-87AF-21491FA6C785-704195110.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Links for previous and next post&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/9A6D484B-29D7-471E-A9DC-B7B8C81CC89F-556260798.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://git.sr.ht/~sircmpwn/openring"&gt;Openring&lt;/a&gt;, a tool for generating a webring from RSS feeds&lt;/p&gt;
&lt;h2 id="final-thoughts"&gt;Final thoughts&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m happy with the final result, and the 4.0 version really looks pleasant to my eyes.&lt;/p&gt;
&lt;p&gt;I tried to organize things in a way that it&amp;rsquo;s easy to find content and read it with minimal distractions, and to reduce bloat and excess of features, yet it has some good ones.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mastodon.chriswiegman.com/@chris"&gt;Chris&lt;/a&gt; wrote a few days ago &lt;a href="https://chriswiegman.com/2023/01/still-wishing-for-a-better-blogging-tool/"&gt;&amp;ldquo;Still wishing for a better blogging tool&amp;rdquo;&lt;/a&gt;, and I&amp;rsquo;d say I feel pretty much like him in this aspect. In his case, his tool of choice is Word Press; mine is the great ol&amp;rsquo; Jekyll.&lt;/p&gt;
&lt;p&gt;I found this solution to be a bit overkill, considering that a SSG was supposed to be simple and run lean.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;I mentioned I had a problem with Jekyll on mastodon and @kev@fosstodon.org said something about having a Jekyll container using docker for situations where an update would break a Jekyll installation.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;The loading time was improved significantly by roughly 9x (checked using GTmetrix website), and the total size of the page was reduced by 25x.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Website+version+4.0&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwebsite-version-4-0%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/switching-from-afhub-dev-domain/</id><title>Switching from afhub.dev domain</title><link href="https://afranca.com.br/switching-from-afhub-dev-domain/" rel="alternate" type="text/html"/><published>2023-01-29T10:58:00Z</published><updated>2025-12-08T00:50:28Z</updated><category term="announcements"/><summary type="text">From now on, all my content will be available at https://abf.li/ https://afranca.com.br in place of the old afhub.dev.</summary><content type="html">&lt;p&gt;From now on, all my content will be available at &lt;del&gt;&lt;a href="https://abf.li/"&gt;https://abf.li/&lt;/a&gt;&lt;/del&gt; &lt;a href="/"&gt;https://afranca.com.br&lt;/a&gt; in place of the old afhub.dev.&lt;/p&gt;
&lt;p&gt;In the next few hours, I&amp;rsquo;ll set up some url redirects from the old domain to this one to make the transition easier for readers. Redirects will last for the period of time that the old domain remains valid.&lt;/p&gt;
&lt;p&gt;Why am I doing this?&lt;/p&gt;
&lt;p&gt;The main reason is that I want to make my blog more personal (not only tech related). Besides that, having a google domain was the only thing holding me back from completely de-googling.&lt;/p&gt;
&lt;p&gt;The new domain is shorter, easy to remember, really cool (in my opinion), and cheaper to renew.&lt;/p&gt;
&lt;p&gt;For those who follow me using a newsreader client, the new rss feed url is &lt;a href="/feed.xml"&gt;https://afranca.com.br/rss/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please update it.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Switching+from+afhub.dev+domain&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fswitching-from-afhub-dev-domain%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/copa-do-mundo-no-qatar-e-a-hipocrisia-global/</id><title>Copa Do Mundo No Qatar E a Hipocrisia Global</title><link href="https://afranca.com.br/copa-do-mundo-no-qatar-e-a-hipocrisia-global/" rel="alternate" type="text/html"/><published>2022-11-23T10:20:00Z</published><updated>2025-12-08T00:39:47Z</updated><category term="sports"/><summary type="text">A cada quatro anos, a entidade máxima do futebol, Fifa, organiza um dos eventos esportivos mais mobilizadores e lucrativos do planeta, a copa do mundo de seleções nacionais.</summary><content type="html">&lt;p&gt;A cada quatro anos, a entidade máxima do futebol, Fifa, organiza um dos eventos esportivos mais mobilizadores e lucrativos do planeta, a copa do mundo de seleções nacionais.&lt;/p&gt;
&lt;p&gt;Este evento, tamanho a sua capacidade de arrecadação e visibilidade, é uma vitrine para qualquer país que deseje expandir a sua marca e criar oportunidades de negócio com o mundo. De maneira muito bem articulada, e como quase sempre com muita corrupção entre os envolvidos, a família catari teve sucesso em sediar a copa de 2022.&lt;/p&gt;
&lt;p&gt;Nós ocidentais temos por vezes um hábito péssimo de subjugar as pessoas com costumes diferentes dos nossos, principalmente no que diz respeito a expressar a nossa ignorância e desconhecimento por religiões não cristãs. Por isso não quero me atentar a pauta de costumes religiosos de lá. Quero fazer uma crítica a essa forma vil de capitalismo exploratório espalhada pelo planeta, que faz com que nós levantemos as nossas viseiras e passemos por cima dos nossos valores.&lt;/p&gt;
&lt;p&gt;Veja, há mais de uma década se sabe da postura do país sede da copa em relação a algumas minorias identitárias, sobre as relações trabalhistas análogas à escravidão no país, sobre a ligação da família real com líderes religiosos extremistas, sobre o sportswashing, entre outras coisas. No entanto, agora que as partidas começaram, a imprensa lacradora, alguns grupos militantes e alguns países querem expressar o seu apoio a estas pautas descumprindo as regras do país anfitrião e do campeonato, com o intuito de transformar a copa num evento político, e não mais esportivo.&lt;/p&gt;
&lt;p&gt;A hipocrisia é global. Os discursos e gestos brandos de lidar com estes temas não surtirão efeitos, a menos que algo realmente impactante seja feito. Me pergunto o por qual motivo as seleções nacionais não abriram mão da sua participação ao invés de criticar o evento e querer enviar mensagem nas braçadeiras dos capitães. Ou então a razão dos veículos de mídia estarem cobrindo uma copa tão controvérsia e obscura. E por último, por que nós ligamos a nossa televisão ou compramos ingressos a preços estratosféricos para assistir a estes jogos, fomentando ainda mais a desigualdade e a corrupção?&lt;/p&gt;
&lt;p&gt;O presidente da Fifa, em declarações recentes, disse ter limpado a instituição. Então por que a sede do evento de futebol mais importante, após todos estes escândalos, não foi trocada para outro país?&lt;/p&gt;
&lt;p&gt;Ficam os questionamentos e uma oportunidade de reflexão, para pensarmos as escolhas e os caminhos que nós como sociedade estamos construindo.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Copa+Do+Mundo+No+Qatar+E+a+Hipocrisia+Global&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fcopa-do-mundo-no-qatar-e-a-hipocrisia-global%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/are-you-ready-for-the-internet/</id><title>Are You Ready for the Internet?</title><link href="https://afranca.com.br/are-you-ready-for-the-internet/" rel="alternate" type="text/html"/><published>2022-10-06T10:20:00Z</published><updated>2025-12-08T00:32:44Z</updated><category term="technology"/><summary type="text">I got this video as a suggestion from Hacker newsletter a week ago.</summary><content type="html">&lt;p&gt;I got this video as a suggestion from &lt;a href="https://hackernewsletter.com/"&gt;Hacker newsletter&lt;/a&gt; a week ago.&lt;/p&gt;
&lt;p&gt;In this video, Kate Bellingham, a television presenter, reports an exciting new interconnected world in 1994.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/XpZ5STahhPE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;
		&lt;p class="yt-warning"&gt;Clicking the video constitutes your consent to view it via YouTube.&lt;/p&gt;
&lt;p&gt;Really cool, isn&amp;rsquo;t it?&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Are+You+Ready+for+the+Internet%3F&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fare-you-ready-for-the-internet%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/andre-updates-september-2022/</id><title>Andre Updates: September, 2022</title><link href="https://afranca.com.br/andre-updates-september-2022/" rel="alternate" type="text/html"/><published>2022-10-02T10:20:00Z</published><updated>2025-12-08T00:31:55Z</updated><category term="monthly updates"/><summary type="text">Little happened last month (actually, the last two months).</summary><content type="html">&lt;p&gt;Little happened last month (actually, the last two months).&lt;/p&gt;
&lt;p&gt;I tried to catch up with my personal goal of 4 posts each month and managed to successfully migrate my static Jekyll site to Ghost.&lt;/p&gt;
&lt;p&gt;Apart from that, I am concerned about Brazil&amp;rsquo;s elections. My mood may change this week based on tomorrow&amp;rsquo;s outcome.&lt;/p&gt;
&lt;h2 id="-blogging"&gt;📝 Blogging&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/ghost-as-my-blogging-platform/"&gt;Ghost as my blogging platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/how-to-self-host-vaultwarden-with-podman-on-a-vps/"&gt;How to self-host Vaultwarden with Podman on a VPS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/hurricane-ian/"&gt;Hurricane Ian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/brazilian-elections/"&gt;Brazilian elections&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Andre+Updates%3A+September%2C+2022&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fandre-updates-september-2022%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/brief-thoughts-on-mastodon/</id><title>Brief Thoughts on Mastodon</title><link href="https://afranca.com.br/brief-thoughts-on-mastodon/" rel="alternate" type="text/html"/><published>2022-10-02T10:20:00Z</published><updated>2025-12-08T00:35:32Z</updated><category term="blogging"/><category term="social media"/><category term="mastodon"/><category term="fediverse"/><summary type="text">Some claim this is a copy of Twitter, but in fact this social network goes far beyond that. I had the chance to break many of the prejudices I had with social media after interacting in the Fediverse and see what it was really all about.</summary><content type="html">&lt;p&gt;Some claim this is a copy of Twitter, but in fact this social network goes far beyond that. I had the chance to break many of the prejudices I had with social media after interacting in the Fediverse and see what it was really all about.&lt;/p&gt;
&lt;p&gt;Mastodon describes itself as a social network:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Decentralized&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Each Mastodon server is a completely independent entity, able to interoperate with others to form one global social network.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Open Source&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Mastodon is free and open-source software. We believe in your right to use, copy, study and change Mastodon as you see fit, and we benefit from contributions from the community.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Not for Sale&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We respect your agency. Your feed is curated and created by you. We will never serve ads or push profiles for you to see. That means your data and your time are yours and yours alone.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Interoperable&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Built on open web protocols, Mastodon can speak with any other platform that implements ActivityPub. With one account you get access to a whole universe of social apps of the fediverse.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Back in April, I witnessed a wave of people creating new accounts on various instances of Mastodon because of Elon Musk&amp;rsquo;s alleged Twitter purchase intent. A pleasant surprise was to see people reporting their first impressions, which I also share:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It is noticeable at first glance that there is not a timeline full of random posts and advertisements promoted through an algorithm;&lt;/li&gt;
&lt;li&gt;There are no verified accounts, promoting equity between users;&lt;/li&gt;
&lt;li&gt;It may be temporary, but I feel a more open and welcoming environment where we can share and be heard without judgment (of course this behavior may vary depending on the purpose of the instance you choose to participate in);&lt;/li&gt;
&lt;li&gt;Bigger character limit, so we can share more meaningful and profound thoughts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is an instance for groups of people with different interests. For example, if you are interested in technology, you can join the fosstodon.org community, or mastodon.art for those interested in Art, or a multipurpose instance like the official mastodon.online. A more comprehensive list of servers may be found at &lt;a href="https://joinmastodon.org/servers"&gt;Mastodon&amp;rsquo;s&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;Most importantly, you can communicate between instances regardless of where their account is hosted. Also, you can easily move your profile to a different server at any time without losing your previous contacts.&lt;/p&gt;
&lt;p&gt;Lately, I&amp;rsquo;ve been in a movement to limit my access to Mastodon, so I can focus on my family, or things like reading and studying. Although I don&amp;rsquo;t toot much, my account is active and I try to catch up monthly on what&amp;rsquo;s going on there.&lt;/p&gt;
&lt;p&gt;Follow me on the Fediverse: &lt;strong&gt;

@abf@mas.to&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Brief+Thoughts+on+Mastodon&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fbrief-thoughts-on-mastodon%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/brazilian-elections/</id><title>Brazilian Elections</title><link href="https://afranca.com.br/brazilian-elections/" rel="alternate" type="text/html"/><published>2022-10-01T10:20:00Z</published><updated>2025-12-08T00:31:16Z</updated><category term="blogging"/><category term="politics"/><summary type="text">With elections in Brazil around the corner, my concerns about how the current President will behave in relation to the results becomes more latent.</summary><content type="html">&lt;p&gt;With elections in Brazil around the corner, my concerns about how the current President will behave in relation to the results becomes more latent.&lt;/p&gt;
&lt;p&gt;Jair Bolsonaro commits several atrocities daily, such as attacking the country&amp;rsquo;s institutions, offending women, and accusing the same electoral system that elected him in 2018 as fraudulent, threatening with the use of military force not to surrender office in the event of defeat next Sunday.&lt;/p&gt;
&lt;p&gt;Unfortunately, the list doesn&amp;rsquo;t stop there&amp;hellip; Bolsonaro and his family are involved in several scandals of embezzlement and purchase of dozens of properties with cash, and like former US President Donald Trump, he uses social media to spread fake news.&lt;/p&gt;
&lt;p&gt;However, even more serious is the amount of lives lost due to his lack of management of the Covid-19 pandemic, such as the purchase of vaccines and the support for hospitals in poorer regions.&lt;/p&gt;
&lt;p&gt;I confess that I still cannot understand the phenomenon of people who are attracted to authoritarian leaders and populist government leaders who resemble fascism and even nazism, after so many examples in history.&lt;/p&gt;
&lt;p&gt;Some are even democratically elected, but then use the state machine to try to maintain or perpetuate themselves in power.&lt;/p&gt;
&lt;p&gt;Known names for authoritarism today are Viktor Orbán, in Hungary; Recep Erdogan, in Turkey; Vladimir Putin, in Russia; Xi Jinping, in China; Nicolás Maduro, in Venezuela; Donald Trump, in the USA; and Jair Bolsonaro, in Brazil.&lt;/p&gt;
&lt;p&gt;Again, John Oliver nailed it with a video about the Brazilian president.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/uySgklnlX3Y?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;
		&lt;p class="yt-warning"&gt;Clicking the video constitutes your consent to view it via YouTube.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Brazilian+Elections&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fbrazilian-elections%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/hurricane-ian/</id><title>Hurricane Ian</title><link href="https://afranca.com.br/hurricane-ian/" rel="alternate" type="text/html"/><published>2022-09-29T10:20:00Z</published><updated>2025-12-08T00:28:22Z</updated><category term="blogging"/><summary type="text">This is one of those moments where we have to embrace ourselves and wish for hope for our fellows from Cuba and Florida.</summary><content type="html">&lt;p&gt;This is one of those moments where we have to embrace ourselves and wish for hope for our fellows from Cuba and Florida.&lt;/p&gt;
&lt;p&gt;Last year we&amp;rsquo;ve been hit hard by Hurricane Ida, and I experienced it first-hand. That was the first time that I feared for myself and my family.&lt;/p&gt;
&lt;p&gt;I wish all the people who live in poor conditions to be able to find safe shelter and health support. I&amp;rsquo;m happy for those who were able to leave town, and hope your houses and businesses are safe when you&amp;rsquo;re back.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Hurricane+Ian&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fhurricane-ian%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/how-to-self-host-vaultwarden-with-podman-on-a-vps/</id><title>How to self-host Vaultwarden with Podman on a VPS</title><link href="https://afranca.com.br/how-to-self-host-vaultwarden-with-podman-on-a-vps/" rel="alternate" type="text/html"/><published>2022-09-28T10:20:00Z</published><updated>2025-12-08T00:27:34Z</updated><category term="self-hosting"/><category term="security"/><category term="privacy"/><category term="password manager"/><category term="howto"/><summary type="text">I would say that one of the most important things in our digital life is to have good passwords, then to have a proper way to secure and manage those passwords. Thankfully, we have different solutions.</summary><content type="html">&lt;p&gt;I would say that one of the most important things in our digital life is to have good passwords, then to have a proper way to secure and manage those passwords. Thankfully, we have different solutions.&lt;/p&gt;
&lt;p&gt;Today I&amp;rsquo;m going to show you how to self-host Vaultwarden with Podman &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/dani-garcia/vaultwarden"&gt;Vaultwarden&lt;/a&gt; is described by its creator as an&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;alternative implementation of the Bitwarden server API written in Rust and compatible with upstream &lt;a href="https://bitwarden.com/download"&gt;Bitwarden clients&lt;/a&gt;, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="considerations"&gt;Considerations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;It is strongly recommended to set up an SSL certificate and make sure your server&amp;rsquo;s firewall, ssh and any other security measures are already done (which I&amp;rsquo;m not covering in this post).&lt;/li&gt;
&lt;li&gt;For the SSL certificate, make sure you have registered a domain name (for instance, example.com) and pointed both A and/or AAAA DNS records to the public IPv4 and/or IPv6 addresses of your VPS &lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you&amp;rsquo;re setting up locally, let&amp;rsquo;s say on a Raspberry Pi, I wouldn&amp;rsquo;t mess with port forwarding, unless you know what you&amp;rsquo;re doing.&lt;br&gt;
I&amp;rsquo;d instead look into a tool like &lt;a href="https://tailscale.com/"&gt;Tailscale&lt;/a&gt; (which is great, free and will allow you to access your passwords even when you&amp;rsquo;re not at home).&lt;/p&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A Linux distribution (I&amp;rsquo;m running on Ubuntu Server 22.04 LTS)&lt;/li&gt;
&lt;li&gt;Podman;&lt;/li&gt;
&lt;li&gt;Caddy (or any other webserver of your choice);&lt;/li&gt;
&lt;li&gt;Ports 80/tcp and 443/tcp open.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="install-podman"&gt;Install Podman&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Ubuntu 20.10 and newer
sudo apt -y update
sudo apt -y install podman
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For other distros, or if you&amp;rsquo;d like to install from source, see the &lt;a href="https://podman.io/getting-started/installation"&gt;podman documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="install-caddy"&gt;Install Caddy&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Ubuntu 20.10 and newer
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf &amp;#39;https://dl.cloudsmith.io/public/caddy/stable/gpg.key&amp;#39; | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf &amp;#39;https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt&amp;#39; | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt -y update
sudo apt -y install caddy
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For other distros, or if you&amp;rsquo;d like to install from source, see the &lt;a href="https://caddyserver.com/docs/install"&gt;caddy documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="enabling-firewall-ports"&gt;Enabling firewall ports&lt;/h3&gt;
&lt;p&gt;I like to use UFW to manage my firewall rules. If you&amp;rsquo;re running newer versions of Ubuntu, it should be pre-installed. Otherwise, you may search for it in your package manager. Feel free to use any firewall to manage your rules if you feel like it.&lt;/p&gt;
&lt;p&gt;Before enabling UFW, make sure to allow ssh access, so you don&amp;rsquo;t get kicked out of your server.&lt;br&gt;
{.info}&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo ufw allow &amp;lt;your-ssh-port&amp;gt;/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="install-vaultwarden"&gt;Install Vaultwarden&lt;/h2&gt;
&lt;p&gt;By default, root-less podman containers won&amp;rsquo;t start at boot or keep started when a user is logged out. To allow it to run in the background:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo loginctl enable-linger &amp;lt;your-username&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now, we need to create a volume to mount our container, so we can make sure our data remains permanent after we restart our container.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;podman volume create vaultwarden
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Let&amp;rsquo;s create a podman container for Vaultwarden &lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;podman run --detach --name vaultwarden --volume vaultwarden:/data/ --restart always --memory 256m --publish 8080:80 --publish 3012:3012 --env WEBSOCKET_ENABLED=true docker.io/vaultwarden/server:latest
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;By now, you should have your container up and running. You can verify that by running &lt;code&gt;podman ps&lt;/code&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
15e928a3d92e docker.io/vaultwarden/server:latest /start.sh 2 weeks ago Up 43 seconds ago 0.0.0.0:8080-&amp;gt;80/tcp, 0.0.0.0:3012-&amp;gt;3012/tcp vaultwarden
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="set-up-caddy-as-reverse-proxy"&gt;Set up Caddy as Reverse Proxy&lt;/h2&gt;
&lt;p&gt;Open the file &lt;strong&gt;/etc/caddy/Caddyfile&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo nano /etc/caddy/Caddyfile
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Comment out all existing lines or just delete them, then add the following lines:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;example.com {
 reverse_proxy localhost:8080
 reverse_proxy /notifications/hub localhost:3012
 reverse_proxy /notifications/hub/negotiate localhost:8080

 tls &amp;lt;your-email&amp;gt; {
 protocols tls1.3
 }
 header {
 # enable HSTS
 Strict-Transport-Security max-age=31536000;
 }
 encode gzip
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Make sure to edit the first line with your own domain.tld, and the sixth line with the email you&amp;rsquo;d like to use when generating your SSL certificate.&lt;br&gt;
Caddy will take care of the certificate automatically for you.&lt;/p&gt;
&lt;p&gt;Reload the caddy service:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo systemctl reload caddy
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now you should be able to access your Vaultwarden container in your browser by accessing &lt;code&gt;https://your-domain.tld&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="initial-setup"&gt;Initial Setup&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Navigate to your domain;&lt;/li&gt;
&lt;li&gt;Create an account using a strong password;&lt;/li&gt;
&lt;li&gt;Now login with your credentials and &lt;em&gt;voila&lt;/em&gt;&amp;hellip; you&amp;rsquo;re done!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="additional-steps"&gt;Additional Steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Configure Systemd, so you can have your container start at boot;&lt;/li&gt;
&lt;li&gt;Update your container;&lt;/li&gt;
&lt;li&gt;Head to the official documentation, so you can configure any additional settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="configure-systemd"&gt;Configure systemd&lt;/h3&gt;
&lt;p&gt;Navigate to the &lt;code&gt;~/.config/systemd/&amp;lt;your-user&amp;gt;&lt;/code&gt; folder.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd ~/.config/systemd/&amp;lt;your-user&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If the folder does not exist, just create it&lt;br&gt;
&lt;code&gt;mkdir -p ~/.config/systemd/&amp;lt;your-user&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now, you have to create a systemd unit file that can be used to control the container. Luckily podman can help us by issuing the following command:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Generate systemd unit file
podman generate systemd --files --name vaultwarden

# Enabling our file to start at boot
systemctl --user enable container-vaultwarden.service
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &amp;ldquo;&amp;ndash;user&amp;rdquo; is a flag, and you should not replace it with your real user.&lt;/p&gt;
&lt;p&gt;Reboot your server, then &lt;code&gt;podman ps&lt;/code&gt; to confirm that the container started without any problems.&lt;/p&gt;
&lt;h2 id="update"&gt;Update&lt;/h2&gt;
&lt;p&gt;The updating process basically consists of pulling a new image, removing the old one, then recreating our container.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Check if there&amp;#39;s any update for your container image
podman pull docker.io/vaultwarden/server:latest

# If any update, you should stop and delete your current container
podman stop vaultwarden &amp;amp;&amp;amp; podman rm vaultwarden

# Now we can recreate our Vaultwarden container
podman run --detach --name vaultwarden --volume vaultwarden:/data/ --restart always --memory 256m --publish 8080:80 --publish 3012:3012 --env WEBSOCKET_ENABLED=true docker.io/vaultwarden/server:latest

# Check if it&amp;#39;s up and running
podman ps
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Feel free to automatize this process if you would like to.&lt;/p&gt;
&lt;h2 id="official-documentation"&gt;Official Documentation&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/dani-garcia/vaultwarden/wiki"&gt;https://github.com/dani-garcia/vaultwarden/wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The official Wiki page provides lots of useful information and specific additional configurations you may be interested in like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Disable registration of new users;&lt;/li&gt;
&lt;li&gt;Disable invitations;&lt;/li&gt;
&lt;li&gt;Fail2Ban Setup (Recommended if your server is exposed to the internet);&lt;/li&gt;
&lt;li&gt;SMTP Configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="using-vaultwarden"&gt;Using Vaultwarden&lt;/h2&gt;
&lt;p&gt;The Vaultwarden container we just created is compatible with upstream &lt;a href="https://bitwarden.com/download/"&gt;Bitwarden clients&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Remember to edit the settings of the application before login. You must point to your custom Server URL.&lt;/p&gt;
&lt;p&gt;If you need additional help, check out the &lt;a href="https://bitwarden.com/help/"&gt;Bitwarden Help Center&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="additional-tip"&gt;Additional Tip&lt;/h2&gt;
&lt;p&gt;If you want to learn about password manager &lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt; alternatives, for instance local-based password managers, the page bellow is great:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.privacyguides.org/passwords/"&gt;https://www.privacyguides.org/passwords/&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Why Podman instead of Docker?&lt;br&gt;
I have run into trouble running docker on low-end hardware (like a Raspberry Pi), while Podman works seamlessly.&lt;br&gt;
In terms of capabilities, as of today I haven&amp;rsquo;t found any missing features on my use cases.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;You can try to get a certificate using other methods like &lt;a href="https://github.com/acmesh-official/acme.sh"&gt;acme.sh&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Flags explained:&lt;br&gt;
&amp;ndash;&lt;strong&gt;detach&lt;/strong&gt; - daemonizes the container to run in the background;&lt;br&gt;
&amp;ndash;&lt;strong&gt;name&lt;/strong&gt; - defines a name for the container;&lt;br&gt;
&amp;ndash;&lt;strong&gt;volume&lt;/strong&gt; - uses the persisted volume vaultwarden created in the step before;&lt;br&gt;
&amp;ndash;&lt;strong&gt;restart&lt;/strong&gt; - this flag ensures that our container will try to stay up in case something goes wrong;&lt;br&gt;
&amp;ndash;&lt;strong&gt;memory&lt;/strong&gt; - limits the total amount of memory used by the container (you can definitely change this value as needed or even ignore this flag;&lt;br&gt;
&amp;ndash;&lt;strong&gt;publish&lt;/strong&gt; - defines which host ports will be exposed to the container ports respectively:&lt;br&gt;
&amp;ndash;&lt;strong&gt;env WEBSOCKET_ENABLED=true&lt;/strong&gt; environment variable enables the websocket server for our container.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Password managers basically allow you to securely store and manage passwords and other credentials.&lt;br&gt;
A &lt;strong&gt;cloud-based&lt;/strong&gt; password manager allows you to sync all your passwords on a cloud server for easy accessibility and safety against device loss, as I&amp;rsquo;m going to demonstrate in this post.&lt;br&gt;
A &lt;strong&gt;local-based&lt;/strong&gt; password manager allows you to manage an encrypted password database locally.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+How+to+self-host+Vaultwarden+with+Podman+on+a+VPS&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fhow-to-self-host-vaultwarden-with-podman-on-a-vps%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/ghost-as-my-blogging-platform/</id><title>Ghost as My Blogging Platform</title><link href="https://afranca.com.br/ghost-as-my-blogging-platform/" rel="alternate" type="text/html"/><published>2022-09-27T10:20:00Z</published><updated>2025-12-30T01:58:27Z</updated><category term="blogging"/><category term="cms"/><summary type="text">Recently, I posted about how I successfully migrated my Jekyll static blog from GitHub to Codeberg Pages, also explaining my attempt to use WriteFreely as my blogging platform.</summary><content type="html">&lt;p&gt;Recently, I posted about how I successfully migrated my Jekyll static blog from GitHub to Codeberg Pages, also explaining my attempt to use WriteFreely as my blogging platform.&lt;/p&gt;
&lt;p&gt;I really want to make writing a habit, but I&amp;rsquo;ve been struggling with the lack of a true editor in Jekyll, which makes it a pain to build this habit. Well, I still think that static websites are great for a number of reasons, but not ideal for producing a lot of content.&lt;/p&gt;
&lt;p&gt;Here I go again, tinkering with my blog&amp;hellip; I took a deep breath, then listed three features that are indispensable to me, before getting started looking around for platforms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Minimally easy to manage (content, updates, integrations, etc);&lt;/li&gt;
&lt;li&gt;Allow custom themes;&lt;/li&gt;
&lt;li&gt;Useful editor UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Among all the options in my brief research, I liked &lt;a href="https://ghost.org/"&gt;Ghost CMS&lt;/a&gt; the most. Problem is, their managed hosting is more than I’d like to pay, so I self-hosted it. As of this writing, their starter plan is $9/mo billed yearly (or $11 billed monthly).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/E1A56524-B127-436C-87D7-5F5395C325F2-1995104443.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Image from&lt;/strong&gt; &lt;a href="https://ghost.org/images/home/posts.png"&gt;&lt;strong&gt;Ghost Website&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;/ Ghost CMS Screenshot&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Editor UI is pretty clean (so you can focus on writing) and has several features, such as a Markdown and HTML editor;&lt;/li&gt;
&lt;li&gt;You can inject code (styles or scripts, for instance) into some specific page or the entire website;&lt;/li&gt;
&lt;li&gt;The project seems to be well maintained, and the backup/update process is straightforward;&lt;/li&gt;
&lt;li&gt;I can schedule posts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Themes are usually bloated, however we can get around it by creating our own;&lt;/li&gt;
&lt;li&gt;The excess of .js bothers me a bit, and there are some penalties in performance compared to only serving HTML and CSS files (I got an optimal balance in performance with some cache optimizations, as well as setting up a CDN in front of my VPS).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The newsletter/membership thing does not bother me at all, since I was able to disable it completely. I&amp;rsquo;m actually glad that if I ever want to work on it, there&amp;rsquo;s such a possibility.&lt;/p&gt;
&lt;h2 id="considerations"&gt;Considerations&lt;/h2&gt;
&lt;p&gt;Can I guarantee that I will continue using Ghost in the future? No, because I love messing around with what isn&amp;rsquo;t broken.&lt;/p&gt;
&lt;p&gt;Regardless of anything, I really liked the platform and I want to be able to keep posting more easily and often. In addition, the possibility of scheduling posts is excellent, since if I have time and manage to write more content, I can publish it in advance.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Ghost+as+My+Blogging+Platform&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fghost-as-my-blogging-platform%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/oops-i-made-a-mistake/</id><title>Oops, I Made a Mistake</title><link href="https://afranca.com.br/oops-i-made-a-mistake/" rel="alternate" type="text/html"/><published>2022-09-17T10:20:00Z</published><updated>2025-12-08T00:24:46Z</updated><category term="announcements"/><summary type="text">Hi there,
Today, you may have received some old posts again on your rss feed app, and this is due to a change on this website, where I migrated from Jekyll to Ghost.</summary><content type="html">&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;Today, you may have received some old posts again on your rss feed app, and this is due to a change on this website, where I migrated from Jekyll to Ghost.&lt;/p&gt;
&lt;p&gt;I will explain further how and why I made this change in a separated post. For now, I would like to apologize if I may have flooded your inbox and ask you to kindly mark every post before this one as read.&lt;/p&gt;
&lt;p&gt;Apart from that, the new rss feed url is &lt;del&gt;&lt;a href="https://afhub.dev/rss"&gt;https://afhub.dev/rss&lt;/a&gt;&lt;/del&gt; &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;. I&amp;rsquo;ve set up redirects, so you can continue getting my posts until you have some spare time to update it.&lt;/p&gt;
&lt;p&gt;Have a wonderful day!&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;UPDATE: This domain is not being used anymore. I migrated over to my new domain &lt;a href="/"&gt;https://afranca.com.br/&lt;/a&gt;. See &lt;a href="/feed.xml"&gt;https://afranca.com.br/feed.xml&lt;/a&gt; for my RSS feed.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Oops%2C+I+Made+a+Mistake&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Foops-i-made-a-mistake%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/migrating-to-codeberg-pages/</id><title>Migrating to Codeberg Pages</title><link href="https://afranca.com.br/migrating-to-codeberg-pages/" rel="alternate" type="text/html"/><published>2022-07-29T10:20:00Z</published><updated>2025-12-08T00:19:47Z</updated><category term="technology"/><category term="static site generator"/><category term="indieweb"/><category term="blogging"/><category term="codeberg"/><category term="github"/><summary type="text">I&amp;rsquo;ve been really busy these days and haven&amp;rsquo;t made any posts. Despite having plenty of drafts for the blog, I couldn&amp;rsquo;t find time to sit down and write.</summary><content type="html">&lt;p&gt;I&amp;rsquo;ve been really busy these days and haven&amp;rsquo;t made any posts. Despite having plenty of drafts for the blog, I couldn&amp;rsquo;t find time to sit down and write.&lt;/p&gt;
&lt;p&gt;Fortunately, unlike any algorithm-based platform, this blog allows me to write at my own pace and as I wish. After all, there&amp;rsquo;s no financial support or, with all respect, any kind of obligation to readers. The dynamics of this blog are quite simple: I write what I want and like, while people who are interested in what I have to say read it and, when they want, interact with me by email or on the fediverse. And this has been working very well.&lt;/p&gt;
&lt;p&gt;Okay, back to the point that I&amp;rsquo;ve been 26 days without posting. I believe that one reason I post less, besides the time factor, is my publishing workflow. This blog is powered by Jekyll, where I write everything in a &lt;code&gt;.md&lt;/code&gt; file, then push the modifications to my git repository. If I want to add pictures, this process becomes even more annoying, as I convert each image to a lightweight and web-friendly format, strip the metadata, and upload it to my S3 storage.&lt;/p&gt;
&lt;p&gt;Over the last week, I tried to improve this process by migrating to an open-source blog publishing platform called &lt;a href="https://writefreely.org/"&gt;WriteFreely&lt;/a&gt;. It is&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a distraction-free writing environment, it federates via ActivityPub, so any ActivityPub-enabled service can follow your blog, bookmark your posts, and share them with their followers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;At first glance, it looked amazing. In fact I could focus on my writing, but it came with some cons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I couldn&amp;rsquo;t migrate my posts to another git platform easily (as I did - and will explain further in this post - moving to Codeberg);&lt;/li&gt;
&lt;li&gt;Customizations are way more complex;&lt;/li&gt;
&lt;li&gt;There would be a monthly cost (not only financial) to maintain a VPS for a hobby project.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Accepting that I&amp;rsquo;d continue with the same workflow for the moment, I dedicated myself to my next task: migrating this static blog from GitHub to Codeberg.&lt;/p&gt;
&lt;p&gt;Why migrate? You might be asking yourself.&lt;/p&gt;
&lt;p&gt;There have been many discussions about GitHub this month, mainly because of Copilot. For those who don&amp;rsquo;t know, Copilot is a proprietary service built on top of the hard work of the open source community with Artificial Intelligence (AI). It raises a number of important questions that I will not be writing about in this post, but it certainly raises some flags for me.&lt;/p&gt;
&lt;p&gt;I try, when possible, to use software and services from companies that I trust or that are closest to my values. That&amp;rsquo;s why I decided to migrate. GitHub, obviously, is a great tool, and I will keep using it in situations where I cannot opt out, for instance due to the lack of federation with git.&lt;/p&gt;
&lt;p&gt;Okay, after this introduction, let&amp;rsquo;s talk about the migration itself.&lt;/p&gt;
&lt;p&gt;Moving the repository was pretty straightforward. I created a new repo on Codeberg and pushed my local files.&lt;/p&gt;
&lt;p&gt;If you want to migrate metadata like issues, releases and a wiki, you can use the Codeberg&amp;rsquo;s migration tool. This process is well documented on &lt;a href="https://docs.codeberg.org/advanced/migrating-repos/"&gt;Codeberg&amp;rsquo;s Docs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There have been many discussions&amp;hellip;&lt;/p&gt;
&lt;p&gt;I use Jekyll to generate this website&amp;rsquo;s static files, and publishing was easy, as Vercel simplified the CI building process. Although, there&amp;rsquo;s no integration between Vercel and Codeberg.&lt;/p&gt;
&lt;p&gt;At this point I thought about giving up and moving my repository back to GitHub, but fortunately Codeberg Pages allows us to easily publish my static files generated by Jekyll via Git on Codeberg.org. The process is not automated, yet it is not complicated. You just have to get used to it.&lt;/p&gt;
&lt;p&gt;The first thing I did was to create a new branch called &lt;strong&gt;pages&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I decided to separate the &lt;strong&gt;main&lt;/strong&gt; and &lt;strong&gt;pages&lt;/strong&gt; branches in different local directories, so I would not mess things up:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;git clone https://codeberg.org/user/myrepo
git switch --orphan pages
git rm --cached -r .
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then I generated the static files to be added to the &lt;strong&gt;pages&lt;/strong&gt; branch:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd /path/to/your/repository/where/MAIN/branch/is
bundle exec jekyll build --destination /path/to/your/repository/where/PAGES/branch/is
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then I pushed the new files to the new branch:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;git add .
git commit -m &amp;#34;Initial commit&amp;#34;
git push origin pages
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;From this point, the website was working and accessible at &lt;code&gt;https://username.codeberg.page/reponame/&lt;/code&gt; and &lt;code&gt;https://username.codeberg.page/reponame/@pages&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;However, due to some hardcoded links in my static files, this messed up basically all content, as well as the style.css file.&lt;/p&gt;
&lt;p&gt;To fix this, I needed to configure my custom domain.&lt;/p&gt;
&lt;p&gt;To use a custom domain, I created a file &lt;strong&gt;.domains&lt;/strong&gt; in my repository with my &lt;strong&gt;domain.tld&lt;/strong&gt; domain name.&lt;/p&gt;
&lt;p&gt;In my case, because it is a zone root and Alias is not supported, I added the following DNS records:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A 217.197.91.145&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AAAA 2001:67c:1401:20f0::1&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TXT repo.user.codeberg.page&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If CNAME is supported, you can just add this DNS record, instead of the entries above:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CNAME repo.user.codeberg.page&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a short time, the blog was up again. Codeberg Pages took care of generating the certificate with Let&amp;rsquo;s Encrypt, and everything was working as before.&lt;/p&gt;
&lt;h3 id="considerations"&gt;Considerations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Read &lt;a href="https://docs.codeberg.org/codeberg-pages/%22"&gt;The official Codeberg Pages documentation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I miss being able to configure some security headers with the &lt;strong&gt;vercel.json&lt;/strong&gt; file, as well as being able to redirect some links. But this is not a big problem for me at all.&lt;/li&gt;
&lt;li&gt;Be sure to include the following line in your &lt;strong&gt;_config.yml&lt;/strong&gt;, otherwise Jekyll will delete the &lt;strong&gt;.domains&lt;/strong&gt; file in future builds.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;include:
 - .domains
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Remember that there is no CI process involved, so you need to push the static files to the branch pages whenever you create new content.&lt;/li&gt;
&lt;li&gt;Although a little more work, site publishing is faster, as the static files are being generated locally and pushed via git, so they are instantly available.&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Migrating+to+Codeberg+Pages&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fmigrating-to-codeberg-pages%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/andre-updates-june-2022/</id><title>Andre Updates: June, 2022</title><link href="https://afranca.com.br/andre-updates-june-2022/" rel="alternate" type="text/html"/><published>2022-07-02T10:20:00Z</published><updated>2025-12-08T00:11:04Z</updated><category term="monthly updates"/><summary type="text">This is an update on what happened in the previous month.</summary><content type="html">&lt;p&gt;This is an update on what happened in the previous month.&lt;/p&gt;
&lt;h2 id="-blogging"&gt;📝 Blogging&lt;/h2&gt;
&lt;p&gt;About two months ago, I made my first post on this blog, and I&amp;rsquo;m glad that I still have the urge to keep writing.&lt;/p&gt;
&lt;p&gt;Many of the things I write on this site could be published in a short form on Mastodon and would certainly have a wider reach. But I confess that I don&amp;rsquo;t feel comfortable with this kind of interaction.&lt;/p&gt;
&lt;p&gt;When I write on my website, I have my own rhythm. I can control whether I want to speak a lot or a little, be more substantial or specific, and there is no pressure for needing to be interacting in a way that is often superficial or instantaneous.&lt;/p&gt;
&lt;p&gt;I have the impression that every time I open my feed, something mysterious says that I have to boost someone&amp;rsquo;s post, or that I have to comment on something, or that I have to post something randomly, even if irrelevant.&lt;/p&gt;
&lt;p&gt;Furthermore, I have so many things to worry about in my life, to the point of really getting irritated when scrolling my timeline and reading things, for example, &amp;ldquo;today is very cold&amp;rdquo;, or &amp;ldquo;hi there&amp;rdquo;. Seriously, what is the need for this type of post? It also bothers me that someone who has something interesting to say has been called out because he didn&amp;rsquo;t put a &amp;ldquo;USPOL&amp;rdquo; CW. Seriously, are people so sensitive to opinions and content that they can&amp;rsquo;t move on to the next post on their own, in case they don&amp;rsquo;t want to read a &amp;ldquo;USPOL&amp;rdquo; post, for example?&lt;/p&gt;
&lt;p&gt;Ok, maybe I&amp;rsquo;m too strict with my way of thinking, because I try to ask myself why I do something before I do it. So, for me to feel good, I try to keep my distance from social networks (without isolating myself completely).&lt;/p&gt;
&lt;p&gt;Also, I noticed that in the last few days I&amp;rsquo;ve been receiving emails with comments about my posts. This is a great way for me to interact with people.&lt;/p&gt;
&lt;h2 id="posts-from-the-previous-month"&gt;Posts from the previous month:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/simple-jekyll-search/"&gt;Simple Jekyll Search&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/vinicius-jr-an-example-of-determination/"&gt;Vinicius Jr.: an example of determination&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/usb-c-now/"&gt;USB-C now!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/ipods-are-over/"&gt;iPods are over&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-reading"&gt;📖 Reading&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve picked these three articles that I read in the past month.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://news.slashdot.org/story/22/06/14/154246/firefox-rolls-out-total-cookie-protection-by-default-to-all-users-world"&gt;Firefox Rolls Out Total Cookie Protection By Default To All Users Worldwide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.eff.org/deeplinks/2022/06/how-federal-government-buys-our-cell-phone-location-data"&gt;How the federal government buys our cell phone location data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opensource.com/article/22/6/cloud-native-open-source-communities"&gt;A beginner&amp;rsquo;s guide to cloud-native open source communities&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-other"&gt;😎 Other&lt;/h2&gt;
&lt;p&gt;John Oliver came up with another cool video explaining the modus operandi of big techs.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/jXf04bhcjbg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;
		&lt;p class="yt-warning"&gt;Clicking the video constitutes your consent to view it via YouTube.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Andre+Updates%3A+June%2C+2022&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fandre-updates-june-2022%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/ipods-are-over/</id><title>Ipods Are Over</title><link href="https://afranca.com.br/ipods-are-over/" rel="alternate" type="text/html"/><published>2022-06-16T10:20:00Z</published><updated>2025-12-08T00:10:26Z</updated><category term="technology"/><category term="mobile"/><category term="apple"/><category term="music"/><summary type="text">I&amp;rsquo;m definitely feeling a little nostalgic with Apple&amp;rsquo;s last month announcement that the days of the iPod Touch are over.</summary><content type="html">&lt;p&gt;I&amp;rsquo;m definitely feeling a little nostalgic with Apple&amp;rsquo;s last month announcement that the days of the iPod Touch are over.&lt;/p&gt;
&lt;p&gt;The first iPod was announced in October 2001, and most people agree that it revolutionized the way we listen to music nowadays. By that time, there were other music players, but no manufacturer was able to bring together an easy way for us to buy music - with some decent quality - and offer a well designed product. Obviously, some audiophile may disagree with my &amp;ldquo;decent quality&amp;rdquo; statement, but it really was for the average user that didn&amp;rsquo;t want (or need) to go deeper in all technicality in this regard.&lt;/p&gt;
&lt;p&gt;Recently, I wrote a post on how &lt;a href="https://afranca.com.br/technology-is-evolving-too-fast/"&gt;Technology is evolving too fast&lt;/a&gt; and some concerns that I have. This can be a good example of it, I mean, the iPod has been made less relevant, and all of its feature available on our phones. So no need to keep producing it.&lt;/p&gt;
&lt;p&gt;Greg Joswiak, Apple’s senior VP of Worldwide Marketing, affirmed that music has&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“always been part of our core at Apple and bringing it to hundreds of millions of users in the way iPod did impacted more than just the music industry - it also redefined how music is discovered, listened to, and shared.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I owned two versions of iPods. The first one was an iPod Nano that was gifted to me. I still remember when I was able to install iTunes and transfer a couple of songs to it. The usability was amazing and different from anything that I have used before.&lt;/p&gt;
&lt;p&gt;By 2009, I was able to buy an iPod touch. I&amp;rsquo;m not gonna lie that what I really wanted was to buy an iPhone, but I couldn&amp;rsquo;t afford it by that time. Even so, it was an incredible device, and apart from the impossibility of inserting a sim card, I managed to do almost everything that I do with my current phone.&lt;/p&gt;
&lt;h2 id="final-thoughts"&gt;Final thoughts&lt;/h2&gt;
&lt;p&gt;In a time where we consume technology and products letting ourselves be carried away by a momentary excitement, it is good to remember something that I took with me for years and that brought me great times.&lt;/p&gt;
&lt;p&gt;After all, what remains are the good memories.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Ipods+Are+Over&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fipods-are-over%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/usb-c-now/</id><title>Usb-C Now!</title><link href="https://afranca.com.br/usb-c-now/" rel="alternate" type="text/html"/><published>2022-06-13T10:20:00Z</published><updated>2025-12-08T00:09:53Z</updated><category term="apple"/><category term="technology"/><category term="mobile"/><summary type="text">Recently, The European Commission announced plans to require a universal charging port for all mobile devices by mid-2024.</summary><content type="html">&lt;p&gt;Recently, The European Commission announced plans to require a universal charging port for all mobile devices by mid-2024.&lt;/p&gt;
&lt;p&gt;As reported in many newspapers, their goal is to limit toxic waste, in addition to help consumers, who are mostly require to accumulate lots of cables and chargers.&lt;/p&gt;
&lt;p&gt;Again, some large companies in the industry, such as Apple, are strongly opposed to these plans, defending its lightning cable, which is used in its iPhones and older models of iPad.&lt;br&gt;
Apparently the move to migrate to usb-c connectors has already been adopted by the company on new iPad or even its line of laptops, yet this may represent a revenue issue for the company, since its accessories are not cheap.&lt;/p&gt;
&lt;p&gt;Apart from that, to maximize profits, Apple is already not including chargers with the new iPhones, which is an absurd. In Brazil, by the way, a judge, very correctly in my opinion, ruled in favor of the consumer who bought a brand new phone, since this came to be considered a tying sale, that is, I sell you a product, then I sell you another one so that the first will work.&lt;/p&gt;
&lt;p&gt;I confess that this topic brings me mixed feelings. On one hand, I like the idea of ​​certain regulations in the industry to standardize practices or products in order to make the user&amp;rsquo;s life easier, technically, economically or even to protect consumers from shady business. On the other hand, I see that some decisions can limit technological innovation.&lt;/p&gt;
&lt;p&gt;Even so, I understand this initiative as a positive one, as it also promotes the possibility for companies to work together in the development of new technologies, thus benefiting everyone.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Usb-C+Now%21&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fusb-c-now%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/simple-jekyll-search/</id><title>Simple Jekyll Search</title><link href="https://afranca.com.br/simple-jekyll-search/" rel="alternate" type="text/html"/><published>2022-06-10T10:20:00Z</published><updated>2025-12-08T00:07:23Z</updated><category term="jekyll"/><category term="static site generator"/><summary type="text">Since I created this website I missed the ability to search my posts on-site. With the help of Simple Jekyll Search, this guide written by Kev, and some minor tweaks, I&amp;rsquo;ve managed to add this feature.</summary><content type="html">&lt;p&gt;Since I created this website I missed the ability to search my posts on-site. With the help of &lt;a href="https://github.com/christian-fei/Simple-Jekyll-Search/"&gt;Simple Jekyll Search&lt;/a&gt;, &lt;a href="https://kevquirk.com/how-to-add-search-jekyll/"&gt;this guide&lt;/a&gt; written by Kev, and some minor tweaks, I&amp;rsquo;ve managed to add this feature.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m still getting used to have a personal blog, and this one doesn&amp;rsquo;t have a lot of content as of today, what could justify not to add a search tool in it. But thinking long term, the content will eventually grow, and it&amp;rsquo;ll come in handy, not only for the site&amp;rsquo;s visitors, but myself.&lt;/p&gt;
&lt;p&gt;With that in mind, I started looking for a tool capable of performing this functionality. I came across &lt;a href="https://lunrjs.com/guides/getting_started.html"&gt;Lunr&lt;/a&gt;, Duckduck Go custom search engine, and Simple Jekyll Search.&lt;/p&gt;
&lt;p&gt;For a number of reasons, it turned out that Simple Jekyll Search would fit my blog better, as long as I gave up the idea of not using JavaScript.&lt;/p&gt;
&lt;p&gt;It is worth mentioning that you will always have the option to access my posts in the &lt;a href="/posts/"&gt;archive&lt;/a&gt;, which lists them chronologically.&lt;/p&gt;
&lt;p&gt;Kev&amp;rsquo;s guide or the Simple jekyll search&amp;rsquo;s repository are pretty straight forward if you want to go over the details on how to set it up yourself on your own website. I liked Kev&amp;rsquo;s approach of specifying a search page, so we don&amp;rsquo;t have to deal with &lt;code&gt;.js&lt;/code&gt; in the whole site.&lt;/p&gt;
&lt;p&gt;Some of the changes I&amp;rsquo;ve done differently from the original was adding the post description to the &lt;strong&gt;searchResultTemplate&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;configuration&lt;/strong&gt; section should look like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;!-- Configuration --&amp;gt;
&amp;lt;script&amp;gt;
SimpleJekyllSearch({
 searchInput: document.getElementById(&amp;#39;search-input&amp;#39;),
 resultsContainer: document.getElementById(&amp;#39;results-container&amp;#39;),
 json: &amp;#39;/search.json&amp;#39;,
 searchResultTemplate: &amp;#39;&amp;lt;li&amp;gt;&amp;lt;h5 class=&amp;#34;post-link&amp;#34;&amp;gt;&amp;lt;a href=&amp;#34;{url}&amp;#34;&amp;gt;{title}&amp;lt;/a&amp;gt;&amp;lt;/h5&amp;gt;&amp;lt;p class=&amp;#34;meta&amp;#34;&amp;gt;{date}&amp;lt;/p&amp;gt;{description}&amp;lt;/li&amp;gt;&amp;#39;
})
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Also, I&amp;rsquo;ve added the post&amp;rsquo;s content to the &lt;strong&gt;search.json&lt;/strong&gt; file, so we&amp;rsquo;re now also able to search for some specific content or paragraph that the &lt;code&gt;{title}&lt;/code&gt; or the page &lt;code&gt;{description}&lt;/code&gt; themselves don&amp;rsquo;t have.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;search.json&lt;/strong&gt; file should look like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;---
---
[
 {% for post in site.posts %}
 {
 &amp;#34;title&amp;#34; : &amp;#34;{{ post.title }}&amp;#34;,
 &amp;#34;url&amp;#34; : &amp;#34;{{ site.baseurl }}{{ post.url }}&amp;#34;,
 &amp;#34;date&amp;#34; : &amp;#34;{{ post.date | date: &amp;#34;%B %-d, %Y&amp;#34; }}&amp;#34;,
 &amp;#34;description&amp;#34; : &amp;#34;{{ post.description | strip_html | strip_newlines | escape }}&amp;#34;,
 &amp;#34;content&amp;#34; : &amp;#34;{{ post.content | strip_html | strip_newlines | escape }}&amp;#34;
 } {% unless forloop.last %},{% endunless %}
 {% endfor %}
]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;and the &lt;strong&gt;search.json&lt;/strong&gt; file after rendered, like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[
 {
 &amp;#34;title&amp;#34; : &amp;#34;Andre Updates: May, 2022&amp;#34;,
 &amp;#34;url&amp;#34; : &amp;#34;/2022/06/01/updates/&amp;#34;,
 &amp;#34;date&amp;#34; : &amp;#34;June 1, 2022&amp;#34;,
 &amp;#34;description&amp;#34; : &amp;#34;Everything that happened in the previous month and a few more updates&amp;#34;,
 &amp;#34;content&amp;#34; : &amp;#34;This is an update of what happened in the previous month. Photo by Markus Winkler on Unsplash📝 BloggingFor this month, I didn’t achieve my goal of writing a post per week, and I’m good with that.Even though I don’t keep any track about how many viewers my posts are hitting, I still have to deal with my mind that keeps telling me not to post anything that will be supposedly not interesting, nor has a supposedly good amount of words. It obviously goes against my main desire which is just to write about whatever I would like to.Below are the posts from the previous month: Technology is evolving too fast Remove metadata from photos on iphone Is there a perfect keyboard?📖 ReadingI listed two articles that I found interesting and are, in my opinion, worth reading.Again there’s an article in Portuguese, I wouldn’t list the article if I didn’t like it, so if you feel like you want to read it, but don’t understand Portuguese, take this as an opportunity to learn, or just look for a translator. The Movement to Ban Government Use of Face Recognition Proteção nas redes: o que podemos fazer hoje pelos jovens - (en: Social media protection: What can we do today for the young people)🎵 Music and/or PodcastsToday, my recommendation is the album Back to Black (2006), by Amy Winehouse.His second album, Back to Black, has a strong influence of Soul and R&amp;amp;amp;amp;B, in addition to great songs. It manages to be sensitive and dancing at the same time.This is one of those discs you can’t find anything to say bad about.There’s no way you can listen to the album and not be delighted, even with sad songs, like rehab. Back to Black by Amy Winehouse😎 OtherI’ve finished the Introduction to Computational Thinking and Data Science (MITx 6.00.2x) course that I mentioned last month.The course was insightful and showed lots of possibilities when working with data. Even with the high level of abstraction, due to this course be an introduction, I feel like I’m gaining more experience, and it keeps me motivated to keep learning. --- If you want to reply, have a suggestion or something else, feel free to contact me.&amp;#34;
 } ,
 
 {
 &amp;#34;title&amp;#34; : &amp;#34;Is there a perfect keyboard?&amp;#34;,
 &amp;#34;url&amp;#34; : &amp;#34;/2022/05/26/is-there-a-perfect-keyboard/&amp;#34;,
 &amp;#34;date&amp;#34; : &amp;#34;May 26, 2022&amp;#34;,
 &amp;#34;description&amp;#34; : &amp;#34;Maybe the keyboard you were looking for is not the best keyboad. Actually, is there a perfect keyboard?&amp;#34;,
 &amp;#34;content&amp;#34; : &amp;#34;Why are there so many keyboard sizes and layouts? Is it possible to find the perfect keyboard? Will we type better or faster with a “high-end” keyboard? Here’s my opinion: 75% Keyboard LayoutRecently, my wife needed a new keyboard because, for the hundredth time, some keys on her macbook started to fail. No news here about how Apple making laptops with more than horrible keyboards. I remember back in 2010 when I bought my first apple laptop, and it lasted for 10 years, while my 2018 has always shown some defect, be it in the battery, or in the keys. It’s a machine that I feel disgusted of using every day, but I’ll keep doing so until it finally takes its last breath, since money doesn’t grow on trees.Alright, back to my wife, she introduced me to keyboards that she found interesting, and they all had one trait in common. They were kind of fancy, had lots of lights, and she was recommended by one of those youtubers.I asked her to try out my keychron K2, and she liked really it. One of the things she appreciated most was it’s the width of her laptop’s keyboard. So I passed this keyboard on to her and bought another keyboard for me. It was her first contact with a mechanical keyboard, and it took her a few days to get used to it, but this is just an observation. I don’t want to lead you to believe that a mechanical keyboard is or isn’t better.Some people seem so obsessed with keyboards that they forget, in the end, what role this device will play in their day-by-day, be it an accountant, a programmer, a gamer, a student, and so on. Some companies put in some rgb lights on it, and voilà, this keyboard is perfect. In addition, I consider a disservice what some “content creators” do like making biased product reviews in exchange for some kind of compensation, mostly inducing people to buy products without considering other important aspects.Buying a keyboard, should be like buying an office chair. You’ve got to test it, find whether you like it or not, and only then buy it. Some questions should be asked, such as: do I suffer from a problem like tendinitis, or which layout best suits my use, or which keyboard will promote better ergonomics, or how many hours a day will I spend typing?Above I commented that I didn’t want to lead you to believe that a mechanical keyboard is better. For instance, if you have a problem with chronic hand pain due to repetitive strain, no mechanical keyboard will solve this problem. If you use the xpto switch, it won’t make you type faster or better. In the case of switches, for example, this is more related to the feeling on you fingers when typing and does not provide any significant improvement, unless if you are a gamer and need the actuation point to be faster. Probably this is one of the cases where you’ll might want to look for a keyboard that makes you pronate your hands less, or a ortholinear keyboard.In fact, most people suffer from using a keyboard due to bad habits and, perhaps, because there is a historical legacy linked to how the qwert layout was developed to optimize the working mechanism of the typewriters. Keyboard Layout ComparisonWell, what are the most common keyboard layout types?The first is the old full size (or 100%). This keyboard derives from the IBM model M keyboard. The original consisted of a 101-keys keyboard that was divided into four basic groups:The first group were the alphabet and punctuation keys, followed by the middle group with the navigation keys and, for example, page up and page down, then the group of number keys, and finally the group of function keys located on the top.Basically, the full sized keyboard that we see today has 103 keys, where, in the 90s, with creation of windows 95, two super keys (or windows keys, as you will) were added, one on the left side, between the ctrl and alt, and one on the right.The second most popular keyboard layout is tenkeyless or tkl (80%).Already in the mid-90s, the use of computers for personal purposes or even for games, popularized the use of the mouse. Well, if you’ve ever used a full sized keyboard with a mouse, you must have already realized how uncomfortable it was to have to stretch your arm far away to use it. Unless you were a casual user, this could possibly have caused some pain or tension in your shoulder area.For this reason, and also because the number keys are so little used, there was a need to remove them. Hence, the name tenkeyless, which literally means “without ten keys”.The third type of layout, 75% keyboards, is perhaps the most popular type of keyboard out there, due to the fact that many people who have ever used a laptop, used one whose keys had this shape. For example, if you’ve ever used an apple macbook, you’ve used a keyboard 75%. Basically this keyboard is a tenkeyless keyboard but slightly reduced and with the navigation keys together the shift and ctrl keys on the right side.There are some laptops that bring the layout 100%, but generally this forces you to not be centered with the screen. For some people, this is not much big of deal, however I don’t particularly like it at all.One of the brands that became well known for offering keyboards in this format are, for example, the keychron with its k2 model (the same one that my wife uses at the moment). The keyboard model that I currently use is also a 75%, but in this case is the model 3084b from the brand akko. The reason I bought a different brand and not another keychron was the logistics and the price overall, because they’re quite similar in quality.Okay, let’s move on to the 65% model.This keyboard variant is very similar to the 75%, but the function keys have been removed. In this case, possibly this keyboard has a fn key in which you configure some shortcuts to have the same functionality as if had the missing keys. For me, since the function keys represent a full line of interesting shortcuts itself without having to configure any macros, I had a hard time adapting and went back to 75%.Well, from now onwards we start to get into a dark place. And you might also be wondering what the next step for a keyboard would be. The answer for me is that we’ve reached the limit, but some trailblazers have tried to reduce the model to 60% and have removed the navigation keys, as of the page up and page down keys as well.This model is, personally, the most confusing and requires a lot of mental effort to get used to, since it’s necessary to configure a series of shortcut functions to replace the missing keys, and I sincerely believe that this mental effort, especially when you use the keyboard for study or to work, does not pay off.I’ve commented in obscure places, so obviously I won’t go into the merits of keyboards that go beyond that, like the 55% or 40%.Alright, so after all, is it possible to get the perfect keyboard?Well, if you’ve read this far, you might have noticed that I really don’t believe that any keyboard layout you choose, be it a $10 plastic keyboard or fancy one with rgb lights and custom keycaps will make any keyboard perfect.In fact, most people’s problems are not the layout or the keyboard itself, but possibly never having trained to type using all their fingers.I myself remember being surprised to learn that those small bumps on the f and j keys serves to tactilely indicate where our index fingers, respectively, should be positioned.And here’s the moral of the story, always be seated in a comfortable position, grab the keyboard you like and just practice. This will make you type better, not the device necessarily. Basically our body tends to get used to repetitive movements - for example you hardly, unless you are speaking a foreign language, think to be able to speak. The same goes for when we type. If we type incorrectly, we end up encouraging our brain to continue a bad habit.There are even some very interesting sites to help you correct your typo. Some even have words in languages other than English: Typing club Monkey type KeybrThat’s it for today… --- If you want to reply, have a suggestion or something else, feel free to contact me.&amp;#34;
 }
]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Finally, this is a screenshot of a fully working lightweight searching tool.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/A6F3D3B5-BF82-46C5-B978-FBF241C1FA99.webp" alt="Website Screenshot"&gt;
&lt;em&gt;Website Screenshot&lt;/em&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Simple+Jekyll+Search&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fsimple-jekyll-search%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/vinicius-jr-an-example-of-determination/</id><title>Vinicius Jr.: an Example of Determination</title><link href="https://afranca.com.br/vinicius-jr-an-example-of-determination/" rel="alternate" type="text/html"/><published>2022-06-10T10:20:00Z</published><updated>2025-12-08T00:06:02Z</updated><category term="sports"/><summary type="text">What a joy I felt when Real Madrid was crowned the Champions League champion of 2022. Especially for the Brazilians who play in the team, as is the case of the striker Vinicius Jr.</summary><content type="html">&lt;p&gt;What a joy I felt when Real Madrid was crowned the Champions League champion of 2022. Especially for the Brazilians who play in the team, as is the case of the striker Vinicius Jr.&lt;/p&gt;
&lt;p&gt;Vinicius Jr. is undoubtedly the best Brazilian of the 2022 season to play in one of the great European soccer leagues. And this fact draws a lot of attention for some aspects, such as the excessive criticism he suffered (both from the Brazilian and the Spanish press), as well as the episodes of racism he constantly experiences, but mostly by the way he shows with his dedication that he can evolve more every day. This last characteristic becomes even more valuable in times when Brazilian soccer is represented by bad personalities such as Neymar and a style of soccer that gives us disgust.&lt;/p&gt;
&lt;p&gt;Brazilian soccer has always been characterized by dribbling, and rehearsed moves that used to take our breath away and upset any defender. Today&amp;rsquo;s modern soccer does not allow the development of the player&amp;rsquo;s creativity, but a style of play with more passes, ball control, and construction of collective plays, etc. Brazil&amp;rsquo;s national team can&amp;rsquo;t do either one or the other. And its coach, Tite, demonstrates in my view that he can&amp;rsquo;t bring out the best in players by insisting on limited lineups, and centralizing plays on Neymar.&lt;/p&gt;
&lt;p&gt;Coming back to Vini Jr., it&amp;rsquo;s very nice to see him mature in the Real Madrid team, and how Carlo Ancelotti, a coach who knows how to get the best out of his potential, made Vinicius go from an unpopular player in Spain (under former coach Zidane) to a star. Also allowing him to form one of the biggest attacking partnerships next to what I consider today, the best player in the world, Karim Benzema.&lt;/p&gt;
&lt;p&gt;Although, Vinicius still hasn&amp;rsquo;t managed to show his full potential in the Brazilian national team. And this may be due to the tactical model adopted by the coach Tite. I would say that this tactical model could even keep him away from the starting lineup in Qatar&amp;rsquo;s World Cup, in November, if Tite decides to go with the center forward Richarlison (Everton&amp;rsquo;s player). Richarlison, on the other hand, despite being a good striker, similar to other Brazilian players, adopts a style of soccer created by Neymar of throwing himself to the ground and rolling around to get fouls called. This style is gross, to put it mildly.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Vinicius+Jr.%3A+an+Example+of+Determination&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fvinicius-jr-an-example-of-determination%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/andre-updates-may-2022/</id><title>Andre Updates: May, 2022</title><link href="https://afranca.com.br/andre-updates-may-2022/" rel="alternate" type="text/html"/><published>2022-06-02T10:20:00Z</published><updated>2025-12-08T00:05:28Z</updated><category term="monthly updates"/><summary type="text">This is an update of what happened in the previous month.</summary><content type="html">&lt;p&gt;This is an update of what happened in the previous month.&lt;/p&gt;
&lt;h2 id="-blogging"&gt;📝 Blogging&lt;/h2&gt;
&lt;p&gt;For this month, I didn&amp;rsquo;t achieve my goal of writing a post per week, and I&amp;rsquo;m good with that.&lt;br&gt;
Even though I don&amp;rsquo;t keep any track about how many viewers my posts are hitting, I still have to deal with my mind that keeps telling me not to post anything that will be supposedly not interesting, nor has a supposedly good amount of words. It obviously goes against my main desire which is just to write about whatever I would like to.&lt;/p&gt;
&lt;p&gt;Below are the posts from the previous month:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/technology-is-evolving-too-fast/"&gt;Technology is evolving too fast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/remove-metadata-from-photos-on-iphone/"&gt;Remove metadata from photos on iPhone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/is-there-a-perfect-keyboard/"&gt;Is there a perfect keyboard?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-reading"&gt;📖 Reading&lt;/h2&gt;
&lt;p&gt;I listed two articles that I found interesting and are, in my opinion, worth reading.&lt;br&gt;
Again there&amp;rsquo;s an article in Portuguese, I wouldn&amp;rsquo;t list the article if I didn&amp;rsquo;t like it, so if you feel like you want to read it, but don&amp;rsquo;t understand Portuguese, take this as an opportunity to learn, or just look for a translator.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.eff.org/deeplinks/2022/05/movement-ban-government-use-face-recognition"&gt;The Movement to Ban Government Use of Face Recognition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nexojornal.com.br/colunistas/2022/Prote%C3%A7%C3%A3o-nas-redes-o-que-podemos-fazer-hoje-pelos-jovens"&gt;Proteção nas redes: o que podemos fazer hoje pelos jovens&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-music-andor-podcasts"&gt;🎵 Music and/or Podcasts&lt;/h2&gt;
&lt;p&gt;Today, my recommendation is the album Back to Black (2006), by Amy Winehouse.&lt;/p&gt;
&lt;p&gt;Her second album, Back to Black, has a strong influence of Soul and R&amp;amp;B, in addition to great songs. It manages to be sensitive and dancing at the same time.&lt;br&gt;
This is one of those albums you can&amp;rsquo;t find anything to say bad about.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s no way you can listen to the album and not be delighted, even with sad songs, like &amp;lsquo;Rehab&amp;rsquo;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://music.apple.com/us/album/back-to-black/1422677780"&gt;Back to Black by Amy Winehouse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-other"&gt;😎 Other&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve finished the Introduction to Computational Thinking and Data Science (MITx 6.00.2x) course that I mentioned last month.&lt;br&gt;
The course was insightful and showed lots of possibilities when working with data. Even with the high level of abstraction, due to this course being an introduction, I feel like I&amp;rsquo;m gaining more experience, and it keeps me motivated to keep learning.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Andre+Updates%3A+May%2C+2022&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fandre-updates-may-2022%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/is-there-a-perfect-keyboard/</id><title>Is There a Perfect Keyboard?</title><link href="https://afranca.com.br/is-there-a-perfect-keyboard/" rel="alternate" type="text/html"/><published>2022-05-27T10:20:00Z</published><updated>2025-12-30T01:55:54Z</updated><category term="technology"/><category term="mechanical keyboard"/><summary type="text">Why are there so many different keyboard sizes and layouts? Is it possible to find the perfect keyboard? Will we type better or faster with a &amp;ldquo;high-end&amp;rdquo; keyboard?</summary><content type="html">&lt;p&gt;Why are there so many different keyboard sizes and layouts? Is it possible to find the perfect keyboard? Will we type better or faster with a &amp;ldquo;high-end&amp;rdquo; keyboard?&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s my take:&lt;/p&gt;
&lt;p&gt;Recently, my wife needed a new keyboard because, for the hundredth time, some of the keys on her MacBook started to fail. No news here about how Apple makes laptops with more than horrible keyboards. I remember when I bought my first Apple laptop in 2010, and it lasted 10 years, while my 2018 has always had some defect, be it in the battery or the keys. It&amp;rsquo;s a machine I&amp;rsquo;m disgusted to use every day, but I&amp;rsquo;ll keep using it until it finally breathes its last, because money doesn&amp;rsquo;t grow on trees.&lt;/p&gt;
&lt;p&gt;Anyway, back to my wife, she introduced me to keyboards that she found interesting, and they all had one thing in common. They were kind of fancy, had a lot of lights, and they were recommended to her by one of those youtubers.&lt;/p&gt;
&lt;p&gt;I asked her to try my Keychron K2 and she really liked it. One of the things she appreciated most was that it&amp;rsquo;s the same width as her laptop keyboard. So I gave it to her and bought another one for myself. It was her first contact with a mechanical keyboard and it took her a few days to get used to it, but this is just an observation. I&amp;rsquo;m not trying to tell you that a mechanical keyboard is better or not.&lt;/p&gt;
&lt;p&gt;Some people seem to be so obsessed with keyboards that they end up forgetting what role this device will play in their day-to-day life, be it as an accountant, a programmer, a gamer, a student, and so on. Some companies add a few RGB lights and voila, the keyboard is perfect. Also, I consider it a disservice what some &amp;ldquo;content creators&amp;rdquo; do, like writing biased product reviews in exchange for some kind of compensation, mostly to get people to buy products without considering other important aspects.&lt;/p&gt;
&lt;p&gt;Buying a keyboard should be like buying an office chair. You have to try it out, see if you like it or not, and then buy it. Some questions you should ask yourself are: do I suffer from a problem like tendonitis, or which layout will best suit my use, or which keyboard will promote better ergonomics, or how many hours a day will I spend typing?&lt;/p&gt;
&lt;p&gt;I said above that I didn&amp;rsquo;t want to mislead you into thinking that a mechanical keyboard is better. For example, if you have a problem with chronic hand pain due to repetitive strain, no mechanical keyboard is going to solve that problem. Using the x or y switch won&amp;rsquo;t make you type faster or better. In the case of switches, for example, this has more to do with how your fingers feel when you type, and will not provide a significant improvement unless you are a gamer and need the trigger point to be faster. This is probably one of those cases where you&amp;rsquo;ll want to look for a keyboard that makes you pronate your hands less, or an ortholinear keyboard.&lt;/p&gt;
&lt;p&gt;In fact, most people suffer from using a keyboard because of bad habits and perhaps a historical legacy related to how the **QWERTY ** layout was designed to optimize the working mechanism of typewriters.&lt;/p&gt;
&lt;p&gt;Well, what are the most common keyboard layout types?&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/6E55DD91-45EA-4D00-B869-BB5679934C12.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Keyboard Layout Comparison&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first is the old full size (or 100%). This keyboard derives from the IBM model M keyboard. The original consisted of a 101-keys keyboard that was divided into four basic groups:&lt;/p&gt;
&lt;p&gt;The first group was the alphabet and punctuation keys, followed by the middle group with the navigation keys and, for example, page up and page down, then the group of number keys, and finally the group of function keys located on the top.&lt;/p&gt;
&lt;p&gt;Basically, the full sized keyboard that we see today has 103 keys, where, in the 90s, with creation of windows 95, two super keys (or windows keys, as you will) were added, one on the left side, between the ctrl and alt, and one on the right.&lt;/p&gt;
&lt;p&gt;The second most popular keyboard layout is tenkeyless or tkl (80%).&lt;/p&gt;
&lt;p&gt;Already in the mid-90s, the use of computers for personal purposes or even for games, popularized the use of the mouse. Well, if you&amp;rsquo;ve ever used a full sized keyboard with a mouse, you must have already realized how uncomfortable it was to have to stretch your arm far away to use it. Unless you were a casual user, this could possibly have caused some pain or tension in your shoulder area.&lt;/p&gt;
&lt;p&gt;For this reason, and also because the number keys are so little used, there was a need to remove them. Hence, the name tenkeyless, which literally means &amp;ldquo;without ten keys&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The third type of layout, 75% keyboards, is perhaps the most popular type of keyboard out there, due to the fact that many people who have ever used a laptop, used one whose keys had this shape. For example, if you&amp;rsquo;ve ever used an apple macbook, you&amp;rsquo;ve used a keyboard 75%. Basically this keyboard is a tenkeyless keyboard but slightly reduced and with the navigation keys together the shift and ctrl keys on the right side.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/EF18B218-AE83-4255-8281-2F7BBD20E65F.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Akko Black &amp;amp; Pink 3084B / 75% Keyboard Layout&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are some laptops that bring the layout 100%, but generally this forces you to not be centered with the screen. For some people, this is not much of a big deal, however I don&amp;rsquo;t particularly like it at all.&lt;/p&gt;
&lt;p&gt;One of the brands that has become well known for offering keyboards in this format is, for example, Keychron with their k2 model (the same one my wife is currently using). The keyboard model I currently use is also a 75%, but in this case it is the model 3084b from the brand Akko. The reason I bought a different brand and not another Keychron was the logistics and the overall price, as they&amp;rsquo;re quite similar in quality.&lt;/p&gt;
&lt;p&gt;Okay, let&amp;rsquo;s move on to the 65% model.&lt;/p&gt;
&lt;p&gt;This keyboard variant is very similar to the 75%, but the function keys have been removed. In this case, possibly this keyboard has a fn key in which you configure some shortcuts to have the same functionality as if you had the missing keys. For me, since the function keys represent a full line of interesting shortcuts itself without having to configure any macros, I had a hard time adapting and went back to 75%.&lt;/p&gt;
&lt;p&gt;Well, from now onwards we start to get into a dark place. And you might also be wondering what the next step for a keyboard would be. The answer for me is that we&amp;rsquo;ve reached the limit, but some trailblazers have tried to reduce the model to 60% and have removed the navigation keys, such as the page up and page down keys as well.&lt;/p&gt;
&lt;p&gt;This model is, personally, the most confusing and requires a lot of mental effort to get used to, since it&amp;rsquo;s necessary to configure a series of shortcut functions to replace the missing keys, and I sincerely believe that this mental effort, especially when you use the keyboard for study or to work, doesn&amp;rsquo;t pay off.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve commented in obscure places, so obviously I won&amp;rsquo;t go into the merits of keyboards that go beyond that, like the 55% or 40%.&lt;/p&gt;
&lt;p&gt;Alright, so after all, is it possible to get the perfect keyboard?&lt;/p&gt;
&lt;p&gt;Well, if you&amp;rsquo;ve read this far, you might have noticed that I really don&amp;rsquo;t believe that any keyboard layout you choose, be it a $10 plastic keyboard or fancy one with rgb lights and custom keycaps will make any keyboard perfect.&lt;/p&gt;
&lt;p&gt;In fact, most people&amp;rsquo;s problems are not the layout or the keyboard itself, but possibly never having learned to type using all their fingers.&lt;br&gt;
I myself remember being surprised to learn that those small bumps on the f and j keys serves to tactilely indicate where our index fingers, respectively, should be positioned.&lt;/p&gt;
&lt;p&gt;And here&amp;rsquo;s the moral of the story: always sit comfortably, grab the keyboard you like, and just practice. This will make you a better typist, not necessarily the device. Basically, our bodies tend to get used to repetitive movements - for example, unless you speak a foreign language, you hardly think about being able to speak. The same is true when we type. If we type incorrectly, we end up encouraging our brain to continue a bad habit.&lt;/p&gt;
&lt;p&gt;There are even some very interesting websites that help you correct your typos. Some even have words in languages other than English:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.typingclub.com/"&gt;Typing club&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://monkeytype.com"&gt;Monkey type&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.keybr.com"&gt;Keybr&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&amp;rsquo;s it for today&amp;hellip;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Is+There+a+Perfect+Keyboard%3F&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fis-there-a-perfect-keyboard%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/remove-metadata-from-photos-on-iphone/</id><title>Remove Metadata From Photos on IPhone</title><link href="https://afranca.com.br/remove-metadata-from-photos-on-iphone/" rel="alternate" type="text/html"/><published>2022-05-11T10:20:00Z</published><updated>2025-12-30T01:53:28Z</updated><category term="technology"/><category term="privacy"/><category term="mobile"/><category term="apple"/><category term="metadata"/><category term="howto"/><summary type="text">We often need to share a photo with someone special, but what usually goes unnoticed is the amount of metadata that is embedded in every pic we shoot.</summary><content type="html">&lt;p&gt;We often need to share a photo with someone special, but what usually goes unnoticed is the amount of metadata that is embedded in every pic we shoot.&lt;/p&gt;
&lt;p&gt;Even worse is the fact that many apps that we have on our phone work against us and steal these little pieces of information (the metadata) to generate a profile about us and how we interact with things without us even knowing it.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s why this tip comes in hand.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;iPhone with iOS 13 or above&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apps.apple.com/us/app/shortcuts/id915249334"&gt;Shortcuts app&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="creating-the-shortcut"&gt;Creating the shortcut&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Open the shortcut app and create a new Shortcut. Give it a name, e.g. Remove Metadata.&lt;/li&gt;
&lt;li&gt;Enter the Shortcut&amp;rsquo;s settings in the upper right corner and check &lt;strong&gt;Show in Share Sheet&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the first action, change Receive &lt;strong&gt;any&lt;/strong&gt; to receive &lt;strong&gt;Images and Media&lt;/strong&gt; from Share Sheet.&lt;/li&gt;
&lt;li&gt;Click Add Action and then add an &lt;strong&gt;If&lt;/strong&gt; action from the Scripting menu.&lt;/li&gt;
&lt;li&gt;Set the If action to &lt;strong&gt;Shortcut Input&lt;/strong&gt; and &lt;strong&gt;has any value&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the Search for apps and actions field, search for &lt;strong&gt;Select photos&lt;/strong&gt;, add it to your shortcut, and drag it below the Otherwise action.&lt;/li&gt;
&lt;li&gt;Open the Select photos submenu and make sure that &lt;strong&gt;all&lt;/strong&gt; and &lt;strong&gt;select multiple&lt;/strong&gt; are selected.&lt;/li&gt;
&lt;li&gt;Click Add Action and then add a &lt;strong&gt;Convert&lt;/strong&gt; action from the media menu.&lt;/li&gt;
&lt;li&gt;Set it to &lt;strong&gt;If Result&lt;/strong&gt; and &lt;strong&gt;Match Input&lt;/strong&gt; respectively.&lt;/li&gt;
&lt;li&gt;Expand its submenu and make sure to uncheck &lt;strong&gt;preserve metadata&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Finally, add a &lt;strong&gt;Share&lt;/strong&gt; action from the Sharing menu and make sure its value is set to &lt;strong&gt;Converted Image&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="when-youre-done-your-shortcut-settings-should-look-like-this"&gt;When you&amp;rsquo;re done, your shortcut settings should look like this:&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/FDFF0A0A-EEF5-408C-A766-80B2547B7A57.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="using-the-shortcut"&gt;Using the Shortcut&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Now the shortcut should be available through the system Share Sheet.&lt;/li&gt;
&lt;li&gt;Select the photo you want to remove the metadata, click &amp;ldquo;Remove Metadata&amp;rdquo; using the Share Sheet menu, and you&amp;rsquo;ll be able to save a new version of the photo on your library.&lt;/li&gt;
&lt;li&gt;Now, just share the new created file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://afranca.com.br/uploads/F5FEFED3-595F-47A5-A222-6698067B29EE.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;This is a quick method you can use to share your photos with a little more privacy from your phone.&lt;/p&gt;
&lt;p&gt;If you want some more comprehensive metadata removal tool, these listed below are great and open source:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://exiftool.org"&gt;Exiftool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://exifcleaner.com"&gt;ExifCleaner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://0xacab.org/jvoisin/mat2"&gt;Mat2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This post was based on the article &lt;a href="https://www.privacyguides.org/setup/integrating-metadata-removal/"&gt;Integrating Metadata Removal&lt;/a&gt; from the privacyguides.org website. Check it out, so you can also learn ways to remove metadata using other operating systems.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Remove+Metadata+From+Photos+on+IPhone&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fremove-metadata-from-photos-on-iphone%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/technology-is-evolving-too-fast/</id><title>Technology Is Evolving Too Fast</title><link href="https://afranca.com.br/technology-is-evolving-too-fast/" rel="alternate" type="text/html"/><published>2022-05-10T10:20:00Z</published><updated>2025-12-08T00:03:13Z</updated><category term="technology"/><summary type="text">I recently read the article &amp;ldquo;Qualcomm sampling Wi-Fi 7 silicon for next-gen access points&amp;rdquo; on The Register website, and it made me think how fast technology is evolving to the point that we don&amp;rsquo;t even have time to keep up with it. Which leads me to the question: Does technology really need to evolve that fast?</summary><content type="html">&lt;p&gt;I recently read the article &amp;ldquo;Qualcomm sampling Wi-Fi 7 silicon for next-gen access points&amp;rdquo; on The Register website, and it made me think how fast technology is evolving to the point that we don&amp;rsquo;t even have time to keep up with it. Which leads me to the question: Does technology really need to evolve that fast?&lt;/p&gt;
&lt;p&gt;Well, I don&amp;rsquo;t want to comment on this post anything related to the article that I&amp;rsquo;ve just mentioned, &lt;a href="https://www.theregister.com/2022/05/04/qualcomm_sampling_wifi_7_silicon/"&gt;however you can read it here&lt;/a&gt;. In fact, I would like to propose a reflection on, not only our relationship with our technological items, but our relationship with consumption.&lt;/p&gt;
&lt;p&gt;There are many ways in which we can reflect on my initial question. We can say that the first justification would be the Moore&amp;rsquo;s law, which states in short that the processing power doubles every two years according to our ability to reduce the size of transistors, that is, technology is expanding in the way it was predicted;&lt;br&gt;
and the second justification could be aimed at economic activities, which expand according to technological evolution.&lt;/p&gt;
&lt;p&gt;My limited view of technology and the market tells me that today technology expands more in order to meet the illusory expectations of a capitalist industry, instead of by the real need for technology to adapt to a computational need for the majority of companies and of users.&lt;/p&gt;
&lt;p&gt;I believe that by feeding this unsustainable industry, for instance, replacing our laptops, cell phones, or other gadgets every year, we generate a vicious cycle of false demand for always having supposedly more advanced products. At the end of the day, few of us are able to measure how much computing power we really need and use, so we end up not controlling our enthusiasm for new non-necessary products.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s an article &lt;a href="https://longnow.org/essays/technology-moving-too-fast/"&gt;Is Technology Moving Too Fast?&lt;/a&gt; written by Stewart Brand that, despite being from the 2000s, it seems so current.&lt;/p&gt;
&lt;p&gt;I selected a snippet below, but I recommend reading the original content:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There are scenarios, however, in which technology may brake itself. In the aging population of the developed world, many people are already tired of trying to keep up with the latest cool new tech. Youth-driven tech acceleration could be interpreted as simple youthful folly - shortsighted, disruptive, faddish. The market for change could dry up, and lock-in might again become the norm. Stress and fatigue make powerful decelerators.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Change that is too rapid can be deeply divisive; if only an elite can keep up, the rest of us will grow increasingly mystified about how the world works. We can understand natural biology, subtle as it is, because it holds still. But how will we ever be able to understand quantum computing or nanotechnology if its subtlety keeps accelerating away from us?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Constant technological revolution makes planning difficult, and a society that stops planning for the future is likely to become a brittle society. It could experience violent economic swings. It could trip into wars fought with vicious new weapons. Its pervasive new technologies could fail in massive or horrible ways. Or persistent, nagging small failures could sap the whole enterprise.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As Stewart mentions in his article, I am in favor of a &lt;em&gt;not-so-fast&lt;/em&gt; button. The idea is not to limit the development of technology, however I think that for our mental health, and why not for the good of the environment, I defend technological products to have their evolution based on their real life cycle, and not the one created by the market. This does not limit the technological revolutions to come, on the contrary, using our gadgets conscientiously and responsibly brings us closer to our common passion, which is technology.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Technology+Is+Evolving+Too+Fast&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Ftechnology-is-evolving-too-fast%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/andre-updates-april-2022/</id><title>Andre Updates: April, 2022</title><link href="https://afranca.com.br/andre-updates-april-2022/" rel="alternate" type="text/html"/><published>2022-05-06T10:13:00Z</published><updated>2025-12-07T23:56:31Z</updated><category term="monthly updates"/><summary type="text">Inspired by what I saw on Luke Harris&amp;rsquo; blog, I decided to create a short summary of interesting things that I did or happened in the past month, e.g., this blog. Yep, it&amp;rsquo;s a newborn blog, and I&amp;rsquo;m very proud of it.</summary><content type="html">&lt;p&gt;Inspired by what I saw on &lt;a href="https://www.lkhrs.com/"&gt;Luke Harris&amp;rsquo; blog&lt;/a&gt;, I decided to create a short summary of interesting things that I did or happened in the past month, e.g., this blog. Yep, it&amp;rsquo;s a newborn blog, and I&amp;rsquo;m very proud of it.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll try to separate things here by topics. These can be static (included in all updates, i.e., &amp;ldquo;blogging&amp;rdquo;, &amp;ldquo;reading&amp;rdquo;, and &amp;ldquo;music and podcasts&amp;rdquo;) or dynamic (any additional content or comment that I may find useful, for example, &amp;ldquo;games&amp;rdquo; or &amp;ldquo;other&amp;rdquo; (if I&amp;rsquo;m not feeling creative)).&lt;/p&gt;
&lt;p&gt;Unless something happen, these update posts will be published at the beginning of each month.&lt;/p&gt;
&lt;h2 id="-blogging"&gt;📝 Blogging&lt;/h2&gt;
&lt;p&gt;I set a goal of making at least four posts per month (not counting the monthly &amp;ldquo;Andre Updates&amp;rdquo;), that is, usually one post per week. I can say that the month of April was a success, which keeps me motivated to keep writing.&lt;/p&gt;
&lt;p&gt;Below are the posts from the previous month:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/introducing-some-privacy-to-your-digital-life/"&gt;Introducing some privacy to your digital life&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/uses/"&gt;Things I use&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/what-is-wrong-with-the-linux-community/"&gt;What is Wrong with the Linux Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://afranca.com.br/disconnecting-is-becoming-increasingly-difficult/"&gt;Disconnecting is becoming increasingly difficult&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-reading"&gt;📖 Reading&lt;/h2&gt;
&lt;p&gt;I separated three articles that I found interesting and are, in my opinion, worth reading. The last two are related by the topic of the article.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://tedium.co/2022/04/13/internet-free-net-history"&gt;Free As In Internet - by Ernie Smith&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://theintercept.com/notas/o-twitter-ja-e-um-lugar-horrivel-e-nos-podemos-provar"&gt;O Twitter já é um lugar horrível, e nós podemos provar - by Tatiana Dias&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.technologyreview.com/2022/04/27/1051472/the-problems-with-elon-musks-plan-to-open-source-the-twitter-algorithm"&gt;The problems with Elon Musk’s plan to open-source the Twitter algorithm - by Chris Stokel-Walker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-music-andor-podcasts"&gt;🎵 Music and/or Podcasts&lt;/h2&gt;
&lt;p&gt;I really like listening to music. I feel that listening to music can regulate my mood and help me get things done in my day.&lt;/p&gt;
&lt;p&gt;Today, my recommendation is the album More than just a dream (2013), by Fitz and the Tantrums. This band mixes pop/rock elements with an electronic vibe.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://music.apple.com/us/album/more-than-just-a-dream-deluxe-version/601405362"&gt;More than just a dream by Fitz and the Tantrums&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-other"&gt;😎 Other&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve enrolled in the Introduction to Computational Thinking and Data Science (MITx 6.00.2x) course. I&amp;rsquo;m really enjoying the python programming classes, but I must confess that these data science classes are really hard for me to follow, which makes me question if it&amp;rsquo;s really something I want to learn.&lt;/p&gt;
&lt;p&gt;Well, like everything in life, nothing worthwhile is easy, so I&amp;rsquo;m not giving up.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Andre+Updates%3A+April%2C+2022&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fandre-updates-april-2022%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/disconnecting-is-becoming-increasingly-difficult/</id><title>Disconnecting Is Becoming Increasingly Difficult</title><link href="https://afranca.com.br/disconnecting-is-becoming-increasingly-difficult/" rel="alternate" type="text/html"/><published>2022-04-30T10:13:00Z</published><updated>2025-12-07T23:52:25Z</updated><category term="technology"/><category term="social media"/><summary type="text">How many opportunities do we let go when we&amp;rsquo;re passively using our phones?</summary><content type="html">&lt;p&gt;How many opportunities do we let go when we&amp;rsquo;re passively using our phones?&lt;/p&gt;
&lt;p&gt;Not long ago, my wife started calling my attention about me staying hours on the phone. At first, I disagreed – I think most people would do the same, because in an unaware state, we tend to do things like this. After some insistence from her, I decided to check if that was true. I&amp;rsquo;m an iPhone user, so I set up Screen Time. For those who don&amp;rsquo;t know what this app is, it basically maps how many hours we spend with our phones and which apps consume most of our time.&lt;/p&gt;
&lt;p&gt;The result? Obviously, I got shocked. It&amp;rsquo;s overwhelming and disturbing to acknowledge how badly I was using my time, swiping my finger across the screen, sometimes with no reasonable purpose.&lt;/p&gt;
&lt;p&gt;If you once had the opportunity to be in therapy, one of the things you may have already had contact with is the 6 stages of behavior change (&lt;a href="https://www.verywellmind.com/the-stages-of-change-2794868"&gt;you can read more about it here&lt;/a&gt;). At this point I had reached the contemplation stage. This stage sometimes generates some ambivalence and conflicted emotions.I mean, even after knowing exactly how much time I used to spend on my phone, it remained difficult to change habits.&lt;/p&gt;
&lt;p&gt;Well, after some time, it reached the point where I felt prepared to jump to the third stage: Preparation. At first this may look simple – or maybe unnecessary, but this stage is the one that will help you maximize your results in this change process. For instance, I love cooking (it&amp;rsquo;s one of my hobbies), so it takes the same principle that making a good &lt;em&gt;Mise en Place&lt;/em&gt; (putting in place – in English) will help us better organize our space and ingredients and make a good plate.&lt;/p&gt;
&lt;p&gt;Fourth stage: Put it into action. As of the date of this writing, this is where I&amp;rsquo;m at.&lt;/p&gt;
&lt;p&gt;I quit social media a year or so ago. Mostly because of my privacy concerns of how my data was being &lt;del&gt;handled&lt;/del&gt; harvested. I remember how I felt anxiety-wise. Then I found myself using even more my phone, consuming youtube, podcasts, and gaming to a point where I unlearned how to appreciate the silence.&lt;/p&gt;
&lt;p&gt;Today, let&amp;rsquo;s say I&amp;rsquo;m doing surprisingly well in the sense that I can do things I like more consciously. I created this blog, so I can express my thoughts. I created an account on the fediverse to fulfill my social needs online. I uninstalled most of my not useful apps and games from my phone, and I try to curate better what I see or listen to, while I allow myself to enjoy more of the real life. One of these days, I realized that I was appreciating for some good minutes a bird that came to my window.&lt;/p&gt;
&lt;p&gt;Well, I wanted to share my story first because it&amp;rsquo;s good to put out what we think, then to show how bad it is when we do things passively. In this case, on how I used to use my phone. Acknowledging this allowed me to choose between living adrift and having more control over my own opportunities.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Disconnecting+Is+Becoming+Increasingly+Difficult&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fdisconnecting-is-becoming-increasingly-difficult%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/what-is-wrong-with-the-linux-community/</id><title>What Is Wrong With the Linux Community</title><link href="https://afranca.com.br/what-is-wrong-with-the-linux-community/" rel="alternate" type="text/html"/><published>2022-04-17T10:13:00Z</published><updated>2025-12-07T23:51:28Z</updated><category term="technology"/><category term="opensource"/><category term="linux"/><summary type="text">It&amp;rsquo;s not recent that I&amp;rsquo;ve read people positioning themselves, sometimes aggressively, about Canonical&amp;rsquo;s decisions and the direction they are going in relation to, for instance, funding the company or the snap thing.</summary><content type="html">&lt;p&gt;It&amp;rsquo;s not recent that I&amp;rsquo;ve read people positioning themselves, sometimes aggressively, about Canonical&amp;rsquo;s decisions and the direction they are going in relation to, for instance, funding the company or the snap thing.&lt;/p&gt;
&lt;p&gt;I have an analogy:&lt;/p&gt;
&lt;p&gt;Imagine you invite some friends over to your home. You show them around and tell them they’re welcome to use the place freely, for as long as they like. Some friends appreciate your generosity - one helps with the dishes, another offers to cover the energy bill.&lt;/p&gt;
&lt;p&gt;But then there’s one friend who doesn’t like the blue color of your couch and insists you should change it to red. You thank them for their opinion but explain that you prefer the blue. Instead of accepting your choice, they start complaining - not just about the couch, but about the entire house - and eventually decide to leave.&lt;/p&gt;
&lt;p&gt;This story is a bit wacky, but it kind of describes the impression I have about what happens with Ubuntu - and maybe some open source software I know of.&lt;/p&gt;
&lt;p&gt;Many times we don&amp;rsquo;t support the companies or devs behind the softwares we love and use daily, but some people want to feel entitled to denigrate them and badmouth the project for not being exactly the way they want it. The same usually does not happen when it comes to a paid software or those that are mostly developed for MacOS or Windows.&lt;/p&gt;
&lt;p&gt;I remember that my first contact with a Linux distribution was in 2006. It was a Live CD that I was gifted containing the version 6.06 (Dapper Drake) of Ubuntu. That was definitely a game changer for me.&lt;/p&gt;
&lt;p&gt;Today, one of the OS I use is Arch Linux. This is for several reasons, but mainly because I love its almost minimalist approach. I&amp;rsquo;ve hopped through many distros (many of them Ubuntu-based) trying to find one that I was better suited to, but the fact is, I&amp;rsquo;ve used Ubuntu for a long time. Eventually, I switched from Ubuntu due to certain decisions Canonical has made changes that I didn&amp;rsquo;t like.&lt;/p&gt;
&lt;p&gt;And that&amp;rsquo;s just the whole point of my early story. Companies and developers have their own values and goals. They have every right and duty to make any changes to the product they develop, and I have no right to rant about something that was offered to me at zero cost because it doesn&amp;rsquo;t operate the way I like.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s pretty simple: if you&amp;rsquo;re not satisfied, switch to something you like, or even create something and share it with the community.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+What+Is+Wrong+With+the+Linux+Community&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fwhat-is-wrong-with-the-linux-community%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry><entry><id>https://afranca.com.br/introducing-some-privacy-to-your-digital-life/</id><title>Introducing Some Privacy to Your Digital Life</title><link href="https://afranca.com.br/introducing-some-privacy-to-your-digital-life/" rel="alternate" type="text/html"/><published>2022-04-12T10:07:00Z</published><updated>2025-12-07T23:50:56Z</updated><category term="technology"/><category term="privacy"/><category term="security"/><summary type="text">Some time ago, searching for some more privacy-respecting softwares to replace the bad ones I used to have installed, I was introduced to the Privacy Guides website, recommended by the folks from the Techlore Channel.</summary><content type="html">&lt;p&gt;Some time ago, searching for some more privacy-respecting softwares to replace the bad ones I used to have installed, I was introduced to the Privacy Guides website, recommended by the folks from the &lt;a href="https://odysee.com/@techlore:3"&gt;Techlore Channel&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Many may wonder the reasons why we should care about our online privacy. I could list a few, but this is not the topic of this post. For now, let&amp;rsquo;s just say that I&amp;rsquo;d like to use products and services that respect me as an individual, and that come from the open source community or companies that don&amp;rsquo;t have obscure terms and conditions to profit tons of money from our personal data.&lt;/p&gt;
&lt;h2 id="what-is-privacy-guides"&gt;What is Privacy Guides?&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://www.privacyguides.org"&gt;Privacy Guides&lt;/a&gt; is a socially motivated website that provides information for protecting your data security and privacy. We are a non-profit collective operated entirely by volunteer team members and contributors.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For instance you want to ditch off whatsapp, or worse than that, sms. Well, you could go to privacyguides.org and look at the real-time communication section. In this section you will find a special selection of apps that can help you with this change, as well as the platforms on which the apps are available for download.&lt;/p&gt;
&lt;h3 id="some-sections-of-the-website-are"&gt;Some sections of the website are:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Providers - (Cloud Storage, Email, Search Engines, Social Network, etc.)&lt;/li&gt;
&lt;li&gt;Software - (Encryption Tools, Productivity Tools, Real-Time Communication, Video Streaming, etc.)&lt;/li&gt;
&lt;li&gt;Operating Systems - (Linux Desktops, Router Firmware, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The vast majority, if not all, of the software selected by team members are open source, that is, you can look at the code to see if there&amp;rsquo;s anything wrong, or even better, check out how you can contribute to these projects.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Questions, comments, or feedbacks? Feel free to reach out by &lt;a href="mailto:hello@privatemail.slmail.me?subject=Re%3A+Introducing+Some+Privacy+to+Your+Digital+Life&amp;amp;body=Regarding+your+post%3A+https%3A%2F%2Fafranca.com.br%2Fintroducing-some-privacy-to-your-digital-life%2F%0A%0A" title="Reply via Email"&gt;email&lt;/a&gt;, &lt;a href="https://mas.to/@abf" rel="noopener"&gt;mastodon&lt;/a&gt;, or &lt;a href="https://webmention.io/afranca.com.br/webmention"&gt;webmention&lt;/a&gt;.&lt;/p&gt;</content></entry></feed>