<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Marçal</title>
        <link>https://www.marcal.dev</link>
        <description>Escrevo para eu mesmo como uma forma de documentar e ter um Segundo Cerébro 🧠</description>
        <lastBuildDate>Fri, 27 Feb 2026 20:53:59 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>Nuxt static site generation + Feed for Node.js</generator>
        <language>pt-BR</language>
        <image>
            <title>Marçal</title>
            <url>https://www.marcal.dev/images/placeholder.png</url>
            <link>https://www.marcal.dev</link>
        </image>
        <copyright>All rights reserved 2026, Vítor Marçal</copyright>
        <atom:link href="https://www.marcal.dev/rss.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Eyes Wide Shut (1999)]]></title>
            <link>https://www.marcal.dev/filmes/eyes-wide-shut-1999/eyes-wide-shut-1999</link>
            <guid isPermaLink="false">/filmes/eyes-wide-shut-1999/eyes-wide-shut-1999</guid>
            <pubDate>Thu, 26 Feb 2026 21:21:50 GMT</pubDate>
            <description><![CDATA[Life goes on. It always does, until it doesn’t.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="eyes-wide-shut-1999" src="/filmes/eyes-wide-shut-1999/eyes-wide-shut-mask-ritual.jpg"></p><p><em>“Fidelio.”</em></p><p><img alt="eyes-wide-shut-1999" src="/filmes/eyes-wide-shut-1999/eyes-wide-shut-mask-on-bed.jpg"></p><p><em>“There is something very important that we need to do as soon as possible.”</em><br><em>“What’s that?”</em><br><em>“Fuck.”</em></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Eyes Wide Shut (1999)">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>video</category>
            <enclosure url="https://www.marcal.dev//filmes/eyes-wide-shut-1999/eyes-wide-shut-mask-ritual.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Criei suporte a stories no blog]]></title>
            <link>https://www.marcal.dev/criei-suporte-a-stories-no-blog</link>
            <guid isPermaLink="false">/criei-suporte-a-stories-no-blog</guid>
            <pubDate>Sat, 21 Feb 2026 21:20:00 GMT</pubDate>
            <description><![CDATA[Aproveitei meu projeto antigo de gostos e agora os stories aparecem na home.]]></description>
            <content:encoded><![CDATA[
            <p>Implementei suporte a stories no blog.</p><p>Aproveitei minha página antiga de gostos (aquele projetinho básico que fiz para o curso de francês) e transformei isso em um formato de story reaproveitável: <a href="/stories/gostos">Goûts</a>.</p><p>Agora deixei os stories visíveis já na página inicial, e além do <a href="/stories/gostos">Goûts</a>, também coloquei o story <a href="/stories/klimt-elfen-lied">Klimt x Elfen Lied</a>, puxando as imagens do post <a href="/gustav-klimt-e-elfen-lied">Gustav Klimt e Elfen Lied</a>.</p><p>Ficou simples, visual e bem mais fácil de expandir depois com outros temas.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Criei suporte a stories no blog">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>programacao</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Ensinamento, de Adélia Prado]]></title>
            <link>https://www.marcal.dev/ensinamento-de-adelia-prado</link>
            <guid isPermaLink="false">/ensinamento-de-adelia-prado</guid>
            <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><strong>Ensinamento</strong></p><pre class="language-txt shiki shiki-themes dracula" code="Minha mãe achava estudo
a coisa mais fina do mundo.
Não é.
A coisa mais fina do mundo é o sentimento.
Aquele dia de noite, o pai fazendo serão,
ela falou comigo:
&#x27;coitado, até essa hora no serviço pesado&#x27;.
Arrumou pão e café, deixou tacho no fogo com água quente.

Não me falou em amor.
Essa palavra de luxo.
" language="txt" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span>Minha mãe achava estudo
</span></span><span class="line" line="2"><span>a coisa mais fina do mundo.
</span></span><span class="line" line="3"><span>Não é.
</span></span><span class="line" line="4"><span>A coisa mais fina do mundo é o sentimento.
</span></span><span class="line" line="5"><span>Aquele dia de noite, o pai fazendo serão,
</span></span><span class="line" line="6"><span>ela falou comigo:
</span></span><span class="line" line="7"><span>'coitado, até essa hora no serviço pesado'.
</span></span><span class="line" line="8"><span>Arrumou pão e café, deixou tacho no fogo com água quente.
</span></span><span class="line" line="9"><span emptyLinePlaceholder>
</span></span><span class="line" line="10"><span>Não me falou em amor.
</span></span><span class="line" line="11"><span>Essa palavra de luxo.
</span></span></code></pre><p>Adélia Prado, <a href="livros/2_poesia_reunida">Poesia Reunida</a>.</p><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Ensinamento, de Adélia Prado">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>poesia</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Exausto, de Adélia Prado]]></title>
            <link>https://www.marcal.dev/exausto-de-adelia-prado</link>
            <guid isPermaLink="false">/exausto-de-adelia-prado</guid>
            <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><strong>Exausto</strong></p><pre class="language-txt shiki shiki-themes dracula" code="Eu quero uma licença de dormir,
perdão pra descansar horas a fio,
sem ao menos sonhar
a leve palha de um pequeno sonho.
Quero o que antes da vida
foi o profundo sono das espécies,
a graça de um estado.
Semente.
Muito mais que raízes.
" language="txt" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span>Eu quero uma licença de dormir,
</span></span><span class="line" line="2"><span>perdão pra descansar horas a fio,
</span></span><span class="line" line="3"><span>sem ao menos sonhar
</span></span><span class="line" line="4"><span>a leve palha de um pequeno sonho.
</span></span><span class="line" line="5"><span>Quero o que antes da vida
</span></span><span class="line" line="6"><span>foi o profundo sono das espécies,
</span></span><span class="line" line="7"><span>a graça de um estado.
</span></span><span class="line" line="8"><span>Semente.
</span></span><span class="line" line="9"><span>Muito mais que raízes.
</span></span></code></pre><p>Adélia Prado, <a href="livros/2_poesia_reunida">Poesia Reunida</a>.</p><p>Ás vezes eu só queria estar embaixo de uma pedra. Eu lhe entendo!</p><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Exausto, de Adélia Prado">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>poesia</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Orfandade, de Adélia Prado]]></title>
            <link>https://www.marcal.dev/orfandade-de-adelia-prado</link>
            <guid isPermaLink="false">/orfandade-de-adelia-prado</guid>
            <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><strong>Orfandade</strong></p><pre code="Meu deus,
me dá cinco anos.
Me dá um pé de fedegoso com formiga preta,
me dá um Natal e sua véspera,
o ressonar das pessoas no quartinho.
Me dá a negrinha Fia pra eu brincar,
me dá uma noite para eu dormir com minha mãe.
Me dá minha mãe, alegria sã e medo remediável,
me dá a mão, me cura de ser grande,
ó meu Deus, meu pai,
meu pai.
"><code __ignoreMap="">Meu deus,
me dá cinco anos.
Me dá um pé de fedegoso com formiga preta,
me dá um Natal e sua véspera,
o ressonar das pessoas no quartinho.
Me dá a negrinha Fia pra eu brincar,
me dá uma noite para eu dormir com minha mãe.
Me dá minha mãe, alegria sã e medo remediável,
me dá a mão, me cura de ser grande,
ó meu Deus, meu pai,
meu pai.
</code></pre><p>Adélia Prado, <a href="livros/2_poesia_reunida">Poesia Reunida</a>.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Orfandade, de Adélia Prado">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>poesia</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Media Pulse agora serve as minhas leituras]]></title>
            <link>https://www.marcal.dev/media-pulse-agora-serve-as-minhas-leituras</link>
            <guid isPermaLink="false">/media-pulse-agora-serve-as-minhas-leituras</guid>
            <pubDate>Sat, 14 Feb 2026 20:17:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <hr><p>Assim como minhas <a href="/musicas">/musicas</a>, o Media Pulse agora está servindo minhas leituras. Os dados estão praticamente em tempo real na página <a href="/leituras/2026">/leituras/2026</a>. Estou bastante satisfeito e agora sei que não vou manter mais o meu antigo <a href="https://books.marcal.dev" rel="nofollow">Book Tracker</a> e nem a lista manual neste blog, como em <a href="leituras-de-2025">leituras-de-2025</a>.</p><p>Ainda falta duas coisas para essa página ficar completa, no entanto: os links para as reviews e servir de alguma forma como feed. Sobre o link das reviews, penso em bolar uma forma de ter uma página aqui dentro que carregará a review salva no Media Pulse. Quanto o feed, não sei se realmente quero servir no feed, ainda pensarei sobre isso.</p><p>Ahh, outra coisa que falta: tentar migrar as leituras dos anos anteriores para esse esquema. Vai dar trabalho, mas vai ficar bem legal.</p><p><img alt="leituras-de-2026-agora-e-uma-lista-dinamica" src="img/media-pulse-agora-serve-as-minhas-leituras.png"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Media Pulse agora serve as minhas leituras">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/media-pulse-agora-serve-as-minhas-leituras.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Adicionei uma página random no blog]]></title>
            <link>https://www.marcal.dev/adicionei-uma-pagina-random-no-blog</link>
            <guid isPermaLink="false">/adicionei-uma-pagina-random-no-blog</guid>
            <pubDate>Sat, 14 Feb 2026 12:30:00 GMT</pubDate>
            <description><![CDATA[Agora existe um atalho para abrir uma publicação aleatória.]]></description>
            <content:encoded><![CDATA[
            <p>Implementei uma nova página random no blog.</p><p>Agora, ao clicar em <strong>Aleatório</strong> no menu, você é redirecionado para uma publicação sorteada entre os posts.</p><p>Também deixei um alias em <code class="">/aleatorio</code>, além da rota principal <code class="">/random</code>.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Adicionei uma página random no blog">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>programacao</category>
        </item>
        <item>
            <title><![CDATA[Leituras de 2026 📚]]></title>
            <link>https://www.marcal.dev/leituras-de-2026</link>
            <guid isPermaLink="false">/leituras-de-2026#updated_at#2026-02-11T22:00:00</guid>
            <pubDate>Wed, 11 Feb 2026 22:00:00 GMT</pubDate>
            <description><![CDATA[Minha lista de leitura para o ano de 2026 abrange o que já foi lido, está sendo lido e o que desejo ler.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Leituras de 2026 - Biblioteca oriental minimalista em madeira, com poucas estantes cuidadosamente organizadas, livros selecionados em tons neutros e um ambiente sereno. No centro, uma mesa baixa com alguns volumes abertos, almofadas no chão e iluminação suave. Ao fundo, painéis de papel e uma abertura para um jardim verde, transmitindo silêncio, contemplação, sabedoria profunda e a ideia de que menos livros, quando bem escolhidos, concentram mais conhecimento." src="img/leituras-do-ano/biblioteca-oriental.png"></p><p>Assim como em <a href="leituras-de-2025">2025</a>, em 2026 também registrarei em uma publicação o andamento das minhas leituras mas ao contrário dos anos anteriores, este ano a lista será uma página dinâmica alimentada com as informações registradas no meu <a href="https://github.com/vitormarcal/media-pulse" rel="nofollow">media-pulse</a>.</p><hr><p>Caso tenha curiosidade:</p><ul><li>Confira as leituras de <a href="leituras/2026">2026</a>.</li><li>Veja o que eu li em <a href="leituras-de-2025">2025</a>.</li><li>Ou veja o que eu li em <a href="leituras-de-2024">2024</a>.</li></ul>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Leituras de 2026 📚">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>portugues</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev/img/leituras-do-ano/biblioteca-medieval.webp" length="0" type="image/webp"/>
        </item>
        <item>
            <title><![CDATA[Comecei a utilizar o hardcover]]></title>
            <link>https://www.marcal.dev/comecei-a-utilizar-o-hardcover</link>
            <guid isPermaLink="false">/comecei-a-utilizar-o-hardcover</guid>
            <pubDate>Thu, 29 Jan 2026 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Desde pelo menos 2024 ou 2025 eu já não usava o Goodreads. Aquilo está largado às traças e a plataforma se tornou bem hostil ao acesso às APIs, o que significa que tudo o que você grava lá dificilmente consegue baixar depois.</p><p>Não sei como está hoje, mas lembro que ainda dava para exportar o registro dos livros lidos via um feed RSS. Depois de um tempo, soltaram algum comunicado dizendo que iriam restringir as APIs. Foi aí que deixei de usar de vez.</p><p>Cheguei a testar brevemente o Skoob e, depois de constatar que é uma bela porcaria, decidi registrar minhas leituras aqui mesmo, em formato de blog. Cada livro lido virava um post, sem nenhuma pretensão de ser conteúdo. Muitas vezes era só uma frase ou outra dizendo se gostei ou não.</p><p>Também criei posts de listas anuais, para ter uma noção do que li e do que planejava ler em cada ano. Fiz isso em <a href="leituras-de-2024">2024</a> e em <a href="leituras-de-2025">2025</a>. Funcionou bem. Nada como o bom e velho HTML ou Markdown: você não precisa de planilha, não precisa de app proprietário, só seções bem definidas.</p><p>Em 2025 tive a ideia de ir além do post anual e criar um site separado, estático, muito parecido com este aqui, mas focado apenas nas minhas leituras. Sem um nome melhor, chamei de <a href="https://books.marcal.dev/" rel="nofollow">Leituras do Vítor</a>.</p><p>Gostei bastante do resultado, pelo menos visualmente. A ideia do fluxo parecia ser simples: criava o Markdown, gerava o site estático e a lista aparecia. O problema era a edição manual porque preencher dados do livro, caçar capa, escrever autor… isso me dava uma preguiça enorme, a ponto de adiar por dias.</p><p>Outro problema era a duplicação. O registro ficava lá e aqui. Dois sites para atualizar, dois deploys, era mais trabalho do que eu suportava.</p><p>Daí comecei a pensar em automatizar isso e eu já tinha a ideia do MediaPulse, que eu idealizava ser um sistema para agregar dados de mídia. Para música ele já está pronto, dá para ver na página de <a href="musicas">músicas</a>. Ele puxa dados do Plex e do Spotify quase em tempo real, enquanto eu ouço. A ideia para livros sempre foi essa também, e ainda é. Em algum momento eu coloco em prática.</p><p>Nesse meio-tempo comecei a usar o <a href="https://hardcover.app/" rel="nofollow">hardcover.app</a>. Diferente do Goodreads, ele é muito mais amigável, com um espírito mais indie. É tocado por desenvolvedores que passaram pela mesma frustração que eu tive com o Goodreads.</p><p>Eles ainda não conseguem viver do projeto, então não conseguem dedicar 100% do tempo a ele, mas espero muito que esse dia chegue. Os caras fizeram um produto bom! Visualmente bonito, bem organizado e, o mais importante, os dados são seus, dá para baixar tudo quando quiser.</p><p>Daí me veio a ideia. Eu registro no Hardcover, onde o livro já entra com metadados completos: autor, ISBN, número de páginas, capa, edição, ano e tudo mais, numa interface intuitiva e bem feita, algo que eu definitivamente não tenho habilidade para implementar. Depois disso, eu só preciso ingerir esses dados no MediaPulse, do mesmo jeito que faço com Plex e Spotify. A partir daí, consigo exibir tudo neste site, assim como já faço com músicas. Chega de preencher formulário manual e de ficar criando Markdown.</p><p>Usando como referência a ingestão de músicas, levei uns bons meses até deixar tudo do jeito que eu queria, pelo menos estável. Não é algo tecnicamente complicado, mas sabe como é, a vida acontece, de modo que a funcionalidade de livros no MediaPulse ainda vai demorar um pouco.</p><p>Em 2026 vou manter a lista anual no formato tradicional, como nos outros anos. Mas espero que, em algum momento até dezembro, ela já esteja dinâmica. No momento estou com pouca vontade de manter o Leituras do Vítor, mas quem sabe ele não sirva de inspiração para o frontend da página de livros do MediaPulse.</p><p>Bora ver.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Comecei a utilizar o hardcover">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev/img/comecei-a-utilizar-o-hardcover.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Jogando I Have No Mouth, and I Must Scream (1995)]]></title>
            <link>https://www.marcal.dev/jogos/jogando-i-have-no-mouth-and-i-must-scream-1995</link>
            <guid isPermaLink="false">/jogos/jogando-i-have-no-mouth-and-i-must-scream-1995</guid>
            <pubDate>Sun, 14 Dec 2025 14:45:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Em <strong>I Have No Mouth, and I Must Scream</strong>, a humanidade foi dominada e praticamente extinta pelo supercomputador AM (Allied Mastercomputer). Quase, porque ele “poupou” cinco pessoas, que por 109 anos foram torturadas e humilhadas sem qualquer trégua.</p><p>Você controla esses cinco personagens, cada um com seu próprio arco narrativo. O objetivo é entender por que AM os tortura, além de tentar encontrar uma forma de escapar e destruí-lo. Os controles são péssimos. Zero flexibilidade. Os gráficos são horríveis. Sinceramente, até jogos da época pareciam ter recursos melhores. Mas isso pouco importa. O que realmente sustenta o jogo é a história, adaptada de um conto publicado na década de 1960.</p><p>Eu estava gostando bastante de jogar. A trama compensa tudo. Fechei o primeiro arco e resolvi descansar um pouco. O descanso durou algumas semanas, nesse meio tempo testei uma distribuição Linux diferente, formatei o computador e esqueci completamente de fazer backup do save do  jogo. Preguiça pura. Sem chance de recomeçar agora. Mesmo sabendo que zerar o jogo inteiro não levaria mais do que algumas horas.</p><p>Talvez daqui a alguns anos eu volte a ele. Por enquanto, fica aqui o registro.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Jogando I Have No Mouth, and I Must Scream (1995)">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/jogando-i-have-no-mouth-and-i-must-scream.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ballet Clássico De São Petersburgo apresenta "O QUEBRA-NOZES"]]></title>
            <link>https://www.marcal.dev/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes</link>
            <guid isPermaLink="false">/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes</guid>
            <pubDate>Tue, 02 Dec 2025 09:23:00 GMT</pubDate>
            <description><![CDATA[🎄✨🩰❄️💫]]></description>
            <content:encoded><![CDATA[
            <p><img alt="ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes" src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-01.jpeg"></p><p>Na última sexta, dia 28, tive o prazer de ver <strong>O Quebra-Nozes</strong>, apresentado pelo Ballet Clássico de São Petersburgo. Foi realmente incrível! Consegui um lugar privilegiado, bem em frente e ao centro do palco, na segunda fileira. Valeu cada centavo.</p><p>A coreografia é fiel à tradição russa, lembrando muitas outras apresentações que podemos ver no YouTube. O cenário, apesar de simples, não prejudicou a imersão. Como sabemos, <em>O Quebra-Nozes</em> é um clássico natalino de Tchaikovsky, que acompanha a festa de Natal de Clara até o Reino dos Doces. A apresentação ainda contou com a presença de Alexander Volchkov, convidado de prestígio internacional.</p><p><img alt="ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes" src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-02.jpeg"></p><p>Já faz um tempo que tive uma sacada para eventos ao vivo. Não gravo, não tiro fotos, não filmo. Percebi que não há sentido em perder parte do show para registrar algo que não ficará tão bom em uma câmera limitada, numa posição não tão favorável. Então, sempre depois da apresentação, vou às mídias sociais oficiais do evento e pego as recordações, essas sim feitas por profissionais. Bem melhor. Abaixo seguem os registros publicados no Instagram do OhArtes.</p><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-01.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - O ínicio</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-02.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - a festa natalina</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-03.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - os presentes</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-04.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - atacada por ratos</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-05.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - salva</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-06.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - o ínicio da viagem</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-07.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - lugares maravilhosos</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-08.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - dança do café</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-09.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - mais lugares exóticos</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-10.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - um belo sonho</figcaption>  
</figure><figure class="video">  
  <div class="inner-figure">  
    <video controls preload="metadata" width="100%">
			  <source src="img/ballet-classico-de-sao-petersburgo-apresenta-o-quebra-nozes/o-quebra-nozes-11.mp4" type="video/mp4">
			  Seu navegador não suporta vídeo.
		</video>
  </div>
  <figcaption>O quebra-nozes - fim</figcaption>  
</figure>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Ballet Clássico De São Petersburgo apresenta "O QUEBRA-NOZES"">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>portugues</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev/img/o-quebra-nozes-01.jpeg" length="0" type="image/jpeg"/>
        </item>
        <item>
            <title><![CDATA[Engenharia de Plataforma - Um guia para líderes técnicos, de produtos e de pessoas]]></title>
            <link>https://www.marcal.dev/leituras/engenharia-de-plataforma-um-guia</link>
            <guid isPermaLink="false">/leituras/engenharia-de-plataforma-um-guia</guid>
            <pubDate>Thu, 20 Nov 2025 20:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="engenharia-de-plataforma-um-guia" src="/leituras/img/engenharia-de-plataforma-um-guia.jpg"></p><p>Esse é um livro que vou manter como referência. Demorei um pouco para concluir a leitura e não absorvi tudo, porque há muita coisa relevante aqui. Ele cobre desde a construção até a administração de uma plataforma. Traz conhecimento valioso não só para desenvolvedores, mas também para gerentes, chegando até a abordar contratação de profissionais. O nível de detalhes e os conselhos apresentados são excelentes.</p><p>O ponto que mais me chamou atenção foi a ideia de que o objetivo de uma engenharia de plataforma é gerenciar a complexidade geral do sistema para gerar alavancagem de negócio, adotando uma abordagem de produto com curadoria. Ou seja, desenvolver plataformas como abstrações baseadas em software que atendam a uma ampla base de desenvolvedores de aplicações. O “estalo” veio justamente dessa noção de abordagem de produto, porque sempre ouvi falar de plataforma enfatizando a separação entre plataforma e produto. A perspectiva do livro parece ser muito mais interessante e efetiva.</p><p>Com certeza voltarei a esse livro várias vezes.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Engenharia de Plataforma - Um guia para líderes técnicos, de produtos e de pessoas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras//img/engenharia-de-plataforma-um-guia.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O gene egoísta]]></title>
            <link>https://www.marcal.dev/leituras/o-gene-egoista-por-richard-dawkins</link>
            <guid isPermaLink="false">/leituras/o-gene-egoista-por-richard-dawkins</guid>
            <pubDate>Thu, 20 Nov 2025 17:54:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="O gene egoísta" src="/leituras/img/o-gene-egoista-por-richard-dawkins.jpg"></p><p>Li O Gene Egoísta pela primeira vez em 2013, quando ainda estava na graduação. Naquela época, eu consumia mais divulgação científica do que textos da minha própria área (computação e programação), e talvez por isso Dawkins tenha me marcado tanto. Ele combina clareza, rigor e imaginação científica de um jeito raro.</p><p>Sempre fui fascinado pela origem da vida e pelo comportamento dos sistemas biológicos. No livro, Dawkins não tenta “resolver” a origem da vida, mas apresentar um quadro plausível e logicamente consistente de como processos puramente químicos podem produzir algo que começa a se comportar como vivo. Ele deixa claro onde há especulação, mas também mostra por que essa especulação é razoável dentro da biologia.</p><p>A ideia central é simples e elegante: se existir uma molécula organizada como uma sequência de blocos, e se cada bloco tiver afinidade química por blocos iguais no ambiente, então uma cópia dessa sequência pode se montar sozinha.</p><p>Imagine:</p><p>Uma molécula A com a sequência
<code class="">X – Y – Z – X – W – Y</code></p><p>No “caldo primordial”, blocos X, Y, Z e W estão livres.</p><p>Cada bloco livre tende a aderir a blocos idênticos na molécula original.</p><p>Quando todos se ligam, forma-se uma cadeia complementar A’.</p><p>Quando as duas cadeias se separam, você já tem duas cópias, cada uma pronta para repetir o processo. A informação da molécula passa adiante sem nenhuma intervenção externa. Só química básica.</p><p>A lógica do replicador não precisa ser “vida” como definimos hoje. A seleção natural já atua no nível químico, desde que exista replicação com erros ocasionais. Isso distingue essas moléculas de estruturas auto-organizadas simples, como cristais de sal. Cristais também “se montam sozinhos”, mas não carregam informação sequencial, apenas padrões repetitivos. O salto está na sequência, no conteúdo informacional.</p><p>Basta uma única molécula com essa propriedade surgir por acaso. A partir dela, a cadeia de eventos é automática:
replicação → mutações → competição → evolução.</p><p>Bom, isso é só o ínicio do livro, a introdução. No fim das contas, O Gene Egoísta continua sendo uma obra essencial. Não apenas pela explicação do gene como unidade de seleção, mas pela capacidade de tornar intuitivo um processo que, por natureza, é profundo e abstrato. É um daqueles livros que realmente merece ser relido.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O gene egoísta">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev///leituras/img/o-gene-egoista-por-richard-dawkins.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Blade: A Lâmina do Imortal - Volume 3 e 4]]></title>
            <link>https://www.marcal.dev/leituras/blade-a-lamina-do-imortal/blade-vol-3-e-4</link>
            <guid isPermaLink="false">/leituras/blade-a-lamina-do-imortal/blade-vol-3-e-4</guid>
            <pubDate>Thu, 23 Oct 2025 22:17:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="blade-vol-3" src="/leituras/blade-a-lamina-do-imortal/img/blade-vol-3.jpg"></p><p><strong>Volume 3</strong>: Uma aliança surge entre Manji e Rin e um certo grupo. As coisas não esquentaram bem nesse volume. Seguirei acompanhando.</p><hr><p><img alt="blade-vol-4" src="/leituras/blade-a-lamina-do-imortal/img/blade-vol-4.jpg"></p><p><strong>Volume 4</strong>: Continua interessante mas confesso que em alguns momentos dá uma certa preguiça. De qualquer forma, histórias de samurais são bem intrigantes e esse volume tem cenas de extrema violência bem desenhandas.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Blade: A Lâmina do Imortal - Volume 3 e 4">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/blade-a-lamina-do-imortal/img/blade-vol-3.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Blade: A Lâmina do Imortal - Volume 2]]></title>
            <link>https://www.marcal.dev/leituras/blade-a-lamina-do-imortal/blade-vol-2</link>
            <guid isPermaLink="false">/leituras/blade-a-lamina-do-imortal/blade-vol-2</guid>
            <pubDate>Thu, 23 Oct 2025 22:07:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="blade-vol-2" src="/leituras/blade-a-lamina-do-imortal/img/blade-vol-2.jpg"></p><p>Manji e Rin - a garota que o samurai passa a acompanhar em sua busca por vingança pelo assassinato de seus pais enfrentam cada vez mais adversários.</p><p>Rin começa a duvidar se a sua busca por sangue é <code class="">justa</code> ao se questionar, sobre as vidas que se perderam e os motivos de quem assassinou sua família e também sobre o ciclo de ódio, onde a vida é paga por outra vida.</p><p>Em alguns momentos dá um pouco de sono, mas continua sendo uma história muito boa!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Blade: A Lâmina do Imortal - Volume 2">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/blade-a-lamina-do-imortal/img/blade-vol-2.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Blade: A Lâmina do Imortal - Volume 1]]></title>
            <link>https://www.marcal.dev/leituras/blade-a-lamina-do-imortal/blade-vol-1</link>
            <guid isPermaLink="false">/leituras/blade-a-lamina-do-imortal/blade-vol-1</guid>
            <pubDate>Thu, 23 Oct 2025 21:55:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="blade-vol-1" src="/leituras/blade-a-lamina-do-imortal/img/blade-vol-1.jpg"></p><p>Esse eu já li mas já havia um tempo que eu queria uma releitura.</p><p>É uma história de samurai mais adulta.Se não me engano foi criticada na época por não ser fiel à epóca: bem comum os personagens soltarem uns chingamentos, gírias comuns da nossa época mas que não existiam no Japão do shogunato. Teve uma outra polêmica sobre a censura da suástica na animação, transformando em outro símbolo.</p><p>Esse volume prende de mais, nos apresenta aos dois protagonistas, Manji - um espadachim imortal  e uma jovem moça que teve sua família assinada e agora busca vingança. Esse livro funciona mais como uma apresentação  do personagens, não sabemos ainda para onde a obra vai, mas mesmo assim tudo é bastante interessante. O embate com um deles nesse primeiro volume foi bem interessante!</p><p>Esse mangá não chega a ser um Berserk mas concerteza vale a leitura!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Blade: A Lâmina do Imortal - Volume 1">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/blade-a-lamina-do-imortal/img/blade-vol-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dom Casmurro]]></title>
            <link>https://www.marcal.dev/leituras/dom-casmurro/dom-casmurro</link>
            <guid isPermaLink="false">/leituras/dom-casmurro/dom-casmurro</guid>
            <pubDate>Wed, 15 Oct 2025 20:29:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="dom-casmurro" src="/leituras/dom-casmurro/dom-casmurro.jpg"></p><p>Seria essa a obra mais famosa de Machado de Assis? Mais que <em>Memórias Póstumas</em>? Talvez. Afinal, mesmo quem nunca leu <em>Dom Casmurro</em> conhece algo sobre a polêmica: Capitu traiu ou não Bentinho? Esse era o meu caso até agora. Finalmente li e, confesso, fiquei decepcionado com todo mundo que sempre falou sobre isso, e com todas as discussões que vi de relance na internet, no Twitter, na TV.</p><p>Decepcionado porque essa grande polêmica, a suposta traição de Capitu, claramente não é o tema do livro. Está ali apenas na camada mais superficial. O que realmente move a narrativa é a tentativa de Bentinho, já velho, de se justificar, de “amarrar as pontas soltas”. Ele é um narrador nada confiável, e Machado nos dá várias pistas disso: Bentinho suaviza fatos, dramatiza outros, se contradiz, e tenta nos manipular o tempo todo.</p><p>Bentinho é o verdadeiro vilão da história. Não por ser cruel, mas por ser fraco, covarde, incapaz de agir por si mesmo. Sempre foi levado pelos outros: o seminário, o casamento, a viagem. Mimado e inseguro, acabou dominado pela inveja do amigo e pelo ciúme da esposa. E, ironicamente, só a acusa depois da morte do amigo, quando ninguém mais pode se defender.</p><p>Quando ele afirma que o filho é “a cara do amigo”, não podemos simplesmente acreditar. Todos que poderiam confirmar ou negar isso já estavam mortos, distantes ou calados. Capitu foi mandada para longe, e morreu exilada, sem nunca poder contar sua versão.</p><p><em>Dom Casmurro</em> é, no fundo, a história de um homem narcisista, corroído pelo ciúme, que destrói tudo e todos ao seu redor e, no fim, tenta convencer o leitor de que é uma vítima.</p><p>Confesso que gostei mais de <em>Memórias Póstumas de Brás Cubas</em>: é mais direto, mais leve. <em>Dom Casmurro</em> é superior pelas nuances, pelas camadas e pela genialidade com que Machado faz o leitor desconfiar do narrador. Mas o que o tornou “cult” talvez não seja isso, e sim a dúvida, uma dúvida que, ironicamente, diz mais sobre nós do que sobre Capitu.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dom Casmurro">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/dom-casmurro/dom-casmurro.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Kick-Ass: A Era de Dave Lizewski  - Volume 4]]></title>
            <link>https://www.marcal.dev/leituras/kick-ass/kick-ass-volume-4</link>
            <guid isPermaLink="false">/leituras/kick-ass/kick-ass-volume-4</guid>
            <pubDate>Tue, 14 Oct 2025 08:54:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="kick-ass" src="/leituras/kick-ass/kick-ass-volume-4.jpg"></p><p>Esse sim é o verdadeiro final da história!<br>
Hit-Girl vai parar na penitenciária, mas no melhor estilo <em>“Eu não estou presa com vocês, vocês é que estão presos comigo”</em> do Rorschach, ela rapidamente toma o controle da prisão. A gente sabe que é só questão de tempo até ela sair de lá.</p><p>Enquanto isso, o panaca do Dave finge que está montando um plano de fuga pra amiga. Sabemos que isso nunca vai acontecer, mas ei, pelo menos ele parece ter conseguido uma vida normal agora, até arrumou alguém pra transar!</p><p>No fim, tudo se resolve: eles acabam com os mafiosos, Dave finalmente vira um cara comum, trabalha como policial, e a Hit-Girl volta a agir nas sombras. Um final realmente satisfatório, à altura da jornada toda.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Kick-Ass: A Era de Dave Lizewski  - Volume 4">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/kick-ass/kick-ass-volume-4.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Kick-Ass: A Era de Dave Lizewski  - Volume 3]]></title>
            <link>https://www.marcal.dev/leituras/kick-ass/kick-ass-volume-3</link>
            <guid isPermaLink="false">/leituras/kick-ass/kick-ass-volume-3</guid>
            <pubDate>Sun, 12 Oct 2025 08:16:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="kick-ass" src="/leituras/kick-ass/kick-ass-volume-3.jpg"></p><p>Esse é o final da história, o momento em que algo como “A Liga da Justiça” se forma, mas as coisas não saem nada bem. <del>Spoilers</del>: o carinha e até o cachorro da capa têm um fim brutal! A situação também desanda para o pai de Dave, um homem bom que não merecia o que aconteceu. Tudo isso culmina numa batalha caótica entre heróis e vilões no meio da rua.</p><p>Foi um bom volume, cheio de ação e peso emocional, e acho que encerra bem a trajetória de Dave Lizewski. Vale a pena ler!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Kick-Ass: A Era de Dave Lizewski  - Volume 3">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/kick-ass/kick-ass-volume-3.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Novas Comédias da Vida Privada: 123 Crônicas  Escolhidas]]></title>
            <link>https://www.marcal.dev/leituras/novas-comedias-da-vida-privada/novas-comedias-da-vida-privada</link>
            <guid isPermaLink="false">/leituras/novas-comedias-da-vida-privada/novas-comedias-da-vida-privada</guid>
            <pubDate>Sat, 11 Oct 2025 14:51:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="Novas Comédias da Vida Privada: 123 Crônicas Escolhidas" src="/leituras/novas-comedias-da-vida-privada/novas-comedias-da-vida-privada.jpg"></p><blockquote><p>'Novas Comédias da Vida Privada' apresenta 123 histórias contadas por Luis Fernando Verissimo. A maioria é inédita em livro. O sucesso lítero-televiso de 'Comédias da Vida Privada' tem continuidade com este novo livro repleto de casos, contos crônicas, reflexões e críticas bem-humoradas de tipos e situações cotidianas.</p></blockquote><p>Esse eu já havia lido quando era adolescente e, agora, adulto, percebi vários temas nas crônicas que passaram despercebidos antes. Não é nada complexo, só me faltava um pouco de bagagem de vida, é claro. São, como o nome diz, comédias da vida privada, ou da vida cotidiana. O livro é bem-humorado e retrata com leveza os relacionamentos entre casais e amigos. Vale a leitura, com certeza!</p><p>Ainda assim, tenho uma imensa dificuldade em ler livros de contos, crônicas ou poesia. A natureza curta desses textos, que me faz saltar de história em história, faz com que eu perca o interesse com facilidade e, às vezes, esqueça até de voltar ao livro. Esse é um tipo de leitura para o qual ainda preciso me treinar melhor.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Novas Comédias da Vida Privada: 123 Crônicas  Escolhidas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/novas-comedias-da-vida-privada/novas-comedias-da-vida-privada.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O alienista]]></title>
            <link>https://www.marcal.dev/leituras/o-alienista/o-alienista</link>
            <guid isPermaLink="false">/leituras/o-alienista/o-alienista</guid>
            <pubDate>Sat, 11 Oct 2025 11:23:00 GMT</pubDate>
            <description><![CDATA[A loucura, objeto dos meus estudos, era até agora uma ilha perdida no oceano da razão; começo a suspeitar que é um continente.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="o-alienista" src="/leituras/o-alienista/o-alienista.jpg"></p><p>Simão Bacamarte, médico da pequena cidade de Itaguaí, passa a se interessar pela psiquiatria e decide estudar a loucura. Para isso, cria um sanatório chamado Casa Verde. No início, interna apenas os que todos consideram loucos. Com o tempo, porém, seus critérios se ampliam tanto que qualquer pessoa pode ser diagnosticada. Logo, até gente vista como perfeitamente normal começa a ser levada para a Casa Verde, e o medo toma conta da cidade. Muitos evitam conversar com o médico para não correr o risco de serem internados.</p><blockquote><p>A loucura, objeto dos meus estudos, era até agora uma ilha perdida no oceano da razão; começo a suspeitar que é um continente.</p></blockquote><p>Em certo momento, a maior parte da população já está trancada na Casa Verde. É então que Simão percebe que a loucura, e não a sanidade, é o estado comum do ser humano. A razão, para ele, torna-se o verdadeiro desvio do cérebro. Desde o início já era possível notar que, com tamanha fixação na loucura e um olhar clínico exagerado para encontrar desequilíbrio em qualquer gesto, o próprio Simão era o mais louco de todos. Por isso decide se internar.</p><blockquote><p>Recolhi-me à Casa Verde, porque achei que era o único são entre os loucos, e isso era ser louco também.</p></blockquote><p>A ironia é clara: se ele conclui que o normal é ser louco e que os ajuizados são exceção, então, por ser excessivamente racional, ele próprio se torna o anormal, o verdadeiro louco. Ele acredita estar doente por ser lúcido demais, mas na verdade é a razão levada ao extremo que o enlouquece. Quem nunca ouviu a frase “você vai ficar louco de tanto estudar”? Foi exatamente isso que aconteceu com Simão Bacamarte.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O alienista">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/o-alienista/o-alienista.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Fundação]]></title>
            <link>https://www.marcal.dev/leituras/fundacao/fundacao</link>
            <guid isPermaLink="false">/leituras/fundacao/fundacao</guid>
            <pubDate>Tue, 30 Sep 2025 18:41:00 GMT</pubDate>
            <description><![CDATA[Ser óbvio compensa, especialmente se você tiver uma reputação de sutileza.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="fundacao" src="/leituras/fundacao/img/fundacao.png"></p><p>Em <em>Fundação</em>, apesar da aparente pujança, o Império Galáctico está desmoronando. Já não há inovação nem descobertas... O problema é que sua queda trará 30 mil anos de idade das trevas para toda a galáxia. É nesse pano de fundo que conhecemos Hari Seldon e seu plano de reduzir esse período para aproximadamente mil anos, prevendo e influenciando acontecimentos que ocorreriam muito depois de sua morte, graças à psico-história.</p><p>Esse nome soa estranho à primeira vista, parece até uma pseudociência. Mas com os detalhes fornecidos, entendemos que a psico-história é uma ciência que busca prever matematicamente o comportamento de grandes massas humanas. Ela combina psicologia, sociologia das massas e cálculo estatístico. É inútil para prever as ações de indivíduos ou pequenos grupos, mas extremamente eficaz quando aplicada a populações enormes, como a de uma galáxia inteira. A partir disso, Seldon reúne um grupo de cientistas em um planeta inóspito, sem recursos naturais cobiçados, na periferia da galáxia. Ele calculou que ali havia a maior probabilidade de nascer o núcleo do próximo império, responsável por tirar a galáxia da sua idade das trevas em apenas mil anos.</p><p>É um enredo bastante verossímil, na verdade inspirado em nossa própria história recente: a queda do Império Romano. Com seu fim, a <em>pax romana</em> ruiu, e inúmeros reinos bárbaros surgiram e lutaram entre si pela dominância. Embora alguns conseguissem poder local, nenhum se comparou ao Império em termos de comércio, tecnologia ou administração. Esse período ficou conhecido como Idade das Trevas, marcado pelo enfraquecimento da comunicação entre povos e, mais tarde, pelo nascimento do sistema feudal. Nesse intervalo, muito conhecimento foi perdido. Curiosamente, foram os árabes ( que invadiram a Europa ) os grandes preservadores: traduziram e espalharam obras, que depois seriam redescobertas pelos estudiosos católicos a partir dessas versões árabes.</p><p>De forma similar, em <em>Fundação</em> vemos o nascimento de uma religião que concentra conhecimento e tecnologia, atribuindo até sentidos místicos a isso para que sociedades em estado de barbárie pudessem compreender. Essa dominação pelo dogma religioso, embora necessária no contexto, logo dá lugar a outra forma de poder: o comércio. De novo, um paralelo com a nossa história, no pós-Idade Média, com o surgimento dos burgos e das grandes cidades comerciais, que reabriram as rotas de troca de bens e ideias entre os povos.</p><p><em>Fundação</em> é, sem dúvidas, fascinante. Não espere alienígenas: a galáxia é inteiramente povoada por humanos. Aliás, é até curioso pensar que a psico-história seria inútil em uma galáxia habitada por diversas espécies alienígenas, já que ela se baseia exclusivamente no mapeamento do comportamento humano em massa.</p><p>Li toda a saga ainda adolescente. Asimov, junto com Sagan, foi meu autor favorito de ficção científica. Eu lia de tudo, até os ensaios não ficcionais. Ele foi um escritor prolífico, capaz de abordar praticamente qualquer tema. Releituras agora, anos depois, têm sido uma experiência incrível, até porque eu já não lembrava de quase nada, então foi como se tivesse lido pela primeira vez. Agora vou para o próximo volume da trilogia. Recomendo muito!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Fundação">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/fundacao/img/fundacao.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Jogando The Legend of Zelda: A Link to the Past (1991)]]></title>
            <link>https://www.marcal.dev/jogos/jogando-the-legend-of-zelda-a-link-to-the-past-1991</link>
            <guid isPermaLink="false">/jogos/jogando-the-legend-of-zelda-a-link-to-the-past-1991</guid>
            <pubDate>Sun, 28 Sep 2025 16:26:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><strong>Ahh... a vida adulta!</strong> Há quanto tempo iniciei esse jogo? Talvez desde 2 de novembro de 2024, segundo alguns registros. Um jogo cujo tempo total de campanha deve ser o quê... 10 horas, 20 no máximo? Mas eu demorei quase um ano! Pelo registro do último save, desde março de 2025 eu já estava pronto para enfrentar o chefe final... mas a vida aconteceu, como qualquer um sabe.</p><p>E está tudo bem. Não é uma competição, fazemos o que é possível. Foi uma ótima diversão: tem uma boa dificuldade, uma excelente história e sobreviveu ao tempo sem parecer datado. É um jogo que facilmente jogaria de novo. Tenho certeza de que deixei passar detalhes e side quests, mas a vida é curta demais e há sempre muito a descobrir.</p><p>No mais, eu recomendo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Jogando The Legend of Zelda: A Link to the Past (1991)">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>portugues</category>
            <category>notas-pessoais</category>
        </item>
        <item>
            <title><![CDATA[Jogando Limbo (2010)]]></title>
            <link>https://www.marcal.dev/jogos/jogando-limbo-2010</link>
            <guid isPermaLink="false">/jogos/jogando-limbo-2010</guid>
            <pubDate>Sun, 28 Sep 2025 12:27:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Eu gostei, mas provavelmente não jogaria novamente. Os desafios não são tão difíceis nem tão fáceis; achei bem equilibrados para garantir uma boa diversão. Levei cerca de 4 horas para finalizar o jogo.</p><p>Gostei bastante, embora ache que a história poderia ter sido mais bem desenvolvida. Algumas perguntas ficaram em aberto e mereciam mais atenção: onde estamos, o que é o limbo, quem são os outros garotos, como ele e a irmã se separaram e o que acontece depois que finalmente se encontram...</p><p>Parece que rolou alguma treta recentemente e o jogo foi deslistado do <a href="https://www.gog.com" rel="nofollow">GOG Games</a>. Felizmente, consegui pegar por lá antes. Aliás, recomendo muito a GOG: sempre que compro um jogo dou preferência a eles, já que posso baixar o instalador offline, ou seja, o jogo é realmente meu. Além disso, eles têm um programa de preservação de jogos bem interessante, que vale a pena conhecer.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Jogando Limbo (2010)">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Criando Microsserviços, por Sam Newman]]></title>
            <link>https://www.marcal.dev/leituras/criando-microsservicos-por-sam-newman</link>
            <guid isPermaLink="false">/leituras/criando-microsservicos-por-sam-newman</guid>
            <pubDate>Mon, 22 Sep 2025 20:52:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="criando-microsservicos-por-sam-newman" src="/img/criando-microsservicos-por-sam-newman.jpg"></p><p>Gostei. É um apanhado geral de como deveria funcionar uma arquitetura de microsserviços.</p><p>Ele fala de observabilidade, comunicação síncrona e assíncrona, implantação de serviços e, o mais interessante, traz uma boa discussão sobre monólitos, com vantagens e desvantagens.</p><p>Muita gente no meio de desenvolvimento acha que monólito é ruim e quase sinônimo de legado. O Sam Newman mostra o contrário e dá bons motivos para começar por um monólito. Achei uma leitura bem enriquecedora.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Criando Microsserviços, por Sam Newman">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//img/criando-microsservicos-por-sam-newman.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Astérix vol 1 : Asterix le Gaulois]]></title>
            <link>https://www.marcal.dev/leituras/asterix/asterix-le-gaulois-v1</link>
            <guid isPermaLink="false">/leituras/asterix/asterix-le-gaulois-v1</guid>
            <pubDate>Fri, 12 Sep 2025 20:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="asterix-le-gaulois-v1" src="/leituras/asterix/img/asterix-le-gaulois-v1.jpg"></p><p>Nossa, que nostalgia! Foi a primeira vez que li <em>Astérix</em> na vida, mas a todo momento senti saudades da infância, dos domingos à tarde assistindo filmes com meu pai. Lembro-me de ver junto com ele o filme do <em>Astérix</em> com Gérard Depardieu. Aliás, apesar de os filmes não adaptarem exatamente o primeiro volume de <em>Astérix</em> (o <em>Le Gaulois</em>, sobre o qual escrevo aqui), o filme aproveita algumas situações da BD.</p><p>Nessa BD, os romanos descobrem que a aldeia gaulesa resiste porque possui a poção mágica de Panoramix. Então, sequestram o druida para forçá-lo a preparar a fórmula. Astérix parte para resgatá-lo, embora nem fosse tão necessário: Panoramix resiste muito bem às “torturas” romanas: cócegas nos pés com uma pena! No final, eles enganam os romanos com uma poção que, em vez de dar força sobre-humana, faz crescer cabelos e barbas em uma velocidade absurda.</p><p>Peguei esse volume na biblioteca da Aliança Francesa. Achei que seria complicado ler, mas, mesmo com meu nível iniciante de francês, consegui entender a história muito bem. Mérito, claro, do autor, que criou uma trama tão simples e, ao mesmo tempo, tão genial!</p><p>Recomendo muito!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Astérix vol 1 : Asterix le Gaulois">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/asterix/img/asterix-le-gaulois-v1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[As quatro estações de Vivaldi, regência de Jordi Savall]]></title>
            <link>https://www.marcal.dev/escutas/as-quatro-estacoes-de-vivaldi-regencia-de-jordi-savall</link>
            <guid isPermaLink="false">/escutas/as-quatro-estacoes-de-vivaldi-regencia-de-jordi-savall</guid>
            <pubDate>Sun, 24 Aug 2025 16:35:00 GMT</pubDate>
            <description><![CDATA[Antonio Vivaldi - Le Quattro Stagioni & Concerti d’Il cimento dell’armonia e dell’inventione - Concert des Nations, Jordi Savall (2024)]]></description>
            <content:encoded><![CDATA[
            <p>Eu já tinha escutado <em>As Quatro Estações</em>, mas confesso que nunca parei para realmente ouvir. Depois de passar por bastante porcaria no Desafio <em>1001 Álbuns para se Ouvir Antes de Morrer</em> (atualmente já ouvi 116), precisei de algo que fosse realmente bom, que me emocionasse. A resposta, sem dúvidas, é a música clássica. Eu queria me emocionar, chorar, não apenas ouvir uma música por ouvir. Para isso, decidi montar uma espécie de <strong>Jornada Musical</strong>, em que eu não só escutaria, mas tentaria sentir de fato a proposta de cada obra. Sem grandes esforços técnicos ou intelectuais, apenas me deixar levar. Daí a escolha: <em>As Quatro Estações</em>, a obra que inaugura essa jornada.</p><p>A primeira coisa foi escolher uma interpretação. Confesso que nunca tinha parado para comparar, mas descobri que algumas versões se afastam bastante da forma como o compositor pensou, chegando quase ao rock; outras procuram se aproximar ao máximo da maneira como era apresentada em sua época.</p><p>Como leigo, não vejo problema em haver interpretações diferentes. A versão de <strong>Nigel Kennedy</strong> (1989), por exemplo, é descrita como super intensa, quase rock - e em algum momento ainda quero conferir. Mas acabei optando pela versão de <strong>Jordi Savall</strong> (<em>Antonio Vivaldi - Le Quattro Stagioni &#x26; Concerti d’Il cimento dell’armonia e dell’inventione - Le Concert des Nations, 2024</em>). Savall é um dos maiores especialistas em música antiga e barroca do mundo. Além de reger, recria a atmosfera histórica com instrumentos de época, afinação original etc. O <em>Concert des Nations</em> segue essa linha. Entendo profundamente o que isso significa? De forma alguma 😂, mas pareceu uma boa escolha.</p><p><img alt="as-quatro-estacoes-de-vivaldi-regencia-de-jordi-savall" src="/escutas/as-quatro-estacoes-de-vivaldi-regencia-de-jordi-savall.jpg"></p><p>O álbum, de 2024, traz os sonetos narrados, exatamente como Vivaldi concebeu. Foi uma surpresa maravilhosa: a primeira vez que ouvi a obra narrada, nem sabia que era assim originalmente! Além de <em>As Quatro Estações</em> (<em>Le Quattro Stagioni</em> : ah, a beleza da língua italiana…), o álbum inclui outros concertos de Vivaldi, como <em>La Tempesta di mare</em> e <em>Il Proteo</em>.</p><p>Quanto à escuta, optei por um <strong>mapa guiado</strong>, para aproveitar ao máximo. Valeu totalmente a pena: é como se recriássemos as cenas em nossa mente. Percebi coisas que nunca havia notado (talvez óbvias para muitos, mas não para mim). Em <em>A Primavera</em>: os violinos trinam como pássaros, há o murmúrio do riacho, trovões e relâmpagos, o cão que late, a festa campestre… Em <em>O Verão</em>: o calor sufocante, a brisa suave, o vento do norte que explode, o pastor pressentindo a tempestade que chega violenta, com trovões, raios e granizo. Em <em>O Outono</em>: a festa da colheita, as danças alegres, a bebedeira regada a vinho que se dissolve em cansaço e sono profundo. No dia seguinte, as trompas de caça soam, cães e caçadores perseguem a presa, o animal tenta fugir, mas no final é abatido. Em <em>O Inverno</em>: o frio intenso, os tremores e dentes batendo, pessoas correndo e batendo os pés para se aquecer, o calor da lareira, a chuva lá fora, o caminhar cauteloso sobre o gelo, escorregões e quedas… e, mesmo no inverno, há alegria!</p><p>Eu recomendo a qualquer um fazer o mesmo: procurar os sonetos, uma descrição das cenas, um mapa de escuta, como uma legenda sincronizada. Depois ouvi <em>Le Quattro Stagioni</em> outras vezes sem esse apoio, apenas com um bom fone de ouvido e olhos fechados, e foi incrível perceber como minha relação com a obra mudou. Foi como sentir a vida campestre na pele.</p><p><em>As Quatro Estações</em> não é apenas música bonita ou agradável: é uma experiência de viver, através do som, o ciclo da natureza e das emoções humanas. Foi uma escolha perfeita depois de tantos álbuns de qualidade duvidosa no desafio dos 1001. É sério: não sei quem faz essa lista, mas só consigo imaginar lobby, porque coisa boa é universal!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=As quatro estações de Vivaldi, regência de Jordi Savall">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>musica</category>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//escutas/as-quatro-estacoes-de-vivaldi-regencia-de-jordi-savall.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Le plat du loup plat]]></title>
            <link>https://www.marcal.dev/leituras/pastel/le-plat-du-loup-plat</link>
            <guid isPermaLink="false">/leituras/pastel/le-plat-du-loup-plat</guid>
            <pubDate>Fri, 22 Aug 2025 21:35:00 GMT</pubDate>
            <description><![CDATA[Un loup? Quel loup?]]></description>
            <content:encoded><![CDATA[
            <p><img alt="le-plat-du-loup-plat" src="/leituras/pastel/le-plat-du-loup-plat.jpg"></p><blockquote><p>Il était une fois, un loup. " Un loup ? mais quel loup ? " me direz-vous. Les loups ont depuis longtemps disparu de nos bois. D'ailleurs c'est simple, il n'y a plus que dans les livres qu'on en voit. Ca tombe bien, en voici un dans ce livre, mais à passer de page en page... ce loup est devenu tout plat ! Il a grand besoin d'un bon repas. Justement, voici trois petits cochons...</p></blockquote><p>Esse é o conto dos três porquinhos mas com um desenvolvimento diferente.  É o tipo de livro que compro para minha filha, uma leitura leve e divertida mas com uma pitada de suspense e humor.</p><p>O título é um trocadilho em francês:</p><ul><li><strong>loup</strong> = lobo 🐺</li><li><strong>plat</strong> = pode significar duas coisas em francês:<ol><li><strong>achatado / plano</strong> (um objeto “plat” é algo sem relevo, achatado)</li><li><strong>prato (de comida)</strong> 🍽️</li></ol></li></ul><p>Fica: <strong>o prato do lobo achatado</strong></p><p>Peguei esse na biblioteca da Aliança Francesa, para consumir um pouco o francês. Eu gostei.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Le plat du loup plat">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>francais</category>
            <enclosure url="https://www.marcal.dev//leituras/pastel/le-plat-du-loup-plat.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Espetacular Homem-Aranha - Edição Definitiva : Volume 3]]></title>
            <link>https://www.marcal.dev/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-3</link>
            <guid isPermaLink="false">/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-3</guid>
            <pubDate>Fri, 22 Aug 2025 20:44:00 GMT</pubDate>
            <description><![CDATA[Reconhece, gatão... você tirou a sorte grande.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="o-espetacular-homem-aranha-edicao-definitiva-vol-3" src="/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-3.jpg"></p><p>É verdade, esses vilões genéricos, pelo menos com os olhos dos anos 2000 são bem esquecíveis mas tenho que dizer, é muito bom ler sobre os altos e baixos da vida pessoal do aranha!</p><p>Finalmente aparece Mary Jane, que sempre era apenas mencionada desde os primeiros cápitulos.</p><p><img alt="o-espetacular-homem-aranha-edicao-definitiva-vol-3-1" src="/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-3-1.jpg"></p><blockquote><p>Reconhece, gatão... você tirou a sorte grande.</p></blockquote><p>Eu gostei do volume!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Espetacular Homem-Aranha - Edição Definitiva : Volume 3">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>quadrinhos</category>
            <enclosure url="https://www.marcal.dev//leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-3.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Les Profs: Tome 1 - Ínterro Surprise]]></title>
            <link>https://www.marcal.dev/leituras/les-profs/les-profs-tome-1-interro-surprise</link>
            <guid isPermaLink="false">/leituras/les-profs/les-profs-tome-1-interro-surprise</guid>
            <pubDate>Fri, 22 Aug 2025 19:39:00 GMT</pubDate>
            <description><![CDATA[BONJOUR! ÍNTERROGATION ÉCRITE!!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="les-profs-tome-1-interro-surprise" src="/leituras/les-profs/les-profs-tome-1-interro-surprise.jpg"></p><blockquote><p>Suivez le prof d’histoire débutant, le prof de gym sur-vitaminé, la prof de français sexy, le prof de philo blasé et la prof d’anglais peau de vache dans leur croisade contre l’ignorance et le poil dans la main ! Plus forts que Zorro, plus courageux qu’Indiana Jones et bien moins payés que James Bond, ils pénètrent dans la jungle étouffante des lycées pour affronter les tribus d’élèves hostiles. Puis, épuisés, ils se réfugient dans leur oasis : la salle des profs ! Là, entre la machine à café en panne et les 150 copies à corriger pour demain, ils refont le monde de l’éducation et des plans pour les vacances.</p></blockquote><p><strong>Les Profs</strong> é uma banda desenhada (BD) francesa de humor, cujo título significa literalmente <em>“Os Professores”</em>. Cada história ocupa uma ou duas páginas e é independente das demais, sempre satirizando a vida escolar e mostrando o cotidiano de um colégio sob o ponto de vista dos professores.</p><p>A série traz uma galeria de caricaturas: o professor bonzinho que não consegue se impor, a professora sedutora, o “paz e amor”, o exigente ao extremo, entre outros.</p><p>Além dos álbuns, já foram produzidos dois filmes ( <em>Les Profs</em> e <em>Les Profs 2</em>) e, ao que tudo indica, também existe uma adaptação em desenho animado.</p><p>Gostei bastante: é uma leitura leve, sarcástica e, para quem está aprendendo francês como eu, de fácil compreensão. Precisei recorrer ao Google Tradutor em algumas palavras ou expressões, mas me surpreendi ao ver que não foi tão necessário quanto eu imaginava.</p><p>Recomendo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Les Profs: Tome 1 - Ínterro Surprise">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>francais</category>
            <category>quadrinhos</category>
            <enclosure url="https://www.marcal.dev//leituras/les-profs/les-profs-tome-1-interro-surprise.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Meu Túnel do Tempo Musical]]></title>
            <link>https://www.marcal.dev/meu-tunel-do-tempo-musical</link>
            <guid isPermaLink="false">/meu-tunel-do-tempo-musical</guid>
            <pubDate>Sun, 17 Aug 2025 22:04:00 GMT</pubDate>
            <description><![CDATA[Registrando o que ouço com o Media Pulse]]></description>
            <content:encoded><![CDATA[
            <p>Eu já tinha escrito um pouco sobre o desejo de registrar o que ouço, assisto e leio, na publicação <a href="quero-saber-o-que-estou-vendo-ouvindo-e-lendo-sem-depender-de-ninguem">Quero saber o que estou vendo, ouvindo e lendo (sem depender de ninguém)</a>,e sobre a vontade de ter isso em um sistema que chamei de <strong>Media Pulse</strong>. Pois bem, finalmente acho que já tenho algo a mais: uma página que representará meu <a href="musicas">🎶 Túnel do Tempo Musical</a>.</p><p>Por enquanto, ele é extremamente básico, apenas em formato de grid, mostrando o que ouvi na última hora, no último dia, semana, mês, ano e década. Tudo dinâmico, capturado pelo meu <strong>Media Pulse</strong>.</p><p>Ainda há muito o que fazer. É preciso dar personalidade à página, adicionar imagens dos discos e encontrar uma forma mais interessante de mostrar minhas últimas tendências musicais. Além disso, quero capturar dados do Spotify e do Google Music, embora nem saiba se isso é possível neste último. Isso é trabalho para semanas, afinal é um projeto de tempo livre.</p><p>Mas já estou bastante satisfeito com esse início. Provavelmente vou deixar um pouco a funcionalidade de música de lado e iniciar a funcionalidade de séries e filmes, que, como pode imaginar, registrará o que estou assistindo. Estou bastante empolgado.</p><p>Sobre o <strong>Media Pulse</strong>, ele ainda está em beta. Falta muito para eu ter uma versão 1.0 estável que eu possa realmente recomendar. Para ter uma ideia, já refiz a modelagem do banco algumas vezes. Mas algo que me previni desde o começo é que todo evento que recebo é gravado primeiro antes de ser processado. Dessa forma, posso sempre reprocessar os eventos, não importa o quanto eu mude a estrutura das tabelas.</p><p>Outra coisa que quero fazer é pré-gravar o resultado da API em arquivos JSON, apenas para reduzir chamadas à base de dados.</p><p>É bastante trabalho, mas é divertido. Já comentei os motivos para fazer isso, mas honestamente o maior é simplesmente porque é desafiador e muito legal ver que é <strong>algo possível</strong>, mesmo que não seja trivial.</p><p>Caso queira conferir, a página fica em <a href="musicas">/musicas</a>, também listada na minha página legalzinha chamada <a href="slashes">/slashes</a>.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Meu Túnel do Tempo Musical">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>musica</category>
            <category>notas-pessoais</category>
            <category>programacao</category>
        </item>
        <item>
            <title><![CDATA[O Espetacular Homem-Aranha - Edição Definitiva : Volume 2]]></title>
            <link>https://www.marcal.dev/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-2</link>
            <guid isPermaLink="false">/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-2</guid>
            <pubDate>Fri, 01 Aug 2025 16:09:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="o-espetacular-homem-aranha-edicao-definitiva-vol-2" src="/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-2.png"></p><p>Honestamente, boas histórias mas não tanto memoráveis quanto no volume 1.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Espetacular Homem-Aranha - Edição Definitiva : Volume 2">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>quadrinhos</category>
            <enclosure url="https://www.marcal.dev//leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Comecei a jogar The Longing e agora estou esperando]]></title>
            <link>https://www.marcal.dev/jogos/the-longing/comecei-a-jogar-the-longing-e-agora-estou-esperando</link>
            <guid isPermaLink="false">/jogos/the-longing/comecei-a-jogar-the-longing-e-agora-estou-esperando#updated_at#2025-07-24T20:36:00</guid>
            <pubDate>Thu, 24 Jul 2025 20:36:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="Cena de The Longing. O personagem está sentado em uma sala que parece um buraco ou um fundo de uma caverna iluminada apenas por uma lareira, com um fogo fraco. O personagem está sentado em uma poltrona vermelha, que está sob um tapete também vermelho. Ele está entretido lendo Moby Dick." src="/jogos/the-longing/jogo-the-longing.png"></p><p>Comecei a jogar <em>The Longing</em>, um jogo feito para quem não tem pressa.<br>
Na introdução, o Rei (talvez uma entidade divina) revela que está perdendo suas forças e decide dormir por 400 dias para recuperá-las. A sua missão é simples: esperar.</p><p>Enquanto o tempo passa, em tempo real, você pode explorar um labirinto subterrâneo de cavernas silenciosas. Dá para coletar pedras, desenhar quadros, decorar o ambiente ou apenas observar o tempo escorrer. Às vezes, é preciso aguardar dias ou semanas por pequenas mudanças. Um pingo d’água leva mais de um mês para encher um buraco. O musgo cresce lentamente até abrir caminho para novas áreas. Fazer nada é uma opção, mas sentir tédio pode tornar a espera ainda mais longa.</p><p>Hoje, resolvi me sentar e ler <em>Moby Dick</em>. O personagem parece se entreter com isso também. Mas fico me perguntando o que acontecerá quando os 400 dias acabarem. Quando eu acordar o Rei, o que vai mudar? Será que o personagem ainda estará são?</p><p>De tempos em tempos, pensamentos intrusivos aparecem na tela. Eles trazem um certo incômodo, como se a solidão estivesse pesando. Ainda restam 392 dias. Pode ser tempo suficiente para tudo mudar, ou para absolutamente nada acontecer.</p><hr><p><strong>Update 24/07/2025</strong></p><p>Finalmente terminei! É um jogo para testar a paciência mesmo, e bem interessante! Consegui chegar no mundo exterior, fora das cavernas.  Quando saí, o reino desmoronou e junto com ele, o Rei se foi.</p><p>Lá fora, na superfície, encontrei um túmulo, será que de nosso amiguinho?</p><p><img alt="jogo-the-longing-1" src="/jogos/the-longing/jogo-the-longing-1.png"></p><p>Pelo que pesquisei, existem três finais e aparentemente eu consegui o bom. Ele entrou numa casa, ganhou até um banho!</p><p><img alt="jogo-the-longing-1" src="/jogos/the-longing/jogo-the-longing-2.png"></p><p>Parece que ele era preto de sujo! O Reino das cavernas parecia uma mina de carvão abandonada, afinal!</p><p>E no final das contas, ele ganhou uma família! Que bom para nosso amiguinho!</p><p><img alt="jogo-the-longing-1" src="/jogos/the-longing/jogo-the-longing-3.png"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Comecei a jogar The Longing e agora estou esperando">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>portugues</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev//jogos/the-longing/jogo-the-longing.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Os Miseráveis: Finalmente terminei - e foi um bocado de tempo!]]></title>
            <link>https://www.marcal.dev/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-finalmente-terminei</link>
            <guid isPermaLink="false">/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-finalmente-terminei</guid>
            <pubDate>Wed, 23 Jul 2025 22:52:00 GMT</pubDate>
            <description><![CDATA[Morrer não é nada; horrível é não viver.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="os-miseraveis-finalmente-terminei" src="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo.png"></p><p>Foram três meses e, nesse meio-tempo, precisei pausar a leitura várias vezes, alternar com algo mais leve, um besteirol qualquer, para então voltar com tudo. É uma leitura difícil, principalmente pelo estilo de Victor Hugo.</p><blockquote><p>Essa leitura rendeu três publicações, eu planejava escrever mais mas me conheço, ia ser quase impossível:</p><ul><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-1">Os miseráveis, por Victor Hugo - Livro 1</a></li><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-2">Os miseráveis, por Victor Hugo - Livro 2</a></li><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-finalmente-terminei">Os Miseráveis: Finalmente terminei - e foi um bocado de tempo!</a> - Você está aqui</li></ul></blockquote><p>Ele não economiza palavras e não hesita em se desviar do assunto principal só para contextualizar eventos históricos, descrever cidades - e até mesmo redes de esgoto! Ele dedica capítulos inteiros, aparentemente desconectados da trama principal, a essas descrições. Mas não se engane: tudo tem um motivo. Hugo quer nos ensinar algo o tempo todo, e tudo ali tem um porquê.</p><p>É cansativo, sim, mas não menos avassalador. Trata-se de um romance incrível, que fala sobre justiça, bondade, empatia. Hugo mostra que a justiça (a lei absoluta) deve vir acompanhada de empatia, pois, do contrário, é apenas um dever cego.</p><p>Não sei se concordo plenamente com o que Victor Hugo tenta ensinar, mas há verdade no que ele mostra. Sabemos que o mundo é frequentemente nebuloso, que as pessoas vivem constantemente entre o bem e o mal, entre a legalidade e o crime. Hugo retrata, em diversas situações, como as pessoas podem se degradar, seja pela miséria, pela criação, ou pelo abandono da sociedade...</p><p>Felizmente, ele também mostra que, mesmo alguém afundado no abismo, ainda pode escolher manter sua integridade. É verdade que, muitas vezes, essa escolha depende do apoio de outras pessoas: aquelas que ajudam, que têm empatia, que entendem. Ainda assim, acredito que, mesmo sem esse suporte moral, ainda existe a escolha pessoal: manter-se firme ou se quebrar, por mais difícil que seja.</p><p>Não digo tão facilmente que alguém é "mal" apenas por não ter tido oportunidades ou por ter sido marginalizado. Mas isso não invalida o argumento central de Hugo: a justiça deve vir temperada com empatia.</p><p>Seu protagonista, Jean Valjean, é tentado ao longo de todo o romance a trair seus princípios  e, brava e dolorosamente, termina íntegro. Mas não nos esqueçamos: isso só foi possível graças ao salto de fé do Bispo Bienvenu, logo no início da história. Sem aquele gesto de bondade, caridade e compaixão, Jean teria afundado no abismo do ódio. Ele não seria nosso herói.</p><p>Vale lembrar o oposto de Jean: Javert.<br>
Quem é Javert? O inspetor que persegue Jean durante anos, em nome da Justiça. Javert decidiu viver em obediência total à lei. Sua moral se baseia na autoridade e na punição. Para ele, quem comete um crime deve pagar, sem exceções. Ele representa a lei implacável, o dever cego.</p><p>Seu ponto de ruptura ocorre quando Jean poupa sua vida durante a revolução, mesmo tendo a chance de matá-lo. Mais tarde, Jean se entrega a Javert, sem resistir. Isso destrói a lógica binária que sustentava Javert: como pode um criminoso ser mais justo e misericordioso que a própria lei?</p><p>Esse dilema ético e existencial leva Javert a uma crise profunda. Ele percebe que a aplicação cega da lei pode, sim, ser injusta. Jean, o homem que ele julgava irrecuperável, é, na verdade, mais nobre do que ele próprio. E Javert simplesmente não consegue viver num mundo onde a moral é relativa, onde há compaixão, perdão, nuances.</p><p>Diferente de Jean, que mudou, que lutou contra o ódio dentro de si, que perdoou, amou e se entregou pelos outros, Javert não suporta esse novo mundo. Por isso, se joga no Sena. Comete suicídio.</p><p>Com isso, Victor Hugo mostra que a justiça verdadeira precisa ser temperada com misericórdia.</p><p>E aqui, respeitosamente, discordo e peço desculpas, caros leitores. Concordo com a filósofa Ayn Rand: compaixão não pode substituir a razão, nem a justiça objetiva. A bondade que nega a lógica ou recompensa quem errou pode ser destrutiva.</p><p>Jean Valjean é um herói que se sacrifica por todos, vive com culpa e abnegação, mesmo fazendo o bem, e coloca o bem-estar dos outros acima de seu próprio direito à felicidade. Isso me incomoda.</p><p>Mesmo discordando, não posso negar o quão avassaladora, bela e emocionante é a história de <em>Os Miseráveis</em>. Aplaudo o compromisso de Victor Hugo com ideais elevados, onde os personagens têm peso moral e buscam coerência.</p><p>Adoro histórias assim, com vilões bem definidos, verdadeiramente quebrados, e heróis que, apesar dos percalços, permanecem íntegros. A arte deve mostrar o melhor do ser humano, daí o gênero <em>romance</em>.</p><p>Um bom exemplo moderno é o filme <a href="/filmes/superman-2025/superman-2025"><em>Superman (2025)</em></a>: o Superman retratado ali é íntegro, até ingênuo em certos momentos, mas sua presença transmite algo essencial ao espectador, uma mensagem clara e poderosa: <em>"Está vendo? É isso que precisamos buscar."</em></p><p>Por isso, obras como <em>As Crônicas de Gelo e Fogo</em> (que eu gosto) me causam certo desconforto: personagens dúbios, morais nebulosas, podem confundir o leitor, como se dissesse: “tudo bem fazer coisas ruins de vez em quando, ninguém é perfeito”.</p><p>Já Hugo idealiza o homem na abnegação, vivendo pelo próximo, praticando o amor e o perdão, de maneira que muitos de nós acharíamos irreal. Mas lembre-se: é um <em>romance</em>, e Hugo quer nos instruir.</p><p>Realmente: <strong>bravo!</strong></p><hr><blockquote><p>Nada é bastante para o amor. Temos a felicidade, desejamos o paraíso; temos o paraíso, desejamos o céu.</p></blockquote><blockquote><p>Morrer não é nada; horrível é não viver.</p></blockquote><blockquote><p>— O que é barato, hoje em dia? Está tudo caro. Só a miséria do mundo é barata; não custa nada o sofrimento do mundo!</p></blockquote><blockquote><p>Suportou tudo em matéria de privação; fez de tudo, menos contrair dívidas. Podia afirmar que jamais ficara devendo um soldo a ninguém. Para ele, uma dívida era o começo de uma escravidão. Dizia até que um credor é pior que um amo, porque um amo apodera-se apenas de sua pessoa, mas um credor apodera-se de sua dignidade e pode esbofeteá-la. Preferia não comer a pedir emprestado. Passara muitos dias em jejum.</p></blockquote><blockquote><p>A vida, a desgraça, o isolamento, o abandono, a pobreza são campos de batalha que têm seus heróis, heróis obscuros, às vezes maiores que os heróis ilustres.</p></blockquote><blockquote><p>Admirável e terrível provação da qual os fracos saem infames e os fortes saem sublimes. Cadinho em que o destino lança um homem todas as vezes que quer obter um miserável ou um semideus.</p></blockquote><blockquote><p>O que é essa história de Fantine? É a sociedade comprando uma escrava. De quem? Da miséria.</p></blockquote><blockquote><p>“Lembre-se de que me prometeu tornar-se um homem de bem. Acabo de comprar-lhe a alma. Furto-a ao espírito de perdição para entregá-la a Deus!”</p></blockquote><blockquote><p>Liberdade não é estar solto. Pode-se sair da prisão, mas não da condenação.</p></blockquote><blockquote><p>Quem se sente oprimido não olha para trás e sabe muito bem que a má sorte o persegue.</p></blockquote><blockquote><p>Diga-se de passagem, não seria inteligente nutrir ódio pelo luxo. Esse ódio implicaria o ódio às artes.</p></blockquote><blockquote><p>— Ó você! Ó ideal! Só você existe! O bispo sentiu uma inexprimível comoção. Após alguns momentos de silêncio, o convencional, apontando um dedo para o céu, disse: — Existe o infinito. Ele está aí. Se o infinito não tivesse um “eu”, o eu seria o seu limite; e ele não seria infinito; em outras palavras, não existiria. Ora, ele existe. Logo tem um eu. Esse eu do infinito é Deus.</p></blockquote><blockquote><p>Sim, as brutalidades do progresso chamam-se revoluções! Depois de acabadas, reconhece-se uma coisa: que o gênero humano foi maltratado, mas que deu alguns passos adiante!</p></blockquote><blockquote><p>Senhor, a inocência é coroa de si mesma. A inocência é alteza. É augusta estando esfarrapada ou coberta de flores.</p></blockquote><blockquote><p>Não basta acabar com os abusos, é preciso modificar os costumes. O moinho se foi, mas o vento ainda permanece.</p></blockquote><blockquote><p>“Nunca temamos nem os ladrões nem os assassinos. Estes são perigos externos, pequenos perigos. Temamos a nós mesmos. Os preconceitos, esses são os ladrões; os vícios, esses são os assassinos. Os grandes perigos estão dentro de nós. Que importa o que ameaça nossa vida ou nossas bolsas?! Preocupemo-nos apenas com o que ameaça nossa alma”.</p></blockquote><blockquote><p>“Não perguntem o nome a quem lhes pede ajuda. É sobretudo aquele a quem o nome constrange que necessita de asilo”.</p></blockquote><blockquote><p>“Aos ignorantes, ensinem o máximo de coisas que puderem; a sociedade é culpada por não ministrar a instrução gratuita; ela é responsável pelas trevas que produz. Uma alma cheia de sombras, é onde o pecado acontece. A culpa não é de quem pecou, mas de quem fez a sombra”.</p></blockquote><blockquote><p>“O homem tem sobre si a carne, que é ao mesmo tempo seu fardo e sua tentação. Ela o arrasta, e ele cede. Seu dever é vigiá-la, contê-la, reprimi-la, e obedecer a ela só em último caso. Nessa obediência ainda pode haver culpa, mas trata-se de uma culpa venial. É uma queda, mas uma queda de joelhos, que pode terminar em oração. Ser santo é uma exceção; a regra é ser justo. Errem, caiam, pequem, mas sejam justos. Pecar o menos possível é a obrigação de todo homem; não pecar nunca é o sonho do anjo. Tudo o que é terrestre está sujeito ao pecado. O pecado é uma gravitação.”</p></blockquote><blockquote><p>Verdade ou não, o que se diz a respeito dos homens ocupa muitas vezes em sua vida, e sobretudo em seu destino, um lugar tão importante quanto aquilo que fazem.</p></blockquote>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Os Miseráveis: Finalmente terminei - e foi um bocado de tempo!">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/os-miseraveis/os-miseraveis-conclusao.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Superman (2025)]]></title>
            <link>https://www.marcal.dev/filmes/superman-2025/superman-2025</link>
            <guid isPermaLink="false">/filmes/superman-2025/superman-2025#updated_at#2025-07-22T12:33:00</guid>
            <pubDate>Tue, 22 Jul 2025 12:33:00 GMT</pubDate>
            <description><![CDATA[Look up.]]></description>
            <content:encoded><![CDATA[
            <p>Acredito que heróis não devem confundir, não devem estar na zona cinzenta da moralidade, eles representam tudo o que poderíamos ser, mesmo sem seus poderes.</p><p><img alt="superman-2025" src="/filmes/superman-2025/superman-2025-1.png"></p><p>Esse Superman tem uma preocupação genuína não só com as pessoas, mas mesmo um esquilo, que pode acabar sendo esmagado, até o inimigo que está batalhando contra.</p><p>Uma volta à origem era o que precisávamos e foi o que conseguimos com esse novo Superman.</p><p>A meu ver ele agora se torna o melhor Superman adaptado nos cinemas.</p><p><img alt="superman-2025" src="/filmes/superman-2025/superman-2025-2.png"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Superman (2025)">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>video</category>
            <enclosure url="https://www.marcal.dev//filmes/superman-2025/superman-2025-1-png" length="0" type="image///filmes/superman-2025/superman-2025-1-png"/>
        </item>
        <item>
            <title><![CDATA[Quero saber o que estou vendo, ouvindo e lendo (sem depender de ninguém)]]></title>
            <link>https://www.marcal.dev/quero-saber-o-que-estou-vendo-ouvindo-e-lendo-sem-depender-de-ninguem</link>
            <guid isPermaLink="false">/quero-saber-o-que-estou-vendo-ouvindo-e-lendo-sem-depender-de-ninguem</guid>
            <pubDate>Sun, 20 Jul 2025 18:35:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Hoje em dia, existem várias ferramentas de <em>media tracking</em>, incluindo algumas <em>open source</em>, outras fechadas, com interfaces lindas e recursos completos. Eu poderia muito bem escolher uma delas e seguir em frente… mas venho sentindo vontade de criar minhas <strong>próprias bases de mídia pessoal</strong>, acessíveis de forma simples, via JSON, e servidas por uma API leve e unificada.</p><p>A ideia não é competir com os grandes. Seria ingenuidade minha achar que vou fazer um trabalho melhor do que ferramentas como Trakt, Last.fm, Letterboxd ou até o próprio Plex. O objetivo aqui é outro: <strong>manter minha própria base de consumo de mídia, sob meu controle, com liberdade para integrar, experimentar e exibir como quiser</strong>, inclusive no meu blog.</p><p>Quando os blogues estavam em alta, era comum ver widgets com uma rádio tocando no canto da tela. Era um charme à parte. Fiquei pensando: e se eu conseguisse recriar algo parecido… mas em vez de uma rádio genérica, mostrar o que <strong>eu</strong> estou ouvindo no momento? Ou então exibir minhas últimas músicas, filmes, episódios assistidos, livros lidos? Tudo isso seria ótimo de ter no meu blog mas seria bem trabalhoso manter manualmente.</p><p>Já é um pouco trabalhoso publicar manualmente os livros que leio no meu <a href="https://books.marcal.dev" rel="nofollow">Book Tracker</a>. Imagina fazer o mesmo para música, filmes e séries? Seria impraticável. O ideal seria algo automático, leve e que exigisse zero esforço da minha parte depois de configurado.</p><p>Essa vontade se conecta com algo que comentei na postagem <a href="pensando-em-mudar-o-blog-de-novo">Pensando em mudar o blog (de novo?)</a>: tornar meu blog mais dinâmico, mais vivo, mais integrado com o que eu realmente consumo no dia a dia. E foi assim que nasceu a ideia do <strong>Media Pulse</strong>, um sistema simples, cujo nome vem justamente dessa noção de “pulso constante” das mídias que acompanham meu cotidiano.</p><p>Ainda está no começo. Configurei um <em>webhook</em> do Plex, que dispara eventos quando eu dou play, pause ou termino de ver/assistir algo. Esses eventos são capturados e gravados em uma base local. Só isso, por enquanto. Mas a estrutura está montada.</p><p>O próximo passo é <strong>processar esses eventos</strong>: entender os diferentes tipos, extrair os dados relevantes (qual episódio? que música? que hora?) e criar filtros para decidir o que realmente vale mostrar. Depois disso, quero criar endpoints simples de API para alimentar seções dinâmicas do meu blog, por exemplo:</p><ul><li>"Tocando agora" no rodapé</li><li>"Últimos episódios assistidos"</li><li>"Histórico de filmes e músicas"</li><li>"Avaliações e comentários rápidos"</li></ul><p>Tudo isso de forma automática, e quem sabe até se integrando com meu book tracker.</p><p>Enfim, a ideia do Media Pulse é bem simples: manter <strong>minhas próprias batidas de mídia</strong> sob meu controle, com liberdade para mostrar, ocultar, misturar e criar o que quiser em cima. Ainda tem muita coisa por vir… aguardem mais novidades!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Quero saber o que estou vendo, ouvindo e lendo (sem depender de ninguém)">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>tecnologia</category>
            <category>programacao</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/trabalhando-em-uma-especie-de-media-tracking.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Minha linha do tempo em sistemas operacionais]]></title>
            <link>https://www.marcal.dev/minha-linha-do-tempo-em-sistemas-operacionais</link>
            <guid isPermaLink="false">/minha-linha-do-tempo-em-sistemas-operacionais</guid>
            <pubDate>Wed, 09 Jul 2025 20:40:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Minha evolução no uso de sistemas operacionais acompanha minha jornada como usuário e profissional de TI. Comecei com Windows 98 quando criança, passei pelo XP, Vista, 7, até descobrir Linux. Desde então, o Linux deixou de ser um conhecido estranho para se tornar um amigo que me acompanha a maior parte do dia. O Windows uso apenas quando necessário.</p><p>Linux me dá maior liberdade e controle, e embora ache que todos deveriam testar, entendo que as ferramentas devem ser usadas não só onde fazem sentido, mas também quando fazem sentido. O onde e o quando você só vai saber com amadurecimento e testando, claro.</p><ul><li><strong>1999</strong>: Primeira vez no computador, com Windows 98 do meu primo. Jogava muito: <a href="https://pt.wikipedia.org/wiki/Super_Mario_World" rel="nofollow">Super Mario World</a> emulado, <a href="https://pt.wikipedia.org/wiki/Pandemonium_(jogo_eletr%C3%B4nico)" rel="nofollow">Pandemonium</a>, <a href="https://pt.wikipedia.org/wiki/Oddworld:_Abe%27s_Oddysee" rel="nofollow">Oddworld: Abe's Oddysee</a>, <a href="https://pt.wikipedia.org/wiki/Bugs_Bunny:_Lost_in_Time" rel="nofollow">Bugs Bunny: Lost in Time</a> e <a href="https://en.wikipedia.org/wiki/Swarm_%281998_video_game%29" rel="nofollow">Swarm (1998)</a>.</li><li><strong>2005</strong>: Conheci o Windows XP, em lan houses.</li><li><strong>2007</strong>: Primeiro PC próprio, usado e com Windows Vista. Aqui comecei a explorar internet, hardware e software. Quebrei o sistema algumas vezes mexendo sem saber...</li><li><strong>2009</strong>: Instalei Windows 7 pirata. Já sabia formatar, instalar, baixar torrent e até criar joguinhos com <a href="https://pt.wikipedia.org/wiki/RPG_Maker" rel="nofollow">RPG Maker</a>.</li><li><strong>2013</strong>: Windows 8? Evitei, Windows 7 era mais estável. Também conheci Linux pela faculdade: Ubuntu! Comecei a usar dual boot com Win7 e um Slackware-based (acho que Slax) via pendrive.</li><li><strong>2013 em diante</strong>: Testei várias distros, sempre com dual boot, mantendo Windows como principal.</li><li><strong>2017</strong>: Usei MacBook brevemente. Conheci o Mac OS, mas não me impressionou: voltei para Linux.</li><li><strong>2018</strong>: Troquei Ubuntu pelo Fedora, que achei mais leve e estável. Passei a usar Linux full-time, rodando jogos Windows com Wine/Proton.</li><li><strong>2021</strong>: Voltei a usar Windows 10 para trabalho.</li><li><strong>2022</strong>: Conheci o Synology para NAS, <a href="homelab-synology-ds420j">utilizei um tempo</a>.</li><li><strong>2023</strong>: Instalei Ubuntu Server no <a href="meu-segundo-homelab-montado">meu servidor caseiro</a>, mas continuo com Fedora no desktop.</li><li><strong>2024</strong>: Deixei Windows 10 no trabalho, voltei para Ubuntu, mantendo Fedora como workspace pessoal.</li></ul>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Minha linha do tempo em sistemas operacionais">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/sistema-operacional.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Kick-Ass: A Era de Dave Lizewski  - Volume 2]]></title>
            <link>https://www.marcal.dev/leituras/kick-ass/kick-ass-volume-2</link>
            <guid isPermaLink="false">/leituras/kick-ass/kick-ass-volume-2</guid>
            <pubDate>Wed, 09 Jul 2025 15:41:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="kick-ass" src="/leituras/kick-ass/kick-ass-volume-2.jpg"></p><p>A história continua agora com a pequena Mindy tendo que lidar com algo pior do que os bandidos que ela enfretava: os adolescentes de sua escola! Não é surpresa, ela é uma especialista em armas, lutas e assasínio mas todos esses anos de treinamento nessas habilidades lhe custou a habilidade de conviver com outros jovens da mesma idade. Nesse volume, Mindy tenta ter uma vida normal, enquanto treina nosso Kick-Ass! Vale a leitura!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Kick-Ass: A Era de Dave Lizewski  - Volume 2">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>quadrinhos</category>
            <enclosure url="https://www.marcal.dev//leituras/kick-ass/kick-ass-volume-2.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Espetacular Homem-Aranha - Edição Definitiva : Volume 1]]></title>
            <link>https://www.marcal.dev/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-1</link>
            <guid isPermaLink="false">/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-1</guid>
            <pubDate>Wed, 09 Jul 2025 15:30:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="o-espetacular-homem-aranha-edicao-definitiva-vol-1" src="/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-1.jpg"></p><blockquote><p>Cobre Amazing Fantasy 15, The Amazing Spider-Man 1-19, Amazing Spider-Man Annual 1, Strange Tales Annual 2, Fantastic Four Annual 1</p></blockquote><p><strong>Honestamente?</strong> Achei que não fosse gostar. Pensei que seria datado demais. E, de fato, o trabalho envelheceu, traz aquele tom ingênuo típico da época, diálogos explicativos, soluções fáceis… Mas, puxa vida, não é que é bom mesmo?</p><p><img alt="o-espetacular-homem-aranha-edicao-definitiva-vol-1" src="/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-1-2.jpg"></p><p>Consigo entender por que o <em>Espantoso Homem-Aranha</em> fez tanto sucesso. Ele era só um adolescente comum. Nem bonito, nem feio, só mediano. Não dá pra dizer que sofria bullying exatamente (pelo menos não achei), mas o que o distanciava dos colegas era o fato de ser um rato de biblioteca. Um cara estudioso, fora da curva... mas só nisso.</p><p>As histórias do Peter Parker, desde o começo, nunca foram só sobre derrotar o vilão da capa. A cada edição, víamos os dilemas pessoais do teioso: questões amorosas, desencontros, grana curta, a morte do Tio Ben, a saúde frágil da Tia May… Entre todos os heróis da época, ele era o mais pé no chão, o que mais tinha problemas reais. E isso fazia toda a diferença.</p><p>Este volume segue a cronologia desde sua primeira aparição. Foi bacana ver como ele ganhou os poderes e criou suas teias, embora ainda soe meio forçado ele, um garoto pobre, inventar teias artificiais sozinho... Um gênio desses, e sem recursos? Mas tudo bem. Descobri que no começo ele usava um cinto (de utilidades?) com uma lanterna que projetava uma aranha no chão para assustar os inimigos. Sensacional!</p><p>Outro ponto alto é entender o ódio de J. Jonah Jameson, editor do Clarim Diário, ao Homem-Aranha. Jameson diz que o Aranha é tudo o que ele nunca vai ser  e cada ação do herói o lembra disso. É muito bom ver a credibilidade do Aranha ruir perante a cidade, ser tachado de covarde... Jameson chega a estampar um sorriso no rosto por umas duas edições  até que perde o sorriso quando o Aranha volta à ativa. (Ele havia se afastado porque Tia May estava doente, e ele tinha medo de que algo lhe acontecesse e deixasse a tia desamparada.)</p><p><img alt="o-espetacular-homem-aranha-edicao-definitiva-vol-1" src="/leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-1-1.jpg"></p><p>Neste volume também temos a estreia de vários dos principais vilões da galeria do Aranha: Duende Verde, Dr. Octopus, Homem-Areia, entre outros. E também a formação do Quarteto Sinistro, a união de vilões com um só objetivo: derrotar o Espetacular.</p><p>São muitos detalhes que ajudaram a definir o herói como o conhecemos. Com certeza vale a leitura.</p><p>Que venha o próximo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Espetacular Homem-Aranha - Edição Definitiva : Volume 1">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>quadrinhos</category>
            <enclosure url="https://www.marcal.dev//leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Rock acabou... mas pode renascer!]]></title>
            <link>https://www.marcal.dev/o-rock-acabou-mas-pode-renascer</link>
            <guid isPermaLink="false">/o-rock-acabou-mas-pode-renascer</guid>
            <pubDate>Mon, 07 Jul 2025 23:24:00 GMT</pubDate>
            <description><![CDATA[A volta de Moptop!!!]]></description>
            <content:encoded><![CDATA[
            <p>Estava organizando minha biblioteca de músicas digitais quando voltei a ouvir <strong>Moptop</strong> que, pra quem não sabe, foi uma banda bastante relevante entre 2004 e 2010, mais ou menos.</p><p>Um som que lembra bastante <strong>The Strokes</strong>, <strong>The Killers</strong>... Entre minhas preferidas: "O Rock Acabou", "Aonde Quer Chegar?" e "Sempre Igual".</p><pre code="O rock acabou, melhor ligar sua TV  
Ela nunca está, ela nunca vai entender  
Eu gosto da sua saia assim, vem deitar perto de mim  
Verdade, eu não me importo, quero um amor que não sei mais sentir

— &#x22;O Rock Acabou&#x22;, Moptop
"><code __ignoreMap="">O rock acabou, melhor ligar sua TV  
Ela nunca está, ela nunca vai entender  
Eu gosto da sua saia assim, vem deitar perto de mim  
Verdade, eu não me importo, quero um amor que não sei mais sentir

— "O Rock Acabou", Moptop
</code></pre><p>Em 2010, a banda anunciou seu fim, com apenas dois álbuns que, aliás, nunca deixei de ouvir. Mas, mais de uma década depois, eis que por acaso descubro que ela <strong>ressuscitou das cinzas</strong>!
Caramba, que surpresa! Por essa eu não esperava. Redes sociais ativas, clipezinho no YouTube e um site simples, retrô, que lembra um terminal:</p><p>👉 <a href="https://www.moptopmusic.com/main.html" rel="nofollow">https://www.moptopmusic.com/main.html</a></p><p><img alt="entrada dp novo site de divulgação do moptop - 2025" src="img/www.moptopmusic.com_.png"></p><p>Uma mosca com seu zum-zum-zum de vez em quando aparece na tela. Se você coloca o mouse sobre ela, ela foge... A tela, como um monitor de tubo antigo, de vez em quando dá umas piscadas. O conteúdo? Um terminal:</p><p><img alt="página principal do novo site moptop" src="img/www.moptopmusic.com_main.html.png"></p><p>Aceita até alguns comandos que explicam, brevemente, algumas coisas importantes. Reproduzo aqui:</p><ul><li><strong>WHO</strong>: WE ARE MOPTOP, A BAND FROM BRAZIL. WE ARE BACK FROM A 15 YEAR HIATUS</li><li><strong>WHY</strong>: BECAUSE O ROCK NÃO ACABOU</li><li><strong>OLD SITE</strong>: E aqui leva ao antigo site da banda, que é uma <strong>obra de arte</strong>! Você tem que conferir:
👉  <a href="https://www.moptopmusic.com/old.html" rel="nofollow">https://www.moptopmusic.com/old.html</a></li></ul><p><img alt="site antigo do moptop" src="img/www.moptopmusic.com_old.html.png"></p><p>É, meus amigos... Vocês não sabem o quão animado eu fiquei ao saber dessa volta. Sabemos que o rock, no Brasil, anda há algum tempo desprestigiado. Como a música da banda diz: "O Rock Acabou"...</p><p>Mas não é que ele pode <strong>renascer</strong>?</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Rock acabou... mas pode renascer!">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>musica</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-rock-acabou-mas-pode-renascer.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Pensando em mudar o blog (de novo?)]]></title>
            <link>https://www.marcal.dev/pensando-em-mudar-o-blog-de-novo</link>
            <guid isPermaLink="false">/pensando-em-mudar-o-blog-de-novo</guid>
            <pubDate>Mon, 30 Jun 2025 13:24:00 GMT</pubDate>
            <description><![CDATA[Tentando simplificar (ou complicar?)]]></description>
            <content:encoded><![CDATA[
            <p>Há algum tempo venho pensando em mudar a forma como publico neste site. Atualmente, ele é um site estático, sem banco de dados, apenas textos em Markdown, com a ajuda do Nuxt e do Nuxt Content para renderizá-los. Caso queira saber mais sobre como funciona, leia em  <a href="como-funciona-esse-blogue">Como funciona esse blog</a>.</p><p>Funciona muito bem, não acho que haja muita fricção. Já expliquei o motivo dessa estratégia de publicação em <a href="de-volta-ao-blog-estatico-simplicidade-e-liberdade">De Volta ao Blog Estático: Simplicidade e Liberdade</a>.</p><p>Mas, ultimamente, tenho pensado cada vez mais em mudar a abordagem. Talvez algo híbrido: manter algumas coisas estáticas e outras dinâmicas, armazenadas em banco de dados. Por exemplo, minhas postagens regulares poderiam continuar como textos em Markdown, enquanto as postagens relacionadas às minhas leituras poderiam estar, ao menos em parte, numa base de dados.</p><p>Por quê? Não sei se tenho um motivo forte. Mas eu poderia manter a lista de livros, o tempo que levei para ler, se gostei ou não... tudo isso num banco, o que facilitaria portar essas informações para outro app, caso eu queira.</p><p>Atualmente, estou num desafio ouvindo um álbum por dia. Ainda não publiquei nada sobre isso aqui no blog, mas a lista e as avaliações do que ouvi estão em uma aplicação proprietária. Posso exportar os dados — a plataforma permite —, mas me pergunto se não deveria manter tudo em formato Markdown, como faço com minhas leituras.</p><p>Aliás, tenho até um site separado para esse tracking de leituras, embora ainda seja experimental: <a href="https://books.marcal.dev" rel="nofollow">books.marcal.dev</a>. As postagens daqui sobre livros são espelhadas lá, mas em outro formato, na ideia de um <em>book tracker</em>. Tenho pensado em centralizar essas informações em um único lugar, mas a forma como construí o site com Nuxt e Nuxt Content acabou me deixando um pouco preso à estrutura de pastas e à rigidez dos layouts, e isso tem me irritado um pouco.</p><p>Por exemplo: se quiser criar uma nova postagem, preciso criar um arquivo Markdown. Se quiser criar uma página puramente em HTML, sem Markdown, preciso fazer algumas gambiarras, como incluir um arquivo Markdown vazio... Se quero outro layout, os estilos acabam se misturando um pouco. Isso tudo por conta do uso do Nuxt e do Nuxt Content — bibliotecas Vue.</p><p>Já pensei em abandonar o Vue, apesar de ele me atender muito bem, e usar apenas HTML, CSS e JavaScript puro, sem frameworks como Vue ou React. Isso me daria mais flexibilidade, embora também mais trabalho para “reinventar a roda”. Mas, como é um projeto pessoal, não vejo problema nisso. E como o que eu preciso são coisas simples, talvez nem dê tanto trabalho assim...</p><p>Ainda estou pensando no que fazer. Talvez a melhor saída seja mesmo uma abordagem híbrida: continuar com o formato atual no blog e usar algo dinâmico (com servidor ou não) para o tracking de dados como filmes, músicas, livros e jogos.</p><p>Por enquanto, é só um pensamento, uma coceira na mente. Mas eu sou desenvolvedor, adoro problemas, desafios, pensar em como posso automatizar sem perder a simplicidade das soluções. Veremos o que sai disso.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Pensando em mudar o blog (de novo?)">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Como funciona esse blog]]></title>
            <link>https://www.marcal.dev/como-funciona-esse-blogue</link>
            <guid isPermaLink="false">/como-funciona-esse-blogue</guid>
            <pubDate>Mon, 30 Jun 2025 12:56:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <blockquote><p>Essa publicação foi colocada há algum tempo na página <a href="sobre">Sobre</a> do meu site. Como ela pode mudar, decidi copiá-la para uma página própria e assim manter um histórico.</p></blockquote><h2 id="conteúdo">Conteúdo</h2><ul><li><a href="#como-funciona-esse-blogue">Como funciona esse blogue</a><ul><li><a href="#meu-fluxo-de-publica%C3%A7%C3%A3o">Meu fluxo de publicação</a></li><li><a href="#acompanhe-o-blog">Acompanhe o blog!</a></li></ul></li></ul><h2 id="como-funciona-esse-blogue">Como funciona esse blogue</h2><p>Escolhi um site estático pela sua simplicidade, rapidez e controle total sobre o conteúdo. Detalhei essa decisão em <a href="de-volta-ao-blog-estatico-simplicidade-e-liberdade">De Volta ao Blog Estático: Simplicidade e Liberdade</a>.</p><p>O código do blog é open source e está disponível no <a href="https://github.com/vitormarcal/marcal-blog" rel="nofollow">repositório no GitHub</a>.</p><p>Este blog foi construído com <a href="https://nuxt.com/" rel="nofollow">Nuxt</a> e utiliza <a href="https://content.nuxt.com/" rel="nofollow">Nuxt Content</a> para transformar Markdown em páginas HTML pré-renderizadas.</p><p>O blog é hospedado em três lugares, dependendo da URL: <a href="https://vercel.com/" rel="nofollow">Vercel</a>, <a href="https://www.cloudflare.com/" rel="nofollow">Cloudflare</a> e meu servidor pessoal.</p><p>O tema foi criado por mim no estilo "copia, mas não faz igual." Fui tirando ideias de vários blogs que visitei, e sempre estou modificando algum detalhe. Meu objetivo é ter uma interface limpa, agradável de ler e fácil de navegar.</p><hr><h3 id="meu-fluxo-de-publicação">Meu fluxo de publicação</h3><ol><li>Crio o texto em Markdown usando o editor <a href="https://obsidian.md/" rel="nofollow">Obsidian</a>.</li><li>Formato e verifico localmente como a página será renderizada.</li><li>Realizo o commit e o push no repositório do GitHub.</li><li>O deploy para as hospedagens é automatizado.</li></ol><p>Todas as postagens têm uma seção para interação via e-mail. Falei mais sobre isso em <a href="responda-por-email">Responda por email 📩</a> e <a href="responda-por-email-2">Responda por email 2 📩</a>.</p><hr><h3 id="acompanhe-o-blog">Acompanhe o blog!</h3><p><strong>Quer receber as atualizações?</strong><br>
O RSS é uma maneira prática e independente de acompanhar o conteúdo, sem depender de algoritmos. Escolha o formato que preferir:</p><ul><li><a href="https://www.marcal.dev/rss.xml" rel="nofollow">RSS</a></li><li><a href="https://www.marcal.dev/atom.xml" rel="nofollow">Atom</a></li></ul>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Como funciona esse blog">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Kick-Ass: A Era de Dave Lizewski  - Volume 1]]></title>
            <link>https://www.marcal.dev/leituras/kick-ass/kick-ass-volume-1</link>
            <guid isPermaLink="false">/leituras/kick-ass/kick-ass-volume-1</guid>
            <pubDate>Thu, 19 Jun 2025 17:51:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="kick-ass" src="/leituras/kick-ass/kick-ass-volume-1.jpg"></p><p>Uma história de heróis fora do convencional. Assim como The Boys, não é uma obra genial. É algo para ler vegentado, puro entretenimento: palavrões, pancadaria e é isso aí.</p><p>Dave Lizewski, o pratagonista é um adolescente que não tem nada de especial, não se destaca em nada, não tem popularidade com as garotas, é um nerd viciado em quadrinhos. Ou seja, é um típico adolescente - a versão feminina de Bella do Crepúsculo, se pensar bem! Mas além da pacandaria, a história é bastante humorada, quando Dave está interagindo com seus colegas de classe.</p><p>Como disse, não é uma obra de arte, ainda prefiro o filme baseado nesse quadrinho mas sem dúvidas, vale o entretenimento!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Kick-Ass: A Era de Dave Lizewski  - Volume 1">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>quadrinhos</category>
            <enclosure url="https://www.marcal.dev//leituras/kick-ass/kick-ass-volume-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Boys]]></title>
            <link>https://www.marcal.dev/leituras/the-boys/the-boys</link>
            <guid isPermaLink="false">/leituras/the-boys/the-boys</guid>
            <pubDate>Thu, 19 Jun 2025 12:22:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="hq-the-boys" src="/leituras/the-boys/the-boys-1.jpg"></p><p>Finalmente terminei os 72 capítulos da série regular de The Boys. Nem lembro quando comecei, talvez há uns dois anos atrás.</p><p>Além da série principal, completei também as mini-séries:</p><ul><li>Herogasm</li><li>Rapazinho da  Montanha</li><li>Açougueiro, Padeiro, Fabricante de Castiçais</li><li>Querida Becky</li></ul><p>A série teve seus bons e maus momentos mas no geral considero bem satisfatório. O final tem uma boa surpresa sobre o Homelander/ Capitão Pátria, que para quem acompanha a série verá que ela tomou um rumo bem diferente.Sem dar muitos detalhes, é algo que envolve o Black Noir.</p><p>Acho que no final das contas eu gosto mais do que foi contado nas HQs do que na série, o que não quer dizer que a série seja ruim, é uma adaptação e adaptou bem. Recomendo ambas as mídias!</p><p><img alt="hq-the-boys" src="/leituras/the-boys/the-boys-the-complete-gallery-1.jpg"></p><p><img alt="hq-the-boys" src="/leituras/the-boys/the-boys-the-complete-gallery-2.jpg"></p><p><img alt="hq-the-boys" src="/leituras/the-boys/the-boys-the-complete-gallery-3.jpg"></p><p><img alt="hq-the-boys" src="/leituras/the-boys/the-boys-the-complete-gallery-4.jpg"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=The Boys">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/the-boys/the-boys-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Je vais vous décrire mon petit-déjeuner...]]></title>
            <link>https://www.marcal.dev/je-vais-vous-decrire-mon-petit-dejeuner</link>
            <guid isPermaLink="false">/je-vais-vous-decrire-mon-petit-dejeuner</guid>
            <pubDate>Thu, 19 Jun 2025 10:22:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Je vais vous décrire mon petit-déjeuner.</p><p>Il se compose généralement d’une tasse de café. Je prépare deux tartines et deux œufs brouillés. Je mets les œufs brouillés sur les tartines, accompagnés d’un peu d’avocat. Parfois, je prends une demi-papaye avec une cuillère à café de miel et une cuillère à soupe de granola.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Je vais vous décrire mon petit-déjeuner...">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>francais</category>
            <enclosure url="https://www.marcal.dev/img/Sem título.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Deadworld: Volume 1]]></title>
            <link>https://www.marcal.dev/leituras/deadworld/deadworld-volume-1</link>
            <guid isPermaLink="false">/leituras/deadworld/deadworld-volume-1</guid>
            <pubDate>Sun, 15 Jun 2025 11:17:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="hq-heros-americains" src="/leituras/deadworld/deadworld-volume-1.png"></p><blockquote><p>Em Deadworld Volume 1, a luta pela sobrevivência assume um tom desesperador quando um grupo de adolescentes se vê preso em um mundo onde os mortos não apenas ressuscitaram, mas agora possuem uma mente coletiva assustadora. Conhecidos como "GEEKS", esses zumbis inteligentes são liderados por King Zombie, uma entidade impiedosa com um desejo insaciável de domínio. Enquanto nossos jovens heróis enfrentam desafios mortais, a humanidade ao redor já se despedaça, tornando a jornada uma corrida não apenas contra os mortos, mas contra a essência do que resta de humanidade. Vince Locke nos leva por caminhos sombrios com sua arte visceral, enquanto Stuart Kerr tece uma narrativa que explora o medo, a esperança e a desesperança.</p></blockquote><p>Antes de The Walking Dead houve Deadworld. Essa HQ saiu pela Tai Editora, uma editora independente que sempre que posso eu compro algum material dela: Necron e O Ninho do Terror, foram alguns dos materiais que conferi e gostei.</p><p>Não posso dizer o mesmo sobre este. É verdade que é um material que foi feito antes da saturação do gênero de zumbi  contudo, simplesmente, a arte não me pegou. É muito rabiscada pro meu gosto e a arte cartunista, com quando  os olhos saltam do rosto, não casa com o estilo rabiscado proposto pelo desenhista. É uma pena, a escolha de artista foi bem ruim. A estranheza foi tamanha que, provavelmente, não vou conferir os próximos volumes.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Deadworld: Volume 1">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/deadworld/deadworld-volume-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Domain-Driven Design Destilado]]></title>
            <link>https://www.marcal.dev/leituras/ddd-destilado</link>
            <guid isPermaLink="false">/leituras/ddd-destilado</guid>
            <pubDate>Mon, 26 May 2025 21:09:00 GMT</pubDate>
            <description><![CDATA[nunca seremos capazes de antecipar todas as necessidades futuras de uma só vez]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Domain-Driven Design Destilado" src="/img/ddd-destilado.jpg"></p><p>Esse é um resumo, um trabalho bem sucinto. Como o título diz, é um trabalho <em>destilado</em>, para quem não tem pressa e é muito bom!</p><p>Eu já havia lido <em>Implementando DDD</em>, do mesmo autor, o livro da capa vermelha. Aquele é bem denso, detalhista e muito bom também; pretendo reler, inclusive. Mas eu deveria ter começado por este. Vernon destilou muito bem, em 160 páginas, muitos conceitos importantes do DDD, trazendo informações essenciais para quem não sabe nada sobre o assunto e ajudando a se situar com clareza.</p><p>Existem muitos motivos para se utilizar DDD. Ele pode facilmente ajudar equipes a evitarem problemas que vão desde níveis comerciais até técnicos:</p><ul><li>Desenvolvimento de software sendo considerado centro de custo, vistos como incômodos necessários, em vez de fontes de vantagem estratégica.</li></ul><ul><li>Desenvolvedores muito focados em tecnologia, em vez de design e pensamento detalhado, perseguindo constantemente novos "objetos brilhantes", ou seja, os modismos tecnológicos mais recentes.</li><li>A maioria das discussões sobre soluções gira em torno do banco de dados, em vez dos processos e operações de negócio.</li><li>Desenvolvedores não dão a devida ênfase à nomeação de objetos e operações de acordo com o propósito do negócio, o que leva a um grande abismo entre o modelo mental do negócio e o software entregue.</li><li>O problema anterior geralmente é resultado da má colaboração com o negócio. As partes interessadas também gastam muito tempo trabalhando isoladamente, produzindo especificações que ninguém utiliza.</li><li>Lógicas de negócio nos componentes de interface do usuário e operações de persistência misturadas no meio da lógica de negócio.</li><li>Consultas quebradas, lentas e bloqueantes no banco de dados.</li><li>Abstrações erradas, que tentam atender todas as necessidades atuais e futuras imaginadas, generalizando excessivamente as soluções em vez de atender às reais necessidades do negócio.</li><li>Serviços fortemente acoplados, resultando em processos de negócio quebrados, dados não reconciliados e sistemas difíceis de manter.</li></ul><p>Depois de ler, você estará familiarizado com termos importantes do DDD, como <strong>Contexto Delimitado</strong>, que é um limite contextual semântico onde, dentro de certos limites, cada componente do modelo de software tem um significado específico e realiza funções específicas. Os componentes dentro de um Contexto Delimitado são próprios daquele contexto e semanticamente motivados.</p><p>O Contexto Delimitado é o local onde um modelo é implementado, e você terá artefatos de software separados para cada contexto. Um Contexto Delimitado, quando desenvolvido como uma iniciativa estratégica chave da organização, é chamado de <strong>Domínio Central</strong>. Esse Domínio Central é desenvolvido para diferenciar sua organização competitivamente das demais, já que nenhuma organização consegue se destacar em tudo.</p><p>O modelo de software dentro dos limites do contexto reflete uma linguagem criada pela equipe que trabalha naquele Contexto Delimitado. Essa linguagem é falada por todos os membros da equipe e implementada no modelo de software, ela é chamada de <strong>Linguagem Ubíqua</strong>, porque é compartilhada pela equipe e refletida diretamente no código. Por isso, precisa ser rigorosa, precisa, exata e estrita, conforme as palavras do autor.</p><p>Nesse sentido, o livro alerta que <strong>nunca seremos capazes de antecipar todas as necessidades futuras de uma só vez</strong>. Portanto, ele recomenda que não caiamos na armadilha de uma implementação altamente abstrata e sedutora.</p><p>Há muito o que se falar sobre DDD. E esse livro, novamente, é um <em>destilado</em>. Mas a principal dica que fica é: <strong>design é inevitável</strong>. Você terá um desempenho ruim como resultado de um design ruim, ou poderá alcançar sucesso com um design eficaz  e, quem sabe, até um bom design. O DDD nos possibilita atender às demandas do tempo de forma direta e projetar de maneira acelerada, usando abordagens que ajudam a entregar o melhor design possível dentro das restrições de tempo que enfrentamos.</p><p>Para mais detalhes, só lendo o livro da capa vermelha. Mas este é um ótimo começo para qualquer um!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Domain-Driven Design Destilado">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>programacao</category>
            <enclosure url="https://www.marcal.dev//img/ddd-destilado.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Craftsmanship Limpo - Disciplinas, Padrões e Ética]]></title>
            <link>https://www.marcal.dev/leituras/craftsmanship-limpo</link>
            <guid isPermaLink="false">/leituras/craftsmanship-limpo</guid>
            <pubDate>Mon, 26 May 2025 20:22:00 GMT</pubDate>
            <description><![CDATA[Você não reserva tempo para refatoração. Você não perde permissão para refatorar. Você refatora sempre o tempo todo.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Craftsmanship Limpo - Disciplinas, Padrões e Ética" src="/img/craftsmanship-limpo.jpg"></p><p>Um bom livro. Tem a proposta de apresentar os princípios que definem a profissão de desenvolvimento de software. Em certo ponto, ele se torna mais um livro sobre TDD do que sobre outros temas, mas ainda assim traz provocações valiosas.</p><p>O TDD é uma disciplina que tem os seguintes objetivos:</p><ul><li>Criar uma suíte de testes que permita a refatoração e seja confiável, de modo que, se a suíte for aprovada, o sistema possa ser implementado.</li><li>Desenvolver um código de produção que seja suficientemente desacoplado para que possa ser testado e refatorado.</li><li>Criar um ciclo de feedback extremamente curto.</li><li>Criar testes e códigos de produção que sejam suficientemente desacoplados entre si, permitindo a manutenção funcional de ambos.</li></ul><p>Dessa forma, é importante não escrever nenhum código de produção antes de elaborar um teste que falhe devido à ausência desse código. Também é importante não escrever mais testes do que o necessário para identificar a falha. Quando o teste falhar, não se deve escrever mais código de produção do que o suficiente para corrigir aquela falha específica. Juntas, essas afirmativas compõem as três regras do TDD e elas envolvem um ciclo de apenas alguns segundos!</p><p>Diante disso, o livro traz uma provocação interessante: "Não é muito legal ser fera em debugar", já que essa, segundo Martin, não é uma habilidade desejável! Nessa lógica, ele defende que devemos gastar o máximo de tempo possível escrevendo código que funcione , em vez de perder tempo depurando e tentando entender como o código está funcionando. É aí que os ciclos curtos e o feedback constante do TDD ajudam.</p><p>Os ciclos são divididos em três etapas: (1) vermelho, (2) verde e (3) refatorar. Nesse "semáforo", primeiro você escreve um teste que falha (1), depois escreve o código de produção que faz o teste passar (2), e então refatora (3). A refatoração nunca muda o comportamento do código. Ela também nunca aparece em cronogramas ou planejamentos.</p><blockquote><p>Você não reserva tempo para refatoração. Você não perde permissão para refatorar. Você refatora sempre, o tempo todo.</p></blockquote><p>Acho que metade do livro fala sobre TDD; a outra metade aborda diversos assuntos, inclusive ética. Certa feita, Martin fala sobre a importância de dizer “não” quando a resposta for realmente não. Isso é fundamental e, nesses anos todos, já vi muitas situações em que dizer "não" na hora certa poderia ter economizado dinheiro e evitado constrangimentos. Martin argumenta que somos engenheiros, e nossa tarefa é encontrar uma forma de dizer "sim", mas, às vezes, o "sim" não é uma opção. Se a resposta for "não", <strong>"agarre-se com unhas e dentes a essa resposta e não ceda à pressão."</strong></p><p>Como disse, é um livro carregado de TDD. Diria até que Martin queria escrever mais sobre TDD e acabou incluindo bastante conteúdo no texto. Mesmo assim, é um livro valioso. Recomendo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Craftsmanship Limpo - Disciplinas, Padrões e Ética">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>programacao</category>
            <enclosure url="https://www.marcal.dev//img/craftsmanship-limpo.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Os miseráveis, por Victor Hugo - Livro 2]]></title>
            <link>https://www.marcal.dev/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-2</link>
            <guid isPermaLink="false">/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-2</guid>
            <pubDate>Mon, 05 May 2025 21:41:00 GMT</pubDate>
            <description><![CDATA[A força da misericórdia]]></description>
            <content:encoded><![CDATA[
            <p><img alt="os-miseraveis-por-victor-hugo-livro-2" src="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo.png"></p><p>Estou lendo Os Miseráveis, é um livro longo, organizado em vários livros: uma verdadeira Bíblia! Não espero escrever algo para cada livro ma somente quando eu achar que faça sentido.</p><blockquote><p>Essa leitura rendeu três publicações, eu planejava escrever mais mas me conheço, ia ser quase impossível:</p><ul><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-1">Os miseráveis, por Victor Hugo - Livro 1</a></li><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-2">Os miseráveis, por Victor Hugo - Livro 2</a> - Você está aqui</li><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-finalmente-terminei">Os Miseráveis: Finalmente terminei - e foi um bocado de tempo!</a></li></ul></blockquote><p>Aqui, nos é contada a trágica história de Jean Valjean. Uma pessoa pobre, a quem a vida foi dura desde pequeno. Seus pais morreram quando ele ainda era criança, e passou a ser cuidado por sua irmã mais velha. Mais tarde, foi ele quem passou a cuidar da irmã e dos filhos dela: sete crianças para alimentar.</p><p>Um dia, num ato de desespero, roubou um pão para alimentar as crianças. Foi pego e condenado a cinco anos de prisão. A essa pena somaram-se mais catorze, por tentativas de fuga. Após dezenove anos de prisão, Jean finalmente é libertado.</p><blockquote><p>"Liberdade não é estar solto. Pode-se sair da prisão, mas não da condenação."</p></blockquote><p>Jean Valjean agora carrega uma marca invisível que grita mais alto que qualquer explicação: <strong>"ex-condenado"</strong>. Mesmo com dinheiro, é rejeitado em pousadas e estalagens. Ninguém quer dar abrigo. Ninguém quer dar trabalho. Ninguém quer sequer olhar para ele.</p><p>Há uma cena especialmente simbólica: Jean tenta se abrigar na casa de um cão. O cachorro o expulsa. Ele pensa: <em>“é como se o cão fosse o homem e eu, o animal”</em>. A metáfora não poderia ser mais cruel e real.</p><p>Finalmente, Jean encontra abrigo e comida na casa do Bispo Bienvenu, algo inédito para ele desde a prisão. O bispo lhe oferece comida, um quarto para dormir, e até o chama de "senhor", para espanto e estranhamento de Valjean.</p><p>Em certo ponto, Victor Hugo dedica um capítulo inteiro para descrever um náufrago. Ele nos coloca em sua pele: alguém que caiu do navio, grita à vela, sem chão, lutando contra as ondas, sozinho. Enquanto isso, o navio segue seu curso, sem perceber o homem que se afoga. Antes, ele fazia parte da tripulação: sorria, conversava, vivia. Agora, é um náufrago à deriva. Essa alegoria, que interrompe momentaneamente a narrativa de Jean, parece ter o propósito de descrever a solidão absoluta de quem foi lançado às margens da sociedade. O desespero daquele que é ignorado por todos. É o reflexo exato do abismo moral e social em que Jean Valjean se encontra ao deixar o presídio.</p><p>Para mim, essa cena é o tema central de todo o segundo livro: a máquina implacável da lei, representada ali pela disciplina do navio, que não para para salvar o infrator. Em contraste, surge a necessidade de um gesto extraordinário: a misericórdia, para resgatar uma alma em desespero.</p><p><img alt="Le Radeau de la Méduse  de Théodore Géricault, retrata sobreviventes reais do naufrágio da fragata Méduse, abandonados em uma jangada. Tem como tema o sofrimento humano, abandono pelo Estado, esperança quase extinta." src="/img/le-radeau-de-la-meduse.png"><em>Le Radeau de la Méduse</em>  de Théodore Géricault, retrata sobreviventes reais do naufrágio da fragata Méduse, abandonados em uma jangada. Tem como tema o sofrimento humano, abandono pelo Estado, esperança quase extinta.</p><p>Num ato de revolta e rancor, Valjean rouba os talheres de prata do bispo  que, como vimos no livro anterior, eram o único luxo que o bispo ainda se permitia. Algum tempo depois, Valjean é capturado pela polícia que o leva de volta.  E então...</p><blockquote><p>“Lembre-se de que me prometeu tornar-se um homem de bem. Acabo de comprar-lhe a alma. Furto-a ao espírito de perdição para entregá-la a Deus!”</p></blockquote><p>O bispo <strong>mente para salvá-lo</strong>. Diz que a prata foi um presente e ainda entrega mais dois castiçais. O bispo diz a Valjean que usou a prata para comprar sua alma e que agora ele deve viver como um homem honesto. Eis o gesto extraordinário de misericórdia.</p><p>Essa cena transforma Jean profundamente. Ele enfrenta um dilema interno e, após um ato impulsivo (rouba uma moeda de um menino e sente-se miserável por isso), decide de fato se transformar.</p><p>Esse segundo livro foi curto em comparação ao anterior, mas nem por isso menos poderoso. Todos os comentários que li antes de começar <em>Os Miseráveis</em> poderiam ser resumidos em: “Essa gente não para nunca de sofrer?” E isso é só o início.Até aqui, entendo que Victor Hugo não propõe vitimizar o bandido, nem transferir a culpa para a sociedade, o governo ou qualquer outra coisa.</p><p>Jean é responsável por suas escolhas, assim como a miséria extrema também  pode levar pessoas a cometerem crimes de sobrevivência. De outra forma, a sociedade tem um papel direto em moldar os monstros que depois ela condena. Victor Hugo levanta reflexões importantes sobre a exclusão social e a indiferença diante do sofrimento individual.</p><p>Num mundo que julga para sempre um homem por seus erros, sem nunca perdoar de verdade, é possível uma regeneração real? Aqui, me parece que a resposta seja: mais do que punição e desprezo, é o poder da compaixão e da misericórdia que pode transformar um homem e, então,  conduzi-lo à redenção.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Os miseráveis, por Victor Hugo - Livro 2">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/os-miseraveis/os-miseraveis-por-victor-hugo.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Neon Genesis Evangelion Collector's Edition Vol. 07]]></title>
            <link>https://www.marcal.dev/neon-genesis-evangelion-collectors-edition-vol-07</link>
            <guid isPermaLink="false">/neon-genesis-evangelion-collectors-edition-vol-07</guid>
            <pubDate>Sun, 04 May 2025 14:51:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="neon-genesis-evangelion-collectors-edition-vol-07" src="/img/neon-genesis-evangelion-collectors-edition-vol-07.jpg"></p><blockquote><p>É chega a hora da batalha final contra os Anjos. E também é chegada hora de Shinji superar seus traumas e medos e mostrar o seu verdadeiro valor. Enquanto uma luta épica se desenrola, nos bastidores os chefões da SEELE seguem no encalço de Gendo Ikari, o pai de Shinji e aquele que usou sua posição dentro da NERV para alcançar seus objetivos pessoais. Adão, EVA, Anjos e seres humanos eclodem em um final emocionante onde muitas perguntas são respondidas ao mesmo tempo que surgem novas</p></blockquote><p>Um final bastante diferente do que eu vi no anime e filme. Achei mais direto, sem muita ambiguidade. Aqui a mensagem é clara: mesmo com todas as dores, a vida merece ser vivida! Recomendo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Neon Genesis Evangelion Collector's Edition Vol. 07">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//img/neon-genesis-evangelion-collectors-edition-vol-07.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Os miseráveis, por Victor Hugo - Livro 1]]></title>
            <link>https://www.marcal.dev/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-1</link>
            <guid isPermaLink="false">/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-1</guid>
            <pubDate>Mon, 21 Apr 2025 11:36:00 GMT</pubDate>
            <description><![CDATA[Notas do Livro 1]]></description>
            <content:encoded><![CDATA[
            <p><img alt="os-miseraveis-por-victor-hugo-livro-1" src="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo.png"></p><p>Terminei o primeiro livro, que, em resumo, é a biografia do Bispo Myriel, ou como é chamado, Monsenhor Bienvenu. Já dá para notar, desde os primeiros capítulos, que Hugo não vai economizar palavras. Ele descreve o ambiente, os personagens, e vai dispor do tempo que for necessário para comunicar o que deseja. Portanto, o primeiro volume se ocupa em descrever todo um contexto ao redor do Bispo, que provavelmente terá importância ao longo do romance.</p><blockquote><p>Essa leitura rendeu três publicações, eu planejava escrever mais mas me conheço, ia ser quase impossível:</p><ul><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-1">Os miseráveis, por Victor Hugo - Livro 1</a> - Você está aqui</li><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-2">Os miseráveis, por Victor Hugo - Livro 2</a></li><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-finalmente-terminei">Os Miseráveis: Finalmente terminei - e foi um bocado de tempo!</a></li></ul></blockquote><p>Monsenhor Bienvenu, ao contrário do que o senso comum poderia imaginar ao pensar num homem nessa posição, um bispo da Igreja Católica, não vive com riqueza ou qualquer tipo de luxo. Dos, se não me engano, 15 mil francos de seu provento como bispo, ele separa apenas 500 para sua subsistência; o restante ele destina a diversas causas sociais, ajuda aos pobres, etc. Ele não impõe regras, ele age. Doa seu salário, visita os doentes, anda a pé, escuta os esquecidos. Ao longo do livro, o bispo é retratado como um homem que vive o Evangelho: alguém que ama e ajuda o próximo, mesmo que esse outro seja malvisto, um bandido, um assassino.</p><p>Nesse primeiro livro, Monsenhor Bienvenu tem a oportunidade de provar com ações aquilo que prega, ao visitar um certo convencional G. É importante lembrar que estamos no contexto pós-Revolução Francesa, onde o rei foi condenado à guilhotina. O convencional G. participou da Revolução e supostamente votou a favor da morte do rei. Para muitos, ele era uma figura desprezível, e vivia isolado. O bispo, então, decide visitá-lo. O curioso é que, durante todos os anos em que esteve naquela cidade, nunca o fez, e mesmo quando decidiu ir, sentiu receio. Afinal, Monsenhor, apesar de sua integridade, é humano como qualquer outro. Inclusive, o texto sugere que ele é monarquista.</p><p>Nesse encontro temos, para mim, o melhor capítulo deste livro, com um diálogo importante que talvez contenha a essência de toda a obra. Monsenhor Bienvenu, homem de fé, representante da Igreja, vive e prega o Evangelho, leva uma vida de abnegação pelos pobres, mas ainda assim, é um representante de uma classe aristocrática, próxima da que foi derrubada. O convencional G., por outro lado, é um revolucionário ateu, morrendo sozinho. Atuou com coragem e senso de justiça social. Ele encara a Revolução como um passo necessário para a humanidade, mesmo que, sim, tenham ocorrido assassinatos. O rei e pessoas ligadas a ele foram executadas, inclusive crianças inocentes. O próprio bispo menciona esse horror.</p><p>Mas o bispo não está ali para converter. Está ali para compreender. Me parece que, nesse livro 1, Hugo tenta representar uma fé que não obriga, mas acolhe. Uma bondade que não espera recompensa. O convencional G. rejeita o nome “Deus” porque, para ele, esse nome foi manchado pela opressão, mas ele aceita a ideia de algo maior, uma força moral, espiritual. Ateu ou espiritualista crítico? Esse é um capítulo ao qual com certeza vou voltar.</p><p>Talvez eu tenha percebido a intenção de todo esse primeiro livro em torno do Bispo. Ele representa o amor e a piedade, uma fé que acolhe, perdoa, abraça até os excluídos. Ele é a representação do Evangelho. Enquanto o convencional G. representa a justiça, uma busca racional e firme pela transformação social, pela equidade, mesmo que com dureza e sacrifício. Ele encara o rigor da razão e da revolução. São duas faces da virtude.</p><p>O bispo reconhece a virtude moral do convencional, mesmo sem fé. E o desfecho do capítulo é emocionante: o convencional G. descreve como viveu e o que perseguiu na vida, e então pergunta ao bispo: “O que quer de mim?”. Monsenhor Bienvenu responde imediatamente com um pedido de bênção, e depois reza por ele após sua morte.</p><p>Voltando ao que Hugo talvez esteja tentando dizer… talvez a verdadeira fé não esteja nos rótulos, mas na busca sincera por verdade, justiça e compaixão.</p><hr><blockquote><p>“O homem tem sobre si a carne, que é ao mesmo tempo seu fardo e sua tentação. Ela o arrasta, e ele cede. Seu dever é vigiá-la, contê-la, reprimi-la, e obedecer a ela só em último caso. Nessa obediência ainda pode haver culpa, mas trata-se de uma culpa venial. É uma queda, mas uma queda de joelhos, que pode terminar em oração. Ser santo é uma exceção; a regra é ser justo. Errem, caiam, pequem, mas sejam justos. Pecar o menos possível é a obrigação de todo homem; não pecar nunca é o sonho do anjo. Tudo o que é terrestre está sujeito ao pecado. O pecado é uma gravitação.”</p></blockquote><blockquote><p>Não basta acabar com os abusos, é preciso modificar os costumes. O moinho se foi, mas o vento ainda permanece.</p></blockquote><blockquote><p>Sim, as brutalidades do progresso chamam-se revoluções! Depois de acabadas, reconhece-se uma coisa: que o gênero humano foi maltratado, mas que deu alguns passos adiante!</p></blockquote><blockquote><p>— Ó você! Ó ideal! Só você existe! O bispo sentiu uma inexprimível comoção.
(...) Existe o infinito. Ele está aí. Se o infinito não tivesse um “eu”, o eu seria o seu limite; e ele não seria infinito; em outras palavras, não existiria.
Ora, ele existe. Logo tem um eu. Esse eu do infinito é Deus.</p></blockquote>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Os miseráveis, por Victor Hugo - Livro 1">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/os-miseraveis/os-miseraveis-por-victor-hugo.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Rápido e devagar: Duas formas de pensar]]></title>
            <link>https://www.marcal.dev/leituras/rapido-e-devagar-duas-formas-de-pensar</link>
            <guid isPermaLink="false">/leituras/rapido-e-devagar-duas-formas-de-pensar</guid>
            <pubDate>Mon, 21 Apr 2025 10:18:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Desisti! Estou cansado de livros que poderiam ser uma publicação. Quem sabe outro dia!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Rápido e devagar: Duas formas de pensar">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/rapido-e-devagar-duas-formas-de-pensar.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Novelas completas: Felicidade conjugal, A morte de Ivan Ilitch, Sonata a Kreutzer, Padre Siérgui]]></title>
            <link>https://www.marcal.dev/leituras/novelas-completas-tolstoi-editora-todavia</link>
            <guid isPermaLink="false">/leituras/novelas-completas-tolstoi-editora-todavia</guid>
            <pubDate>Tue, 15 Apr 2025 19:45:00 GMT</pubDate>
            <description><![CDATA[Onde está? Que morte? Não havia medo nenhum, por isso também não havia morte. Em lugar de morte, havia luz.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Novelas completas: Felicidade conjugal, A morte de Ivan Ilitch, Sonata a Kreutzer, Padre Siérgui" src="/img/novelas-completas-tolstoi-editora-todavia.png"></p><p>Meu primeiro experimento com o imortal Liev <strong>Tolstói</strong>. Acertei em cheio na escolha! Esse livro reúne quatro novelas curtas e fáceis de serem lidas: <em>Felicidade Conjugal</em>, <em>A Morte de Ivan Ilitch</em>, <em>Sonata a Kreutzer</em> e <em>Padre Siérgui</em>.</p><p><em>Padre Siérgui</em> foi a única que não me cativou. A história é confusa, e faz sentido: Tolstói a reescreveu várias vezes, e ela só foi publicada postumamente. Há até uma fala do protagonista, <em>"Sou assassino"</em>, que não se justifica na trama. É um vestígio de uma versão anterior.</p><p>As outras três, porém, são sensacionais. Cada uma toca um sentimento diferente. Tolstói era, sem dúvida, um mestre em entender a alma humana e a sociedade em que vivia, e sabia narrar isso de forma brilhante.</p><p>Não vou destrinchar cada uma aqui. Tem muito material por aí. Mas o que posso dizer é que, ao terminar cada história, eu precisava ir atrás de resenhas, vídeos, análises… Cada uma me fez pensar, repensar, e até enxergar reflexos da minha própria vida.</p><h3 id="felicidade-conjugal">Felicidade Conjugal</h3><p>Achei essa história, por que não? Bonitinha. Uma moça jovem, ainda lidando com o luto da mãe e com a ausência do pai, se envolve com um homem bem mais velho, amigo da família e tutor das finanças. Ele a via como... uma menina.</p><blockquote><p>Ele não se comportava de maneira nenhuma como os vizinhos que chegaram depois do falecimento da mãe e que achavam necessário ficar calados e chorar, sentados conosco; ao contrário, ele se mostrou falante, alegre, e não disse uma palavra sobre mamãe, de tal modo que aquela indiferença de início me pareceu estranha e até imprópria, da parte de uma pessoa tão próxima. No entanto, depois, entendi que não se tratava de indiferença, mas de sinceridade, e fiquei grata por isso.</p></blockquote><blockquote><p>Como é possível mudar tanto assim? Como a senhora cresceu! Veja só, era uma violeta! Virou uma rosa completa.</p></blockquote><p>Acompanhar o florescimento do amor entre os dois, a leveza do início e sua transformação ao longo do tempo foi algo que me tocou. O amor ingênuo vira desgaste, mágoas, brigas. E quando tudo parece esgotado, o casal opta não pelo fim, mas por um recomeço, mais maduro, mais verdadeiro. Não sabemos o que vem depois, mas o que fica é essa escolha bonita: seguir enfrentando os altos e baixos da vida juntos.</p><h3 id="a-morte-de-ivan-ilitch">A Morte de Ivan Ilitch</h3><p>Talvez a mais famosa das quatro. É a história sobre a inevitabilidade da morte e a busca por uma vida autêntica.</p><blockquote><p>“A questão não está no ceco nem no rim, mas na vida e… na morte. Sim, a vida estava aqui, mas agora está indo embora, indo embora, e eu não sou capaz de retê-la. Sim. Para que me enganar? Por acaso não está evidente para todo mundo, menos para mim, que eu estou morrendo e que a questão, agora, é só o número de semanas, de dias… e pode acontecer agora mesmo. Havia luz, e agora são trevas. Uma hora eu estava aqui, mas agora eu estou indo embora! Para onde?”</p></blockquote><blockquote><p>“Eu não vou existir, mas então o que vai existir? Nada vai existir. Mas, então, quando eu não existir, onde estarei? Será mesmo a morte? Não, eu não quero.”</p></blockquote><p>Ivan Ilitch é um juiz medíocre que viveu como achava que se devia viver: tudo dentro das convenções sociais. Um dia adoece, sem cura, e começa a encarar o vazio da vida que levou. Tudo era aparência.</p><blockquote><p>“É a morte. Sim, é a morte. E eles, todos eles, não sabem de nada, não querem saber, e não têm pena. Ficam tocando música.”</p></blockquote><blockquote><p>“Para eles, tanto faz, mas eles também vão morrer. Tolos. Primeiro eu; depois eles; mas eles também vão. E ficam se alegrando. São umas bestas!”</p></blockquote><blockquote><p>“Não pode ser, não é possível que todos estejam sempre condenados a esse pavor medonho.”</p></blockquote><p>O final é simplesmente avassalador. Não consegui deixar de marcar inúmeros trechos. A narrativa dos seus últimos instantes é tão vívida que parecia que eu estava ali, vendo tudo. Nos momentos finais, ele deixa o medo e aceita  e, ao aceitar, vive. É de arrepiar.</p><blockquote><p>E Ivan Ilitch se pôs a escolher, na imaginação, os melhores momentos de sua vida agradável. No entanto — coisa terrível —, todos aqueles melhores momentos de sua vida agradável agora lhe pareciam inteiramente distintos do que pareceram na época.</p></blockquote><blockquote><p>E de repente ficou claro, (...) Como é bom e como é simples. E a dor? E a morte? Onde está? Que morte? Não havia medo nenhum, por isso também não havia morte. Em lugar de morte, havia luz.</p></blockquote><h3 id="sonata-a-kreutzer">Sonata a Kreutzer</h3><p>Talvez não tão impactante quanto <em>Ivan Ilitch</em> no final, mas ainda assim genial. Um homem narra, num trem, como matou a própria esposa. O que ele descreve, hoje, qualquer um reconheceria como um relacionamento tóxico.</p><p>Sabe aquela relação cheia de altos e baixos? Tudo vira motivo para conflito. Conversas banais viram discussões gigantes. No dia seguinte, vem o pedido de desculpas, a reconciliação, o carinho  e, logo depois, tudo de novo. Um ciclo sufocante.</p><p>A história também gira em torno do ciúme. Não dá para não lembrar de <em>Dom Casmurro</em>, ainda não li, mas sei que o tema é o mesmo: ela traiu ou não? A dúvida nunca se resolve totalmente. O protagonista se afunda cada vez mais na paranoia, e a espiral de desconfiança cresce. É um retrato fiel de muitos relacionamentos reais, mesmo hoje.</p><blockquote><p>Amar um homem ou uma mulher a vida inteira é a mesma coisa que dizer que uma vela vai ficar acesa a vida inteira</p></blockquote><blockquote><p>Afinidade espiritual! Comunhão de ideais! — repetiu ele, emitindo seu som peculiar. — Mas, então, nesse caso não há motivo nenhum para dormirem juntos (desculpe a grosseria). Senão, por causa da comunhão de ideais, as pessoas iriam dormir juntas — disse e riu, nervoso.</p></blockquote><blockquote><p>Para as pessoas infelizes, é melhor morar na cidade. Uma pessoa pode viver cem anos na cidade sem se dar conta de que já morreu faz tempo e de que está podre.</p></blockquote><p>Ufa! Quanta emoção essas novelas! Com certeza, irei me aprofundar mais nas obras de Tolstói, como os imortais <em>Guerra e Paz</em> e <em>Anna Karenina</em>. Fico feliz de ter começado por aqui, foi uma estreia poderosa.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Novelas completas: Felicidade conjugal, A morte de Ivan Ilitch, Sonata a Kreutzer, Padre Siérgui">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//img/novelas-completas-tolstoi-editora-todavia.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[mon jour préféré]]></title>
            <link>https://www.marcal.dev/fr/mon-jour-prefere</link>
            <guid isPermaLink="false">/fr/mon-jour-prefere</guid>
            <pubDate>Fri, 11 Apr 2025 22:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><strong>Pour moi, mon jour préféré, c’est mon anniversaire : le 19 mai.</strong></p><p>Normalement, c’est un jour de congé. Je ne travaille pas ce jour-là.</p><p>D’habitude, je me réveille à 6 heures. Ce jour-là, je me réveille tard, vers 8 ou 9 heures.</p><p>Parfois, je prends le petit-déjeuner à la maison. C’est quelque chose de spécial, préparé par ma femme.</p><p><img alt="des pancakes préparés par ma femme" src="/img/mon-jour-prefere/mon-jour-prefere-pancakes-a-la-maison.jpg"><em>Des pancakes préparés par ma femme.</em></p><p>Parfois, nous allons à la boulangerie.</p><p><img alt="des pancakes préparés par ma femme" src="/img/mon-jour-prefere/mon-jour-prefere-eclair-au-chocolat.jpg"><em>Éclair au chocolat de la boulangerie Sovar et Assar.</em></p><p>Je n’aime pas sortir le jour de mon anniversaire. Je préfère rester à la maison avec ma famille, lire des livres, regarder quelque chose, jouer aux jeux vidéo et penser à ma vie.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=mon jour préféré">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>francais</category>
            <category>notas-pessoais</category>
        </item>
        <item>
            <title><![CDATA[Je ne travaille pas très tard, mais je reste longtemps assis devant l’ordinateur...]]></title>
            <link>https://www.marcal.dev/fr/je-ne-travaille-pas-tres-tard-mais-je-reste-longtemps-assis-devant-l-ordinateur</link>
            <guid isPermaLink="false">/fr/je-ne-travaille-pas-tres-tard-mais-je-reste-longtemps-assis-devant-l-ordinateur</guid>
            <pubDate>Mon, 07 Apr 2025 20:26:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Je ne travaille pas très tard, mais je reste longtemps assis devant l’ordinateur. Les jours très occupés, je finis à 20h ou même à 22h. Je suis stressé. Parfois, je fais du jogging ou je marche dans le parc. Faire du sport pendant 30 minutes ou une heure, ça suffit pour me relaxer.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Je ne travaille pas très tard, mais je reste longtemps assis devant l’ordinateur...">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>francais</category>
            <category>notas-pessoais</category>
        </item>
        <item>
            <title><![CDATA[Portraits de ma famille]]></title>
            <link>https://www.marcal.dev/fr/portraits-de-ma-famille</link>
            <guid isPermaLink="false">/fr/portraits-de-ma-famille</guid>
            <pubDate>Wed, 02 Apr 2025 07:34:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><strong>Je suis avec ma fille.</strong></p><p><img alt="portrait-avec-me-famille" src="/img/portraits-de-ma-famille/portraits-de-ma-famille-1.jpg"></p><p>Elle s'appelle Laura. Elle a 4 ans. Elle est mince et petite. Elle a la peau blanche et les cheveux blonds, un peu raides et un peu ondulés. Ses yeux sont grands et noirs. Elle porte un élastique jaune et de grandes lunettes. Elle porte une robe verte avec un col jaune et un tablier rouge. Elle porte des chaussettes blanches et des chaussures noires.</p><p>Elle est très extravertie. Elle aime parler. Elle se réveille à 6 heures. Elle a beaucoup d'énergie. Elle adore dessiner.</p><p>Moi, je m'appelle Vítor. Je suis jeune. J'ai 32 ans. Je suis blanc et mince. Je mesure 1,73 m. Mes yeux sont petits et noirs. J'ai une barbe et une moustache. Je porte un chapeau noir, une chemise noire et un jean bleu foncé. Je porte des bottes marron. Je suis timide. Je ne parle pas beaucoup. Je ne fais pas beaucoup de sport, mais je fais du jogging. J'aime jouer aux échecs et lire des livres.</p><p><strong>Sur cette photo, voici ma mère, ma fille et mon épouse.</strong></p><p><img alt="portrait-avec-me-famille" src="/img/portraits-de-ma-famille/portraits-de-ma-famille-2.jpg"></p><p>Ma mère est à gauche. Elle s'appelle Vera. Elle est âgée. Elle a 53 ans. Elle est grosse et petite. Elle est brune et a les cheveux noirs et frisés. Elle porte une blouse crème et un short rose. Elle porte des sandales beige doré. Elle fait du jardinage. Elle sourit tout le temps.</p><p>Mon épouse est à droite. Elle s'appelle Leticia. Elle est jeune. Elle a 32 ans. Elle est mince, grande et blanche. Elle a les cheveux blonds. Elle porte des lunettes et un sac marron. Elle porte un débardeur rouge, un jean et des sandales crème. Elle est créative et drôle.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Portraits de ma famille">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>francais</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev//img/portraits-de-ma-famille/portraits-de-ma-famille-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Portrait avec mes amis]]></title>
            <link>https://www.marcal.dev/fr/portrait-avec-mes-amis</link>
            <guid isPermaLink="false">/fr/portrait-avec-mes-amis</guid>
            <pubDate>Tue, 01 Apr 2025 15:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><strong>Mon professeur m'a demandé de faire une courte description d'une photo où l'on voit moi et deux autres personnes.</strong></p><p>Sur cette photo, je suis avec deux grands amis.</p><p><img alt="portrait-avec-mes-amis" src="/img/portrait-avec-mes-amis.jpg"></p><p>Au centre, il y a Ildenio. Il a 33 ans, il est blanc, mince et mesure 1,74 m. Il a les cheveux courts et noirs, et une barbe de quelques jours. Il porte une chemise blanche à rayures bleues, un short vert avec des détails vert foncé et des sandales. Il est timide et parle peu. Il adore jouer aux jeux vidéo.</p><p>À droite, voici Maick. Il a 32 ans, il est métis et mesure 1,76 m. Il a les cheveux courts et porte une chemise bleu foncé, une montre et un jean. Il est extraverti et adore faire des blagues. Il aime aussi jouer au basket-ball.</p><p>À gauche, c'est moi, Vítor. J'ai 32 ans, je suis métis et je mesure 1,73 m. Je suis mince, j'ai une barbe et les cheveux courts et noirs. Je porte une chemise grise et un short foncé. Je suis timide, j'aime lire et regarder des films.</p><p>Nous sourions et nous nous serrons les uns contre les autres pour la photo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Portrait avec mes amis">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>francais</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev/img/portrait-avec-mes-amis.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Battle Royale Omnibus: Volume 2 ⚔️]]></title>
            <link>https://www.marcal.dev/leituras/battle-royale-omnibus/battle-royale-omnibus-volume-2</link>
            <guid isPermaLink="false">/leituras/battle-royale-omnibus/battle-royale-omnibus-volume-2</guid>
            <pubDate>Sat, 29 Mar 2025 10:42:00 GMT</pubDate>
            <description><![CDATA[Volume 2 de 5 da Editora Pipoca e Nanquim]]></description>
            <content:encoded><![CDATA[
            <p><img alt="battle-royale-omnibus-volume-1" src="/leituras/battle-royale-omnibus/img/battle-royale-omnibus-volume-2.png"></p><blockquote><p>Na continuação dessa saga brutal e envolvente, o jogo se intensifica. Kawada diz que sabe como fugir dali, e promete levar Shuuya e Noriko com ele. Mas será que Shuuya conseguirá se manter fiel ao seu princípio de não sujar as mãos de sangue? Enquanto isso, acompanhado de seu atrapalhado parceiro Yutaka, Shinji pretende usar as táticas de guerrilha que aprendeu com seu tio para sabotar os organizadores do Programa. E o delinquente Kazuo é perseguido por um de seus antigos capangas, o letal e glamouroso Sho Tsukioka!</p></blockquote><p>Continua muito bem, explorando mais sobre os alunos. Metade da turma já foi eliminada, muitos caindo como alvo do gênio psicopata Kazuo. Esse cara, depois de jogar uma moeda para decidir seu destino, mergulhou de cabeça no jogo. Azar do resto do grupo — se o resultado fosse outro, talvez ainda tivessem chance de se unir contra o governo. Mas agora, têm algo muito pior para enfrentar: o impiedoso e implacável Kazuo. Vamos ver como essa história continua!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Battle Royale Omnibus: Volume 2 ⚔️">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>quadrinhos</category>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/leituras/battle-royale-omnibus/img/battle-royale-omnibus-volume-2.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Manual de psicologia cognitiva]]></title>
            <link>https://www.marcal.dev/manual-de-psicologia-cognitiva</link>
            <guid isPermaLink="false">/manual-de-psicologia-cognitiva</guid>
            <pubDate>Sun, 23 Mar 2025 21:29:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="manual-de-psicologia-cognitiva" src="img/manual-de-psicologia-cognitiva.png"></p><blockquote><p>Manual de psicologia cognitiva, principal livro da área, chega a sua 7ª edição totalmente atualizado, trazendo uma cobertura ampla de todos os ramos da disciplina. Considerando a cognição humana em contexto, este livro tem por objetivo auxiliar os estudantes a desenvolverem uma compreensão profunda dos fundamentos de psicologia cognitiva.</p></blockquote><p>Depois de quase três meses, finalmente terminei. É uma boa leitura, bastante técnica. Não é apenas um livro de divulgação científica; é um livro que deve ser utilizado em sala de aula. É bastante completo no assunto e abrange muita, mas muita coisa mesmo.</p><p>Por isso, é longo e, em muitos momentos, me senti entediado — não porque o conteúdo seja desinteressante ou repetitivo, pois definitivamente não é. São pouco mais de 800 páginas abordando diversos estudos e pesquisas sobre o aprendizado e o processamento da percepção humana. No entanto, a leitura se torna cansativa pelo simples fato de ser um tema imenso e denso para se estudar por longos períodos. A verdade é que eu queria ler outras coisas também, explorar outros assuntos.</p><p>Os autores também não têm uma escrita instigante como a de Richard Dawkins (<em>O Gene Egoísta</em>) ou Desmond Morris (<em>O Macaco Nu</em>), que verdadeiramente têm o dom da escrita e da divulgação científica.</p><p>Verdade seja dita: a leitura deste livro não é difícil, apenas cansativa, dado o volume de conteúdo.</p><p>Dito isso, definitivamente é um ótimo livro, que se apoia em diversos estudos modernos sobre a imensa área da psicologia cognitiva. Recomendo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Manual de psicologia cognitiva">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/manual-de-psicologia-cognitiva.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Necron - Volume 6: Massacre no Trem Noturno]]></title>
            <link>https://www.marcal.dev/necron-volume-6-massacre-no-trem-noturno</link>
            <guid isPermaLink="false">/necron-volume-6-massacre-no-trem-noturno</guid>
            <pubDate>Sun, 09 Feb 2025 18:17:00 GMT</pubDate>
            <description><![CDATA[Para quem tem gosto duvidoso.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="necron-volume-6-massacre-no-trem-noturno" src="img/necron/necron-volume-6-massacre-no-trem-noturno.png"></p><blockquote><p>Depois do estranho jantar com <strong><em>"A Nobreza Depravada"</em></strong>, Necron e Frieda transformam sua fuga em um verdadeiro rastro de sangue, após ingressarem em um trem para cruzar a Europa. Tudo isso em: Massacre no Trem Noturno.</p></blockquote><p>Esse não achei tão interessante quanto o anterior mas ainda é legal, temos tripas, pescoços quebrados e dezenas de mortos pelo caminho de Necron e Frieda.
Recomendo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Necron - Volume 6: Massacre no Trem Noturno">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//img/necron/necron-volume-6-massacre-no-trem-noturno.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Necron - Volume 5: A Nobreza Depravada]]></title>
            <link>https://www.marcal.dev/necron-volume-5-a-nobreza-depravada</link>
            <guid isPermaLink="false">/necron-volume-5-a-nobreza-depravada</guid>
            <pubDate>Sun, 09 Feb 2025 18:06:00 GMT</pubDate>
            <description><![CDATA[Para quem tem gosto duvidoso.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="necron-volume-5-a-nobreza-depravada" src="img/necron/necron-volume-5-a-nobreza-depravada.png"></p><blockquote><p>Após deixarem a ilha, no final de <strong><em>"As Mulheres Aranhas"</em></strong>, a Dra. Frieda Boher e Necron encontram um estranho culto formado por mulheres da alta sociedade. Entre as facetas dessa sociedade secreta está a tortura sexual de homens e o canibalismo. Tudo isso em: A Nobreza Depravada.</p></blockquote><p>Dessa vez, quis algo leve para ler, algo que não exigisse muito raciocínio, e o escolhido foi <em>Necron</em>, a série que eu havia deixado de lado há alguns meses. Na verdade, dizer que é "leve" é suavizar demais a coisa. Como sempre, <em>Necron</em> não é para todo mundo: sexo explícito, sadomasoquismo, tortura... É um quadrinho bastante underground.</p><p>Recomendo muito!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Necron - Volume 5: A Nobreza Depravada">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//img/necron/necron-volume-5-a-nobreza-depravada.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[O Ninho do Terror]]></title>
            <link>https://www.marcal.dev/o-ninho-do-terror</link>
            <guid isPermaLink="false">/o-ninho-do-terror</guid>
            <pubDate>Thu, 06 Feb 2025 21:39:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="o-ninho-do-terror" src="img/o-ninho-do-terror.png"></p><p>O que parecia ser apenas um depósito de lixo comum na pacífica ilha de Yarkie revelou-se o ambiente perfeito para a proliferação de uma ameaça inesperada. O calor, a umidade e a abundância de alimento transformaram o local em um verdadeiro berçário. Quando uma alteração no controle de venenos desencadeia uma mutação imprevisível, nascem criaturas aterrorizantes: baratas gigantes e famintas. Agora, elas estão prontas para deixar seu ninho – e a caça por carne humana começou!</p><blockquote><p>Não havia maneira de aceitar tamanha atrocidade. O excremento da natureza havia se transmutado em algo diabólico. Mais do que bárbaro, mais do que cruel – <em>maligno</em>. Era algo que ultrapassava qualquer ferimento, maldição ou condenação. Era a personificação do Inferno, ao vivo e a cores.</p></blockquote><p>Comecei esse livro sem grandes expectativas. Na verdade, comprei mais para apoiar a <a href="https://www.lojadatai.com.br/" rel="nofollow">Tai Editora</a>, uma pequena editora independente muito interessante, que trouxe <em>Magnus</em> e <em>Suspiria</em> – títulos que já apareceram aqui no blog. Mas que surpresa! A história é ótima e me lembrou muito aqueles filmes trash dos anos 80 e 90, como <em>Anaconda</em>, <em>Ataque dos Vermes Malditos</em>, <em>Pânico no Lago</em> e <em>O Hospedeiro</em>.</p><blockquote><p>(...) se a principal regra da natureza era de fato a sobrevivência do mais forte, os homens tinham o direito natural de impor sua inteligência contra aquelas baratas.</p></blockquote><p>Logo após o lançamento, o livro foi adaptado para o filme <em>O Ninho do Terror</em>, que nunca conferi, mas que foi elogiado pelo próprio autor da obra. Pelo que li, o filme trouxe algumas diferenças na história.</p><p>Falando em filme, a narrativa do livro realmente parece cinematográfica, inclusive no desfecho. Sabe aquelas histórias em que o inimigo é derrotado, há um momento de calmaria e comemoração, e então, de forma surpreendente, ele reaparece nos últimos instantes – seja para ser derrotado de vez ou para deixar um gancho em aberto? Pois é. Do início ao fim, a forma como o autor conduz a história é extremamente visual e envolvente. Consegui imaginar cada cena e sentir a tensão dos personagens ao se depararem com as mortíferas baratas.</p><blockquote><p>Ter filhos? Como?  Se o pau e as bolas tinham sido comidos naquela ilha maluca?</p></blockquote><p>A explicação sobre o funcionamento da organização das baratas, semelhante à de cupins, formigas e abelhas – insetos que trabalham juntos de forma altamente social – foi muito interessante. No entanto, a grande revelação sobre essa estrutura organizacional não me impactou tanto. Para falar mais sobre isso, eu teria que dar um spoiler gigantesco.</p><p>No geral, é uma ótima história, com aquele toque nostálgico dos clássicos sobre animais peçonhentos e ameaçadores. Recomendo muito!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Ninho do Terror">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-ninho-do-terror.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[O tempo que não volta]]></title>
            <link>https://www.marcal.dev/o-tempo-que-nao-volta</link>
            <guid isPermaLink="false">/o-tempo-que-nao-volta</guid>
            <pubDate>Fri, 31 Jan 2025 22:33:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <blockquote><p>(...) mas o eflúvio da manhã, quem é que o pediu ao crepúsculo da tarde? - Memórias póstumas de Brás Cubas</p></blockquote><p>Em outras palavras: será que alguém pode pedir para que o cheirinho da manhã volte no final do dia? De manhã cedo, o ar tem um cheiro tão gostoso, fresco e úmido, algo que não acontece ao fim do dia, quando o sol se põe.</p><p>Da mesma forma, mesmo que não se perceba, o tempo passa, e não há como voltar atrás ou recuperá-lo. Assim como não é possível trazer o frescor da manhã à tarde, também não é possível recuperar os momentos que já passaram em nossa vida.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O tempo que não volta">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/reflexao-o-tempo-que-passou.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Memórias póstumas de Brás Cubas]]></title>
            <link>https://www.marcal.dev/memorias-postumas-de-bras-cubas</link>
            <guid isPermaLink="false">/memorias-postumas-de-bras-cubas</guid>
            <pubDate>Fri, 31 Jan 2025 21:56:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="memorias-postumas-de-bras-cubas" src="img/memorias-postumas-de-bras-cubas.png"></p><blockquote><p>Em 1881, Machado de Assis lançou aquele que seria um divisor de águas não só em sua obra, mas na literatura brasileira: Memórias póstumas de Brás Cubas . Ao mesmo tempo em que marca a fase mais madura do autor, o livro é considerado a transição do romantismo para o realismo. Num primeiro momento, a prosa fragmentária e livre de Memórias póstumas , misturando elegância e abuso, refinamento e humor negro, causou estranheza, inclusive entre a crítica. Com o tempo, no entanto, o defunto autor que dedica sua obra ao verme que primeiro roeu as frias carnes de seu cadáver tornou-se um dos personagens mais populares da nossa literatura. Sua história, uma celebração do nada que foi sua vida, foi transformada em filmes, peças e HQs, e teve incontáveis edições no Brasil e no mundo, conquistando admiradores que vão de Susan Sontag a Woody Allen.</p></blockquote><p>Honestamente, seria pretensioso da minha parte tentar avaliar esta obra. Afinal, Machado de Assis é, provavelmente, o autor brasileiro mais estudado de todos os tempos, com uma vasta bibliografia, além de vídeos, resenhas, podcasts e programas dedicados a sua análise. Tudo o que posso dizer é: simplesmente leia este livro. Ele é realmente incrível.</p><p>Esta edição modernizou alguns termos e nomes onde fazia sentido, tornando o texto mais acessível, mas sem comprometer sua essência. Ainda assim, aqui e ali, você pode se deparar com palavras em desuso, como <em>cousa</em> em vez de <em>coisa</em>. Nada que dificulte a leitura, que continua fluida e envolvente. Além disso, as centenas de notas contextuais enriquecem ainda mais a experiência. Não poderia recomendar mais a edição da Penguin!</p><p>Abaixo, alguns trechos marcantes que anotei ao longo da leitura:</p><blockquote><p>Ao verme que primeiro roeu as frias carnes do meu cadáver dedico como saudosa lembrança estas Memórias póstumas</p></blockquote><blockquote><p>O que faz do meu Brás Cubas um autor particular é o que ele chama “rabugens de pessimismo”. Há na alma deste livro, por mais risonho que pareça, um sentimento amargo e áspero, que está longe de vir dos seus modelos.</p></blockquote><blockquote><p>não sei se lhe meti algumas rabugens de pessimismo. Pode ser. Obra de finado. Escrevi-a com a pena da galhofa e a tinta da melancolia, e não é difícil antever o que poderá sair desse conúbio.</p></blockquote><blockquote><p>O melhor prólogo é o que contém menos cousas, ou o que as diz de um jeito obscuro e truncado.</p></blockquote><blockquote><p>A obra em si mesma é tudo: se te agradar, fino leitor, pago-me da tarefa; se te não agradar, pago-te com um piparote, e adeus.</p></blockquote><blockquote><p>Algum tempo hesitei se devia abrir estas memórias pelo princípio ou pelo fim, isto é, se poria em primeiro lugar o meu nascimento ou a minha morte. Suposto o uso vulgar seja começar pelo nascimento, duas considerações me levaram a adotar diferente método: a primeira é que eu não sou propriamente um autor defunto, mas um defunto autor, para quem a campa foi outro berço; a segunda é que o escrito ficaria assim mais galante e mais novo.</p></blockquote><blockquote><p>A vida estrebuchava-me no peito, com uns ímpetos de vaga marinha, esvaía-se-me a consciência, eu descia à imobilidade física e moral, e o corpo fazia-se-me planta, e pedra, e lodo, e cousa nenhuma.</p></blockquote><blockquote><p>Assim, a minha ideia trazia duas faces, como as medalhas, uma virada para o público, outra para mim. De um lado, filantropia e lucro; de outro lado, sede de nomeada. Digamos: — amor da glória.</p></blockquote><blockquote><p>Quem não sabe que ao pé de cada bandeira grande, pública, ostensiva, há muitas vezes várias outras bandeiras modestamente particulares, que se hasteiam e flutuam à sombra daquela, e não poucas vezes lhe sobrevivem?</p></blockquote><blockquote><p>Creiam-me, o menos mau é recordar; ninguém se fie da felicidade presente; há nela uma gota da baba de Caim. Corrido o tempo e cessado o espasmo, então sim, então talvez se pode gozar deveras, porque entre uma e outra dessas duas ilusões, melhor é a que se gosta sem doer.</p></blockquote><blockquote><p>— Pobre minuto! — exclamou. — Para que queres tu mais alguns instantes de vida? Para devorar e seres devorado depois? Não estás farto do espetáculo e da luta?</p></blockquote><blockquote><p>Não importa ao tempo o minuto que passa, mas o minuto que vem. O minuto que vem é forte, jucundo, supõe trazer em si a eternidade, e traz a morte, e perece como o outro, mas o tempo subsiste.</p></blockquote><blockquote><p>Dessa terra e desse estrume é que nasceu esta flor.</p></blockquote><blockquote><p>Marcela amou-me durante quinze meses e onze contos de réis; nada menos.</p></blockquote><blockquote><p>Talvez espante ao leitor a franqueza com que lhe exponho e realço a minha mediocridade; advirta que a franqueza é a primeira virtude de um defunto.</p></blockquote><blockquote><p>Senhores vivos, não há nada tão incomensurável como o desdém dos finados.</p></blockquote><blockquote><p>Cada estação da vida é uma edição, que corrige a anterior, e que será corrigida também, até a edição definitiva, que o editor dá de * graça aos vermes.</p></blockquote><blockquote><p>Morreu sem lhe poder valer a ciência dos médicos, nem o nosso amor, nem os cuidados, que foram muitos, nem cousa nenhuma; tinha de morrer, morreu.</p></blockquote><blockquote><p>A questão, porém, não é de pão, é de manteiga. Pão seco é que eu não engulo.</p></blockquote><blockquote><p>A razão não podia ser outra senão o momento oportuno. Não era oportuno o primeiro momento, porque, se nenhum de nós estava verde para o amor, ambos o estávamos para o nosso amor: distinção fundamental. Não há amor possível sem a oportunidade dos sujeitos. Esta explicação achei-a eu mesmo, dous anos depois do beijo, um dia em que Virgília se me queixava de um pintalegrete que lá ia e tenazmente a galanteava. — Que importuno! — dizia ela fazendo uma careta de raiva. Estremeci, fitei-a, vi que a indignação era sincera; então ocorreu-me que talvez eu tivesse provocado alguma vez aquela mesma careta, e compreendi logo toda a grandeza da minha evolução. Tinha vindo de importuno a oportuno.</p></blockquote><blockquote><p>mas o eflúvio da manhã, quem é que o pediu ao crepúsculo da tarde?</p></blockquote><blockquote><p>Matamos o tempo; o tempo nos enterra.</p></blockquote><blockquote><p>Cinquenta anos! Não é ainda a invalidez, mas já não é a frescura. Venham mais dez, e eu entenderei o que um inglês dizia, entenderei que “cousa é não achar já quem se lembre de meus pais, e de que modo me há de encarar o próprio ESQUECIMENTO”.</p></blockquote><blockquote><p>Lutar. Podes escachá-los ou não, o essencial é que lutes. Vida é luta. Vida sem luta é um mar morto no centro do organismo universal.</p></blockquote><blockquote><p>Não tive filhos, não transmiti a nenhuma criatura o legado da nossa miséria.</p></blockquote>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Memórias póstumas de Brás Cubas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/memorias-postumas-de-bras-cubas.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Putz! Meu blogue foi denunciado por phishing 3]]></title>
            <link>https://www.marcal.dev/putz-meu-blogue-foi-denunciado-por-phishing-3</link>
            <guid isPermaLink="false">/putz-meu-blogue-foi-denunciado-por-phishing-3</guid>
            <pubDate>Wed, 29 Jan 2025 19:32:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Mais uma vez, meus domínios foram marcados com o alerta de <strong>"Site enganoso ou de engenharia social"</strong>. Aff...</p><p>No Google Search Console, aparecem dois links com problemas detectados:</p><ul><li><code class="">http://link.marcal.dev/bookmarks</code></li><li><code class="">http://marcal.dev/login/</code></li></ul><p>Como o Google encontrou <code class="">http://marcal.dev/login/</code> se esse link nem existe? Não há página de login, apenas um redirecionamento para um <strong>404</strong>. Já o subdomínio <code class="">link.</code> é a minha instância do <a href="https://github.com/sissbruecker/linkding" rel="nofollow">Linkding</a>, onde salvo links interessantes para ler depois.</p><p>Na semana passada, abri <a href="https://github.com/sissbruecker/linkding/issues/956" rel="nofollow">uma issue</a> no projeto Linkding no GitHub solicitando que adicionassem um <strong>robots.txt</strong> para impedir a indexação pelo Google. Eles já adicionaram, mas isso aparentemente não teve efeito.</p><p>Será que esse subdomínio tem uma má reputação por começar com <code class="">link.</code>? Talvez o Google o tenha classificado como potencialmente <strong>enganoso</strong>, achando que se trata de um encurtador de URLs (muitos são abusados para phishing).</p><p>Sem muito o que fazer, solicitei novamente a revisão ao Google. Vamos ver o que eles decidirão... Mas tenho a impressão de que terei esse problema para sempre a partir de agora.</p><p>Estou considerando mudar o subdomínio — quem sabe isso resolva o problema. Mas que chato, viu? <code class="">"link"</code> é um nome curto, memorável e simples, perfeito para o serviço. E o pior: ele é <strong>privado</strong>, protegido por senha. Ou seja, o Google está me "protegendo" do meu próprio site, <strong>sendo que</strong> eu sou o único usuário?</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Putz! Meu blogue foi denunciado por phishing 3">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
        </item>
        <item>
            <title><![CDATA[A Felicidade na Visão de Brás Cubas]]></title>
            <link>https://www.marcal.dev/a-felicidade-na-visao-de-bras-cubas</link>
            <guid isPermaLink="false">/a-felicidade-na-visao-de-bras-cubas</guid>
            <pubDate>Mon, 27 Jan 2025 23:07:00 GMT</pubDate>
            <description><![CDATA[it's a bittersweet symphony, this life.]]></description>
            <content:encoded><![CDATA[
            <p>Estou lendo <strong>Memórias Póstumas de Brás Cubas</strong> e, logo no início, me deparei com uma passagem que me fez parar e pensar:</p><blockquote><p><em>"Creiam-me, o menos mau é recordar; ninguém se fie da felicidade presente; há nela uma gota da baba de Caim. Corrido o tempo e cessado o espasmo, então sim, então talvez se pode gozar deveras, porque entre uma e outra dessas duas ilusões, melhor é a que se gosta sem doer."</em></p></blockquote><p>Machado, pelo menos até aqui, não entrega respostas fáceis. Ele me deixou pensando, ruminando o que quis dizer. Da mesma forma que, capítulos depois, o Brás Cubas é tomado por uma ideia fixa: o famoso emplasto.</p><p>A proposta ali parece ser nos fazer refletir sobre a felicidade, sobre como não devemos confiar nela. Que é traiçoeira, como a "baba de Caim" – uma espécie de maldição, culpa ou aquele gosto amargo que sempre aparece no final de algo bom. Machado sugere que o verdadeiro prazer talvez não esteja no presente, mas no que vem depois, na recordação. Porque no calor do momento, sabe como é: emoção demais, intensidade demais. A gente não consegue julgar direito. Mas, na memória, tudo ganha uma suavidade idealizada. A dor some, e o que sobra é só o lado bom.</p><p>No fim das contas, parece que Brás Cubas acredita que tanto a felicidade presente quanto a lembrança dela são ilusões. Só que, entre os dois males, ele escolhe o que dói menos – ou talvez, o que só dói um pouco.</p><p>Será que ele está certo? Pode ser que Brás Cubas seja apenas um pessimista, um espírito amargurado – ainda não avancei tanto na história para julgar. Mas, talvez, ele tenha razão e a felicidade seja realmente melhor aproveitada na lembrança, já filtrada e destilada pelo tempo.</p><p>Não sei muito bem para onde essa história vai me levar, mas esse trecho, com certeza, me pareceu tão... humano. Porque, no fim das contas, <em>"it's a bittersweet symphony, this life."</em></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=A Felicidade na Visão de Brás Cubas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/a-felicidade-na-visao-de-bras-cubas.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O cotidiano da burocracia : o amadorismo no dia-a-dia do Serviço Público Federal]]></title>
            <link>https://www.marcal.dev/o-cotidiano-da-burocracia-o-amadorismo-no-dia-a-dia-do-servico-publico-federal</link>
            <guid isPermaLink="false">/o-cotidiano-da-burocracia-o-amadorismo-no-dia-a-dia-do-servico-publico-federal</guid>
            <pubDate>Sun, 26 Jan 2025 16:58:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="o-cotidiano-da-burocracia-o-amadorismo-no-dia-a-dia-do-servico-publico-federal" src="img/o-cotidiano-da-burocracia-o-amadorismo-no-dia-a-dia-do-servico-publico-federal.png"></p><blockquote><p>Um profissional conhece seu trabalho, especializa-se nele, possui os instrumentos necessários e executa as tarefas de forma previsível e cautelosa. A burocracia pública federal, no entanto, está em constante reformulação, repleta de novos projetos, vale-se de procedimentos obscuros e instáveis, é generalista e apressada. Com uma organização resultante de sucessivas e inacabadas reformas, trabalha sem gestão de pessoas ou de materiais. Não há aumento de responsabilidade, complexidade das tarefas ou hierarquia ao longo dos anos de serviço: os chefes são nomeados sem qualquer critério formal, não têm mandato e são removidos sem aviso prévio. Projetos novos são iniciados usando os mesmos recursos dos antigos, que são, simplesmente, esquecidos. Até mesmo repartições inteiras são criadas e extintas ao sabor das circunstâncias. O burocrata, na verdade, nunca sabe o que fará na semana seguinte. Poderá passar os dias carimbando papéis ou reunindo-se com embaixadores, ou mesmo ficar sem qualquer tarefa específica. O resultado é um ambiente de trabalho marcadamente amador, no qual as atividades se dão de forma exploratória e incipiente.</p></blockquote><p>Esta é a tese de doutorado do Nelson, defendida em 2009. Tive o prazer de trabalhar com ele mais ou menos nessa época, no Ministério do Planejamento. Havia me esquecido desse trabalho até pouco tempo atrás, quando trocamos alguns e-mails, e então finalmente decidi colocá-lo em dia. A tese pode ser lida na íntegra, gratuitamente, no <a href="https://repositorio.unb.br/jspui/handle/10482/18548?locale=pt_BR" rel="nofollow">Repositório Institucional da UnB</a>.</p><p>Não tenho muito a acrescentar para "vender" a tese; o resumo do trabalho que copiei acima já faz isso muito melhor do que eu.</p><p>A pesquisa é o resultado de estudos de caso, pesquisa documental (relatórios de auditoria, atividades, etc.), observação direta e relatos de servidores, que foram protegidos pelo anonimato.</p><p>Entre tantos pontos destacados, a burocracia do serviço público é marcada pela <strong>instabilidade</strong> e pela <strong>informalidade</strong>, evidenciada pela ausência de formalização nas rotinas e nas reuniões (sem atas ou pautas). Outro fator notável é a <strong>gestão precária</strong>: chefias são nomeadas sem critérios claros, sem mandato e podem ser removidas arbitrariamente. Algo curioso é que as tarefas são distribuídas sem organização clara, dependendo mais da disposição ou do perfil individual do funcionário. Como diz o ditado: "toda produtividade será punida" — um servidor "pau para toda obra", conhecido por aceitar qualquer tarefa, acaba sendo sobrecarregado, enquanto outro que "faz corpo mole" ou demora a entregar o trabalho será cada vez menos demandado. No fim, esse último pode acabar com uma jornada mais tranquila, algo que talvez fosse sua intenção desde o início.</p><p>Já faz quase cinco anos que deixei de trabalhar na burocracia brasileira (minha última experiência foi na Câmara dos Deputados). Não sei se as coisas continuam iguais — aposto que sim —, mas tenho certeza de que, assim como eu, quem já trabalhou na burocracia reconhecerá várias situações descritas na tese, que facilmente poderiam fazer parte do seu dia a dia.</p><blockquote><p>O chamado "ciclo das políticas públicas" seria formado por algo como "formação
da agenda, formulação, monitoramento e avaliação". Esta imagem, um tanto idealizada e
outro tanto ingênua, é bastante difundida no Serviço Público. Fosse ela uma representação
de como as coisas de fato se dão, poderíamos reescrevê-la, inspirados em ditos dos
próprios servidores, mais ou menos como segue: "caiu de pára-quedas" (nasceu um
projeto), "driblar a burocracia" (estratégia para implementação), o "sapo cururu"
(retrabalho), "deu em água" (morreu um projeto) e "cada enxadada, uma minhoca"
(justificativas para auditores).</p></blockquote>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O cotidiano da burocracia : o amadorismo no dia-a-dia do Serviço Público Federal">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-cotidiano-da-burocracia-o-amadorismo-no-dia-a-dia-do-servico-publico-federal.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[A obscena senhora D e outras histórias]]></title>
            <link>https://www.marcal.dev/a-obscena-senhora-d-e-outras-historias</link>
            <guid isPermaLink="false">/a-obscena-senhora-d-e-outras-historias</guid>
            <pubDate>Sat, 25 Jan 2025 21:03:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="a-obscena-senhora-d-e-outras-historias.webp" src="img/a-obscena-senhora-d-e-outras-historias.webp"></p><blockquote><p>Prosa escolhida de Hilda Hilst, uma das maiores escritoras de língua portuguesa, e que é também um ícone de liberdade e transgressão.Uma obra provocadora e profundamente crua, muitas vezes tomada como imoral, que rompeu cânones literários e expandiu horizontes.</p></blockquote><p>Esse livro é uma coletânea com algumas das principais histórias de Hilda Hilst. Nunca a havia lido antes, então este é meu primeiro contato com a autora.</p><p><strong>21 de Janeiro</strong>: Terminei a história que dá nome ao livro. É interessante, mas muito confusa. Acredito que isso se deva, principalmente, à tentativa de transmitir a instabilidade mental da personagem, a Senhora D. Ela é uma viúva que não conseguiu superar o luto. Vive embaixo da escada de sua própria casa, parece realmente louca, tem visões do falecido, relembra sua vida, não sai de casa, não cuida de sua higiene pessoal, incomoda a vizinhança e acaba sendo vista como "a louca da rua". Hilda consegue, de fato, transmitir a confusão mental da personagem, mas, honestamente, essa abordagem é muito fora da caixa para o meu gosto. Não entendi muita coisa e, sinceramente, não pretendo reler essa história. Voltarei para falar sobre o restante do livro.</p><p><strong>25 de Janeiro</strong>: Abandonei o livro quando estava pouco mais da metade. Não é para mim. Imagino que realmente não seja para qualquer um: são histórias não lineares, que normalmente seguem o fluxo do estado mental do personagem – portanto, passado, presente e futuro se misturam em algumas sentenças. Além disso, a temática trata de assuntos normalmente indizíveis, quase tabu. Como na história do livro "O caderno rosa de Lori Lamby", que é estruturado como o diário de uma jovem de oito anos, Lori Lamby, que descreve de maneira inocente e, ao mesmo tempo, chocante, situações de abuso e exploração sexual, inclusive de forma bem explícita. Sem dúvida, muitas pessoas não conseguiriam digerir isso. Normalmente, não tenho problema com esse tipo de abordagem, mas o estilo da autora, repleto de simbolismos, sua escrita peculiar e os temas – para mim – abordados de uma forma não tão interessante, me fizeram desistir.</p><p>Sem dúvida, há muita originalidade ali, mas acho que não sou o público-alvo. Quem sabe daqui a alguns anos.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=A obscena senhora D e outras histórias">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//img/a-obscena-senhora-d-e-outras-historias.webp" length="0" type="image/webp"/>
        </item>
        <item>
            <title><![CDATA[Putz! Meu blogue foi denunciado por phishing 2]]></title>
            <link>https://www.marcal.dev/putz-meu-blogue-foi-denunciado-por-phishing-2</link>
            <guid isPermaLink="false">/putz-meu-blogue-foi-denunciado-por-phishing-2</guid>
            <pubDate>Sat, 25 Jan 2025 17:12:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>A princípio, tudo foi resolvido. Como mencionei na publicação anterior, <a href="putz-meu-blogue-foi-denunciado-por-phishing">Putz! Meu blogue foi denunciado por phishing</a>, no Google Search Console, recebi um alerta de que o crawler do Google marcou todos os meus subdomínios com alerta de phishing (site enganoso, etc.). Ele me listou um exemplo: um subdomínio privado onde aponto minha instância do <a href="https://github.com/sissbruecker/linkding" rel="nofollow">Linkding</a> — que, para quem não conhece, é um gerenciador de links. Sabe quando salvamos uma página como favorito? Pois é, eu salvo nele.</p><p>Mesmo que eu nunca tenha compartilhado esse link com ninguém, de alguma forma o crawler do Google chegou até ele e marcou como uma página enganosa. Aqui, vale destacar que o Google utiliza sistemas automatizados e IA para detectar possíveis sites perigosos, o que, apesar de eficiente, pode levar a falsos positivos, como aconteceu no meu caso. Suspeito que isso seja resultado de alguma categorização automatizada por IA. Basicamente, acho que acabei ajudando a "treinar" o crawler deles, seja lá como for.</p><p>Quando acessei o Search Console para informar que não havia nada de errado com a página, em menos de um dia, os alertas nos meus domínios foram removidos. (Por sorte, o processo foi rápido no meu caso, mas sei que nem todos têm essa mesma experiência.)</p><p>Claro, essa ferramenta do Google é extremamente útil para alertar os navegantes sobre sites perigosos. Porém, fico pensando nos casos de "falsos positivos" como o meu e no impacto que isso pode ter na reputação de alguém. Imagine o incômodo para quem não consegue retirar esse tipo de alerta! Muitas vezes, as pessoas podem perder credibilidade sem sequer entender o motivo, e o processo de correção, em algumas situações, pode ser complexo ou demorado.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Putz! Meu blogue foi denunciado por phishing 2">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
        </item>
        <item>
            <title><![CDATA[Putz! Meu blogue foi denunciado por phishing]]></title>
            <link>https://www.marcal.dev/putz-meu-blogue-foi-denunciado-por-phishing</link>
            <guid isPermaLink="false">/putz-meu-blogue-foi-denunciado-por-phishing</guid>
            <pubDate>Tue, 21 Jan 2025 23:43:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Qual não foi a minha surpresa ao tentar acessá-lo hoje e me deparar com um alerta vermelho! Não apenas o endereço do meu blog, mas todos os meus domínios em <em>marcal.dev</em> estão com esse aviso.</p><p><img alt="putz-meu-blogue-foi-denunciado-por-phishing" src="img/putz-meu-blogue-foi-denunciado-por-phishing.png"></p><p>Por exemplo, meu projeto ainda em desenvolvimento, <a href="https://books.marcal.dev" rel="nofollow">https://books.marcal.dev</a>, que eu nem sequer divulguei na internet — além de mencioná-lo aqui no blog —, também está marcado com esse alerta.</p><p>Ainda estou tentando entender o que aconteceu. Será que me confundiram com outro Marçal e denunciaram meu domínio para os buscadores? Ou será que algum outro Marçal (existem vários com sites por aí, inclusive outros Vítor Marçal) resolveu denunciar o meu? Vai saber...</p><p>O problema é que eu uso vários serviços de caráter pessoal para facilitar meu dia a dia no meu domínio, e agora, toda vez que tento acessá-los: BAM! Aparece o aviso de "site engano à frente".</p><p>Sacanagem, viu!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Putz! Meu blogue foi denunciado por phishing">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/putz-meu-blogue-foi-denunciado-por-phishing.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Primeira versão do meu book tracker pessoal]]></title>
            <link>https://www.marcal.dev/primeira-versao-do-meu-book-tracker-pessoal</link>
            <guid isPermaLink="false">/primeira-versao-do-meu-book-tracker-pessoal</guid>
            <pubDate>Tue, 21 Jan 2025 23:25:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Eu já tinha comentado sobre a ideia de criar um <strong>book tracker</strong> pessoal separado deste blogue. Em <a href="ideias-para-book-tracker-pessoal-com-markdown">Ideias para Book Tracker Pessoal com Markdown</a>, expliquei melhor o que queria e até me empolguei um pouco, chegando a prototipar como seria o visual básico.</p><p>Nos últimos quinze dias, dediquei uma atenção especial a esse novo projeto. Depois de desenvolver algo bem básico e copiar as publicações sobre livros deste blogue para lá, acho que finalmente tenho uma versão 1.0 do meu <strong>book tracker</strong>.</p><p>Ele não é dinâmico como o Goodreads e, para ser sincero, funciona de forma bem parecida com este blogue. Eu edito as publicações em Markdown com a ajuda do Obsidian e as salvo no repositório do GitHub do projeto. Basicamente, meu <strong>book tracker</strong> é um blogue estático, assim como este aqui. Como já comentei antes, o aspecto social não me interessa muito, então não me incomoda o fato de não ser tão prático quanto um formulário do Goodreads.</p><p><img alt="primeira-versao-do-meu-book-tracker-pessoal" src="img/book-tracker/primeira-versao-do-meu-book-tracker-pessoal-2.png"></p><p>Como mencionei, ele é essencialmente um blogue, mas com um visual que atende à finalidade de eu pesquisar o que li, quando li e o que pensei sobre determinado livro. Não pretendo incluir um RSS por enquanto já que o que eu publicar lá também será publicado aqui.</p><p>Além disso, finalmente encontrei uma forma apropriada de registrar meus pensamentos sobre leituras em andamento. Imagine que posso passar um, dois meses lendo um livro, e durante esse período ter algo a dizer, opiniões a emitir, citações a guardar... Publicar isso "picado" em uma postagem no blogue seria um pouco estranho. Isso acabaria gerando spam no feed, já que cada atualização na "review" do livro seria enviada novamente para consumo via feed.</p><p>Agora, consigo manter as "reviews" sempre abertas lá no <strong>book tracker</strong>, atualizando-as conforme a leitura avança. Depois de finalizar a leitura, posso pegar o conteúdo consolidado e publicar aqui. Ainda estou refinando esse fluxo, pois há muito o que ajustar nesse processo, sem contar as melhorias que quero implementar no projeto.</p><p><img alt="primeira-versao-do-meu-book-tracker-pessoal" src="img/book-tracker/primeira-versao-do-meu-book-tracker-pessoal.png"></p><p>Se você quiser conferir o <a href="https://github.com/vitormarcal/books.marcal.dev" rel="nofollow">código do projeto no GitHub</a> e, quem sabe, copiar a ideia, fique à vontade! É bem simples de configurar e posso ajudar se precisar.</p><p>Então é isso! Voltarei a falar sobre o projeto assim que tiver atualizações interessantes. Até a próxima!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Primeira versão do meu book tracker pessoal">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>programacao</category>
            <enclosure url="https://www.marcal.dev/img/book-tracker/primeira-versao-do-meu-book-tracker-pessoal.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Neon Genesis Evangelion Collector's Edition Vol. 06]]></title>
            <link>https://www.marcal.dev/neon-genesis-evangelion-collectors-edition-vol-06</link>
            <guid isPermaLink="false">/neon-genesis-evangelion-collectors-edition-vol-06</guid>
            <pubDate>Thu, 16 Jan 2025 22:31:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="neon-genesis-evangelion-collectors-edition-vol-06" src="img/neon-genesis-evangelion-collectors-edition-vol-06.jpg"></p><blockquote><p>Preso às dúvidas e à solidão, após perder mais uma vez pessoas que lhe são queridas, Shinji se vê passando por uma profunda crise. Enquanto isso, a Seele decide agir para combater Gendo Ikari. A NERV está sob ataque e verdades perturbadoras estão prestes a vir à tona.</p></blockquote><p>Eu sou suspeito para falar. Adoro a animação e gosto do final, que é bastante polêmico e divide opiniões. Dito isso, estou adorando acompanhar essa história pelo mangá pela primeira vez. Ele esclarece muitos pontos que, na animação, parecem estranhos ou fora de lugar. Até o momento, para mim, o mangá parece superior ao anime, guardadas as devidas proporções, já que são mídias diferentes.</p><p>Neste volume, vemos Shinji enfrentando um quadro claro de depressão, se distanciando das pessoas e sentindo que não vale a pena criar conexões, já que "todos irão abandoná-lo de qualquer forma". Ele sente que sua vida não faz sentido e que não possui um lugar claro no mundo — exceto como a ferramenta que pilota o EVA. O volume traz explicações cruciais para a obra, conectando elementos como Adão, os Anjos, os Evas e a Humanidade, além de abordar o papel da Seele e da Nerv no Plano de Instrumentalização.</p><p>Tenho noção de que essa não é uma história para todos, não porque seja pesada — não é, embora possa conter gatilhos devido ao estado psicológico dos personagens —, mas porque pode ser considerada confusa (algo que o mangá esclarece bem mais que a animação) ou até mesmo monótona em alguns momentos. Eu, porém, adoro. E sei que, depois de terminar o último volume, vou querer maratonar novamente as animações. Recomendo muito!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Neon Genesis Evangelion Collector's Edition Vol. 06">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/neon-genesis-evangelion-collectors-edition-vol-06.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Nosferatu (2025)]]></title>
            <link>https://www.marcal.dev/nosferatu-2025</link>
            <guid isPermaLink="false">/nosferatu-2025</guid>
            <pubDate>Tue, 07 Jan 2025 09:22:00 GMT</pubDate>
            <description><![CDATA[Succumb to the darkness.]]></description>
            <content:encoded><![CDATA[
            <p>Adoro tudo sobre vampiros, especialmente aqueles que remetem à mitologia raiz. <strong>Nosferatu</strong> não decepcionou nesse aspecto.</p><p>Devo admitir que, em alguns momentos, a escuridão me incomodou um pouco, mas entendo completamente que essa é a proposta do filme. Acredito que essa técnica foi usada para criar uma atmosfera de <em>pura maldade</em>, onde a luz e a esperança não existem.</p><p><img alt="nosferatu-2025" src="img/movies/2025/nosferatu-2025-a.png"></p><p>Apesar da constante escuridão, o filme trouxe ótimos momentos de luz que contrastam de forma marcante com a ambientação sombria.</p><p>Willem Dafoe, mais uma vez, entregou uma atuação insana. Ele é simplesmente "o cara", sem dúvidas!</p><p><img alt="nosferatu-2025" src="img/movies/2025/nosferatu-2025-b.png"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Nosferatu (2025)">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>video</category>
            <enclosure url="https://www.marcal.dev/img/movies/2025/nosferatu-2025.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Leituras de 2025 📚]]></title>
            <link>https://www.marcal.dev/leituras-de-2025</link>
            <guid isPermaLink="false">/leituras-de-2025</guid>
            <pubDate>Mon, 06 Jan 2025 22:16:00 GMT</pubDate>
            <description><![CDATA[Minha lista de leitura para o ano de 2025 abrange o que já foi lido, está sendo lido e o que desejo ler.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Leituras de 2025 - Uma biblioteca medieval cheia até a borda com livros antigos. As estantes estão transbordando com tomos velhos e desgastados, alguns empilhados de maneira desorganizada" src="img/leituras-do-ano/biblioteca-medieval.webp"></p><p>Assim como no <a href="leituras-de-2024">ano passado</a>, em 2025 também registrarei em uma publicação fixa o andamento das minhas leituras. Portanto, trouxe os livros desejados do ano passado que não consegui ler naquela época e inicio aqui minha nova jornada.</p><p>Estarei registrando experimentalmente também no meu novo blog de acompanhamento de leituras. Ainda não sei que nome dar a isso; lá está como <em>marcal's book tracker</em>, mas não se apegue ao nome — isso está em <em>beta</em> e encontrarei um nome melhor.</p><hr><p>Caso tenha curiosidade:</p><ul><li><a href="https://books.marcal.dev/" rel="nofollow">Confira meu novo book tracker</a> - em desenvolvimento.</li><li>Ou veja o que eu li em <a href="leituras-de-2024">2024</a>.</li></ul><hr><h2 id="sumário">Sumário</h2><ul><li><a href="#lendo">Lendo</a></li><li><a href="#lidos">Lidos</a></li><li><a href="#abandonados">Abandonados</a></li><li><a href="#quero-ler">Quero Ler</a><ul><li><a href="#literatura-e-fic%C3%A7%C3%A3o">Literatura e Ficção</a></li><li><a href="#cultura-pop-e-hqs">Cultura Pop e HQs</a></li><li><a href="#ci%C3%AAncias-e-conhecimento-geral">Ciências e Conhecimento Geral</a></li><li><a href="#educa%C3%A7%C3%A3o-e-estudos-t%C3%A9cnicos">Educação e Estudos Técnicos</a></li></ul></li></ul><h2 id="lendo">Lendo</h2><h2 id="lidos">Lidos</h2><ol><li><a href="neon-genesis-evangelion-collectors-edition-vol-06">Neon Genesis Evangelion Collector's Edition Vol. 06</a>, por Yoshiyuki Sadamoto - 2025-01-15</li><li><a href="o-cotidiano-da-burocracia-o-amadorismo-no-dia-a-dia-do-servico-publico-federal">O cotidiano da burocracia : o amadorismo no dia-a-dia do Serviço Público Federal</a>, por Nelson do Vale Oliveira - 2025-01-26</li><li><a href="memorias-postumas-de-bras-cubas">Memórias póstumas de Brás Cubas</a>, por Machado de Assis, 2025-01-31</li><li><a href="o-ninho-do-terror">O Ninho do Terror</a>, por Gregory A. Douglas - 2025-02-06</li><li><a href="necron-volume-5-a-nobreza-depravada">Necron - Volume 5: A Nobreza Depravada</a>, por Magnus - 2025-02-09</li><li><a href="necron-volume-6-massacre-no-trem-noturno">Necron - Volume 6: Massacre no Trem Noturno</a>, por Magnus - 2025-02-09</li><li><a href="manual-de-psicologia-cognitiva">Manual de psicologia cognitiva</a>, por Michael W. Eysenck - 2025-03-24</li><li><a href="leituras/battle-royale-omnibus/battle-royale-omnibus-volume-2">Battle Royale Omnibus: Volume 2</a>, por Koushun Takami - 2025-03-29</li><li><a href="leituras/novelas-completas-tolstoi-editora-todavia">Novelas completas: Felicidade conjugal, A morte de Ivan Ilitch, Sonata a Kreutzer, Padre Siérgui</a>, por Liev Tolstói - 2025-04-15</li><li><a href="neon-genesis-evangelion-collectors-edition-vol-07">Neon Genesis Evangelion Collector's Edition Vol. 07</a>, por Yoshiyuki Sadamoto - 2025-05-04</li><li><a href="leituras/craftsmanship-limpo">Craftsmanship Limpo - Disciplinas, Padrões e Ética</a>, por Robert C. Martin - 2025-05-26</li><li><a href="leituras/ddd-destilado">Domain-Driven Design Destilado</a>, por Vaughn Vernon - 2025-05-26</li><li><a href="leituras/deadworld/deadworld-volume-1">Deadworld: Volume 1</a>, por Stuart Kerr - 2025-06-15</li><li><a href="leituras/the-boys/the-boys">The Boys</a>, por Garth Ennis - 2025-06-19</li><li><a href="leituras/kick-ass/kick-ass-volume-1">Kick-Ass: A Era de Dave Lizewski - Volume 1</a>, por Mark Millas - 2025-06-19</li><li><a href="leituras/kick-ass/kick-ass-volume-2">Kick-Ass: A Era de Dave Lizewski - Volume 2</a>, por Mark Millas - 2025-07-09</li><li><a href="leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-1">O Espetacular Homem-Aranha - Edição Definitiva : Volume 1</a>, por Stan Lee, Steve Ditko - 2025-07-09</li><li><a href="/leituras/os-miseraveis/os-miseraveis-por-victor-hugo-livro-1">Os Miseráveis, por Victor Hugo</a> - 2025-07-23</li><li><a href="leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-2">O Espetacular Homem-Aranha - Edição Definitiva : Volume 2</a>, por Stan Lee - 2025-08-01</li><li><a href="leituras/o-espetacular-homem-aranha-edicao-definitiva/o-espetacular-homem-aranha-edicao-definitiva-vol-3">O Espetacular Homem-Aranha - Edição Definitiva : Volume 3</a>, por Stan Lee - 2025-08-22</li><li><a href="leituras/les-profs/les-profs-tome-1-interro-surprise">Les Profs</a>, por Erroc, Pica, Jacqueline Guénard - 2025-08-22</li><li><a href="leituras/pastel/le-plat-du-loup-plat">Le plat du loup plat</a>, por Michel Van Zeveren - 2025-08-22</li><li><a href="/leituras/asterix/asterix-le-gaulois-v1">Astérix vol 1 : Asterix le Gaulois</a>, por Rene Goscinny - 2025-09-12</li><li><a href="/leituras/criando-microsservicos-por-sam-newman">Criando Microsserviços</a>, por Sam Newman - 2025-09-22</li><li><a href="leituras/fundacao/fundacao">Fundação</a>, por Isaac Asimov - 2025-09-30</li><li><a href="/leituras/o-alienista/o-alienista">O alienista</a>, por Machado de Assis - 2025-10-10</li><li><a href="/leituras/novas-comedias-da-vida-privada/novas-comedias-da-vida-privada">Novas Comédias da Vida Privada: 123 Crônicas  Escolhidas</a>, por Luis Fernando Verissimo - 2025-10-11</li><li><a href="/leituras/kick-ass/kick-ass-volume-3">Kick-Ass: A Era de Dave Lizewski - Volume 3</a>, por Mark Millas - 2025-11-10</li><li><a href="/leituras/kick-ass/kick-ass-volume-4">Kick-Ass: A Era de Dave Lizewski - Volume 4</a>, por Mark Millas - 2025-10-14</li><li><a href="/leituras/dom-casmurro/dom-casmurro">Dom Casmurro</a>, por Machado de Assis - 2025-10-15</li><li><a href="/leituras/blade-a-lamina-do-imortal/blade-vol-1">Blade: A Lâmina do Imortal - Volume 1</a>, por Hiroaki Samura - 2025-10-20</li><li><a href="/leituras/blade-a-lamina-do-imortal/blade-vol-2">Blade: A Lâmina do Imortal - Volume 2</a>, por Hiroaki Samura - 2025-10-21</li><li><a href="/leituras/blade-a-lamina-do-imortal/blade-vol-3-e-4">Blade: A Lâmina do Imortal - Volume 3</a>, por Hiroaki Samura - 2025-10-23</li><li><a href="/leituras/blade-a-lamina-do-imortal/blade-vol-3-e-4">Blade: A Lâmina do Imortal - Volume 4</a>, por Hiroaki Samura - 2025-11-20</li><li><a href="/leituras/o-gene-egoista-por-richard-dawkins">O gene egoísta</a>, por Richard Dawkings - 2025-11-20</li><li><a href="/leituras/engenharia-de-plataforma-um-guia">Engenharia de Plataforma: Um guia para líderes técnicos, de produtos e de pessoas</a>, por Camille Fournier - 2025-11-20</li></ol><h2 id="abandonados">Abandonados</h2><p>A vida é curta demais, e há muito mais sendo publicado por aí para nos forçarmos em uma leitura.</p><ol><li><a href="a-obscena-senhora-d-e-outras-historias">A Obscena Senhora D e outras histórias</a>, por Hilda Hist - 2025-01-25</li><li><a href="leituras/rapido-e-devagar-duas-formas-de-pensar">Rápido e devagar: Duas formas de pensar</a>, por Daniel Kahneman - 2025-04-21</li><li>Pré-Cálculo - Uma Preparação para o Cálculo, por Sheldon Axler - 2025-12-31</li><li>Astérix vol 2 : La serpe d'or, por Rene Goscinny - 2025-12-31</li></ol><h2 id="quero-ler">Quero Ler</h2><p>Esta lista reúne itens que encontrei e quero manter em mente. É como uma estante de biblioteca contendo apenas livros do meu interesse. Quando quiser ler algo, posso escolher qualquer uma das opções que já chamaram minha atenção. Em cada seção, coloquei uma descrição para me ajudar a agrupar livros de interesse com outros semelhantes.</p><h3 id="literatura-e-ficção">Literatura e Ficção</h3><p>Nesta seção, reúno romances, ficção literária e obras clássicas que abrangem diferentes estilos e temas, focando sempre na narrativa e na prosa. Agrupar esses livros é útil quando quero explorar histórias — sejam psicológicas, históricas ou de aventura — que prometem envolver o leitor em uma experiência literária profunda e impactante.</p><ul><li>Advogado do Diabo, de Andrew Neiderman</li><li>Alerta vermelho, de Martha Wells</li><li>Anna Kariênina, de Lev Tolstói</li><li>As vinhas da ira (edição de bolso), de John Steinbeck</li><li>Herdeiros do Tempo, de Adrian Tchaikovsky</li><li>Macunaíma, por Mário de Andrade</li><li>Matéria Escura, de Blake Crouch e Alexandre Raposo</li><li>Tropas estelares, de Robert A. Heinlein</li><li>Voladoras, de Mónica Ojeda</li><li>Quincas Borba, por Machado de Assis</li><li>Esaú e Jacó, por Machado de Assis</li></ul><h3 id="cultura-pop-e-hqs">Cultura Pop e HQs</h3><p>Nesta seção, encontro mangás, graphic novels e obras populares da cultura geek e pop. São leituras que exploram temas visuais, histórias seriadas e adaptações de anime. Essa categoria é perfeita para momentos em que busco uma experiência de leitura mais leve e visualmente envolvente.</p><ul><li>30 Dias de Noite: Edição Comemorativa, de Steve Niles</li><li>Battle Royale Omnibus, por Koushun Takami
<ul><li>Battle Royale Omnibus: Volume 3, por Koushun Takami</li><li>Battle Royale Omnibus: Volume 4, por Koushun Takami</li><li>Battle Royale Omnibus: Volume 5, por Koushun Takami</li></ul></li><li>Berserk Vol. 36: Edição Luxo, por Kentaro Miura</li><li>Borboleta Assassina
<ul><li>Borboleta Assassina: Volume 2, por Yuka Nagate</li><li>Borboleta Assassina: Volume 3, por Yuka Nagate</li></ul></li><li>Buda, por Osamu Tezuka
<ul><li>Buda: Volume 5, por Osamu Tezuka</li><li>Buda: Volume 6, por Osamu Tezuka</li><li>Buda: Volume 7, por Osamu Tezuka</li><li>Buda: Volume 8, por Osamu Tezuka</li></ul></li><li>Condado Maldito, por Cullen Bunn
<ul><li>Condado Maldito: Volume 2 - Maus Presságios, por Cullen Bunn</li><li>Condado Maldito: Volume 3 - Encantadora de Serpentes, por Cullen Bunn</li><li>Condado Maldito: Volume 4 - Herança de Família, por Cullen Bunn</li><li>Condado Maldito: Volume 5 - Almas Abandonadas, por Cullen Bunn</li><li>Condado Maldito: Volume 6 - Magia em Conflito, por Cullen Bunn</li><li>Condado Maldito: Volume 7 - Temporada das Sombras, por Cullen Bunn</li><li>Condado Maldito: Volume 8 - Guerra das Bruxas, por Cullen Bunn</li></ul></li><li>Devil Ecstasy Vol. 1, por Shuzo Oshimi</li><li>DRCL midnight children, por Shin’ichi Sakamoto
<ul><li>DRCL midnight children, Vol. 1 (English Edition), por Shin’ichi Sakamoto</li><li>DRCL midnight children, Vol. 2 (English Edition), por Shin’ichi Sakamoto</li><li>DRCL midnight children, Vol. 3 (English Edition), por Shin’ichi Sakamoto</li><li>DRCL midnight children, Vol. 4 (English Edition), por Shin’ichi Sakamoto</li></ul></li><li>LEVIATHAN - Vol. 01, por Shiro Kuroi</li><li>Monstro do Pântano: Edição Absoluta, por Alan Moore
<ul><li>Monstro do Pântano Vol. 2: Edição Absoluta, por Alan Moore</li></ul></li><li>Necron, por Magnus
<ul><li>Necron - Volume 7: A Baleia de Aço, por Magnus</li><li>Necron - Volume 8: O Homem Peixe, por Magnus</li><li>Necron - Volume 9: O Rei dos Canibais, por Magnus</li><li>Necron - Volume 10: Os Mortos-Vivos, por Magnus</li></ul></li><li>Ping Pong, por Tayo Matsumoto
<ul><li>Ping Pong Vol. 1, por Tayo Matsumoto</li><li>Ping Pong Vol. 2, por Tayo Matsumoto</li></ul></li><li>Quack: O Caminho do Vento, por Kaji Pato</li></ul><h3 id="ciências-e-conhecimento-geral">Ciências e Conhecimento Geral</h3><p>Aqui estão os livros de ciências, filosofia, política e outras áreas que focam em conhecimento e divulgação científica. Incluí temas amplos e transversais, desde história da matemática e ecologia até antropologia e política. São temas que contribuem para um entendimento mais amplo do mundo, da sociedade e do pensamento humano.</p><ul><li>A fascinante história da matemática, por Mickaël Launay</li><li>A utilidade do inútil: Um manifesto, por Nuccio Ordine</li><li>As Ideias Têm Consequências, de Richard Weaver</li><li>Ciência na alma: Escritos de um racionalista fervoroso, por Richard Dawkins</li><li>Como as democracias morrem, por Steven Levitsky</li><li>Escravidão – Volume 1: Do primeiro leilão de cativos em Portugal até a morte de Zumbi dos Palmares, de Laurentino Gomes</li><li>False Alarm: How Climate Change Panic Costs Us Trillions, Hurts the Poor, and Fails to Fix the Planet, por Bjorn Lomborg</li><li>História da Matemática, por Carl B. Boyer</li><li>Ignorância: Uma história global, por Peter Burke</li><li>Infinitesimal: A teoria matemática que revolucionou o mundo, por Amir Alexander</li><li>O Homem que Calculava, por Malba Tahan <span style="color: red">(releitura)</span></li><li>O mundo assombrado pelos demônios, por Carl Sagan <span style="color: red">(releitura)</span></li><li>O novo Iluminismo: Em defesa da razão, da ciência e do humanismo, por Steven Pinker</li></ul><h3 id="educação-e-estudos-técnicos">Educação e Estudos Técnicos</h3><p>Aqui entram livros que têm um caráter mais instrutivo e técnico.</p><ul><li>Cálculo: Volume 1 por James Stewart</li><li>Calculus: Early Transcendentals por William Briggs</li><li>Crucial Confrontations: Tools for Resolving Broken Promises, Violated Expectations, and Bad Behavior por Joseph Grenny e outros</li><li>Implementing Domain-Driven Design por Vaughn Vernon <span style="color: red">(releitura)</span></li><li>Inspired: How to Create Tech Products Customers Love por Marty Cagan</li><li>Passo a passo - inglês por Charles Berlitz</li><li>Redes de Computadores por Nick Feamster</li><li>Release It!: Design and Deploy Production-Ready Software por Michael T. Nygard</li><li>The Mythical Man-Month: Essays on Software Engineering por Frederick P. Brooks Jr. e outros <span style="color: red">(releitura)</span></li><li>The Oz Principle: Getting Results Through Individual and Organizational Accountability por Craig Hickman e outros</li></ul>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Leituras de 2025 📚">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>portugues</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev/img/leituras-do-ano/biblioteca-medieval.webp" length="0" type="image/webp"/>
        </item>
        <item>
            <title><![CDATA[Ideias para Book Tracker Pessoal com Markdown]]></title>
            <link>https://www.marcal.dev/ideias-para-book-tracker-pessoal-com-markdown</link>
            <guid isPermaLink="false">/ideias-para-book-tracker-pessoal-com-markdown</guid>
            <pubDate>Sun, 05 Jan 2025 19:50:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <hr><p>Ano passado, deixei de usar o GoodReads e passei a registrar minhas leituras, livros abandonados ou que desejo ler diretamente aqui no blog. Para 2024, por exemplo, já existe uma <a href="leituras-de-2024">publicação</a> que documenta minhas explorações literárias. É possível listar todos os livros que li navegando pelas <a href="tags/mdc">categorias</a> do site e acessando a tag <code class="">livro</code> , ou diretamente pelo filtro de <a href="tags/livros">livros</a>.</p><p>Minha decisão de abandonar o GoodReads foi motivada por alguns fatores. A interface da plataforma é antiquada e parece ter parado no tempo. Além disso, o aspecto social do site nunca foi algo que me atraiu muito; eu só queria uma ferramenta para registrar minhas leituras e fazer anotações simples. Foi isso que me levou a migrar para o blog, onde tenho total controle.</p><p>No blog, já comentei resumidamente como funciona o processo de publicação <a href="sobre">aqui</a>. O fluxo é simples: crio um arquivo Markdown no Obsidian, utilizo um template de postagem, preencho as informações necessárias, adiciono uma imagem (se for o caso) e escrevo algumas linhas. Depois, envio para o GitHub e pronto: está na internet. Claro, não é tão prático quanto o GoodReads, onde basta acessar a página do livro, marcar que foi lido e adicionar um comentário. Porém, o meu método tem vantagens significativas. Sem distrações sociais, o conteúdo é meu, o formato é meu, e, se um dia eu quiser migrar para outro lugar, será fácil, já que o Markdown é um formato amplamente suportado por editores como Obsidian, Notion e Evernote.</p><p><img alt="Tela do meu editor Obsidian mostrando um arquivo Markdown - a publicação Hokuto no Ken Volume 18, disponível neste blogue. É possível ver todos metadados do arquivo" src="img/book-tracker/editor-obsidian-1.png">
Tela do meu Obsidian, repare os metadatas como title, description etc.</p><p>Após um ano registrando cada livro lido, abandonado ou que desejo ler, pensei: e se eu aproveitasse esses arquivos para criar um "book tracker"? Atualmente, o blog já funciona como um tracker simples, com postagens e uma lista de livros lidos, cada item linkado para a respectiva resenha. Mas imaginei algo mais visual. Poderia criar uma página específica, diferente do layout padrão do blog, talvez até gerar estatísticas automaticamente. Achei a ideia interessante!</p><p>Como não sou um designer, comecei com protótipos básicos para explorar as possibilidades. Primeiro, criei uma página simples com os últimos livros lidos. O layout é básico, mas já é algo diferente do restante do blog, servindo como prova de conceito.</p><p><img alt="book tracker - prova de conceito, uma tela lista últimos livros lidos, escala preto e branco" src="img/book-tracker/book-tracker-1.png"></p><p>Depois, pensei em uma página de detalhes de cada livro. Atualmente, armazeno no Markdown metadados como autor, título, data de leitura e um comentário (que pode variar de algumas linhas a textos mais longos). O Obsidian tem sido um grande aliado na edição desses textos. Mais uma vez, as cores e o layout não são nada impressionantes — são apenas experimentações, sem código real.</p><p><img alt="book tracker - prova de conceito, tela de livro lido, escala com cores quentes" src="img/book-tracker/book-tracker-2.png"></p><p>Também considerei integrar a edição das resenhas diretamente na interface, via formulário. No entanto, já uso o Obsidian, que considero o melhor editor atualmente, então seria difícil superar essa experiência. Além disso, meu blog não usa banco de dados; ele é gerado estaticamente a partir dos arquivos Markdown. Adicionar backend e banco de dados foge do propósito atual, mas fica como ideia para explorar no futuro.</p><p><img alt="book tracker - prova de conceito, tela de livro lido, com formulário de salvar resenha" src="img/book-tracker/book-tracker-3.png"></p><p>Por fim, imaginei incluir mais informações nos metadados do Markdown, como ISBN, número de páginas, gênero, detalhes do autor e até livros relacionados que já li. Poderia até criar uma interface para exibir essas informações. Pensei em destacar a cor dominante da capa do livro como fundo do cabeçalho de cada página, o que daria um toque único a cada entrada. Ainda não sei como implementar isso automaticamente, mas seria divertido tentar. Também considerei incluir uma citação do livro no cabeçalho, o que é relativamente fácil de fazer adicionando um campo no metadata.</p><p><img alt="book tracker 4" src="img/book-tracker/book-tracker-4.png"></p><p>Esses layouts ainda não são definitivos, mas já comecei a programar algumas ideias. Planejo criar páginas diferentes, como listas de leituras por ano ou leituras favoritas, além de estatísticas. Apesar de não serem os designs mais bonitos, gosto mais do meu estilo "esquisito" do que das opções engessadas de plataformas como o GoodReads. Use suas próprias <code class="">merdas</code>. No fim das contas, esse projeto é mais sobre diversão do que utilidade, mas espero alcançar um resultado que me deixe satisfeito!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Ideias para Book Tracker Pessoal com Markdown">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>programacao</category>
            <enclosure url="https://www.marcal.dev/img/book-tracker/book-tracker-4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Novas velhas metas]]></title>
            <link>https://www.marcal.dev/novas-velhas-metas</link>
            <guid isPermaLink="false">/novas-velhas-metas</guid>
            <pubDate>Tue, 31 Dec 2024 18:09:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <h2 id="conteúdo">Conteúdo</h2><ul><li><a href="#novas-velhas-metas">Novas velhas metas</a></li><li><a href="#ei-olha-isso">Ei, olha isso!</a></li></ul><h2 id="novas-velhas-metas">Novas velhas metas</h2><p>Então é isso, um ano novo, novas velhas metas. Para este próximo ano, vou tentar me cobrar menos. Em vez de tentar atingir grandes objetivos, como correr uma maratona, vou focar na criação de bons e pequenos hábitos. Que tal, por exemplo, correr ou caminhar duas ou três vezes por semana?</p><ul><li><strong>Me movimentar mais</strong>: seja puxando ferro ocasionalmente, seja caminhando ou correndo (prefiro os dois últimos, confesso).</li><li><strong>Reduzir o consumo de açúcar</strong>: como muito doce, especialmente sob estresse. Cultivar o hábito de caminhar pode ajudar a controlar isso.</li><li><strong>Pedir menos delivery e sair mais para comer</strong>: a praticidade do delivery é imbatível, mas o dinheiro gasto mensalmente com fast food é surreal. Prefiro gastar mais para comer bem em um restaurante do que fazer 10 pedidos de qualidade duvidosa.</li><li><strong>Conhecer mais cafeterias e restaurantes</strong>: adoro cafeterias! Apesar de precisar me deslocar um pouco para encontrar boas opções, normalmente vale muito a pena. De novo, melhor frequentar dois ou três lugares legais do que pedir hamburgueres duvidosos em casa. Menos quantidade, mais qualidade.</li><li><strong>Continuar com o hábito da leitura</strong>: já leio frequentemente, e apesar de postar a quantidade de livros lidos no ano, os números não são o mais importante. Esse ano, percebi que tenho lido muitos mangás, quadrinhos e graphic novels. Não há nada de errado nisso — eu gosto muito —, mas também adoro ficção, livros de divulgação científica, política, filosofia e história. Para o próximo ano, quero incluir mais leituras desse tipo, pois há muita coisa que quero explorar nessas áreas.</li><li><strong>Sair mais, conhecer novos lugares, ter novas experiências</strong>: isso não significa apenas viajar para outro estado ou país, embora eu adoraria se isso acontecesse. Também quero explorar o que está por perto e ainda não conheço, como uma cachoeira, uma trilha, um campo de girassóis (tem um aqui perto e nunca fui), ou uma vinícola.</li><li><strong>Continuar meus estudos</strong>: quero manter o foco em matemática e idiomas, especialmente inglês e francês.</li></ul><p>É tentador estabelecer novas metas e tentar metrificá-las, mas isso pode ser bem tóxico. Às vezes, o foco se perde nos números e esquecemos que a mudança pode ser gradual e lenta — e está tudo bem! Caminhar por uma hora não é o mesmo que correr 20 quilômetros, mas ainda assim tem seus benefícios. Ler um quadrinho, mesmo que você não tenha conseguido terminar <em>Os Miseráveis</em>, já é um ótimo progresso para quem está começando a criar o hábito da leitura.</p><p>Com isso, me despeço. Desejo a todos um Feliz Ano Novo e até o ano que vem!</p><h2 id="ei-olha-isso">Ei, olha isso!</h2><p>Mais alguns links interessantes. Muitos não foram publicados recentemente, mas estavam nos meus favoritos esperando serem lidos. Se quiser, pode conferir os <a href="chatvault#ei-olha-isso">links da última edição</a>.</p><ol><li><strong><a href="https://curadoria.bearblog.dev/obsidian-web-clipper/" rel="nofollow">Obsidian Web Clipper do blogue Curadoria da Internet</a></strong> comenta sobre uma forma de salvar uma página web para preservar ou ler depois. Costumo utilizar o <a href="https://github.com/sissbruecker/linkding/" rel="nofollow">Linkding</a> , mas é sempre bom saber de alternativas.</li><li><strong><a href="https://youtu.be/wnmVKJn_Fdg?si=scm1SvEBXbSrihP0" rel="nofollow">(VÍDEO)Usando a HISTÓRIA DA LITERATURA pra aproveitar mais seus livros!</a></strong> do pequeno canal do professor Rodrigo Leão, com informações riquíssimas que nos empolgam a ler cada vez mais.</li><li><strong><a href="https://itsrio.org/pt/artigos/o-declinio-do-terceiro-lugar/" rel="nofollow">O declínio do terceiro lugar</a></strong> aborda o declínio de certos espaços de convivência, chamados de <strong>terceiros lugares</strong>, como cafés, clubes e parques, contrastando com os dois outros lugares: a casa e o trabalho.</li><li><strong><a href="https://stackingthebricks.com/how-blogs-broke-the-web/" rel="nofollow">How the Blog Broke the Web</a></strong> reflete sobre os primeiros dias da internet e a transição das homepages estáticas para blogs, e, finalmente, para os formulários de criação de conteúdo, como Instagram, Facebook, e X.</li><li><strong><a href="https://www.youtube.com/watch?v=xwU5xkXj7Kw" rel="nofollow">(VÍDEO) Kindle has a big problem, so I'm leaving it behind.</a></strong> Resumidamente, entre outros problemas, a Amazon pode remover do seu Kindle um e-book que você tenha comprado na loja dela.</li></ol>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Novas velhas metas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>bookmarks</category>
            <enclosure url="https://www.marcal.dev/img/Sans titre.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Bookmarks 🔖]]></title>
            <link>https://www.marcal.dev/bookmarks</link>
            <guid isPermaLink="false">/bookmarks</guid>
            <pubDate>Tue, 31 Dec 2024 18:00:00 GMT</pubDate>
            <description><![CDATA[Links interessantes]]></description>
            <content:encoded><![CDATA[
            <hr><p>Links interessantes coletados. Eu os compartilho em outras publicações, mas vou mantê-los reunidos aqui para melhor organização e referência.</p><hr><p>Apareceu primeiro em <a href="novas-velhas-metas">Novas Velhas Metas</a></p><ol><li><strong><a href="https://curadoria.bearblog.dev/obsidian-web-clipper/" rel="nofollow">Obsidian Web Clipper do blogue Curadoria da Internet</a></strong> comenta sobre uma forma de salvar uma página web para preservar ou ler depois. Costumo utilizar o <a href="https://github.com/sissbruecker/linkding/" rel="nofollow">Linkding</a> , mas é sempre bom saber de alternativas.</li><li><strong><a href="https://youtu.be/wnmVKJn_Fdg?si=scm1SvEBXbSrihP0" rel="nofollow">(VÍDEO)Usando a HISTÓRIA DA LITERATURA pra aproveitar mais seus livros!</a></strong> do pequeno canal do professor Rodrigo Leão, com informações riquíssimas que nos empolgam a ler cada vez mais.</li><li><strong><a href="https://itsrio.org/pt/artigos/o-declinio-do-terceiro-lugar/" rel="nofollow">O declínio do terceiro lugar</a></strong> aborda o declínio de certos espaços de convivência, chamados de <strong>terceiros lugares</strong>, como cafés, clubes e parques, contrastando com os dois outros lugares: a casa e o trabalho.</li><li><strong><a href="https://stackingthebricks.com/how-blogs-broke-the-web/" rel="nofollow">How the Blog Broke the Web</a></strong> reflete sobre os primeiros dias da internet e a transição das homepages estáticas para blogs, e, finalmente, para os formulários de criação de conteúdo, como Instagram, Facebook, e X.</li><li><strong><a href="https://www.youtube.com/watch?v=xwU5xkXj7Kw" rel="nofollow">(VÍDEO) Kindle has a big problem, so I'm leaving it behind.</a></strong> Resumidamente, entre outros problemas, a Amazon pode remover do seu Kindle um e-book que você tenha comprado na loja dela.</li></ol><hr><p>Apareceu primeiro em <a href="chatvault">Chatvault</a></p><ol><li><strong><a href="https://aftermath.site/best-active-forums-internet-today" rel="nofollow">Forums Are Still Alive, Active, And A Treasure Trove Of Information</a></strong> uma rica coletânea de foruns que ainda estão disponiveis por aí.</li><li><strong><a href="https://writingexamples.com/" rel="nofollow">Writing Examples</a></strong> é uma plataforma gratuita dedicada a celebrar e analisar grandes obras da literatura. O objetivo é fornecer exemplos práticos que ajudem escritores e entusiastas a aprimorar suas habilidades, inspirando-se nos mestres da literatura.</li><li><strong><a href="https://jamesg.blog/2024/02/19/personal-website-ideas/" rel="nofollow">Personal Website Ideas</a></strong> de James G. tem algumas ideias legais para o que se fazer em um site pessoal.</li><li><strong><a href="https://32bit.cafe/websiteideas/" rel="nofollow">Ideas for Your Personal Website</a></strong> Mesma ideia do link anterior: você acabou de fazer um site, e agora o que fazer?</li></ol><hr><p>Apareceu primeiro em <a href="descobri-retrowave">Descobri Retrowave</a></p><ol><li><strong><a href="https://memoriamagazine.blogspot.com/2024/08/bau-de-revistas-kripta-1976.html" rel="nofollow">Baú de Revistas | KRIPTA (1976)</a></strong> Um resgate da memória da revista de terror e suspense <em>Kripta</em>, que fez bastante sucesso nos anos 70 e 80.</li><li><strong><a href="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/" rel="nofollow">Where have all the websites gone?</a></strong> Um apelo à reconstrução de uma web mais descentralizada, incentivando a criação e o compartilhamento de links para sites independentes, resgatando o espírito exploratório da "velha" internet.</li><li><strong><a href="https://public.work" rel="nofollow">Public Work</a></strong>  Um mecanismo de busca para conteúdo de domínio público. Explore mais de 100.000 imagens livres de direitos autorais do The MET, New York Public Library, entre outras fontes.</li><li><strong><a href="https://cari.institute/aesthetics" rel="nofollow">Index of Aesthetics</a></strong> Como o nome sugere, é um índice de estilos e estéticas, catalogando tendências que surgiram ao longo das décadas, como <em>Synthwave</em> ou <em>Retrowave</em>, que celebra a cultura dos anos 80 com visual neon.</li></ol><hr><p>Apareceu primeiro em <a href="links-interessantes-1-2024">Links Interessantes #1 2024 🔖</a></p><ol><li><strong><a href="https://neustadt.fr/essays/against-a-user-hostile-web/" rel="nofollow">Against an Increasingly User-Hostile Web</a></strong> - critica a web moderna por limitar a liberdade do usuário e defende uma internet mais aberta e controlada pelos próprios usuários.</li><li><strong><a href="https://neustadt.fr/essays/the-small-web/" rel="nofollow">The Small Web</a></strong> defende uma web mais simples, focada em interações humanas significativas, em contraste com a complexidade e escala das plataformas dominantes. "Se a web comercial é 'industrial', pode-se dizer que a pequena web é 'artesanal'."</li><li><strong><a href="https://amontalenti.com/2024/06/19/backups-restic-rclone" rel="nofollow">Linux backup workflow for hackers with restic, rclone, Backblaze B2</a></strong></li><li><strong><a href="https://fastcompanybrasil.com/worklife/por-que-bons-funcionarios-acabam-virando-chefes-incompetentes/" rel="nofollow">Por que bons funcionários acabam virando chefes incompetentes</a></strong> - primeira vez que leio sobre <strong>O Princípio da incompetência de Peter</strong>. O conceito: em uma hierarquia, todo funcionário tende a subir até seu nível de incompetência.</li><li><strong><a href="https://fabioardito.com/como-escanear-fotos-antigas-para-restauracao" rel="nofollow">Como escanear fotos antigas para restauração</a></strong></li><li><strong><a href="https://fabioardito.com/quanto-custa-restaurar-uma-foto-antiga/" rel="nofollow">Quanto custa restaurar uma foto antiga?</a></strong></li></ol>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Bookmarks 🔖">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>bookmarks</category>
            <enclosure url="https://www.marcal.dev/img/bookmarks.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Minhas Páginas Slash]]></title>
            <link>https://www.marcal.dev/slashes</link>
            <guid isPermaLink="false">/slashes</guid>
            <pubDate>Thu, 26 Dec 2024 09:19:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <hr><p><img alt="slash" src="img/slash.jpg"></p><p>Essa é uma página <em>slash</em> (em português, <em>barra</em>), não é sobre o músico <code class="">Slash</code>. Sinto muito! 😁 <a href="https://slashpages.net/" rel="nofollow">Páginas slash</a> são páginas de nível raiz focadas em um tópico específico, como <code class="">/sobre</code> e <code class="">/contato</code>.</p><p>Esta página, em especial, é uma página slash que lista todas as minhas páginas slash neste site!</p><ul><li><a href="bookmarks">/bookmarks</a></li><li><a href="cafeterias">/cafeterias</a></li><li><a href="copypastables">/copypastables</a></li><li><a href="checklist">/checklist</a></li><li><a href="gouts">/goûts</a> 🇫🇷</li><li><a href="publicacoes">/publicacoes</a></li><li><a href="sobre">/sobre</a></li><li><a href="musicas">/musicas</a></li></ul><p>Por enquanto, é isso. Mas há várias páginas que ainda quero criar!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Minhas Páginas Slash">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>paginas-fixas</category>
            <enclosure url="https://www.marcal.dev/img/slash.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Chatvault]]></title>
            <link>https://www.marcal.dev/chatvault</link>
            <guid isPermaLink="false">/chatvault</guid>
            <pubDate>Wed, 25 Dec 2024 20:30:00 GMT</pubDate>
            <description><![CDATA[Como preservo meu Histórico do WhatsApp com o ChatVault]]></description>
            <content:encoded><![CDATA[
            <h2 id="conteúdo">Conteúdo</h2><ul><li><a href="#chatvault">Chatvault</a><ul><li><a href="#como-o-chatvault-funciona">Como o ChatVault Funciona</a></li><li><a href="#desenvolvimento-e-desafios">Desenvolvimento e Desafios</a></li><li><a href="#feedback-e-limita%C3%A7%C3%B5es">Feedback e Limitações</a></li><li><a href="#planos-futuros">Planos Futuros</a></li><li><a href="#reflex%C3%A3o">Reflexão</a></li></ul></li><li><a href="#ei-olha-isso">Ei, olha isso!</a></li></ul><h2 id="chatvault">Chatvault</h2><p><img alt="Print de tela da Interface do chatvault exibe um efeito de desfoque (blur) aplicado sobre o texto das mensagens. À esquerda, há uma área com a lista de chats, onde cada chat é acompanhado pela imagem de perfil correspondente. No centro, o chat aberto exibe o conteúdo das mensagens de forma visível. À direita, é possível ver a galeria de imagens do chat, mostrando as miniaturas das imagens disponíveis na galeria." src="img/chatvault/chatvault-blur-enabled.png"></p><p>Há pelo menos dois anos, eu vinha com uma ideia na cabeça: encontrar uma solução independente para registrar e acessar minhas conversas do WhatsApp. Sempre odiei a forma como o backup funciona — dependendo de circunstâncias como a troca de celular, acabei perdendo muitas mensagens preciosas. Além disso, não gosto de depender do Google para armazenar esses dados, tanto por ideologia quanto por querer explorar alternativas.</p><p>Apesar de preferir apps como o Telegram, reconheço que é difícil escapar do WhatsApp, já que ele é essencial para se manter conectado com amigos e familiares. Foi buscando uma forma de fazer backup e ler minhas conversas fora do app que comecei a desenvolver minha própria solução: o <strong><a href="https://github.com/vitormarcal/chatvault" rel="nofollow">ChatVault</a></strong>.</p><h3 id="como-o-chatvault-funciona">Como o ChatVault Funciona</h3><p>O <strong>ChatVault</strong> é uma aplicação que importa os chats do WhatsApp e os disponibiliza em um frontend amigável (pelo menos, em teoria). O maior desafio foi contornar a falta de uma API oficial para exportação de mensagens. Soluções que acessam diretamente o banco de dados do WhatsApp são problemáticas porque:</p><ol><li><strong>Criptografia:</strong> A chave de criptografia é difícil de acessar e, geralmente, exige root no dispositivo, o que implica formatar o celular e apagar as conversas.</li><li><strong>Mudanças constantes na estrutura do banco:</strong> Tabelas e campos mudam frequentemente, tornando o código de importação obsoleto a cada atualização do app.</li></ol><p>Felizmente, o WhatsApp oferece uma funcionalidade de exportação de mensagens para arquivos texto ou ZIP. Embora limitada — só exporta até 100 mil mensagens (em 2023 eram apenas 10 mil) e deixa de fora algumas mídias de forma aleatória — essa abordagem foi suficiente para criar uma solução robusta.</p><h3 id="desenvolvimento-e-desafios">Desenvolvimento e Desafios</h3><p>Desde 2013, venho aprimorando o ChatVault. O projeto passou por várias reescritas: troquei o backend de Node.js para Kotlin, mudei o banco de dados de SQLite para PostgreSQL e reformulei o frontend para melhorar a experiência do usuário.</p><p>Hoje, uso o ChatVault regularmente. O processo é simples: gero o ZIP no meu Android, transfiro para o computador e clico em "importar" na interface da aplicação. Também implementei uma funcionalidade para importar diretamente de e-mails, mas prefiro fazer tudo manualmente.</p><h3 id="feedback-e-limitações">Feedback e Limitações</h3><p>Apesar de ser um projeto de nicho, o ChatVault já alcançou 114 estrelas no GitHub. A maior dificuldade relatada pelos usuários é a configuração inicial, especialmente devido aos diferentes formatos de data nos arquivos exportados. Por exemplo, um dispositivo pode gerar datas no formato <code class="">2021.01.12 - 05:01:01</code>, enquanto outro usa <code class="">21/01/12 05:01:01</code>. Resolvo esses problemas à medida que recebo feedback, mas não consigo prever todas as variações possíveis.</p><p>Documentei essas limitações no README do projeto e sempre incentivo os usuários a abrirem issues no GitHub para que possamos resolver juntos.</p><h3 id="planos-futuros">Planos Futuros</h3><p>Ainda há várias melhorias que gostaria de implementar, como:</p><ul><li>Busca de mensagens similar ao app do WhatsApp.</li><li>Melhorias na galeria de mídias.</li><li>Suporte a armazenamento em nuvem (Dropbox, Google Drive, etc.).</li><li>Possibilidade de voltar a usar SQLite.</li></ul><p>Infelizmente, como único desenvolvedor do projeto, o progresso é lento. Outros interesses competem pelo meu tempo, mas, para as minhas necessidades, o <strong>ChatVault</strong> já está no “estado da arte.”</p><h3 id="reflexão">Reflexão</h3><p>Manter um projeto por tanto tempo pode ser cansativo, mas também é gratificante. O ChatVault me permite acessar minhas conversas fora do WhatsApp e, quem sabe no futuro, até usá-las com IA para gerar insights interessantes.</p><p>Com este post, espero apresentar e registrar esse projeto que consumiu tanto do meu tempo, foi divertido de criar e continua sendo útil. É provável que eu reduza meu envolvimento aos poucos, mas ele já alcançou seu objetivo principal.</p><p>Se ficou curioso, dá uma olhada no <a href="https://github.com/vitormarcal/chatvault" rel="nofollow">repositório do ChatVault no GitHub</a>. 😉</p><hr><h2 id="ei-olha-isso">Ei, olha isso!</h2><p>Achei bem legal colocar uma sessão de links legais e isso deve aparecer de vez quando - quando eu tiver links interessantes de alguma forma. Se quiser pode conferir os <a href="descobri-retrowave#ei-olha-isso">links da última edição</a>.</p><ol><li><strong><a href="https://aftermath.site/best-active-forums-internet-today" rel="nofollow">Forums Are Still Alive, Active, And A Treasure Trove Of Information</a></strong> uma rica coletânea de foruns que ainda estão disponiveis por aí.</li><li><strong><a href="https://writingexamples.com/" rel="nofollow">Writing Examples</a></strong> é uma plataforma gratuita dedicada a celebrar e analisar grandes obras da literatura. O objetivo é fornecer exemplos práticos que ajudem escritores e entusiastas a aprimorar suas habilidades, inspirando-se nos mestres da literatura.</li><li><strong><a href="https://jamesg.blog/2024/02/19/personal-website-ideas/" rel="nofollow">Personal Website Ideas</a></strong> de James G. tem algumas ideias legais para o que se fazer em um site pessoal.</li><li><strong><a href="https://32bit.cafe/websiteideas/" rel="nofollow">Ideas for Your Personal Website</a></strong> Mesma ideia do link anterior: você acabou de fazer um site, e agora o que fazer?</li></ol>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Chatvault">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <category>privacidade</category>
            <category>programacao</category>
            <enclosure url="https://www.marcal.dev/img/chatvault/chatvault-blur-enabled.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Chatvault]]></title>
            <link>https://www.marcal.dev/en/chatvault</link>
            <guid isPermaLink="false">/en/chatvault</guid>
            <pubDate>Wed, 25 Dec 2024 20:30:00 GMT</pubDate>
            <description><![CDATA[How I Preserve My WhatsApp History with ChatVault]]></description>
            <content:encoded><![CDATA[
            <hr><p><img alt="Screenshot of the ChatVault interface shows a blur effect applied over the message text. On the left, there is a section with a list of chats, each accompanied by its corresponding profile picture. In the center, the open chat displays the message content clearly. On the right, the chat’s image gallery is visible, showing thumbnails of the available images in the gallery." src="/img/chatvault/chatvault-blur-enabled.png"></p><p>For at least two years, I had an idea in mind: to find an independent solution for recording and accessing my WhatsApp conversations. I've always hated how the backup system works—dependent on circumstances like changing phones, I ended up losing many precious messages. On top of that, I don't like relying on Google to store these data, both for ideological reasons and because I wanted to explore alternatives.</p><p>Although I prefer apps like Telegram, I recognize that it's hard to avoid WhatsApp, as it’s essential to stay connected with friends and family. It was while looking for a way to back up and read my conversations outside the app that I started developing my own solution: <strong><a href="https://github.com/vitormarcal/chatvault" rel="nofollow">ChatVault</a></strong>.</p><h3 id="how-chatvault-works">How ChatVault Works</h3><p><strong>ChatVault</strong> is an application that imports WhatsApp chats and makes them available in a user-friendly frontend (at least in theory). The biggest challenge was working around the lack of an official API for exporting messages. Solutions that directly access WhatsApp’s database are problematic because:</p><ol><li><strong>Encryption:</strong> The encryption key is hard to access and usually requires rooting the device, which involves formatting the phone and erasing the conversations.</li><li><strong>Frequent changes in database structure:</strong> Tables and fields change frequently, making the import code obsolete with every app update.</li></ol><p>Luckily, WhatsApp offers a feature to export messages to text or ZIP files. Although limited—it exports up to 100,000 messages (back in 2023, it was only 10,000) and omits some media randomly—this approach was enough to build a robust solution.</p><h3 id="development-and-challenges">Development and Challenges</h3><p>Since 2013, I’ve been refining ChatVault. The project has gone through several rewrites: I switched the backend from Node.js to Kotlin, moved the database from SQLite to PostgreSQL, and redesigned the frontend to improve the user experience.</p><p>Today, I use ChatVault regularly. The process is simple: I generate the ZIP file on my Android phone, transfer it to my computer, and click "import" in the app interface. I also implemented functionality to import directly from emails, but I prefer to do everything manually.</p><h3 id="feedback-and-limitations">Feedback and Limitations</h3><p>Despite being a niche project, ChatVault has reached 114 stars on GitHub. The biggest challenge reported by users is the initial setup, especially due to the different date formats in exported files. For example, one device might generate dates in the format <code class="">2021.01.12 - 05:01:01</code>, while another uses <code class="">21/01/12 05:01:01</code>. I address these issues as I receive feedback, but I can’t anticipate all possible variations.</p><p>I’ve documented these limitations in the project’s README and always encourage users to open issues on GitHub so we can solve them together.</p><h3 id="future-plans">Future Plans</h3><p>There are still several improvements I’d like to implement, such as:</p><ul><li>Message search functionality similar to WhatsApp's app.</li><li>Media gallery enhancements.</li><li>Support for cloud storage (Dropbox, Google Drive, etc.).</li><li>Reintroducing SQLite as an option.</li></ul><p>Unfortunately, as the sole developer of the project, progress is slow. Other interests compete for my time, but for my needs, <strong>ChatVault</strong> is already “state-of-the-art.”</p><h3 id="reflection">Reflection</h3><p>Maintaining a project for so long can be exhausting, but it’s also rewarding. ChatVault allows me to access my conversations outside WhatsApp and, who knows, maybe even use them with AI in the future to generate interesting insights.</p><p>With this post, I hope to showcase and document a project that has consumed so much of my time, been fun to create, and continues to be useful. I might gradually scale back my involvement, but it has already achieved its primary goal.</p><p>If you’re curious, check out the <a href="https://github.com/vitormarcal/chatvault" rel="nofollow">ChatVault repository on GitHub</a>. 😉</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Chatvault">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>privacidade</category>
            <category>programacao</category>
            <category>english</category>
            <enclosure url="https://www.marcal.dev/img/chatvault/chatvault-blur-enabled.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Feliz Natal]]></title>
            <link>https://www.marcal.dev/feliz-natal</link>
            <guid isPermaLink="false">/feliz-natal#updated_at#2024-12-24T15:28:00</guid>
            <pubDate>Tue, 24 Dec 2024 15:28:00 GMT</pubDate>
            <description><![CDATA[O Natal nos faz lembrar que o amor que compartilhamos uns com os outros é a força mais importante do mundo.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Feliz Natal" src="img/feliz-natal.jpg"></p><p>Todo ano eu volto nesse vídeo e toda vez ele me pega bem. Pessoalmente, é o melhor vídeo sobre o que é o natal de todos!</p><p>A visão de Tim Minchin do Natal como sendo uma questão de família é linda. Assim como Tim, sou ateu mas quer você
acredite ou não, o amor que compartilhamos uns com os outros é a força mais importante do mundo.</p><p>Obrigado por nos lembrar disso com essa música, Tim.</p><figure class="youtube">  
  <div class="inner-figure">  
    <div>      <iframe width="560" height="315" src="https://www.youtube.com/embed/x1rw1fx170s?feature=oembed" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>  
    </div>  </div>  <figcaption>    White Wine In The Sun (2021) by Tim Minchin: BACK  
  </figcaption>  
</figure><p>Segue a letra da versão original em Inglês e a traduzida em Português.</p><details>
	<summary>White Wine In The Sun - Versão original</summary>
	<p>
	I really like Christmas  <br>
    It's sentimental I know  <br>
    But I just really like it<br>
  </p><p>  
    I am hardly religious  <br>
    I'd rather break bread with Dawkins  <br>
    Than Desmond Tutu to be honest<br>
  </p><p>  
    And yes I have all of the usual objections  <br>
    To consumerism  <br>
    To the commercialisation of an ancient religion  <br>
    To the westernization of a dead Palestinian  <br>
    Press-ganged into selling Playstations and beer<br>
 </p><p>   
    But I still really like it<br>
  </p><p>  
    I'm looking forward to Christmas  <br>
    Though I'm not expecting a visit from Jesus<br>
  </p><p>  
    I'll be seeing my dad  <br>
    My brother and sisters  <br>
    My gran and my mom  <br>
    They'll be drinking white whine in the sun<br>
 </p><p>   
    I'll be seeing my dad  <br>
    My brothers and sisters  <br>
    My gran and my mom  <br>
    They'll be drinking white whine in the sun<br>
  </p><p>  
    I don't go in for ancient wisdom  <br>
    I don't believe just 'cause ideas are tenacious  <br>
    It means that they're worthy<br>
  </p><p>  
    I get freaked out by churches  <br>
    Some of the hymns that they sing have nice chords  <br>
    But the lyrics are spooky<br>
  </p><p>  
    And yes I have all of the usual objections  <br>
    To the mis-education of children who in tax-exempt institutions  <br>
    Are taught to externalize blame  <br>
    And to feel ashamed  <br>
    And to judge things as plain right or wrong<br>
 </p><p>   
    But I quite like the songs<br>
 </p><p>   
    I'm not expecting big presents  <br>
    The old combination of socks, jocks and chocolates  <br>
    Is just fine by me<br>
  </p><p>  
    'Cause I'll be seeing my dad  <br>
    My brother and sisters  <br>
    My gran and my mom  <br>
    They'll be drinking white whine in the sun<br>
  </p><p>  
    I'll be seeing my dad  <br>
    My brother and sisters  <br>
    My gran and my mom  <br>
    They'll be drinking white whine in the sun<br>
 </p><p>   
    And you my baby girl  <br>
    My jetlagged infant daughter  <br>
    You'll be handed around the room  <br>
    Like a puppy at a primary school<br>
 </p><p>   
    And you won't understand  <br>
    But you will learn someday  <br>
    That wherever you are, whatever you face<br>
 </p><p>   
    These are the people  <br>
    Who'll make you feel safe in this world  <br>
    My sweet blue-eyed girl<br>
 </p><p>   
    And if my baby girl  <br>
    When you're twenty-one or thrity-one  <br>
    And Christmas comes around  <br>
    And you find yourself nine thousand miles from home<br>
 </p><p>   
    You'll know whatever comes  <br>
    Your brothers and sisters and me and you mom  <br>
    Will be waiting for you in the sun<br>
 </p><p>   
    Whenever you come  <br>
    Your brothers and sisters, your aunts and your uncles  <br>
    Your grandparents, cousins, and me and your mom  <br>
    We'll be waiting for you in the sun<br>
 </p><p>   
    Drinking white wine in the sun  <br>
    Darling, when Christmas comes  <br>
    We'll be waiting for you in the sun  <br>
    Drinking white wine in the sun  <br>
    Waiting for you in the sun  <br>
    Waiting for you  <br>
    Waiting<br></p><p>
    I really like Christmas <br> 
    It's sentimental I know <br></p></details><details>
	<summary>Vinho Branco Ao Sol - Tradução</summary>
	<p>
Eu realmente gosto do Natal   <br>
É sentimental, eu sei   <br>
Mas eu simplesmente gosto muito <br></p><p>
Eu não sou nada religioso   <br>
Eu prefiro repartir o pão com Dawkins   <br>
do que com Desmond Tutu, para ser honesto <br></p><p>
E sim, eu tenho todas as objeções usuais   <br>
Ao consumismo   <br>
À comercialização de uma religião antiga   <br>
À ocidentalização de um palestino morto   <br>
Forçada como motivo para vender PlayStations e cervejas <br></p><p>
Mas ainda assim eu gosto muito <br></p><p>
Eu estou ansioso pelo Natal   <br>
Embora não esteja esperando uma visita de Jesus <br></p><p>
Eu verei meu pai   <br>
Meus irmãos e irmãs   <br>
Minha avó e minha mãe   <br>
Eles estarão bebendo vinho branco ao Sol <br></p><p>
Eu verei meu pai   <br>
Meus irmãos e irmãs   <br>
Minha avó e minha mãe   <br>
Eles estarão bebendo vinho branco ao Sol <br></p><p>
Eu não ligo para sabedoria antiga   <br>
Eu não acho que, só porque certas ideias são persistentes,   <br>
signifique que elas sejam válidas <br></p><p>
Eu fico assustado com igrejas   <br>
Alguns dos hinos que eles entoam possuem acordes legais   <br>
Mas as letras são assustadoras <br></p><p>
E sim, eu tenho todas as objeções usuais   <br>
À deseducação das crianças que, em instituições que não pagam impostos   <br>
São ensinadas a externalizar a culpa   <br>
E se sentirem envergonhadas   <br>
E julgarem as coisas simplesmente como certo ou errado <br></p><p>
Mas até que eu gosto das músicas <br></p><p>
Eu não estou esperando grandes presentes   <br>
A velha combinação de meias, cuecas e chocolates   <br>
Está ótima pra mim <br></p><p>
Pois eu verei meu pai   <br>
Meus irmãos e irmãs   <br>
Minha avó e minha mãe   <br>
Eles estarão bebendo vinho branco ao Sol <br></p><p>
Eu verei meu pai   <br>
Meus irmãos e irmãs   <br>
Minha avó e minha mãe   <br>
Eles estarão bebendo vinho branco ao Sol <br></p><p>
E você, minha garotinha   <br>
Minha bebezinha com jet lag   <br>
Será passada por todos na sala   <br>
Como um cachorrinho numa escola primária <br></p><p>
E você não entenderá   <br>
Mas você aprenderá um dia   <br>
Que, onde quer que esteja, e o que quer que enfrente <br></p><p>
Essas são as pessoas   <br>
Que te farão se sentir segura no mundo   <br>
Minha garotinha de olhos azuis <br></p><p>
E se, minha garotinha   <br>
Quando você tiver 21 ou 31   <br>
E o Natal se aproximar   <br>
A você estiver nove mil milhas de casa <br></p><p>
Você saberá que, venha o que vier   <br>
Seus irmãos e irmãs e eu e sua mãe   <br>
Estaremos esperando por você ao Sol <br></p><p>
Quando você vier   <br>
Seus irmãos e irmãs, suas tias e tios   <br>
Seus avós, primos, eu e sua mãe   <br>
Estaremos esperando por você ao Sol <br></p><p>
Bebendo vinho branco ao Sol   <br>
Querida, quando o Natal vier   <br>
Nós estaremos esperando por você ao Sol   <br>
Bebendo vinho branco ao Sol   <br>
Esperando por você ao Sol   <br>
Esperando por você   <br>
Esperando <br></p><p>
Eu gosto mesmo do Natal   <br>
É sentimental, eu sei <br></p></details>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Feliz Natal">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>amor</category>
            <category>video</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/feliz-natal.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Nome da Rosa]]></title>
            <link>https://www.marcal.dev/o-nome-da-rosa</link>
            <guid isPermaLink="false">/o-nome-da-rosa</guid>
            <pubDate>Tue, 24 Dec 2024 15:23:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="o-nome-da-rosa" src="img/o-nome-da-rosa.jpg"></p><blockquote><p>Neste mosteiro, paira a suspeita de heresia, e para a investigação é enviado o frei Guilherme de Baskerville. Porém, a delicada missão é interrompida por sete excêntricos assassinatos. A morte, em circunstâncias insólitas, de sete monges em sete dias e sete noites conduz uma narrativa violenta, que encanta pelo humor e pela crueldade, pela malícia e pela sedição erótica.</p></blockquote><p>Ao começar <em>O Nome da Rosa</em>, deparei-me com um romance que combina mistério, história e filosofia em uma narrativa rica e instigante. Antes de tudo, trata-se de um romance policial, à moda de Agatha Christie ou Arthur Conan Doyle, com seu Sherlock Holmes. A dupla de protagonistas, Guilherme de Baskerville e o jovem Adso de Melk, parece até uma homenagem a esses clássicos: Guilherme, com sua sagacidade impressionante, remete a Sherlock, enquanto Adso, cujo nome soa similar a "Watson", assume o papel de narrador aprendiz.</p><p>Entretanto, o livro vai muito além de um simples mistério. É também um romance histórico, ambientado na Idade Média, que oferece um retrato fascinante desse período. O ritmo da leitura é, sem dúvida, lento em alguns momentos. Eco não se apressa em revelar os mistérios ou em simplificar as discussões históricas para leitores menos familiarizados com o contexto. Isso pode ser desafiador, mas também é o que torna a obra tão enriquecedora. A sensação de aprender enquanto se lê, mesmo que aos poucos, e de desbravar os segredos do mosteiro ao lado de Guilherme e Adso foi o que me manteve engajado até o final.</p><p>Umberto Eco explora, com maestria, o contexto político e religioso da época, criando diversas tangentes que ampliam a profundidade da narrativa. Por exemplo, ele descreve em detalhes as diferenças entre ordens monásticas, como os Beneditinos e os Franciscanos, além de abordar os conflitos internos dessas ordens. Um exemplo marcante é o da <strong>Ordem dos Frades Menores Espirituais</strong>, ou <strong>Fraticelli</strong>, um grupo que defendia uma interpretação rigorosa da pobreza evangélica pregada por São Francisco de Assis.</p><p>A narrativa conduz o leitor a reflexões provocantes sobre a pobreza evangélica: se Jesus não possuía bens materiais, por que os líderes da Igreja deveriam acumular riquezas? Essa ideia desafiava diretamente o poder e a opulência de muitos clérigos, o que levou à perseguição de grupos como os Fraticelli, tidos como hereges. O livro também apresenta debates filosóficos memoráveis, como a curiosa questão de saber se Jesus ria ou se o riso poderia ser considerado herético. Essa discussão, aparentemente abstrata, conecta-se de forma surpreendente à trama principal e aos misteriosos assassinatos no mosteiro.</p><p>Além do mistério, a obra aborda temas que permanecem relevantes até hoje: o conflito entre fé e razão, o poder do conhecimento e o controle exercido pela religião. Esses tópicos são explorados com tanta sutileza e inteligência que me deixaram refletindo muito tempo após a última página.</p><p>Contudo, é uma leitura que exige atenção e paciência. Há muitas passagens em latim – algumas sem tradução – que, embora aumentem a imersão na ambientação, tornam o ritmo mais pausado. O estilo de Eco é denso, e sua narrativa está repleta de camadas que recompensam tanto leitores menos experientes quanto aqueles familiarizados com o período histórico. Mesmo para alguém com pouca bagagem sobre a Idade Média, como eu, a experiência foi profundamente imersiva.</p><p>Ao final, <em>O Nome da Rosa</em> não é apenas um romance policial ou histórico: é uma obra que nos desafia a refletir sobre poder, conhecimento, fé e a busca pela verdade. É uma leitura exigente, mas profundamente recompensadora, que merece ser revisitada com o tempo. Sem dúvida, este é um livro que guardarei com carinho e um dos melhores que li este ano.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Nome da Rosa">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <category>bookmarks</category>
            <enclosure url="https://www.marcal.dev/img/o-nome-da-rosa.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Descobri Retrowave]]></title>
            <link>https://www.marcal.dev/descobri-retrowave</link>
            <guid isPermaLink="false">/descobri-retrowave</guid>
            <pubDate>Sun, 08 Dec 2024 20:54:00 GMT</pubDate>
            <description><![CDATA[Retrowave, Synthwave ou Outrun]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Aqui está uma imagem que captura a essência do estilo Synthwave, com uma cidade futurista cheia de luzes neon, um carro esportivo estiloso e uma atmosfera vibrante inspirada nos anos 80. 🚗✨" src="img/retrowave.webp"></p><h2 id="conteúdo">Conteúdo</h2><ul><li><a href="#descobri-retrowave">Descobri Retrowave</a><ul><li><a href="#o-que-s%C3%A3o-baixos-pulsantes">O que são baixos pulsantes?</a></li></ul></li><li><a href="#ei-olha-isso">Ei, olha isso!</a><ul><li><a href="#links">Links:</a></li></ul></li></ul><h2 id="descobri-retrowave">Descobri Retrowave</h2><p>Sempre gostei de músicas e clipes com sons produzidos por sintetizadores, melodias nostálgicas, neons — algo que remetesse aos anos 80. Quando ouvia, sempre me vinha à mente aquele som típico da época. Esses dias, me indicaram a música <strong><a href="https://www.youtube.com/watch?v=ejOjC-mTfA0" rel="nofollow">Euphories, da dupla (ou banda?) VIDEOCLUB</a></strong>, que é incrível! Ela está cheia de referências aos anos 80, como jogos e filmes retrô.</p><figure class="youtube">  
  <div class="inner-figure">  
    <div>      <iframe width="560" height="315" src="https://www.youtube.com/embed/ejOjC-mTfA0?si=2yLAJkJj7l5cy2qJ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>  
    </div>  </div>  <figcaption>    Euphories, da dupla (ou banda?) VIDEOCLUB  
  </figcaption>  
</figure><p>Foi o suficiente para me fazer explorar mais sobre esse estilo. Isso me levou a visitar o <strong><a href="https://cari.institute/aesthetics" rel="nofollow">Index of Aesthetics</a></strong>, onde descobri que esse realmente é um estilo musical: ele se chama <em>Synthwave</em> ou <em>Retrowave</em>. Vou chamá-lo de <em>Retrowave</em>, porque é mais fácil de lembrar.</p><p>Esse estilo é inspirado na cultura dos anos 80, com influências marcantes da música eletrônica, videogames retrô e visuais de neon, frequentemente remetendo a uma visão futurista daquela época.</p><p>Normalmente, músicas desse estilo são carregadas de sintetizadores, baixos pulsantes e melodias nostálgicas.</p><h3 id="o-que-são-baixos-pulsantes">O que são baixos pulsantes?</h3><p>Baixos pulsantes referem-se a uma linha de baixo com uma batida constante, rítmica e marcante. Imagine um som grave que segue um padrão repetitivo, como "dum-dum-dum-dum," criando um ritmo contínuo e hipnotizante.</p><p>Um exemplo é <strong><a href="https://youtu.be/wJcVLxRtDms?si=DVS1NQXejz29C2wP" rel="nofollow">Algorithm, do Muse</a></strong>, onde, logo no início, o baixo dá a base da música e cria uma sensação de movimento — como se você estivesse dirigindo em uma rodovia.</p><figure class="youtube">  
  <div class="inner-figure">  
    <div>      <iframe width="560" height="315" src="https://www.youtube.com/embed/wJcVLxRtDms?si=flDMHmC2z-nRsQ1r" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>  
      </iframe>    </div>  </div>  <figcaption>    Algorithm, do Muse  
  </figcaption>  
</figure><div></div><p>Outros exemplos no mesmo estilo são:</p><p><strong><a href="https://www.youtube.com/watch?v=MV_3Dpw-BRY" rel="nofollow">Kavinsky - Nightcall</a></strong>:</p><figure class="youtube">  
  <div class="inner-figure">  
    <div>      <iframe width="560" height="315" src="https://www.youtube.com/embed/MV_3Dpw-BRY?si=k_1pEtoXvpbzEWEf" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>  
    </div>  </div>  <figcaption>    Kavinsky - Nightcall  
  </figcaption>  
</figure><p><strong><a href="https://www.youtube.com/watch?v=dlW1w6gCWr8" rel="nofollow">The Midnight - Sunset</a></strong>:</p><figure class="youtube">  
  <div class="inner-figure">  
    <div>      <iframe width="560" height="315" src="https://www.youtube.com/embed/dlW1w6gCWr8?si=4NOJbWwlV99MO9zA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>  
    </div>  </div>  <figcaption>    The Midnight - Sunset  
  </figcaption>  
</figure><hr><h2 id="ei-olha-isso">Ei, olha isso!</h2><p>Eu ia fazer um post apenas com links interessantes, como no meu <a href="links-interessantes-1-2024">Links Interessantes #1 2024 🔖</a>,mas quer saber? Que coisa chata seria! A partir de agora, vou imitar o <strong><a href="https://pluralistic.net/" rel="nofollow">Cory Doctorow</a></strong> com sua seção <em><a href="https://pluralistic.net/2024/12/07/great-kepplers-ghost/#linkdump" rel="nofollow">"Hey look at this"</a></em>.</p><p>Não quer dizer que toda publicação terá essa seção, entretanto.</p><h3 id="links">Links:</h3><ol><li><strong><a href="https://memoriamagazine.blogspot.com/2024/08/bau-de-revistas-kripta-1976.html" rel="nofollow">Baú de Revistas | KRIPTA (1976)</a></strong><br>
Um resgate da memória da revista de terror e suspense <em>Kripta</em>, que fez bastante sucesso nos anos 70 e 80.</li><li><strong><a href="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/" rel="nofollow">Where have all the websites gone?</a></strong><br>
Um apelo à reconstrução de uma web mais descentralizada, incentivando a criação e o compartilhamento de links para sites independentes, resgatando o espírito exploratório da "velha" internet.</li><li><strong><a href="https://public.work" rel="nofollow">Public Work</a></strong><br>
Um mecanismo de busca para conteúdo de domínio público. Explore mais de 100.000 imagens livres de direitos autorais do The MET, New York Public Library, entre outras fontes.</li><li><strong><a href="https://cari.institute/aesthetics" rel="nofollow">Index of Aesthetics</a></strong><br>
Como o nome sugere, é um índice de estilos e estéticas, catalogando tendências que surgiram ao longo das décadas, como <em>Synthwave</em> ou <em>Retrowave</em>, que celebra a cultura dos anos 80 com visual neon.</li></ol>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Descobri Retrowave">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>musica</category>
            <category>video</category>
            <category>bookmarks</category>
            <enclosure url="https://www.marcal.dev/img/retrowave.webp" length="0" type="image/webp"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 18]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-18</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-18</guid>
            <pubDate>Sun, 08 Dec 2024 13:07:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-18" src="img/hokuto-no-ken/hokuto-no-ken-volume-18.jpg"></p><p>Então, finalmente terminei! Eu estava enrolando nesse último volume porque a história não estava interessante para mim. Vilões desnecessários, que claramente não levavam a lugar algum, me deram preguiça nesses últimos volumes. Foi interessante ver a origem de Ken, mas esse último volume não trouxe nada de muito original. Sinto que a primeira metade do volume simplesmente não precisava existir. O final de Ken foi satisfatório, mas, mesmo assim, essa história deveria ter terminado uns 10 volumes atrás.</p><p>No quadro geral, é uma boa história, mas provavelmente não a relerei e passarei meus volumes adiante.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 18">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-18.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Sonho: A porta que esconde o abismo 🌌🚪]]></title>
            <link>https://www.marcal.dev/sonho-a-porta-que-esconde-o-abismo</link>
            <guid isPermaLink="false">/sonho-a-porta-que-esconde-o-abismo</guid>
            <pubDate>Tue, 03 Dec 2024 07:29:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="Uma cena escura e atmosférica retratando um armazém estreito e lotado, cheio de pessoas. O ar está tenso, e uma porta misteriosa e assustadora se destaca no fundo à esquerda, mal notada pelos poucos ao redor. Através desta porta, um ambiente exuberante e exótico, semelhante a uma estufa, com várias plantas incomuns, cerca uma figura. Uma estranha criatura parecida com um pássaro, parecendo uma fita, voa perto da figura, enquanto criaturas sombrias, sem olhos e sem corpo, com apenas olhos, observam de cima. A atmosfera parece pesada e semelhante a uma sauna, com um som baixo, contínuo e ameaçador ao fundo. O ar é espesso, e uma sensação de destruição iminente é palpável. A porta parece ser um portal entre dois mundos. Um mundo é caótico e cheio de pessoas brigando, enquanto o outro é surreal e inquietante, com criaturas surreais e uma intensa conexão emocional entre a figura e outra presença na estufa. A figura é atraída para a porta como se fosse a única maneira de escapar, com um senso de responsabilidade pelas consequências de abri-la." src="img/sonhos/sonho-a-porta-que-esconde-o-abismo.webp"></p><p>Eu estava em um galpão apertado, cheio de pessoas. Não sabia bem onde estava, mas tinha a impressão de que algumas daquelas pessoas me eram familiares. O ar estava tenso, e todos sentíamos que algo muito errado estava prestes a acontecer.</p><p>No fundo, à esquerda, uma porta me chamou a atenção. Pouquíssimas pessoas estavam próximas a ela e, pensando agora, talvez elas a ignorassem completamente. Digo, era uma porta, nada de muito especial — mas parecia que só eu poderia vê-la. <strong>Senti-la</strong>, sim, só eu poderia senti-la, é mais apropriado.</p><p>Fui em sua direção, e os questionamentos sobre onde eu estava ou quem eram aquelas pessoas deixaram de importar. Ao atravessar a porta e fechá-la atrás de mim, me vi em um lugar parecido com uma estufa, cercado por diversas plantas exóticas.</p><p>Não foi o estranho pássaro — que mais parecia um laço, uma fita, voando e balançando suas "asas" como uma borboleta —, nem mesmo as sombras de bichos estranhos, sem corpo nem membros, apenas olhos me observando do teto da estufa, que me fizeram achar que eu não estava mais em meu mundo natural.</p><p>Foi o ar pesado, o ambiente abafado como uma sauna e, sobretudo, o estranho som no fundo. Baixo, contínuo, misterioso. Parecia aguardar o vazio que se abate sobre toda a realidade.</p><p>Não tive tempo de pensar sobre toda a carga do ambiente nem sobre os bichos exóticos que me rodeavam, alguns com aparente interesse — não sei se me viam apenas como curiosidade ou como possível presa. Pois ali estava <strong>Ela</strong>.</p><p>Agora, não me recordo d'Ela. Só lembro que senti uma felicidade muito grande ao encontrar um rosto conhecido naquele ambiente que começava a me afligir. Com Ela, a angústia que eu sentia não me dominava.</p><p>Seu sorriso me trazia uma felicidade imensa; sua presença para mim era tudo, e eu só queria estar extasiado junto a Ela, seu cheiro impregnando cada ligação no meu sistema nervoso. Não pensava no vazio, mesmo que o maldito som ainda tocasse indefinidamente ao fundo.</p><p>Não sei quanto tempo estive ao lado d'Ela. Quanto tempo se passou desde que fechei a porta atrás de mim? Um minuto? Uma hora? Ela era um porto-seguro tão forte, um ímã no meio daquela espera diante do vazio, que não me surpreenderia que tivessem se passado séculos, milênios em sua companhia, naquele lugar.</p><p>Uma nota de piano. Pausa. Outra nota. Pegadas sobre a grama. Mais uma nota. Estou indo embora. Ela não quer que eu vá. Uma gota de chuva. Uma nota de piano. E mais outra.</p><p>Abri a porta. Não posso olhar para trás, porque sei que não terei outra oportunidade de fugir se olhar para Ela.</p><p>Atravesso a porta, saindo daquele universo. Imediatamente, o som ambiente é substituído por alvoroço e movimento. Estou novamente naquele galpão desconhecido, lotado de pessoas, mas agora uma imensa confusão está acontecendo: brigas, agressões.</p><p>Busco um telefone e encontro um analógico a poucos metros dali, em um criado-mudo. Eu ligo, para quem? Não lembro. Antes que eu possa pensar, um daqueles pássaros, que pareciam mais com uma fita, bate suas asas em minha frente.</p><p>Lanço um olhar para a porta, que percebo ter deixado aberta. Seres que não ouso descrever começam a sair por ela.</p><p>Agora eu sei. Eu libertei o vazio. Ele se espalhará em meu mundo, consumindo tudo, como uma sombra que devora a luz.</p><p>E eu sou o responsável.</p><blockquote><p>Nota: Este texto é uma tentativa de capturar a essência de um sonho vívido que tive. Algumas partes foram enriquecidas com liberdade criativa, tentando preservar o sentimento que experimentei, tanto durante o sonho quanto após acordar. Embora as imagens e sensações possam ter sido em parte inventadas, a angústia e a surrealidade que vivenciei permanecem em minha mente.</p></blockquote>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Sonho: A porta que esconde o abismo 🌌🚪">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>medo</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/sonhos/sonho-a-porta-que-esconde-o-abismo.webp" length="0" type="image/webp"/>
        </item>
        <item>
            <title><![CDATA[Links Interessantes #1 2024 🔖]]></title>
            <link>https://www.marcal.dev/links-interessantes-1-2024</link>
            <guid isPermaLink="false">/links-interessantes-1-2024</guid>
            <pubDate>Sun, 01 Dec 2024 17:24:00 GMT</pubDate>
            <description><![CDATA[Lista de bookmarks ou favoritos que acumulei até essa data]]></description>
            <content:encoded><![CDATA[
            <p>Alguns links interessantes que estavam nos meus favoritos:</p><ol><li><strong><a href="https://neustadt.fr/essays/against-a-user-hostile-web/" rel="nofollow">Against an Increasingly User-Hostile Web</a></strong> - critica a web moderna por limitar a liberdade do usuário e defende uma internet mais aberta e controlada pelos próprios usuários.</li><li><strong><a href="https://neustadt.fr/essays/the-small-web/" rel="nofollow">The Small Web</a></strong> defende uma web mais simples, focada em interações humanas significativas, em contraste com a complexidade e escala das plataformas dominantes. "Se a web comercial é 'industrial', pode-se dizer que a pequena web é 'artesanal'."</li><li><strong><a href="https://amontalenti.com/2024/06/19/backups-restic-rclone" rel="nofollow">Linux backup workflow for hackers with restic, rclone, Backblaze B2</a></strong></li><li><strong><a href="https://fastcompanybrasil.com/worklife/por-que-bons-funcionarios-acabam-virando-chefes-incompetentes/" rel="nofollow">Por que bons funcionários acabam virando chefes incompetentes</a></strong> - primeira vez que leio sobre <strong>O Princípio da incompetência de Peter</strong>. O conceito: em uma hierarquia, todo funcionário tende a subir até seu nível de incompetência.</li><li><strong><a href="https://fabioardito.com/como-escanear-fotos-antigas-para-restauracao" rel="nofollow">Como escanear fotos antigas para restauração</a></strong></li><li><strong><a href="https://fabioardito.com/quanto-custa-restaurar-uma-foto-antiga/" rel="nofollow">Quanto custa restaurar uma foto antiga?</a></strong></li></ol>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Links Interessantes #1 2024 🔖">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>bookmarks</category>
        </item>
        <item>
            <title><![CDATA[Por que decidi escrever um blog]]></title>
            <link>https://www.marcal.dev/por-que-decidi-escrever-um-blog</link>
            <guid isPermaLink="false">/por-que-decidi-escrever-um-blog</guid>
            <pubDate>Sun, 01 Dec 2024 14:56:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Mas por que escrever em um blog? Percebi que é uma ótima forma de documentar os desafios que enfrentei e registrar como me sentia em diferentes momentos da vida. Como não dá para confiar na mente para armazenar esse tipo de informação a longo prazo, publicar em um blog funciona como um "<strong>segundo cérebro</strong>" sempre acessível.</p><blockquote><p>Nota: Acabei de atualizar a página <a href="sobre">Sobre</a> deste blog. Agora, ela traz um pouco sobre mim e também sobre os aspectos técnicos do site: como ele é construído e como funciona o fluxo de publicação. Você pode conferir <a href="sobre">aqui</a>.</p></blockquote><p>Muitos textos podem parecer inacabados, e isso é intencional. A ideia é postar sempre que fizer sentido, mesmo que sejam apenas algumas notas soltas. Não quero que o ato de publicar se torne um evento, com textos super elaborados que demorem horas ou dias para ficar prontos. Mais do que um blog, este espaço é pensado como um <a href="https://maggieappleton.com/garden-history" rel="nofollow">jardim digital</a>: um lugar em constante transformação, onde você poda uma parte aqui, move algo ali e experimenta novas ideias.</p><p>Escrevo, acima de tudo, para mim mesmo, sem qualquer pretensão de atingir ou formar um público. Tecnologia, programação, leituras, quadrinhos... escrevo sobre tudo o que me parecer interessante no momento. Espero trazer de volta o <a href="https://www.theverge.com/23513418/bring-back-personal-blogging" rel="nofollow">espírito comunitário original da Internet</a>. Diferente de plataformas como Facebook, onde eu sou o produto e minha comunicação é limitada pelos interesses da empresa, aqui eu sou dono do meu espaço. Não quero ficar preso a formulários de postagem proprietários, como no Twitter, Instagram ou Facebook.</p><p>Este é um lugar para me expressar, refletir quem eu sou e registrar como estou mudando ao longo do tempo. Acredito que isso me ajuda a me entender melhor e, quem sabe, a me tornar uma pessoa melhor. E você? Por que não <a href="https://crieaporradeum.blog/" rel="nofollow">faz a p***a de um blog</a>?</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Por que decidi escrever um blog">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Como Criar um Feed RSS para o Seu Site com Nuxt Content]]></title>
            <link>https://www.marcal.dev/como-criar-um-feed-rss-para-o-seu-site-com-nuxt-content</link>
            <guid isPermaLink="false">/como-criar-um-feed-rss-para-o-seu-site-com-nuxt-content#updated_at#2024-11-30T19:03:00</guid>
            <pubDate>Sat, 30 Nov 2024 19:03:00 GMT</pubDate>
            <description><![CDATA[Esta guia fornece instruções passo a passo para criar uma rota no servidor que gera um feed RSS para o seu site.]]></description>
            <content:encoded><![CDATA[
            <p>Se você possui um blog que utiliza Nuxt 3 e Nuxt Content v2, adicionar um feed RSS é uma ótima maneira de permitir que seus leitores acompanhem suas atualizações. Neste guia, mostrarei como criar uma rota no servidor para gerar um feed RSS para o seu site.</p><blockquote><p><strong>Nota</strong>: Este guia é baseado em um post originalmente publicado no blog de Maciej Pędzich, que não está mais disponível online. No entanto, você pode acessá-lo através do <a href="https://web.archive.org/web/20220802163409/https://journal.maciejpedzi.ch/generating-rss-feeds-for-a-nuxt-content-site" rel="nofollow">Web Archive</a>.</p></blockquote><h4 id="instalar-dependências-necessárias">Instalar Dependências Necessárias</h4><p>Primeiro, instale o pacote <code class="">feed</code>, um gerador de feeds RSS simples para Node.js:</p><pre class="language-bash shiki shiki-themes dracula" code="npm install feed
" language="bash" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">npm</span><span style="--shiki-default:#F1FA8C"> install</span><span style="--shiki-default:#F1FA8C"> feed
</span></span></code></pre><p>Para transformar o corpo do conteúdo do Nuxt Content em HTML válido, instale também o pacote <code class="">hast-util-to-html</code>:</p><pre class="language-bash shiki shiki-themes dracula" code="npm install hast-util-to-html
" language="bash" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">npm</span><span style="--shiki-default:#F1FA8C"> install</span><span style="--shiki-default:#F1FA8C"> hast-util-to-html
</span></span></code></pre><h4 id="criar-a-rota-do-servidor">Criar a Rota do Servidor</h4><p>No seu projeto Nuxt, crie o arquivo <code class="">server/routes/rss.xml.ts</code> para definir a rota do servidor que será responsável por gerar o feed RSS.</p><pre class="language-typescript shiki shiki-themes dracula" code="import { Feed } from &#x27;feed&#x27;;
import { serverQueryContent } from &#x27;#content/server&#x27;;
import { toHtml } from &#x27;hast-util-to-html&#x27;;

export default defineEventHandler(async (event) => {
  const blogUrl = &#x27;https://www.seusite.com&#x27;; // Substitua pela URL do seu site
  const feed = new Feed({
    id: &#x27;rss&#x27;,
    title: &#x27;Título do Seu Blog&#x27;,
    description: &#x27;Feed RSS do Seu Blog&#x27;,
    link: blogUrl,
    copyright: &#x60;2024-presente Título do Seu Blog&#x60;,
  });

  const docs = await serverQueryContent(event).find();

  const recursivelyPatchChildren = (node) => {
    if (node.type === &#x27;text&#x27;) {
      return node;
    } else if (node.tag === &#x27;code&#x27; &#x26;&#x26; node.props.language) {
      node.props.lang = node.props.language;
      node.children = [{ type: &#x27;text&#x27;, value: node.props.code }];
      delete node.props.language;
      delete node.props.code;
    }
    node.tagName = node.tag;
    node.properties = node.props;
    node.children = node.children.map(recursivelyPatchChildren);
    return node;
  };

  for (const doc of docs) {
    doc.body.children = doc.body.children.map(recursivelyPatchChildren);
    const content = toHtml(doc.body);
    feed.addItem({
      id: doc._id,
      title: doc.title,
      description: doc.description,
      link: new URL(doc._path, blogUrl).href,
      content,
    });
  }

  appendHeader(event, &#x27;Content-Type&#x27;, &#x27;application/xml&#x27;);
  return feed.rss2(); // Gera o feed RSS
});
" language="typescript" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">import</span><span style="--shiki-default:#F8F8F2"> { Feed } </span><span style="--shiki-default:#FF79C6">from</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">feed</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="2"><span style="--shiki-default:#FF79C6">import</span><span style="--shiki-default:#F8F8F2"> { serverQueryContent } </span><span style="--shiki-default:#FF79C6">from</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">#content/server</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="3"><span style="--shiki-default:#FF79C6">import</span><span style="--shiki-default:#F8F8F2"> { toHtml } </span><span style="--shiki-default:#FF79C6">from</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">hast-util-to-html</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="4"><span emptyLinePlaceholder>
</span></span><span class="line" line="5"><span style="--shiki-default:#FF79C6">export</span><span style="--shiki-default:#FF79C6"> default</span><span style="--shiki-default:#50FA7B"> defineEventHandler</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#FF79C6">async</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic">event</span><span style="--shiki-default:#F8F8F2">) </span><span style="--shiki-default:#FF79C6">=></span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="6"><span style="--shiki-default:#FF79C6">  const</span><span style="--shiki-default:#F8F8F2"> blogUrl </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">https://www.seusite.com</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">; </span><span style="--shiki-default:#6272A4">// Substitua pela URL do seu site
</span></span><span class="line" line="7"><span style="--shiki-default:#FF79C6">  const</span><span style="--shiki-default:#F8F8F2"> feed </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> Feed</span><span style="--shiki-default:#F8F8F2">({
</span></span><span class="line" line="8"><span style="--shiki-default:#F8F8F2">    id</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">rss</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">,
</span></span><span class="line" line="9"><span style="--shiki-default:#F8F8F2">    title</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">Título do Seu Blog</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">,
</span></span><span class="line" line="10"><span style="--shiki-default:#F8F8F2">    description</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">Feed RSS do Seu Blog</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">,
</span></span><span class="line" line="11"><span style="--shiki-default:#F8F8F2">    link</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> blogUrl,
</span></span><span class="line" line="12"><span style="--shiki-default:#F8F8F2">    copyright</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F1FA8C"> `2024-presente Título do Seu Blog`</span><span style="--shiki-default:#F8F8F2">,
</span></span><span class="line" line="13"><span style="--shiki-default:#F8F8F2">  });
</span></span><span class="line" line="14"><span emptyLinePlaceholder>
</span></span><span class="line" line="15"><span style="--shiki-default:#FF79C6">  const</span><span style="--shiki-default:#F8F8F2"> docs </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6"> await</span><span style="--shiki-default:#50FA7B"> serverQueryContent</span><span style="--shiki-default:#F8F8F2">(event).</span><span style="--shiki-default:#50FA7B">find</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="16"><span emptyLinePlaceholder>
</span></span><span class="line" line="17"><span style="--shiki-default:#FF79C6">  const</span><span style="--shiki-default:#50FA7B"> recursivelyPatchChildren</span><span style="--shiki-default:#FF79C6"> =</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic">node</span><span style="--shiki-default:#F8F8F2">) </span><span style="--shiki-default:#FF79C6">=></span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="18"><span style="--shiki-default:#FF79C6">    if</span><span style="--shiki-default:#F8F8F2"> (node.type </span><span style="--shiki-default:#FF79C6">===</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">text</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="19"><span style="--shiki-default:#FF79C6">      return</span><span style="--shiki-default:#F8F8F2"> node;
</span></span><span class="line" line="20"><span style="--shiki-default:#F8F8F2">    } </span><span style="--shiki-default:#FF79C6">else</span><span style="--shiki-default:#FF79C6"> if</span><span style="--shiki-default:#F8F8F2"> (node.tag </span><span style="--shiki-default:#FF79C6">===</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">code</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#FF79C6"> &#x26;&#x26;</span><span style="--shiki-default:#F8F8F2"> node.props.language) {
</span></span><span class="line" line="21"><span style="--shiki-default:#F8F8F2">      node.props.lang </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> node.props.language;
</span></span><span class="line" line="22"><span style="--shiki-default:#F8F8F2">      node.children </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> [{ type</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">text</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">, value</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> node.props.code }];
</span></span><span class="line" line="23"><span style="--shiki-default:#FF79C6">      delete</span><span style="--shiki-default:#F8F8F2"> node.props.language;
</span></span><span class="line" line="24"><span style="--shiki-default:#FF79C6">      delete</span><span style="--shiki-default:#F8F8F2"> node.props.code;
</span></span><span class="line" line="25"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="26"><span style="--shiki-default:#F8F8F2">    node.tagName </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> node.tag;
</span></span><span class="line" line="27"><span style="--shiki-default:#F8F8F2">    node.properties </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> node.props;
</span></span><span class="line" line="28"><span style="--shiki-default:#F8F8F2">    node.children </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> node.children.</span><span style="--shiki-default:#50FA7B">map</span><span style="--shiki-default:#F8F8F2">(recursivelyPatchChildren);
</span></span><span class="line" line="29"><span style="--shiki-default:#FF79C6">    return</span><span style="--shiki-default:#F8F8F2"> node;
</span></span><span class="line" line="30"><span style="--shiki-default:#F8F8F2">  };
</span></span><span class="line" line="31"><span emptyLinePlaceholder>
</span></span><span class="line" line="32"><span style="--shiki-default:#FF79C6">  for</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#FF79C6">const</span><span style="--shiki-default:#F8F8F2"> doc </span><span style="--shiki-default:#FF79C6">of</span><span style="--shiki-default:#F8F8F2"> docs) {
</span></span><span class="line" line="33"><span style="--shiki-default:#F8F8F2">    doc.body.children </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> doc.body.children.</span><span style="--shiki-default:#50FA7B">map</span><span style="--shiki-default:#F8F8F2">(recursivelyPatchChildren);
</span></span><span class="line" line="34"><span style="--shiki-default:#FF79C6">    const</span><span style="--shiki-default:#F8F8F2"> content </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#50FA7B"> toHtml</span><span style="--shiki-default:#F8F8F2">(doc.body);
</span></span><span class="line" line="35"><span style="--shiki-default:#F8F8F2">    feed.</span><span style="--shiki-default:#50FA7B">addItem</span><span style="--shiki-default:#F8F8F2">({
</span></span><span class="line" line="36"><span style="--shiki-default:#F8F8F2">      id</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> doc._id,
</span></span><span class="line" line="37"><span style="--shiki-default:#F8F8F2">      title</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> doc.title,
</span></span><span class="line" line="38"><span style="--shiki-default:#F8F8F2">      description</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> doc.description,
</span></span><span class="line" line="39"><span style="--shiki-default:#F8F8F2">      link</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> URL</span><span style="--shiki-default:#F8F8F2">(doc._path, blogUrl).href,
</span></span><span class="line" line="40"><span style="--shiki-default:#F8F8F2">      content,
</span></span><span class="line" line="41"><span style="--shiki-default:#F8F8F2">    });
</span></span><span class="line" line="42"><span style="--shiki-default:#F8F8F2">  }
</span></span><span class="line" line="43"><span emptyLinePlaceholder>
</span></span><span class="line" line="44"><span style="--shiki-default:#50FA7B">  appendHeader</span><span style="--shiki-default:#F8F8F2">(event, </span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F1FA8C">Content-Type</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">, </span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F1FA8C">application/xml</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="45"><span style="--shiki-default:#FF79C6">  return</span><span style="--shiki-default:#F8F8F2"> feed.</span><span style="--shiki-default:#50FA7B">rss2</span><span style="--shiki-default:#F8F8F2">(); </span><span style="--shiki-default:#6272A4">// Gera o feed RSS
</span></span><span class="line" line="46"><span style="--shiki-default:#F8F8F2">});
</span></span></code></pre><h4 id="pré-renderizar-a-rota-do-rss">Pré-renderizar a Rota do RSS</h4><p>Para tornar o feed RSS disponível como um arquivo estático, atualize o arquivo <code class="">nuxt.config.ts</code> para incluir a pré-renderização:</p><pre class="language-bash shiki shiki-themes dracula" code="export default defineNuxtConfig({
  nitro: {
    prerender: {
      routes: [&#x27;/rss.xml&#x27;],
    },
  },
});
" language="bash" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">export</span><span style="--shiki-default:#BD93F9"> default</span><span style="--shiki-default:#BD93F9"> defineNuxtConfig</span><span style="--shiki-default:#F8F8F2">({
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">  nitro:</span><span style="--shiki-default:#F1FA8C"> {
</span></span><span class="line" line="3"><span style="--shiki-default:#50FA7B">    prerender:</span><span style="--shiki-default:#F1FA8C"> {
</span></span><span class="line" line="4"><span style="--shiki-default:#50FA7B">      routes:</span><span style="--shiki-default:#F8F8F2"> [</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F1FA8C">/rss.xml</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">],
</span></span><span class="line" line="5"><span style="--shiki-default:#F8F8F2">    },
</span></span><span class="line" line="6"><span style="--shiki-default:#F8F8F2">  },
</span></span><span class="line" line="7"><span style="--shiki-default:#F8F8F2">});
</span></span></code></pre><h4 id="como-funciona">Como Funciona</h4><ol><li><strong>Inicialização do Feed</strong>: O objeto <code class="">Feed</code> é configurado com metadados como título, descrição e link do blog.</li><li><strong>Transformação do Conteúdo</strong>: O AST (Abstract Syntax Tree) do Nuxt Content é ajustado e transformado em HTML válido usando o <code class="">hast-util-to-html</code>.</li><li><strong>População do Feed</strong>: Cada post do blog é adicionado ao feed com propriedades como título, descrição e conteúdo.</li><li><strong>Trechos de Código</strong>: Um patch garante que os blocos de código sejam formatados corretamente, sem estilos inline, conforme os padrões do RSS.</li><li><strong>Geração do RSS</strong>: O feed é retornado como um documento XML no formato RSS 2.0.</li></ol><p>Com essas etapas, você terá um feed RSS funcional para o seu site criado com Nuxt Content. Divirta-se!</p><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Como Criar um Feed RSS para o Seu Site com Nuxt Content">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>programacao</category>
            <category>tecnologia</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[How to Generate an RSS Feed for Your Nuxt Content Site]]></title>
            <link>https://www.marcal.dev/en/how-to-generate-an-rss-feed-for-your-nuxt-content-site</link>
            <guid isPermaLink="false">/en/how-to-generate-an-rss-feed-for-your-nuxt-content-site#updated_at#2024-11-30T19:03:00</guid>
            <pubDate>Sat, 30 Nov 2024 19:03:00 GMT</pubDate>
            <description><![CDATA[This guide provides step-by-step instructions to create a server route that generates an RSS feed for your site.]]></description>
            <content:encoded><![CDATA[
            <hr><p>If you're running a blog powered by Nuxt 3 and Nuxt Content v2, adding an RSS feed is a great way to let readers subscribe to your updates. In this guide, we'll walk you through creating a server route to generate an RSS feed for your site.</p><blockquote><p><strong>Note</strong>: This guide is based on a post originally published on Maciej Pędzich's blog, which is no longer available online. However, you can access it via the <a href="https://web.archive.org/web/20220802163409/https://journal.maciejpedzi.ch/generating-rss-feeds-for-a-nuxt-content-site" rel="nofollow">Web Archive</a>.</p></blockquote><h4 id="install-required-dependencies">Install Required Dependencies</h4><p>First, install the <code class="">feed</code> package, a simple RSS feed generator for Node.js:</p><pre class="language-bash shiki shiki-themes dracula" code="npm install feed
" language="bash" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">npm</span><span style="--shiki-default:#F1FA8C"> install</span><span style="--shiki-default:#F1FA8C"> feed
</span></span></code></pre><p>For transforming the Nuxt Content body into valid HTML, install the <code class="">hast-util-to-html</code> package:</p><pre class="language-bash shiki shiki-themes dracula" code="npm install hast-util-to-html
" language="bash" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">npm</span><span style="--shiki-default:#F1FA8C"> install</span><span style="--shiki-default:#F1FA8C"> hast-util-to-html
</span></span></code></pre><h4 id="create-the-server-route">Create the Server Route</h4><p>In your Nuxt project, create a <code class="">server/routes/rss.xml.ts</code> file to define the server route. This will handle the RSS feed generation.</p><pre class="language-typescript shiki shiki-themes dracula" code="import { Feed } from &#x27;feed&#x27;;
import { serverQueryContent } from &#x27;#content/server&#x27;;
import { toHtml } from &#x27;hast-util-to-html&#x27;;

export default defineEventHandler(async (event) => {
  const blogUrl = &#x27;https://www.example.com&#x27;; // Replace with your site URL
  const feed = new Feed({
    id: &#x27;rss&#x27;,
    title: &#x27;Your Blog Title&#x27;,
    description: &#x27;RSS feed for Your Blog&#x27;,
    link: blogUrl,
    copyright: &#x60;2024-present Your Blog Title&#x60;,
  });

  const docs = await serverQueryContent(event).find();

  const recursivelyPatchChildren = (node) => {
    if (node.type === &#x27;text&#x27;) {
      return node;
    } else if (node.tag === &#x27;code&#x27; &#x26;&#x26; node.props.language) {
      node.props.lang = node.props.language;
      node.children = [{ type: &#x27;text&#x27;, value: node.props.code }];
      delete node.props.language;
      delete node.props.code;
    }
    node.tagName = node.tag;
    node.properties = node.props;
    node.children = node.children.map(recursivelyPatchChildren);
    return node;
  };

  for (const doc of docs) {
    doc.body.children = doc.body.children.map(recursivelyPatchChildren);
    const content = toHtml(doc.body);
    feed.addItem({
      id: doc._id,
      title: doc.title,
      description: doc.description,
      link: new URL(doc._path, blogUrl).href,
      content,
    });
  }

  appendHeader(event, &#x27;Content-Type&#x27;, &#x27;application/xml&#x27;);
  return feed.rss2(); // Generate RSS feed
});
" language="typescript" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">import</span><span style="--shiki-default:#F8F8F2"> { Feed } </span><span style="--shiki-default:#FF79C6">from</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">feed</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="2"><span style="--shiki-default:#FF79C6">import</span><span style="--shiki-default:#F8F8F2"> { serverQueryContent } </span><span style="--shiki-default:#FF79C6">from</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">#content/server</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="3"><span style="--shiki-default:#FF79C6">import</span><span style="--shiki-default:#F8F8F2"> { toHtml } </span><span style="--shiki-default:#FF79C6">from</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">hast-util-to-html</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="4"><span emptyLinePlaceholder>
</span></span><span class="line" line="5"><span style="--shiki-default:#FF79C6">export</span><span style="--shiki-default:#FF79C6"> default</span><span style="--shiki-default:#50FA7B"> defineEventHandler</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#FF79C6">async</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic">event</span><span style="--shiki-default:#F8F8F2">) </span><span style="--shiki-default:#FF79C6">=></span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="6"><span style="--shiki-default:#FF79C6">  const</span><span style="--shiki-default:#F8F8F2"> blogUrl </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">https://www.example.com</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">; </span><span style="--shiki-default:#6272A4">// Replace with your site URL
</span></span><span class="line" line="7"><span style="--shiki-default:#FF79C6">  const</span><span style="--shiki-default:#F8F8F2"> feed </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> Feed</span><span style="--shiki-default:#F8F8F2">({
</span></span><span class="line" line="8"><span style="--shiki-default:#F8F8F2">    id</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">rss</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">,
</span></span><span class="line" line="9"><span style="--shiki-default:#F8F8F2">    title</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">Your Blog Title</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">,
</span></span><span class="line" line="10"><span style="--shiki-default:#F8F8F2">    description</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">RSS feed for Your Blog</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">,
</span></span><span class="line" line="11"><span style="--shiki-default:#F8F8F2">    link</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> blogUrl,
</span></span><span class="line" line="12"><span style="--shiki-default:#F8F8F2">    copyright</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F1FA8C"> `2024-present Your Blog Title`</span><span style="--shiki-default:#F8F8F2">,
</span></span><span class="line" line="13"><span style="--shiki-default:#F8F8F2">  });
</span></span><span class="line" line="14"><span emptyLinePlaceholder>
</span></span><span class="line" line="15"><span style="--shiki-default:#FF79C6">  const</span><span style="--shiki-default:#F8F8F2"> docs </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6"> await</span><span style="--shiki-default:#50FA7B"> serverQueryContent</span><span style="--shiki-default:#F8F8F2">(event).</span><span style="--shiki-default:#50FA7B">find</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="16"><span emptyLinePlaceholder>
</span></span><span class="line" line="17"><span style="--shiki-default:#FF79C6">  const</span><span style="--shiki-default:#50FA7B"> recursivelyPatchChildren</span><span style="--shiki-default:#FF79C6"> =</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic">node</span><span style="--shiki-default:#F8F8F2">) </span><span style="--shiki-default:#FF79C6">=></span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="18"><span style="--shiki-default:#FF79C6">    if</span><span style="--shiki-default:#F8F8F2"> (node.type </span><span style="--shiki-default:#FF79C6">===</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">text</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="19"><span style="--shiki-default:#FF79C6">      return</span><span style="--shiki-default:#F8F8F2"> node;
</span></span><span class="line" line="20"><span style="--shiki-default:#F8F8F2">    } </span><span style="--shiki-default:#FF79C6">else</span><span style="--shiki-default:#FF79C6"> if</span><span style="--shiki-default:#F8F8F2"> (node.tag </span><span style="--shiki-default:#FF79C6">===</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">code</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#FF79C6"> &#x26;&#x26;</span><span style="--shiki-default:#F8F8F2"> node.props.language) {
</span></span><span class="line" line="21"><span style="--shiki-default:#F8F8F2">      node.props.lang </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> node.props.language;
</span></span><span class="line" line="22"><span style="--shiki-default:#F8F8F2">      node.children </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> [{ type</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">text</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">, value</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> node.props.code }];
</span></span><span class="line" line="23"><span style="--shiki-default:#FF79C6">      delete</span><span style="--shiki-default:#F8F8F2"> node.props.language;
</span></span><span class="line" line="24"><span style="--shiki-default:#FF79C6">      delete</span><span style="--shiki-default:#F8F8F2"> node.props.code;
</span></span><span class="line" line="25"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="26"><span style="--shiki-default:#F8F8F2">    node.tagName </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> node.tag;
</span></span><span class="line" line="27"><span style="--shiki-default:#F8F8F2">    node.properties </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> node.props;
</span></span><span class="line" line="28"><span style="--shiki-default:#F8F8F2">    node.children </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> node.children.</span><span style="--shiki-default:#50FA7B">map</span><span style="--shiki-default:#F8F8F2">(recursivelyPatchChildren);
</span></span><span class="line" line="29"><span style="--shiki-default:#FF79C6">    return</span><span style="--shiki-default:#F8F8F2"> node;
</span></span><span class="line" line="30"><span style="--shiki-default:#F8F8F2">  };
</span></span><span class="line" line="31"><span emptyLinePlaceholder>
</span></span><span class="line" line="32"><span style="--shiki-default:#FF79C6">  for</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#FF79C6">const</span><span style="--shiki-default:#F8F8F2"> doc </span><span style="--shiki-default:#FF79C6">of</span><span style="--shiki-default:#F8F8F2"> docs) {
</span></span><span class="line" line="33"><span style="--shiki-default:#F8F8F2">    doc.body.children </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> doc.body.children.</span><span style="--shiki-default:#50FA7B">map</span><span style="--shiki-default:#F8F8F2">(recursivelyPatchChildren);
</span></span><span class="line" line="34"><span style="--shiki-default:#FF79C6">    const</span><span style="--shiki-default:#F8F8F2"> content </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#50FA7B"> toHtml</span><span style="--shiki-default:#F8F8F2">(doc.body);
</span></span><span class="line" line="35"><span style="--shiki-default:#F8F8F2">    feed.</span><span style="--shiki-default:#50FA7B">addItem</span><span style="--shiki-default:#F8F8F2">({
</span></span><span class="line" line="36"><span style="--shiki-default:#F8F8F2">      id</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> doc._id,
</span></span><span class="line" line="37"><span style="--shiki-default:#F8F8F2">      title</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> doc.title,
</span></span><span class="line" line="38"><span style="--shiki-default:#F8F8F2">      description</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#F8F8F2"> doc.description,
</span></span><span class="line" line="39"><span style="--shiki-default:#F8F8F2">      link</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> URL</span><span style="--shiki-default:#F8F8F2">(doc._path, blogUrl).href,
</span></span><span class="line" line="40"><span style="--shiki-default:#F8F8F2">      content,
</span></span><span class="line" line="41"><span style="--shiki-default:#F8F8F2">    });
</span></span><span class="line" line="42"><span style="--shiki-default:#F8F8F2">  }
</span></span><span class="line" line="43"><span emptyLinePlaceholder>
</span></span><span class="line" line="44"><span style="--shiki-default:#50FA7B">  appendHeader</span><span style="--shiki-default:#F8F8F2">(event, </span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F1FA8C">Content-Type</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">, </span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F1FA8C">application/xml</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="45"><span style="--shiki-default:#FF79C6">  return</span><span style="--shiki-default:#F8F8F2"> feed.</span><span style="--shiki-default:#50FA7B">rss2</span><span style="--shiki-default:#F8F8F2">(); </span><span style="--shiki-default:#6272A4">// Generate RSS feed
</span></span><span class="line" line="46"><span style="--shiki-default:#F8F8F2">});
</span></span></code></pre><h4 id="pre-render-the-rss-route">Pre-render the RSS Route</h4><p>To make the RSS feed available as a static file, update your <code class="">nuxt.config.ts</code> file to include pre-rendering:</p><pre class="language-bash shiki shiki-themes dracula" code="export default defineNuxtConfig({
  nitro: {
    prerender: {
      routes: [&#x27;/rss.xml&#x27;],
    },
  },
});
" language="bash" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">export</span><span style="--shiki-default:#BD93F9"> default</span><span style="--shiki-default:#BD93F9"> defineNuxtConfig</span><span style="--shiki-default:#F8F8F2">({
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">  nitro:</span><span style="--shiki-default:#F1FA8C"> {
</span></span><span class="line" line="3"><span style="--shiki-default:#50FA7B">    prerender:</span><span style="--shiki-default:#F1FA8C"> {
</span></span><span class="line" line="4"><span style="--shiki-default:#50FA7B">      routes:</span><span style="--shiki-default:#F8F8F2"> [</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F1FA8C">/rss.xml</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F8F8F2">],
</span></span><span class="line" line="5"><span style="--shiki-default:#F8F8F2">    },
</span></span><span class="line" line="6"><span style="--shiki-default:#F8F8F2">  },
</span></span><span class="line" line="7"><span style="--shiki-default:#F8F8F2">});
</span></span></code></pre><h4 id="how-it-works">How It Works</h4><ol><li><strong>Feed Initialization</strong>: The <code class="">Feed</code> object is set up with metadata such as the blog title, description, and link.</li><li><strong>Content Transformation</strong>: The Nuxt Content AST is patched and transformed into valid HTML using <code class="">hast-util-to-html</code>.</li><li><strong>Feed Population</strong>: Each blog post is added to the feed with properties like title, description, and content.</li><li><strong>Code Snippets</strong>: The code snippet patch ensures code blocks are properly formatted without inline styles, adhering to RSS feed standards.</li><li><strong>RSS Output</strong>: The feed is returned as an RSS 2.0 XML document.</li></ol><p>With these steps, you now have a fully functional RSS feed for your Nuxt Content-powered site. Happy coding!</p><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=How to Generate an RSS Feed for Your Nuxt Content Site">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>english</category>
            <category>programacao</category>
            <category>tecnologia</category>
        </item>
        <item>
            <title><![CDATA[Dragon Ball Vol 34 - Edição Definitiva]]></title>
            <link>https://www.marcal.dev/dragon-ball-vol-34-edicao-definitiva</link>
            <guid isPermaLink="false">/dragon-ball-vol-34-edicao-definitiva</guid>
            <pubDate>Sun, 24 Nov 2024 17:09:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="dragon-ball-vol-34-edicao-definitiva" src="img/dragon-ball-edicao-definitiva/dragon-ball-vol-34-edicao-definitiva.jpg"></p><p>Depois de 4 anos acompanhando essa obra-prima, finalmente chegou ao fim! Não foi fácil, principalmente com o preço de capa aumentando tanto. Para ter uma ideia, o primeiro volume eu comprei em maio de 2020 por R$ 45,10, enquanto o último saiu por R$ 76,02. Culpa de várias coisas, como a inflação, o aumento no preço do papel e, claro, estamos falando da Panini, né? Eles têm o costume de ir encarecendo os volumes mesmo. Mas deixando o choro de lado, foi uma ótima viagem, e foi muito bom ter acompanhado essa história.</p><p>Ainda continuo gostando mais da fase clássica do Goku, até mais ou menos a saga do Piccolo. Gosto muito da veia cômica do Akira nesse período. Por outro lado, na saga do Boo, acredito que houve um bom retorno às origens — e eu não lembro se na animação foi assim também. No mangá, teve muita porradaria, como todo mundo gosta, mas sem deixar de lado situações engraçadas e nonsenses. Muitas batalhas, inclusive, trazem golpes cômicos que se encaixariam perfeitamente na atmosfera do <em>Dragon Ball Clássico</em>.</p><p>Esse último volume teve um pouco de tudo, ainda bem. Além disso, trouxe uma boa dose de emoção na última batalha contra Boo, com Vegeta tendo seu desfecho final: agora, temos a confirmação de que ele não é mais um cara mau e ainda reconhece Goku como o número 1. Depois de tantas vezes salvarem a Terra, achei ótima a sacada de, no final, contra o inimigo mais poderoso do universo, ser o povo da Terra quem salva o dia, dando sua força para a grande Genki Dama de Goku. Confesso que, nessas últimas páginas, meu coração acelerou de emoção. Após a derrota de Boo, tudo volta ao normal, e a história avança dez anos, anunciando então o fim definitivo.</p><p>Li que muitos, na época, acharam o desfecho prematuro e foram pegos de surpresa. Eu, no entanto, achei bem satisfatório. A série não termina antes de mostrar a reencarnação do Kid Boo, o terráqueo Oob: um garotinho bem ingênuo, mas com o imenso poder de Boo latente, que se tornará aprendiz de Goku. Mas a história a partir daí nunca saberemos, já que Akira nunca chegou a desenhar nada nesse sentido. Acho que nunca foi a intenção. A história continua em <em>Dragon Ball Super</em> e <em>Daima</em>, que se passam logo após a derrota de Boo — dez anos antes do final da série.</p><p>Eu já havia lido o mangá via scan há muitos e muitos anos, e acompanhá-lo agora de forma seriada foi uma ótima experiência. Agora vou procurar mais material do Akira, como <em>Dr. Slump</em>, que nunca li. É isso! Muito obrigada, Akira Toriyama!</p><p><img alt="dragon-ball-vol-34-edicao-definitiva" src="img/dragon-ball-edicao-definitiva/dragon-ball-vol-34-edicao-definitiva-2.jpg"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dragon Ball Vol 34 - Edição Definitiva">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/dragon-ball-edicao-definitiva/dragon-ball-vol-34-edicao-definitiva.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Abecedário de personagens do folclore brasileiro]]></title>
            <link>https://www.marcal.dev/abecedario-de-personagens-do-folclore-brasileiro</link>
            <guid isPermaLink="false">/abecedario-de-personagens-do-folclore-brasileiro</guid>
            <pubDate>Sat, 23 Nov 2024 10:38:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="abecedario-de-personagens-do-folclore-brasileiro" src="img/abecedario-de-personagens-do-folclore-brasileiro.jpg"></p><blockquote><p>Este livro reúne 141 personagens significativas e recorrentes do nosso folclore, com um recorte que busca contemplar a diversidade de origens – indígena, africana, europeia e oriental – como elemento constituinte da cultura brasileira. São humanos, bichos e seres fantásticos, que convivem e se misturam nas histórias populares. Cada personagem é apresentada em forma de verbete ilustrado, que descreve suas características físicas e psicológicas, sua origem e as narrativas em que aparece. O texto ainda faz a relação cultural e literária com outras fontes da bibliografia. As ilustrações ressaltam os traços físicos e de caráter ou mostram determinada situação da aventura folclórica do ser mítico.</p></blockquote><p>É bastante interessante notar que muito do que achamos ser o folclore "brasileiro" tem influência não só indígena, mas também europeia, africana e até mesmo árabe. Por causa disso, já vi pessoas defenderem que não há um folclore brasileiro, o que considero um argumento equivocado!</p><p>Que importância tem o fato de o mito do lobisomem ter sido importado de outros países? Ou que o mito do Chupa-Cabra tenha surgido primeiro em Porto Rico? A beleza do folclore está justamente nas histórias que são contadas, transmitidas de geração em geração e adaptadas ao longo do tempo e conforme a região em que são narradas.</p><p>Para mim, o Saci-Pererê é um personagem genuinamente brasileiro, na medida em que passou por transformações regionais que lhe conferiram um caráter único e especial. Não me importa que existam paralelos com personagens ancestrais na Europa ou na África — como indicam os registros históricos. A própria noção de Saci no Brasil — e na América do Sul — não é uniforme. Existem muitas descrições desse personagem: o Saci, o Saci-Perê, o Saci-Sêrêrê, o Saci-Taterê, o Iaci-Íaterê — este último no Paraguai. Em alguns lugares, ele é descrito com mãos furadas, como o <em>Fradinho da Mão Furada</em> em Portugal; em outros, ele tem duas pernas, ou apenas uma; em outros, é peludo, pelado, ou até mesmo um chupador de sangue. A cultura não é estática, e ainda bem que não é!</p><p>Além disso, ser brasileiro significa aceitar que somos uma nação de origem multicultural. Por isso, vemos mitos que têm características indígenas, africanas e europeias. Eu acho isso incrível!</p><blockquote><p>É preciso  lembrar que um dos legados mais importantes de uma nação é sua memória ficcional; nela encontramos suas origens culturais.</p></blockquote><p>Um personagem interessante que merece menção é a figura de <em>Pai João</em>, que não lembro de ter conhecido nem na escola, nem na literatura. Retratado como um preto velho, de cabelos brancos e encaracolados, "pitando" um cachimbo, ele é descrito no livro como um personagem presente no Brasil da escravidão, nos engenhos, nas minas de ouro e nas plantações. Simboliza a opressão branca sobre os negros, que, nesse contexto, se curvam a essa situação, convivendo com ela com certa sabedoria e uma discreta revolta.</p><p>Copio aqui a cantiga <em>"Lundu de Pai João"</em>, que me impressionou muito quando li:</p><pre code="Quando iô tava na minha tera  
Iô chamava capitão  
Chega na tera dim baranco,  
Iô me chama – Pai João.

Quando iô tava na minha tera  
Comia minha garinha,  
Chega na tera dim baranco  
Cárne sêca co farinha.

Quando iô tava na minha tera  
Iô chamava generá,  
Chega na tera dim baranco  
Pega o cêto vai ganhá.

Dizofôro dim baranco  
Nó si póri aturá,  
Tá comendo, tá... drumindo.  
Manda nego trabaiá.

Baranco – dize quando môre  
Jesuchrisso que levou,  
E o pretinho quando môre  
Foi cachaxa que matou.

Qunado baranco vai na venda
Logo dizi tá &#x27;squentáro,
Nosso preto vai na venda,
Acho copo tá viráro.

Baranco dize – preto fruta,  
Preto fruta co rezão;  
Sinhô baranco também fruta  
Quando panha casião.

Nosso preto fruta garinha  
Fruta sacco de fuijão;  
Sinhô baranco quando fruta  
Fruta prata e patacão.

Nosso preto quando fruta  
Vai pará na coreção,  
Sinhô baranco quando fruta  
Logo sai sinhô barão.

"><code __ignoreMap="">Quando iô tava na minha tera  
Iô chamava capitão  
Chega na tera dim baranco,  
Iô me chama – Pai João.

Quando iô tava na minha tera  
Comia minha garinha,  
Chega na tera dim baranco  
Cárne sêca co farinha.

Quando iô tava na minha tera  
Iô chamava generá,  
Chega na tera dim baranco  
Pega o cêto vai ganhá.

Dizofôro dim baranco  
Nó si póri aturá,  
Tá comendo, tá... drumindo.  
Manda nego trabaiá.

Baranco – dize quando môre  
Jesuchrisso que levou,  
E o pretinho quando môre  
Foi cachaxa que matou.

Qunado baranco vai na venda
Logo dizi tá 'squentáro,
Nosso preto vai na venda,
Acho copo tá viráro.

Baranco dize – preto fruta,  
Preto fruta co rezão;  
Sinhô baranco também fruta  
Quando panha casião.

Nosso preto fruta garinha  
Fruta sacco de fuijão;  
Sinhô baranco quando fruta  
Fruta prata e patacão.

Nosso preto quando fruta  
Vai pará na coreção,  
Sinhô baranco quando fruta  
Logo sai sinhô barão.

</code></pre><p>Note que as palavras estão grafadas para imitar a fala de um africano que ainda mal domina a língua portuguesa — à moda de um preto velho. Trata-se de uma crítica contundente à sociedade, que continua muito atual.</p><p>Daí a importância de obras como essa, que buscam resgatar personagens esquecidos do nosso folclore e, ao mesmo tempo, apresentar figuras modernas, mesmo que, até então, só existam em uma pequena cidade do interior de Pernambuco ou sobrevivam nas grandes cidades na forma de lendas urbanas, como a Loira do Banheiro e a Mulher de Vermelho.</p><p>O folclore é notadamente o retrato de um povo e de sua cultura e, por isso, relevante para a educação.  Foi uma boa leitura!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Abecedário de personagens do folclore brasileiro">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/abecedario-de-personagens-do-folclore-brasileiro.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Diabo dos Números]]></title>
            <link>https://www.marcal.dev/o-diabo-dos-numeros</link>
            <guid isPermaLink="false">/o-diabo-dos-numeros</guid>
            <pubDate>Thu, 21 Nov 2024 22:19:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="o-diabo-dos-numeros" src="img/o-diabo-dos-numeros.jpg"></p><blockquote><p>Sabe de uma coisa ? A maioria dos matemáticos de verdade nem sabe fazer contas . E, além do mais , eles nem têm tempo para isso . Para fazer contas existem as calculadoras.</p></blockquote><blockquote><p>Matemática? Aquela montanha de números sem sentido? Aqueles cálculos que não servem para calcular nada? Não, nem pensar. O autor deste livro sobre matemática é um dos maiores poetas contemporâneos de língua alemã - e esse dado já seria suficiente para indicar até que ponto O diabo dos números é original. O livro nega desde o início aquele lugar-comum segundo o qual quem gosta de matemática não gosta de literatura ou, numa outra versão, quem sabe fazer conta não sabe escrever.Robert, o menino do pijama azul, fazia parte dessa maioria que acha os números não só monstruosos, mas também absurdos e inúteis. Um dia, entretanto, ele começa a sonhar com um certo Teplotaxl, um diabo que pinta e borda com a matemática. No total, são doze sonhos, e a cada sonho o tal Teplotaxl faz malabarismos tão interessantes que os números simplesmente deixam de ser malditos. Ficam claros para Robert. Claros e diabolicamente divertidos.Prêmio Monteiro Lobato "A Melhor Tradução/Informativo" pela Fundação Nacional do Livro Infantil e Juvenil - FNLIJ 1997</p></blockquote><p>Tive que ler a versão em inglês, pois a versão em PDF em português que circula na internet apresenta um erro estranho nas imagens com números, o que tornou a leitura bastante inviável.</p><p>É uma leitura leve, uma história <em>nonsense</em> (sem o sentido pejorativo), como <em>Alice no País das Maravilhas</em> ou <em>Emília no País da Gramática</em>. É um ótimo texto de divulgação para se apaixonar pela matemática ou despertar interesse nela. Ideal para apresentar a uma criança. Eu gostei.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Diabo dos Números">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-diabo-dos-numeros.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Um Convite à Matemática: com técnicas de demonstração e notas históricas]]></title>
            <link>https://www.marcal.dev/um-convite-a-matematica-daniel-cordeiro</link>
            <guid isPermaLink="false">/um-convite-a-matematica-daniel-cordeiro</guid>
            <pubDate>Wed, 20 Nov 2024 21:37:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="um-convite-a-matematica-daniel-cordeiro" src="img/um-convite-a-matematica-daniel-cordeiro.jpg"></p><blockquote><p>Como se estruturam a lógica, os teoremas e as conjecturas matemáticas? As bases desse admirável universo são explicadas nesta obra. O autor apresenta os fundamentos básicos da lógica matemática e explica como as ideias nesse campo do conhecimento funcionam. O livro permite aos alunos do último ano do ensino médio e aos que ingressaram no primeiro ano das universidades terem um contato mais sólido com o formalismo e a abstração necessários para tornar inteligível algumas das primeiras disciplinas da matemática.
O raciocínio lógico dedutivo é fundamental para os estudantes de matemática. Na busca de desenvolvê-lo, num curto intervalo de tempo, o autor coloca os leitores em contato com as notações mais utilizadas, sentenças, a definição e demonstração de teoremas, modelos axiomáticos e convenções matemáticas, conjecturas e problemas famosos, o princípio de indução, os números de Fermat, primos gêmeos, resumo e tabela-resumo das técnicas de demonstração, além de muitas curiosidades.</p></blockquote><p>É um bom material, principalmente porque oferece ótimos contextos históricos, curiosidades, etc. Aprender técnicas de demonstração é extremamente interessante e muito importante para assimilar novos conceitos de matemática, desenvolver o pensamento crítico na resolução de problemas e evitar depender apenas da memorização.</p><p>Eu gostei muito!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Um Convite à Matemática: com técnicas de demonstração e notas históricas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/um-convite-a-matematica-daniel-cordeiro.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Deux personnalités que j'aime]]></title>
            <link>https://www.marcal.dev/fr/deux-personnalites-que-jaime</link>
            <guid isPermaLink="false">/fr/deux-personnalites-que-jaime</guid>
            <pubDate>Sat, 16 Nov 2024 08:58:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <hr><p>Je vais parler brièvement de deux personnalités pleines de vie que j'apprécie beaucoup.</p><h3 id="contenu">Contenu</h3><ul><li><a href="#introduction">Introduction</a></li><li><a href="#keanu-reeves">Keanu Reeves</a></li><li><a href="#jim-carrey">Jim Carrey</a></li></ul><h3 id="introduction">Introduction</h3><p><strong>Ma prof m'a demandé de faire une petite activité sur une personnalité que j'aime.</strong></p><p>J'ai pensé à deux personnalités: Keanu Reeves et Jim Carrey.</p><h3 id="keanu-reeves">Keanu Reeves</h3><p>C'est un acteur et musicien canadien, né à Beyrouth, au Liban, en 1964. Il a 60 ans et vit à Los Angeles, aux États-Unis.</p><p><img alt="keanu-joue-constantin" src="/img/deux-personnalites-que-jaime/keanu-joue-constantin.png"></p><p>J'adore ses films, surtout <em>Matrix</em>, <em>Constantine</em> et <em>John Wick</em>. Ils font partie de mes préférés, même si je ne le considère pas comme un grand acteur.</p><p>Il est bien connu pour son amour des motos et de la musique. Mais ce qui le rend spécial, c'est qu'il aide beaucoup de causes, comme la lutte contre le cancer.</p><p><img alt="keanu-reeves-joue-de-laguitare" src="/img/deux-personnalites-que-jaime/keanu-reeves-joue-de-laguitare.png"></p><p>Contrairement à beaucoup de célébrités, il ne va pas aux grandes fêtes. On le voit parfois dans la rue ou dans le métro, pensif et discret.</p><p>Ce que j'apprécie le plus chez lui, c'est sa personnalité. Il est humble, gentil et réservé. C'est vraiment un gars sympa.</p><p><img alt="keanu-reeves-dans-le-métro" src="/img/deux-personnalites-que-jaime/keanu-reeves-dans-le-metro.png"></p><h3 id="jim-carrey">Jim Carrey</h3><p>Jim Carrey est une autre personnalité que j'admire beaucoup. C'est un acteur et comédien canadien de 62 ans qui vit également à Los Angeles.</p><p><img alt="jim-carrey-sourit" src="/img/deux-personnalites-que-jaime/jim-carrey-sourit.png"></p><p>Ses films ont marqué mon enfance, comme <em>Dumb and Dumber</em> (<em>Debi et Loide</em>), <em>Eternal Sunshine of the Spotless Mind</em> et <em>The Truman Show</em>. Ils restent parmi mes préférés.</p><p><img alt="jim-carrey-grimaces" src="/img/deux-personnalites-que-jaime/jim-carrey-grimaces.png"></p><p>Il est bien connu pour ses performances énergiques, son humour physique et ses nombreuses grimaces. Mais il est aussi très polyvalent, capable de briller dans des rôles dramatiques.</p><p>Ce que j'apprécie le plus chez lui, c'est qu'il peut me faire rire aux éclats tout en me touchant profondément. Pour moi, c'est une légende de la comédie.</p><p><img alt="jim-carrey-films" src="/img/deux-personnalites-que-jaime/jim-carrey-films.png"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Deux personnalités que j'aime">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>francais</category>
            <category>notas-pessoais</category>
        </item>
        <item>
            <title><![CDATA[Dylan Dog Omnibus Vol. 1: O despertar dos mortos]]></title>
            <link>https://www.marcal.dev/dylan-dog-omnibus-vol-1-o-despertar-dos-mortos</link>
            <guid isPermaLink="false">/dylan-dog-omnibus-vol-1-o-despertar-dos-mortos</guid>
            <pubDate>Fri, 15 Nov 2024 12:23:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="Dylan Dog Omnibus Vol. 1: O despertar dos mortos" src="img/dylan-dog-omnibus-vol-1-o-despertar-dos-mortos.jpg"></p><blockquote><p>São as 6 primeiras histórias do personagem que Tiziano Sclavi lançou em 1986 e que rapidamente se tornou um fenômeno cultural. Dylan Dog, o protagonista, é um detetive especializado em casos sobrenaturais, caracterizado por seu charme melancólico e um profundo senso de humanidade. A escrita de Sclavi, marcada por um tom sombrio, humor negro e reflexões filosóficas, elevou o quadrinho a uma posição cult, conquistando uma legião de fãs devotados. A série não só redefiniu o gênero de horror nos quadrinhos, mas também influenciou a cultura pop italiana de maneira significativa. Em uma Londres mágica e nevoenta, capital do fantástico e do terror, Dylan Dog investiga os nossos medos e os nossos desejos, os monstros que existem dentro e fora de nós: fantasmas, demônios, mortos-vivos, assassinos seriais, estados de alucinação, magias, bizarrias, infernos, outras dimensões, outros tempos e outras criaturas. Se o terror o persegue, chame Dylan Dog.</p></blockquote><p>Sempre tive uma certa curiosidade sobre <em>Dylan Dog</em>, mas nunca havia parado para ler. Por que demorei tanto? São ótimas histórias!</p><p>Não há muito o que dizer além do que a sinopse, copiada da loja da Amazon, já explica. Pessoalmente, adorei cada história, repletas de referências à cultura pop, filmes e música. Há menções a <em>Madrugada dos Mortos</em>, <em>Star Trek</em>, <em>Sweeney Todd</em> e ao famoso estripador, o serial killer que aterrorizou Londres.</p><p><em>Dylan Dog</em> é como um James Bond, mas de uma forma bem menos pasteurizada. Inclusive, ele se apresenta como tal nas primeiras páginas: "Meu nome é Dog, Dylan Dog." Em toda história, ele se envolve com uma bela mulher, o que, na minha opinião, contribui para a atmosfera noir das aventuras. Várias vezes me peguei pensando que a história daria um ótimo filme de terror ou noir.</p><p>Há também uma boa dose de comédia, desde aquelas piadas sem graça — que te fazem rir mesmo assim — até o humor mais duvidoso e de mau gosto, que também arranca risadas. O responsável por isso é Groucho, o assistente pirado de Dylan Dog. Fiquei sem saber se ele é realmente maluco ou se possui um senso de humor extremamente afiado, sarcástico e mordaz. Talvez um pouco dos dois.</p><p>Uma curiosidade interessante é que, quando Dylan se encontra diante de um enigma ou beco sem saída intelectual, ele costuma tocar clarinete para se concentrar. E, pelo menos uma das músicas que ele toca, de fato existe: <em>Il Trillo del Diavolo</em> (<em>O Trilo do Diabo</em>), composta por <strong>Giuseppe Tartini</strong>. Eu não conhecia, mas gostei muito. A peça combina perfeitamente com a natureza excêntrica e sombria do personagem.</p><p>Enfim, foi uma leitura muito boa, e recomendo especialmente para quem deseja variar um pouco do eixo americano (com os <em>comics</em>) e japonês (com os mangás).</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dylan Dog Omnibus Vol. 1: O despertar dos mortos">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>quadrinhos</category>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/dylan-dog-omnibus-vol-1-o-despertar-dos-mortos.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Digitalizando fotos antigas]]></title>
            <link>https://www.marcal.dev/digitalizando-fotos-antigas</link>
            <guid isPermaLink="false">/digitalizando-fotos-antigas</guid>
            <pubDate>Fri, 15 Nov 2024 10:59:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Tirei um tempo para digitalizar boa parte das fotos de família, o que levou cerca de 5 horas! Não foram muitas, apenas 230, e acredito que ainda faltem umas 100.</p><p>Digitalizei essas fotos para tentar preservar memórias que considero muito importantes. Infelizmente, deveria ter tido essa ideia há muito tempo. As fotos vêm basicamente de duas fontes: a casa do meu pai e a casa da minha mãe. As da casa da minha mãe estão, em sua maioria, em um estado lastimável: sujas, empoeiradas e muitas danificadas pelo contato com líquidos.</p><p>Imagino que o papel fotográfico tenha sido desenvolvido para ter alta durabilidade. Fotos reveladas — alguém ainda usa essa expressão? — durante a década de 90, presumo que deveria garantir uma duração de um século, talvez mais. Mas a qualidade do papel, por si só, não garante a preservação se o dono não dá a devida importância a essas memórias. É preciso saber como conservar as fotos, protegendo-as contra poeira e, certamente, contra líquidos!</p><p>Se você tem muitas fotos, é fundamental ter um equipamento adequado para esse tipo de tarefa. Eu tenho uma impressora multifuncional Epson L4260, que atende bem às necessidades domésticas básicas. Ela imprime e digitaliza documentos com uma boa velocidade no modo normal, mas é bastante lenta no modo "alta qualidade".</p><p>É impossível não notar sua lentidão. Imagine querer imprimir dezenas de páginas com imagens em alta qualidade, precisando esperar quase um minuto por página. Totalmente inviável, não é?</p><p>O mesmo ocorre com a digitalização. Como mencionei, gastei cerca de 5 horas para digitalizar 230 fotos com 600 dpi (pontos por polegada, que, simplificando, são como os pixels na TV ou no celular). Digitalizei 4 imagens por vez, preenchendo algo próximo ao tamanho de uma página A4. Honestamente, não sei se digitalizar várias imagens juntas compromete a qualidade final, mas definitivamente não gastaria 4 vezes mais tempo digitalizando uma foto por vez.</p><p>Existem equipamentos melhores para essa tarefa, como o <a href="https://www.epson.pt/pt_PT/produtos/digitalizadores/consumer/fastfoto-ff-680w/p/23191" rel="nofollow">Epson FastFoto FF-680W</a>. Ele foi projetado para digitalizar fotografias. Você coloca uma pilha de fotos no alimentador do equipamento, e ele as digitaliza rapidamente, uma a uma, numa velocidade muito superior à da minha humilde multifuncional.</p><p>A velocidade varia entre segundos e quase um minuto por foto, dependendo das configurações e da resolução (dpi) escolhida. Imagine ter milhares de fotos e documentos para digitalizar: você configura o equipamento, deixa funcionando à noite e acorda com tudo pronto.</p><p>O problema do FF-680W é o preço. Pelo que vi, ele só está disponível para compra no exterior. Na <a href="https://www.amazon.com/Epson-FastFoto-FF-680W-Wireless-High-Speed/dp/B07DLX26BB" rel="nofollow">Amazon dos EUA</a>, o produto custa cerca de 499,99 dólares. Com o frete e os impostos de importação, o total chega a quase 1.000 dólares, ou cerca de 6 mil reais.</p><p>No Brasil, parece mais viável juntar dinheiro, comprar uma passagem para Miami e adquirir o equipamento lá mesmo. Pesquisando hoje, encontrei passagens de ida e volta por 2.399 reais para novembro. Imagino que, planejando com antecedência, seja possível economizar ainda mais. Nunca utilizei serviços de "mochileiros" para trazer produtos de fora, mas acredito que estejam em alta novamente.</p><p>Enfim, os próximos passos serão dividir as imagens — lembra que digitalizei 4 por vez? — e ajustá-las para impressão no tamanho 10x15. Descobri que a proporção correta para esse tamanho é 3x2. Vou editar de 4 a 8 fotos inicialmente, ajustá-las à proporção e imprimir como teste antes de editar todas. Isso deve evitar desperdícios e garantir que as fotos não fiquem com barras brancas grandes ao redor ou a imagem encolhida no centro.</p><p>Como disse, não entendo muito bem desse assunto. Se alguém tiver dicas, por favor, envie-me um e-mail! Até a próxima!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Digitalizando fotos antigas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Luz Vermelha -  minissérie em 4 cápitulos]]></title>
            <link>https://www.marcal.dev/luz-vermelha-mini-em-4-cap-sarah-h-cho</link>
            <guid isPermaLink="false">/luz-vermelha-mini-em-4-cap-sarah-h-cho</guid>
            <pubDate>Sun, 10 Nov 2024 18:34:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="Luz Vermelha - minissérie em 4 cápitulos, por Sarah H. Cho" src="img/luz-vermelha-mini-em-4-cap-sarah-h-cho.png"></p><blockquote><p>Lacy é uma IA. profissional do sexo em um futurista Distrito da Luz Vermelha. E Lacy sabe exatamente o que seus clientes desejam – melhor do que eles próprios. Alojada num bordel de alta tecnologia sob o olhar atento do misterioso Mestre, Lacy tem pouco na sua vida fabricada além do trabalho. Tudo isso muda quando ela faz amizade com Natalie, uma criança órfã que fica sob seus cuidados.</p></blockquote><p>Essa é uma minissérie em 4 capítulos, e em uma ou duas horas dá para ler tudo. É um thriller e, pela ambientação, a história poderia facilmente se passar em um cenário como o de <em>Blade Runner</em>. Não é indispensável, mas vale pelo entretenimento!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Luz Vermelha -  minissérie em 4 cápitulos">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/luz-vermelha-mini-em-4-cap-sarah-h-cho.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Activité: la Semaine de la Mode de Paris]]></title>
            <link>https://www.marcal.dev/fr/activite-la-semaine-de-la-mode-de-paris</link>
            <guid isPermaLink="false">/fr/activite-la-semaine-de-la-mode-de-paris</guid>
            <pubDate>Sun, 10 Nov 2024 11:23:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <hr><p>Voici une petite activité pour pratiquer mon français. Désolé pour les erreurs. N'hésitez pas à me faire savoir si vous en trouvez !</p><blockquote><p><strong>L'office de tourisme de Paris cherche des volontaires pour aider à l'organisation de la Semaine de la Mode.</strong>
Vous décidez d'écrire un message pour vous présenter et dire que vous êtes intéressé(e).
Écrivez votre nom, prénom, nationalité, goûts, votre domicile et d'autres informations que vous jugez
importantes.</p></blockquote><p><strong>Bonjour, Madame, Monsieur !</strong></p><p>Je voudrais être volontaire pour la Semaine de la Mode de Paris.</p><p>Je m'appelle Vítor Marçal, j'ai trente-deux (32) ans et je suis brésilien.</p><p>Mon pays de résidence est le Brésil et j'habite à la ville de Ceilândia, à Brasília.</p><p>Je suis ingénieur logiciel et je suis également étudiant. Je parle portugais, anglais et un peu de français.</p><p>J'aime beaucoup lire et j'adore toutes sortes de bandes dessinées aussi.</p><p>J'aime regarder des animations, principalement les animations japonaises.</p><p>Concernant la France, j'adore les livres d'Alexandre Dumas, en particulier <em>Le Comte de Monte-Cristo</em>, mon préféré. J'aime regarder des films joués par Eva Green.</p><p>Je serai très heureux si je peux participer et aider à l'organisation de la Semaine de la Mode.</p><p>Je vous remercie d'avance,</p><p>Vítor Marçal</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Activité: la Semaine de la Mode de Paris">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>francais</category>
        </item>
        <item>
            <title><![CDATA[Matemática Curso Moderno para cursos ginasiais Volume 1]]></title>
            <link>https://www.marcal.dev/matematica-curso-moderno-para-cursos-ginasiais-vol-1-sangiorgi</link>
            <guid isPermaLink="false">/matematica-curso-moderno-para-cursos-ginasiais-vol-1-sangiorgi</guid>
            <pubDate>Sun, 10 Nov 2024 00:03:00 GMT</pubDate>
            <description><![CDATA[Old but gold]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Matemática Curso Moderno para cursos ginasiais Volume 1, de Osvaldo Sangiorgi" src="img/matematica-curso-moderno-para-cursos-ginasiais-vol-1-sangiorgi.png"></p><blockquote><p>O livro é o primeiro volume de uma coleção didática para o ginásio. Recebeu o prêmio Jabuti - 1963 em Ciências Exatas outorgado pela Câmara Brasileira do Livro.</p></blockquote><p>Animei voltar a estudar Matemática por diversão e decidi revisar minhas bases. Para isso, decidi encarar o famoso <em>Matemática Curso Moderno para cursos ginasiais</em>, do Sangiorgi.</p><p>Não se deixe enganar pela data de publicação livro. Ter sido publicado há 60 anos não o torna ultrapassado — afinal, é um livro de Matemática — e muito menos significa que sua didática seja ruim. Pelo contrário, ela é excelente, a ponto de o livro ter recebido o Prêmio Jabuti em 1963 na categoria de Ciências Exatas.</p><p>Sangiorgi, ao escrever este curso para os primeiros anos do antigo ginásio, apresenta a Matemática com uma linguagem clara, em um texto simples, que nos aproxima dessa matéria tão temida e, muitas vezes, vista como alienígena, graças, infelizmente, à forma corrida e fora da realidade com que é ensinada na escola.</p><p>Parece estar esgotado, e não o encontrei à venda on-line, mas é possível baixar o PDF do livro gratuitamente e legalmente no <a href="https://repositorio.ufsc.br/handle/123456789/221459" rel="nofollow">repositório da UFSC</a>.</p><p>Recomendo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Matemática Curso Moderno para cursos ginasiais Volume 1">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/matematica-curso-moderno-para-cursos-ginasiais-vol-1-sangiorgi.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Leituras de 2024 📚]]></title>
            <link>https://www.marcal.dev/leituras-de-2024</link>
            <guid isPermaLink="false">/leituras-de-2024#updated_at#2024-11-03T18:45:00</guid>
            <pubDate>Sun, 03 Nov 2024 18:45:00 GMT</pubDate>
            <description><![CDATA[Minha lista de leitura para o ano de 2024 abrange o que já foi lido, está sendo lido e o que desejo ler.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Uma biblioteca pessoal bem aconchegante" src="img/leituras-do-ano/biblioteca-pessoal-escrit%C3%B3rio-aconchegante.png"></p><p>Já há alguns anos, eu registro minhas atividades de leitura no Goodreads. Lá, consigo me planejar, marcar leituras desejadas e concluídas. Acontece que o Goodreads tem uma usabilidade péssima e uma funcionalidade limitada para exportar nossos dados.</p><p>Este ano, farei um pouco diferente. Ainda registrarei lá no Goodreads, mas desta vez, também registrarei o que li ou quero ler aqui.</p><h2 id="sumário">Sumário</h2><ul><li><a href="#lidos">Lidos</a></li><li><a href="#lendo">Lendo</a></li><li><a href="#abandonados">Abandonados</a></li><li><a href="#quero-ler">Quero Ler</a><ul><li><a href="#literatura-e-fic%C3%A7%C3%A3o">Literatura e Ficção</a></li><li><a href="#cultura-pop-e-hqs">Cultura Pop e HQs</a></li><li><a href="#ci%C3%AAncias-e-conhecimento-geral">Ciências e Conhecimento Geral</a></li><li><a href="#educa%C3%A7%C3%A3o-e-estudos-t%C3%A9cnicos">Educação e Estudos Técnicos</a></li></ul></li></ul><h2 id="lidos">Lidos</h2><ol><li><a href="dragon-ball-vol-29-edicao-definitiva">Dragon Ball Vol. 29 - Edição Definitiva</a>, por Akira Toriyama - 2024-01-04</li><li><a href="antologia-poetica-de-carlos-drummond-de-andrade">Antologia Poética</a>, por Carlos Drummond de Andrade - 2024-01-11</li><li><a href="mushishi">Mushishi: Volume 1</a>, por Yuki Urushibara - 2024-01-15</li><li><a href="a-navalha-de-ockham-o-principio-filosofico-que-libertou-a-ciencia-e-ajudou-a-explicar-o-universo">A navalha de Ockham: O princípio filosófico que libertou a ciência e ajudou a explicar o universo</a>, por Johnjoe McFadden - 2024-01-24</li><li><a href="jovens-sagrados">Jovens Sagrados: Volume 1</a>, por Hikaru Nakamura - 2024-02-02</li><li><a href="jovens-sagrados">Jovens Sagrados: Volume 2</a>, por Hikaru Nakamura - 2024-02-03</li><li><a href="dragon-ball-vol-30-edicao-definitiva">Dragon Ball Vol. 30 - Edição Definitiva</a>, por Akira Toriyama - 2024-02-05</li><li><a href="jovens-sagrados">Jovens Sagrados: Volume 3</a>, por Hikaru Nakamura - 2024-02-07</li><li><a href="oshi-no-ko-minha-estrela-preferida-vol-01">Oshi no Ko - Minha Estrela Preferida Vol. 01</a>, por Aka Akasaka - 2024-02-15</li><li><a href="aprenda-ingles-num-piscar-de-olhos">Aprenda Inglês num piscar de olhos</a>, por Fabiana Lara - 2024-02-21</li><li><a href="o-planeta-dos-macacos">O Planeta dos Macacos</a>, por Pierre Boulle - 2024-02-26</li><li><a href="cypherpunks-liberdade-e-o-futuro-da-internet">Cypherpunks: Liberdade e o Futuro da Internet</a>, por Julian Assange -  2024-03-07</li><li><a href="necron-volume-1-a-fabricante-de-monstros">Necron - Volume 1: A Fabricante de Monstros</a>, por Magnus - 2024-03-07</li><li><a href="necron-volume-2-o-navio-dos-leprosos">Necron - Volume 2: O Navio dos Leprosos</a>, por Magnus - 2024-03-08</li><li><a href="contos-reunidos-do-mestre-do-horror-cosmico">Contos Reunidos do Mestre do Horror Cósmico,</a> de H. P. Lovecraft - 2024-03-12</li><li><a href="a-vida-intelectual">A vida intelectual – Seu espírito, suas condições, seus métodos</a>, por Sertillanges - 2024-03-12</li><li><a href="ministerio">Ministério</a>, por Francisco Solano López - 2024-03-13</li><li><a href="suspiria-do-reino-das-trevas">Suspiria: Do Reino das Trevas</a>, por Luca Laca Montagliani - 2024-03-15</li><li><a href="hokuto-no-ken-volume-1">Hokuto no Ken: Volume 1</a>, por Buronson e Tetsuo Hara - 2024-03-23</li><li><a href="hokuto-no-ken-volume-2">Hokuto no Ken: Volume 2</a>, por Buronson e Tetsuo Hara - 2024-03-24</li><li><a href="hokuto-no-ken-volume-3">Hokuto no Ken: Volume 3</a>, por Buronson e Tetsuo Hara - 2024-03-26</li><li><a href="hokuto-no-ken-volume-4">Hokuto no Ken: Volume 4</a>, por Buronson e Tetsuo Hara - 2024-03-27</li><li><a href="hokuto-no-ken-volume-5">Hokuto no Ken: Volume 5</a>, por Buronson e Tetsuo Hara - 2024-03-28</li><li><a href="hokuto-no-ken-volume-6">Hokuto no Ken: Volume 6</a>, por Buronson e Tetsuo Hara - 2024-03-28</li><li><a href="hokuto-no-ken-volume-7">Hokuto no Ken: Volume 7</a>, por Buronson e Tetsuo Hara - 2024-03-28</li><li><a href="hokuto-no-ken-volume-8">Hokuto no Ken: Volume 8</a>, por Buronson e Tetsuo Hara - 2024-03-31</li><li><a href="necron-volume-3-monstros-mecanicos">Necron - Volume 3: Monstros Mecânicos</a>, por Magnus - 2024-04-06</li><li><a href="dragon-ball-vol-31-edicao-definitiva">Dragon Ball Vol. 31 - Edição Definitiva</a>, por Akira Toriyama - 2024-04-06</li><li><a href="necron-volume-4-as-mulheres-aranhas">Necron - Volume 4: As Mulheres Aranhas</a>, por Magnus - 2024-04-07</li><li><a href="hokuto-no-ken-volume-9">Hokuto no Ken: Volume 9</a>, por Buronson e Tetsuo Hara - 2024-04-08</li><li><a href="suspiria-coracao-em-chamas">Suspiria: Coração em Chamas</a>, por Luca Laca Montagliani - 2024-04-21</li><li><a href="pre-calculo-grafico-numerico-e-algebrico">Pré-cálculo: Gráfico, Numérico e Algébrico</a>, por Franklin D. Demana - 2024-04-21</li><li><a href="hokuto-no-ken-volume-10">Hokuto No Ken: Volume 10</a>, por Buronson e Tetsuo Hara - 2024-04-22</li><li><a href="o-mito-de-sisifo-de-albert-camus">O mito de Sísifo</a>, por Albert Camus - 2024-05-01</li><li><a href="neon-genesis-evangelion-collectors-edition-vol-04">Neon Genesis Evangelion Collector's Edition Vol. 04</a>, por Yoshiyuki Sadamoto - 2024-05-01</li><li><a href="as-110-pilulas-de-magnus">As 110 Pilulas</a>, por Magnus - 2024-05-01</li><li><a href="condado-maldito-volume-1-bruxas-e-assombracoes">Condado Maldito: Volume 1 - Bruxas &#x26; Assombrações</a>, por Cullen Bunn - 2024-05-18</li><li><a href="the-darkness-volume-1">The Darkness: Origins - volume 1</a>, por Garth Ennis - 2024-05-18</li><li><a href="o-astronauta-de-jaroslav-kalfar">O Astronauta</a>, por Jaroslav Kalfar - 2024-05-22</li><li><a href="cantinho-xxx">Cantinho XXX</a>, por Caio Oliveira - 2024-06-20</li><li><a href="hq-heros-americains">HQ Héros Américains</a>, por Almicar Pinna - 2024-06-21</li><li><a href="suspiria-herege">Suspiria: Herege</a>, por Luca Laca Montagliani - 2024-06-23</li><li><a href="monstro-do-pantano-vol-1-edicao-absoluta">Monstro do Pântano por Alan Moore Vol. 1: Edição Absoluta</a>, por Alan Moore - 2024-07-03</li><li><a href="dragon-ball-vol-32-edicao-definitiva">Dragon Ball Vol. 32 - Edição Definitiva</a>, por Akira Toriyama - 2024-07-07</li><li><a href="hokuto-no-ken-volume-11">Hokuto No Ken: Volume 11</a>, por Buronson e Tetsuo Hara - 2024-07-16</li><li><a href="sal-gordura-acido-calor-os-elementos-da-boa-cozinha">Sal, gordura, ácido, calor: Os elementos da boa cozinha</a>, por Samin Nosrat - 2024-07-17</li><li><a href="leituras/battle-royale-omnibus/battle-royale-omnibus-volume-1">Battle Royale Omnibus: Volume 1</a>, por Koushun Takami - 2024-07-23</li><li><a href="o-poder-do-infinito-como-o-calculo-revela-os-segredos-do-universo">O poder do infinito: Como o cálculo revela os segredos do universo</a>, por Steven Strogatz - 2024-07-28</li><li><a href="fr/mamie-petronille-et-le-ruban-jaune">Mamie Pétronille et le ruban jaune</a>, por Jane Cadwaller - 2024-08-30</li><li><a href="amar-verbo-intransitivo-de-mario-de-andrade">Amar, verbo intransitivo</a>, por Mário de Andrade - 2024-09-05</li><li><a href="borboleta-assassina-vol-1">Borboleta Assassina: Volume 1</a>, por Yuka Nagate - 2024-09-06</li><li><a href="dragon-ball-vol-33-edicao-definitiva">Dragon Ball Vol. 33 - Edição Definitiva</a>, por Akira Toriyama - 2024-09-14</li><li><a href="hokuto-no-ken-volume-12">Hokuto no Ken: Volume 12</a>, por Buronson e Tetsuo Hara - 2024-09-16</li><li><a href="o-cranio-vivo-por-magnus">O Crânio Vivo</a>, por Magnus - 2024-09-29</li><li><a href="a-grande-historia-da-evolucao-por-richard-dawkins">A Grande História da Evolução</a>, por Richard Dawkins - 2024-10-01</li><li><a href="hokuto-no-ken-volume-13-a-16">Hokuto no Ken: Volume 13</a>, por Buronson e Tetsuo Hara - 2024-10-06</li><li><a href="hokuto-no-ken-volume-13-a-16">Hokuto no Ken: Volume 14</a>, por Buronson e Tetsuo Hara - 2024-10-06</li><li><a href="hokuto-no-ken-volume-13-a-16">Hokuto no Ken: Volume 15</a>, por Buronson e Tetsuo Hara - 2024-10-07</li><li><a href="hokuto-no-ken-volume-13-a-16">Hokuto no Ken: Volume 16</a>, por Buronson e Tetsuo Hara - 2024-10-07</li><li><a href="neon-genesis-evangelion-collectors-edition-vol-05">Neon Genesis Evangelion Collector's Edition Vol. 05</a>, por Yoshiyuki Sadamoto - 2024-10-15</li><li><a href="hokuto-no-ken-volume-17">Hokuto no Ken: Volume 17</a>, por Buronson e Tetsuo Hara - 2024-10-15</li><li><a href="matematica-curso-moderno-para-cursos-ginasiais-vol-1-sangiorgi">Matemática Curso Moderno para cursos ginasiais Volume 1</a>, por Osvaldo Sangiorgi - 2024-11-09</li><li><a href="luz-vermelha-mini-em-4-cap-sarah-h-cho">Luz Vermelha -  minissérie em 4 cápitulos</a>, por Sarah H. Cho - 2024-11-10</li><li><a href="dylan-dog-omnibus-vol-1-o-despertar-dos-mortos">Dylan Dog Omnibus Vol. 1: O despertar dos mortos</a>, por Tiziano Sclavi - 2024-11-12</li><li><a href="um-convite-a-matematica-daniel-cordeiro">Um Convite à Matemática: com técnicas de demonstração e notas históricas</a>, por Daniel Cordeiro de Morais Filho - 2024-11-20</li><li><a href="o-diabo-dos-numeros">O diabo dos números</a>, por Hans Magnus Enzensberger e Rotraut Susanne Berner - 2024-11-21</li><li><a href="abecedario-de-personagens-do-folclore-brasileiro">Abecedário de personagens do folclore brasileiro</a>, por Januária Cristina Alves - 2024-11-23</li><li><a href="dragon-ball-vol-34-edicao-definitiva">Dragon Ball Vol. 34 - Edição Definitiva</a>, por Akira Toriyama - 2024-11-23</li><li><a href="hokuto-no-ken-volume-18">Hokuto no Ken: Volume 18</a>, por Buronson e Tetsuo Hara - 2024-12-08</li><li><a href="o-nome-da-rosa">O nome da rosa</a>, por Umberto Eco - 2024-12-22</li></ol><h2 id="lendo">Lendo</h2><ol><li>Pré-Cálculo - Uma Preparação para o Cálculo, por Sheldon Axler - 2024-11-24</li></ol><h2 id="abandonados">Abandonados</h2><p>A vida é curta demais, e há muito mais sendo publicado por aí para nos forçarmos em uma leitura.</p><ol><li><a href="o-processo-de-franz-kafka">O processo</a>, por Franz Kafka - 2024-07-28</li><li><a href="antifragil-coisas-que-se-beneficiam-com-o-caos">Antifrágil: Coisas que se beneficiam com o caos</a>, por Nassim Nicholas Taleb - 2024-11-03</li></ol><h2 id="quero-ler">Quero Ler</h2><p>Esta lista reúne itens que encontrei e quero manter em mente. É como uma estante de biblioteca contendo apenas livros do meu interesse. Quando quiser ler algo, posso escolher qualquer uma das opções que já chamaram minha atenção. Em cada seção, coloquei uma descrição para me ajudar a agrupar livros de interesse com outros semelhantes.</p><h3 id="literatura-e-ficção">Literatura e Ficção</h3><p>Nesta seção, reúno romances, ficção literária e obras clássicas que abrangem diferentes estilos e temas, focando sempre na narrativa e na prosa. Agrupar esses livros é útil quando quero explorar histórias — sejam psicológicas, históricas ou de aventura — que prometem envolver o leitor em uma experiência literária profunda e impactante.</p><ul><li>A Morte de Ivan Ilitch, por Leon Tolstói</li><li>A obscena senhora D, de Hilda Hilst</li><li>Advogado do Diabo, de Andrew Neiderman</li><li>Alerta vermelho, de Martha Wells</li><li>Anna Kariênina, de Lev Tolstói</li><li>As vinhas da ira (edição de bolso), de John Steinbeck</li><li>Herdeiros do Tempo, de Adrian Tchaikovsky</li><li>Macunaíma, por Mário de Andrade</li><li>Matéria Escura, de Blake Crouch e Alexandre Raposo</li><li>Memórias póstumas de Brás Cubas, de Machado de Assis</li><li>Tropas estelares, de Robert A. Heinlein</li><li>Voladoras, de Mónica Ojeda</li></ul><h3 id="cultura-pop-e-hqs">Cultura Pop e HQs</h3><p>Nesta seção, encontro mangás, graphic novels e obras populares da cultura geek e pop. São leituras que exploram temas visuais, histórias seriadas e adaptações de anime. Essa categoria é perfeita para momentos em que busco uma experiência de leitura mais leve e visualmente envolvente.</p><ul><li>30 Dias de Noite: Edição Comemorativa, de Steve Niles</li><li>Battle Royale Omnibus, por Koushun Takami
<ul><li>Battle Royale Omnibus: Volume 2, por Koushun Takami</li><li>Battle Royale Omnibus: Volume 3, por Koushun Takami</li><li>Battle Royale Omnibus: Volume 4, por Koushun Takami</li><li>Battle Royale Omnibus: Volume 5, por Koushun Takami</li></ul></li><li>Berserk Vol. 36: Edição Luxo, por Kentaro Miura</li><li>Borboleta Assassina
<ul><li>Borboleta Assassina: Volume 2, por Yuka Nagate</li><li>Borboleta Assassina: Volume 3, por Yuka Nagate</li></ul></li><li>Buda, por Osamu Tezuka
<ul><li>Buda: Volume 5, por Osamu Tezuka</li><li>Buda: Volume 6, por Osamu Tezuka</li><li>Buda: Volume 7, por Osamu Tezuka</li><li>Buda: Volume 8, por Osamu Tezuka</li></ul></li><li>Condado Maldito, por Cullen Bunn
<ul><li>Condado Maldito: Volume 2 - Maus Presságios, por Cullen Bunn</li><li>Condado Maldito: Volume 3 - Encantadora de Serpentes, por Cullen Bunn</li><li>Condado Maldito: Volume 4 - Herança de Família, por Cullen Bunn</li><li>Condado Maldito: Volume 5 - Almas Abandonadas, por Cullen Bunn</li><li>Condado Maldito: Volume 6 - Magia em Conflito, por Cullen Bunn</li><li>Condado Maldito: Volume 7 - Temporada das Sombras, por Cullen Bunn</li><li>Condado Maldito: Volume 8 - Guerra das Bruxas, por Cullen Bunn</li></ul></li><li>Devil Ecstasy Vol. 1, por Shuzo Oshimi</li><li>DRCL midnight children, por Shin’ichi Sakamoto
<ul><li>DRCL midnight children, Vol. 1 (English Edition), por Shin’ichi Sakamoto</li><li>DRCL midnight children, Vol. 2 (English Edition), por Shin’ichi Sakamoto</li><li>DRCL midnight children, Vol. 3 (English Edition), por Shin’ichi Sakamoto</li><li>DRCL midnight children, Vol. 4 (English Edition), por Shin’ichi Sakamoto</li></ul></li><li>LEVIATHAN - Vol. 01, por Shiro Kuroi</li><li>Monstro do Pântano: Edição Absoluta, por Alan Moore
<ul><li>Monstro do Pântano Vol. 2: Edição Absoluta, por Alan Moore</li></ul></li><li>Neon Genesis Evangelion Collector's Edition
<ul><li>Neon Genesis Evangelion Collector's Edition Vol. 06</li><li>Neon Genesis Evangelion Collector's Edition Vol. 07</li></ul></li><li>Necron, por Magnus
<ul><li>Necron - Volume 5: A Nobreza Depravada, por Magnus</li><li>Necron - Volume 6: Massacre no Trem Noturno, por Magnus</li><li>Necron - Volume 7: A Baleia de Aço, por Magnus</li><li>Necron - Volume 8: O Homem Peixe, por Magnus</li><li>Necron - Volume 9: O Rei dos Canibais, por Magnus</li><li>Necron - Volume 10: Os Mortos-Vivos, por Magnus</li></ul></li><li>Ping Pong, por Tayo Matsumoto
<ul><li>Ping Pong Vol. 1, por Tayo Matsumoto</li><li>Ping Pong Vol. 2, por Tayo Matsumoto</li></ul></li><li>Quack: O Caminho do Vento, por Kaji Pato</li></ul><h3 id="ciências-e-conhecimento-geral">Ciências e Conhecimento Geral</h3><p>Aqui estão os livros de ciências, filosofia, política e outras áreas que focam em conhecimento e divulgação científica. Incluí temas amplos e transversais, desde história da matemática e ecologia até antropologia e política. São temas que contribuem para um entendimento mais amplo do mundo, da sociedade e do pensamento humano.</p><ul><li>A fascinante história da matemática, por Mickaël Launay</li><li>A utilidade do inútil: Um manifesto, por Nuccio Ordine</li><li>As Ideias Têm Consequências, de Richard Weaver</li><li>Ciência na alma: Escritos de um racionalista fervoroso, por Richard Dawkins</li><li>Como as democracias morrem, por Steven Levitsky</li><li>Escravidão – Volume 1: Do primeiro leilão de cativos em Portugal até a morte de Zumbi dos Palmares, de Laurentino Gomes</li><li>False Alarm: How Climate Change Panic Costs Us Trillions, Hurts the Poor, and Fails to Fix the Planet, por Bjorn Lomborg</li><li>História da Matemática, por Carl B. Boyer</li><li>Ignorância: Uma história global, por Peter Burke</li><li>Infinitesimal: A teoria matemática que revolucionou o mundo, por Amir Alexander</li><li>O Homem que Calculava, por Malba Tahan (releitura)</li><li>O mundo assombrado pelos demônios, por Carl Sagan (releitura)</li><li>O novo Iluminismo: Em defesa da razão, da ciência e do humanismo, por Steven Pinker</li></ul><h3 id="educação-e-estudos-técnicos">Educação e Estudos Técnicos</h3><p>Aqui entram livros que têm um caráter mais instrutivo e técnico.</p><ul><li>Cálculo: Volume 1 por James Stewart</li><li>Calculus: Early Transcendentals por William Briggs</li><li>Crucial Confrontations: Tools for Resolving Broken Promises, Violated Expectations, and Bad Behavior por Joseph Grenny e outros</li><li>Implementing Domain-Driven Design por Vaughn Vernon (releitura)</li><li>Inspired: How to Create Tech Products Customers Love por Marty Cagan</li><li>Passo a passo - inglês por Charles Berlitz</li><li>Redes de Computadores por Nick Feamster</li><li>Release It!: Design and Deploy Production-Ready Software por Michael T. Nygard</li><li>The Mythical Man-Month: Essays on Software Engineering por Frederick P. Brooks Jr. e outros (releitura)</li><li>The Oz Principle: Getting Results Through Individual and Organizational Accountability por Craig Hickman e outros</li></ul>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Leituras de 2024 📚">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>portugues</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev/img/leituras-do-ano/biblioteca-pessoal-escritório-aconchegante.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Antifrágil: Coisas que se beneficiam com o caos]]></title>
            <link>https://www.marcal.dev/antifragil-coisas-que-se-beneficiam-com-o-caos</link>
            <guid isPermaLink="false">/antifragil-coisas-que-se-beneficiam-com-o-caos</guid>
            <pubDate>Sun, 03 Nov 2024 17:18:00 GMT</pubDate>
            <description><![CDATA[Abandonei 🫣]]></description>
            <content:encoded><![CDATA[
            <p><img alt="antifragil-coisas-que-se-beneficiam-com-o-caos" src="img/antifragil-coisas-que-se-beneficiam-com-o-caos.jpg"></p><blockquote><p>Do autor dos best-sellers <em>A lógica do Cisne Negro</em> e <em>Arriscando a própria pele</em>, <em>Antifrágil</em> revela como prosperar em um mundo de incertezas. Extremamente ambicioso e multidisciplinar, Antifrágil é sobre como se comportar ― e prosperar ― em um mundo cheio de imprevistos. Erudita e espirituosa, a mensagem de Taleb é revolucionária: o que não é antifrágil certamente sucumbirá.</p></blockquote><p>Essa leitura eu deixei em banho-maria por um mês, até finalmente desistir. A ideia é boa: se beneficiar do caos, estar preparado ou se colocar numa posição em que você se beneficie da aleatoriedade futura. Mas poderia ser um artigo de blog — achei cansativo, chato e repetitivo. Não é para mim, mas provavelmente é para muita gente. A vida é curta demais para insistir numa leitura que não está interessante, então finalmente abandonei. Quem sabe daqui a uns anos eu volte a ele.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Antifrágil: Coisas que se beneficiam com o caos">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/antifragil-coisas-que-se-beneficiam-com-o-caos.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hilda Furacão - a minissérie 🌪️]]></title>
            <link>https://www.marcal.dev/hilda-furacao-a-minisserie</link>
            <guid isPermaLink="false">/hilda-furacao-a-minisserie</guid>
            <pubDate>Sat, 02 Nov 2024 18:30:00 GMT</pubDate>
            <description><![CDATA[🌪️ 🌪️ 🌪️]]></description>
            <content:encoded><![CDATA[
            <p><img alt="  Hilda Furacão, a woman in a checkered outfit stands outdoors next to a man, Malthus, in a dark shirt, who is looking down. " src="img/hilda-furacao-a-minisserie.jpg"></p><p>Quem diria! Fazia muitos anos que eu não assistia nada na TV aberta, mas, por algum motivo, senti vontade de ver <em>Hilda Furacão</em>, uma minissérie exibida na Globo lá em 1998. Acabei de terminar todos os 32 capítulos.</p><p>Eu já tinha lido o romance homônimo de Roberto Drummond duas ou três vezes durante a adolescência e lembro que gostei muito, especialmente pela forma como ele abordava os conflitos entre os revolucionários comunistas da época e a sociedade conservadora. O livro é menos um romance entre duas pessoas e mais um trabalho que busca contextualizar os eventos que culminaram no golpe militar de 1964.</p><p>Já a minissérie, embora adapte bastante o contexto e o pano de fundo do livro, foca mais no romance entre a prostituta Hilda e o Frei Malthus, o "Santo". Achei até melhor assim, apesar de sentir que o roteiro puxa para um lado doutrinador em favor dos chamados revolucionários. Não me entenda mal; não sou daqueles que negam o golpe de 64 nem daqueles que chamam o golpe de "Revolução de 64" 🤮.</p><p>O golpe trouxe cerceamento de liberdades e represálias terríveis, mas também reconheço que os grupos envolvidos naquela época — tanto os que apoiaram o golpe quanto os revolucionários — tinham interesses próprios, manipulavam informações e usavam estratégias que serviam a agendas particulares. A situação é muito mais complexa do que uma luta de heróis contra vilões.A análise é bem mais complexa, e isso não justifica algo que precisa ser repudiado — o golpe, mas enfim, não era sobre isso que eu queria falar, e sim sobre a série.</p><p><em>Hilda Furacão</em> tem bons momentos, apesar de um roteiro meio ingênuo e várias histórias paralelas cansativas (ainda que algumas sejam interessantes). Uma coisa que me incomodou foi como o roteiro construiu a paixão entre os protagonistas. A série segue aquele clichê de ódio que vira amor, mas o casal quase não contracena junto, quase não conversa. E quando, enfim, eles percebem que se amam — embora neguem o sentimento — Hilda ainda solta um "Você sente minha falta?". Ora, falta de quê, minha querida, se vocês nunca conversaram? A interação mais próxima que eles tiveram até ali foi o "Santo" tentando, sem sucesso, exorcizá-la! Bom, no final, descobrimos que Hilda completa cinco anos como prostituta em 31 de março de 1964 (data do golpe), o que sugere que, durante esse tempo, eles devem ter se encontrado e conversado. Mas a passagem de tempo na série é confusa. Enfim, isso ainda não tira o mérito da minissérie.</p><p>O final, por outro lado, é horrível. Os protagonistas se desencontram, cada um segue sua vida e, nos últimos minutos, eles se reencontram anos depois, em uma manifestação contra a ditadura. Não tenho nada contra a manifestação, mas sim contra o fato de que, ao longo dos 32 capítulos (ou cinco anos), nada indicava que eles tinham esse perfil, mesmo convivendo com pessoas que facilmente estariam naquela cena — mas não estavam.</p><p>Então, é isso. No geral, gostei de assistir a minissérie, mas também me lembrei do porquê de raramente assistir algo produzido aqui: roteiros ingênuos, soluções fáceis e muita, mas muita enrolação. De qualquer forma, recomendo, especialmente pelo contexto histórico que ela traz sobre um momento importante da nossa história como brasileiros.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hilda Furacão - a minissérie 🌪️">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>portugues</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev/img/hilda-furacao-a-minisserie.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Oswaldo Montenegro - Celebrando 50 Anos de Estrada]]></title>
            <link>https://www.marcal.dev/oswaldo-montenegro-celebrando-50-anos-de-estrada</link>
            <guid isPermaLink="false">/oswaldo-montenegro-celebrando-50-anos-de-estrada</guid>
            <pubDate>Sat, 02 Nov 2024 11:15:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="Oswaldo Montenegro plays an acoustic guitar on stage, wearing a red and gray sweater and jeans, with a microphone nearby." src="img/oswaldo-montenegro-50-anos-1.jpg"></p><p>Foi a primeira vez que tive a oportunidade de estar em uma apresentação do Oswaldo Montenegro. O show, chamado <em>Oswaldo Montenegro - Celebrando 50 Anos de Estrada</em>, aconteceu no Centro de Convenções Ulysses Guimarães, no dia 1º de novembro de 2014.</p><p>Foi muito emocionante! É uma apresentação bem intimista, e espero ter outra oportunidade de assisti-lo novamente.</p><p><img alt="Oswaldo Montenegro playing guitar and singing into a microphone on stage, with a spotlight illuminating them." src="img/oswaldo-montenegro-50-anos-2.jpg"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Oswaldo Montenegro - Celebrando 50 Anos de Estrada">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>portugues</category>
            <category>notas-pessoais</category>
            <enclosure url="https://www.marcal.dev/img/oswaldo-montenegro-50-anos-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Neon Genesis Evangelion Collector's Edition Vol. 05]]></title>
            <link>https://www.marcal.dev/neon-genesis-evangelion-collectors-edition-vol-05</link>
            <guid isPermaLink="false">/neon-genesis-evangelion-collectors-edition-vol-05</guid>
            <pubDate>Tue, 15 Oct 2024 20:56:00 GMT</pubDate>
            <description><![CDATA[Isso aqui é arte!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="neon-genesis-evangelion-collectors-edition-vol-05" src="img/neon-genesis-evangelion-collectors-edition-vol-05.jpg"></p><blockquote><p>Shinji ainda sofre com a perda de um amigo próximo e se recusa a voltar para a escola. Com isso, Asuka decide tomar a frente e mostrar à NERV que pode ser tão boa piloto quanto o garoto, porém, acaba sendo afetada pelas habilidades de um anjo, comprometendo sua missão. Além de Shinji, Asuka e Rei, mais uma criança entra no cenário dos pilotos de EVA, porém, o novo garoto parece um tanto diferente do normal... especialmente quando o segredo de Rei finalmente vem à tona.</p></blockquote><p>Faltam apenas dois volumes para eu terminar o mangá, e a história está ficando cada vez mais sombria. Assim como no anime, é fascinante ver como são exploradas todas as questões psicológicas desenvolvidas por Shinji, Asuka e Rei. Notamos algumas diferenças em relação ao anime, em que certas cenas são expandidas, esclarecendo melhor alguns momentos que eram um pouco confusos no anime. Não há muito mais o que dizer: este mangá é uma verdadeira obra de arte e faz jus a toda a sua influência e fama!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Neon Genesis Evangelion Collector's Edition Vol. 05">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/neon-genesis-evangelion-collectors-edition-vol-05.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volumes 17]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-17</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-17</guid>
            <pubDate>Tue, 15 Oct 2024 20:35:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-17" src="img/hokuto-no-ken/hokuto-no-ken-volume-17.jpg"></p><p>Honestamente, depois da emocionante e reveladora conclusão do último arco, no volume anterior, achei este volume chato e anticlimático. A história deveria ter terminado no volume 17. De qualquer forma, que venha o próximo e último volume, o 18 — que eu espero tenha um final decente!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volumes 17">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-17.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volumes 13 à 16]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-13-a-16</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-13-a-16</guid>
            <pubDate>Mon, 07 Oct 2024 21:42:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-13-a-16" src="img/hokuto-no-ken/hokuto-no-ken-volume-13-a-16.jpg"></p><p>Os volumes 13 ao 16 revelam muito sobre a origem do Hokuto Shin Ken, do nosso protagonista Kenshiro e até de fantasmas do passado, como Toke e Raoh. É incrível como o autor consegue introduzir novos personagens, cada vez mais poderosos que os anteriores, sem tornar a narrativa cansativa ou repetitiva. O último volume foi repleto de ação e teve um final emocionante, com o confronto contra o antagonista, Kaioh (SPOILER -> SPOILER -> irmão de Raoh). Agora, rumo ao que acredito ser o último arco! Só faltam mais dois volumes!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volumes 13 à 16">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-13-a-16.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Organizando meus livros 📚]]></title>
            <link>https://www.marcal.dev/organizando-meus-livros</link>
            <guid isPermaLink="false">/organizando-meus-livros</guid>
            <pubDate>Sat, 05 Oct 2024 20:43:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Hoje, separei um momento para catalogar todos os livros e quadrinhos físicos que tenho guardados em casa. Fiz isso principalmente porque a lista do que possuía estava, em grande parte, apenas na minha cabeça, dificultando o controle do que já comprei, do que já li e do que ainda preciso ler. Para resolver isso, eu usava o Goodreads, mas acabei abandonando. Agora, utilizo uma simples <a href="leituras-de-2024">lista do que li este ano e do que quero ler</a>, que resolve o problema até certo ponto.</p><p>O "será que já li?" é resolvido, embora eu ainda precise confiar na minha memória para leituras anteriores a 2023, já que não tenho esse registro anotado. Além disso, essa lista não ajuda a saber se já adquiri um determinado título. Por exemplo, atualmente estou lendo <em>Hokuto No Ken</em>, que tem 18 volumes, <em>Dragon Ball</em>, com 33 volumes, e <em>Berserk</em>, que não retomo há uns dois anos, tendo parado no volume 33.</p><p>É fácil cometer o erro de comprar um volume duplicado, o que já aconteceu comigo, mas felizmente não com frequência.</p><p>Então, criei uma planilha com todos os livros que possuo. No total, entre lidos e não lidos, são 309 títulos, e confesso que achei que teria menos. Estou tentando evitar acumular livros, especialmente morando de aluguel, onde o espaço é limitado.</p><p>Já pratiquei o desapego algumas vezes, doando mochilas cheias de livros para a biblioteca da minha região e vendendo alguns títulos pela Shopee, o que teve uma boa saída. No entanto, vender pode demorar semanas ou meses, então prefiro doar.</p><p>Catalogar tudo me fez perceber que certos títulos já não fazem tanto sentido para mim. Pelo menos não a ponto de mantê-los fisicamente, quando posso lê-los no Kindle ou tablet.</p><p>Na planilha, além das colunas "Título" e "Autor(es)", coloquei duas novas: "Lido?" e "Desfazer?". A coluna "Lido?" pode receber um ✔️ ou um 🔲, enquanto "Desfazer?" pode ter um 👍 ou 👎.</p><p>Percebi que posso despachar bons livros, como <em>A Lei</em>, de Frédéric Bastiat, e <em>A Última Tentação</em>, de Nikos Kazantzakis. São ótimos, mas posso reler no Kindle sem prejuízo. Já livros que coloquei 👎, como <em>Blade - A Lâmina do Imortal</em> e <em>Cálculo</em>, têm valor emocional ou oferecem uma experiência física que a tecnologia não consegue reproduzir.</p><p>Ainda restam dezenas de livros sem resposta definitiva, mas agora, com tudo organizado em uma planilha, fica mais fácil gerenciar a situação.</p><p>Falando em gerenciamento, já tenho um esquema interessante para organizar todas as minhas mídias de leitura (quadrinhos, mangás, livros) com softwares de código aberto. Se você também está pensando em organizar sua coleção digital, aqui vão algumas ferramentas gratuitas que podem ajudar: <a href="https://github.com/Kareadita/Kavita" rel="nofollow">Kavita</a> (para organizar e ler bibliotecas de mangás, quadrinhos e livros), <a href="https://calibre-ebook.com/pt_BR" rel="nofollow">Calibre</a> (para organizar e converter livros em PDF, MOBI, EPUB, etc.), e <a href="https://github.com/janeczku/calibre-web" rel="nofollow">Calibre-web</a> (uma interface amigável que utiliza o Calibre "por trás dos panos"). Embora pareça que as três ferramentas fazem a mesma coisa, cada uma tem seus pontos fortes e fracos; eu uso todas.</p><p>Logo abaixo, um gostinho de como é a tela inicial do Kavita. Você pode organizar em bibliotecas. Repare que a minha tem "Gibi", "Mangá", "Livro" e "Revistas", cada um com conteúdo sobre esse tema.</p><p><img alt="Tela inicial do Kavita com conteúdo da minha coleção de quadrinhos" src="img/organizando-meus-livros/organizando-meus-livros-1.png"></p><p>Em seguida, a tela do meu Calibre-Web. Via de regra, eu utilizo ele apenas para os livros. Quadrinhos, mangás, etc., eu deixo no Kavita, que também mostra os mesmos livros que aparecem no Calibre-Web.</p><p><img alt="Tela inicial do Calibre-Web com conteúdo da minha coleção de livros" src="img/organizando-meus-livros/organizando-meus-livros-2.png"></p><p>Minha ideia, aos poucos, é que, à medida que vou me desfazendo dos livros físicos, obtenho o equivalente digital e assim poderei relê-los sempre que quiser.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Organizando meus livros 📚">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[A Grande História da Evolução 🧬]]></title>
            <link>https://www.marcal.dev/a-grande-historia-da-evolucao-por-richard-dawkins</link>
            <guid isPermaLink="false">/a-grande-historia-da-evolucao-por-richard-dawkins</guid>
            <pubDate>Fri, 04 Oct 2024 09:35:00 GMT</pubDate>
            <description><![CDATA[Saltar abismos não é o que a evolução faz.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="A Grande História da Evolução, por Richard Dawkins" src="img/a-grande-historia-da-evolucao-por-richard-dawkins.jpg"></p><p>Como sempre, Richard Dawkins escreve de uma maneira bem fluida, e, portanto, este é um ótimo livro de divulgação científica. Há ouro aqui.</p><p>O livro inicia uma peregrinação ao passado, começando pela nossa própria espécie. Vamos cada vez mais longe no tempo, encontrando outras espécies pelo caminho, no momento em que nossos ancestrais se tornam os mesmos. Nessa jornada, encontramos ancestrais mais óbvios, como os que compartilhamos com os gibões, gorilas e orangotangos, até chegarmos aos ancestrais conhecidos que deram origem a toda a subclasse dos mamíferos. Indo ainda mais profundamente, passamos pelos filos dos reinos dos vertebrados, anfíbios, equinodermos (aqueles animais simétricos, como estrelas-do-mar, pepinos-do-mar etc.), até finalmente alcançarmos os (possivelmente) primeiros seres que deram origem a toda a vida. Ufa, foi uma viagem e tanto!</p><p>Digo que é impossível imaginar um período tão extenso quanto 1 milhão de anos. Nós, humanos, estamos acostumados a uma escala de tempo muito menor; medimos a nossa existência em décadas. É difícil até pensar em um século para trás ou para frente, imagine então na escala de 100 milhões, 1 bilhão ou 2 bilhões de anos! Por isso, entender como o processo de evolução funciona é crucial: pequenas alterações (mutações) no DNA se acumulam ao longo do tempo (e quanto tempo!). Pense na visão. Nós temos dois olhos, que enxergam uma certa gama de cores, têm a capacidade de focalizar objetos a uma distância determinada e outros que estão mais distantes. Certas aves têm uma visão adaptada para enxergar objetos a longas distâncias, a quilômetros. Como pensar na visão em termos evolutivos? Uma armadilha comum seria imaginar "evoluir de um olho para dois" ou de meio olho para um. Mas não é assim que a evolução funciona.</p><blockquote><p>Saltar abismos não é o que a evolução faz.</p></blockquote><p>A visão evoluiu independentemente várias vezes no reino animal. O que significa "independentemente"? Quer dizer que espécies não relacionadas acabaram se adaptando devido a pressões ambientais do seu meio. Por exemplo, imagine o pardal, um pássaro, e uma cobra, como a sucuri. Ambas não têm braços, e vamos ignorar a possibilidade de que, em algum momento, seus ancestrais possam ter tido membros superiores (assim como as aves tiveram algo parecido com braços, que se adaptaram ao que hoje vemos como asas). Para ilustrar, vamos supor que nenhum ancestral dessas espécies jamais teve membros. Essas espécies não estão mais relacionadas, porque elas não se cruzam entre si, ou seja, não trocam mais material genético. Seus ancestrais em comum estão a milhões de anos no passado.</p><p>Agora, imagine que, devido a pressões ambientais — a cobra nas florestas tropicais e os pássaros nas montanhas —, cada uma, por razões e processos diferentes, tenha desenvolvido, ao longo de milhares de anos, membros superiores de forma independente (já que elas não se cruzam). É como chegar em casa por caminhos diferentes ou dar um cheque-mate com estratégias distintas. Assim aconteceu com a visão, que foi desenvolvida de maneira independente diversas vezes. Algumas espécies desenvolveram olhos compostos (como os insetos), enquanto as lulas desenvolveram a visão independentemente dos vertebrados (humanos, mamíferos, etc.), apesar de sua semelhança superficial. Outras espécies desenvolveram apenas uma sensibilidade à luz, e assim por diante.</p><p>Nesse caso, não se pode afirmar que a visão dos humanos ou das águias seja o "produto final" de como a visão deveria ser. Cada espécie se adaptou conforme o ambiente e a competição natural em seu meio as pressionaram a evoluir.</p><p>Ao longo da leitura, somos constantemente confrontados com a ideia, bastante comum, de que nós somos o produto máximo da evolução. É tentador olhar para um macaco, ou mesmo para um inseto, e pensar que são "produtos" inacabados, como se faltasse algo a esses seres. Que engano.</p><blockquote><p>Em andamento? Inacabadas? Só com a insensatez de uma interpretação <em>a posteriori</em>. (...) é verdade que, se ficássemos frente a frente com um <em>Homo erectus</em>, ele decerto nos lembraria uma escultura inacabada, em andamento. Mas só porque estamos olhando com uma visão humana <em>a posteriori</em>. Um ser vivo está sempre às voltas com a sobrevivência em seu próprio meio. Ele nunca é inacabado — ou, em outro sentido, ele é sempre inacabado. Assim como nós, provavelmente, também somos.</p></blockquote><p>Para se ter uma ideia das consequências genéticas acidentais, podemos observar a domesticação que nossa espécie realizou com o trigo, o milho e animais como o gato, a vaca e o cachorro. Dawkins ilustra isso mencionando os interessantes estudos russos sobre as raposas-prateadas.</p><blockquote><p>D. K. Belyaev e seus colegas capturaram raposas-prateadas, <em>Vulpes vulpes</em>, e passaram a cruzá-las sistematicamente, com o objetivo de obter animais mais mansos. O êxito foi impressionante. Cruzando entre si os indivíduos mais mansos de cada geração, Belyaev obteve, em vinte anos, raposas que se comportavam como cães da raça border collie, procuravam a companhia humana e abanavam a cauda para quem se aproximava. (...) Essas raposas geneticamente amansadas não só se comportavam como os collies, mas também se pareciam com eles. Ganharam pelagem preta e branca, com manchas brancas na face e no focinho. No lugar das características orelhas empinadas das raposas selvagens, ganharam "simpáticas" orelhas caídas. Seu equilíbrio hormonal reprodutivo mudou, e elas adquiriram o hábito de reproduzir-se o ano todo em vez de em uma temporada específica. Constatou-se que apresentavam níveis mais elevados de serotonina neuralmente ativa, o que provavelmente tinha relação com sua menor agressividade. Bastaram vinte anos para transformar raposas em "cães" pela seleção artificial.</p></blockquote><p>Falando de cruzamento, herança genética e, consequentemente, de DNA, aprendi algo no livro que explodiu minha mente: as mitocôndrias são passadas apenas pela mãe no processo de reprodução. Isso ocorre porque o DNA mitocondrial (mtDNA), que está presente dentro das mitocôndrias, é herdado exclusivamente da mãe. Quando um óvulo é fecundado pelo espermatozoide, praticamente todo o citoplasma (onde as mitocôndrias estão localizadas) do embrião vem do óvulo, e o espermatozoide contribui apenas com seu núcleo, sem mitocôndrias. Portanto, todas as mitocôndrias no corpo de uma pessoa têm origem materna.</p><p>Imagine que mutações ou doenças associadas a ele são transmitidas apenas de mães para seus filhos, independentemente do sexo da prole. Se uma mutação prejudicial ocorre no mtDNA, essa mutação pode ser responsável por várias doenças mitocondriais. Se uma mulher tiver uma mutação no mtDNA, todos os seus filhos, homens e mulheres, herdarão essa mutação. No entanto, somente as filhas poderão transmiti-la para as gerações seguintes, pois os filhos homens não passam o mtDNA adiante. Uma doença mitocondrial conhecida é a hemofilia.</p><p>Voltando um pouco na história recente, digamos 40 mil anos (de novo, como é difícil pensar nesses termos!), Dawkins escreve sobre algo crucial que aconteceu em nossa história e que ainda está sendo amplamente estudado.</p><blockquote><p>Algo aconteceu (há 40 mil anos) (...) o nome que Jared Diamond escolheu para descrever o ocorrido: o Grande Salto para Frente. Antes do Grande Salto para Frente, os artefatos produzidos pelos homens quase não haviam mudado por 1 milhão de anos. Os que chegaram até nós são, na maioria, ferramentas e armas de pedra de feitio bem tosco. Sem dúvida, a madeira (ou, na Ásia, o bambu) era um material usado com mais frequência, mas as relíquias de madeira não sobrevivem facilmente. Pelo que sabemos, não havia pinturas, esculturas, estatuetas, bens levados para sepulturas ou ornamentações. Depois do Salto, todas essas coisas aparecem subitamente no registro arqueológico, junto com instrumentos musicais como flautas de osso, e não demorou muito para o povo de Cro-Magnon criar obras impressionantes como os murais da Caverna de Lascaux. (...) florescente surto cultural que se seguiu à longa estagnação do Paleolítico Inferior.</p></blockquote><p>Será que uma mutação crucial foi propagada em nossos genes? Alguns acreditam que foi nesse período que começamos a nos comunicar, o que pode fazer sentido. Imagine as primeiras tentativas de comunicação, nomeando coisas, pessoas ou mesmo sentimentos, como "amor" ou aflições como "perigo". Afinal, isso poderia ser apenas um "huaaa", um grito ou grunhido, quem sabe, mas inconfundivelmente representava um "perigo", e isso poderia ter sido crucial para os grupos.</p><p>Ainda no assunto da espécie humana, Dawkins aborda um tema espinhoso: o da raça.</p><blockquote><p>(...) tendemos a não descrever pessoas como sendo de raça mista; nos precipitamos a inseri-las em uma raça ou em outra. (...) Mas muitas pessoas — provavelmente mais numerosas do que a maioria de nós pensa — têm ancestrais negros e brancos. Se formos usar a terminologia de cores, muitos de nós presumivelmente nos encontraremos em algum lugar intermediário. No entanto, a sociedade insiste em nos chamar de uma coisa ou outra.</p></blockquote><blockquote><p>Não importa o que possamos pensar como observadores de aparências superficiais, a espécie humana é hoje, para um geneticista, especialmente uniforme. Considerando a variação genética que a população humana possui, podemos medir a fração que está associada aos agrupamentos regionais que denominamos raças. E constatamos que essa fração é uma porcentagem pequena do total: entre 6% e 15%, dependendo de como ela é medida — muito menor do que em muitas outras espécies nas quais foram distinguidas raças. Assim, os geneticistas concluem que a raça não é um aspecto importante de uma pessoa. Há outros modos de dizer isso. Se todos os humanos fossem exterminados com exceção de uma única raça situada em uma região específica, a grande maioria da variação genética na espécie humana seria preservada. Isso não é intuitivamente óbvio e pode surpreender algumas pessoas. Se as afirmações relacionadas às raças fossem tão informativas quanto pensava a maioria dos vitorianos, por exemplo, sem dúvida seria preciso preservar uma boa amostra de todas as diversas raças para preservar a maior parte das variações na espécie humana. Mas isso não ocorre.</p></blockquote><p>Outro assunto que achei digno de nota é o comportamento dos bonobos. Enquanto o chimpanzé resolve suas questões de sexo com o poder, o bonobo resolve as questões de poder com sexo.</p><p>Os bonobos usam o sexo como meio de troca na interação social, mais ou menos como nós usamos o dinheiro. Recorrem à cópula, ou a gestos copulativos, para apaziguar, afirmar dominância, consolidar laços com outros membros de qualquer idade ou sexo em seu grupo, inclusive infantes bem jovens. Eles não têm nada contra a pedofilia; na verdade, agrada-lhes todo tipo de "filia". Segundo Dawkins, O primatologista Frans de Waal conta que, em um grupo de bonobos em cativeiro que ele observava, os machos tinham ereção assim que o tratador se aproximava nas horas de refeição. De Waal imagina que isso poderia ser uma preparação para a partilha da comida — medida sexualmente. As fêmeas da espécie praticam aos pares a fricção gênito-genital (GG rubbing).</p><blockquote><p>Uma fêmea põe-se diante da outra, agarra-se nela com os braços e pernas, e a outra, então, de quatro, ergue a parceira do chão. Em seguida, as duas fêmeas roçam lateralmente seus genitais intumescidos, mostrando os dentes e emitindo gritinhos que provavelmente refletem experiências orgásmicas.</p></blockquote><p>Dawkins joga um balde de água fria sobre nossas esperanças de algo como o parque dos dinossauros um dia acontecer:</p><blockquote><p>(...) as próprias moléculas de DNA de animais mortos há muito tempo não são preservadas. As <em>informações</em> contidas no DNA podem ser preservadas para sempre, mas tão somente por meio da recópia frequente. O enredo do filme <em>Parque dos dinossauros</em>, embora não seja tolo, entra em choque com os fatos práticos. É possível conceber que, por um breve período após ser embalsamado em âmbar, um inseto hematófago poderia ter contido as instruções necessárias para reconstruir um dinossauro. Mas, infelizmente, depois que um organismo morre, o DNA do seu corpo, assim como o sangue que o animal sugou, não sobrevive intacto por mais do que alguns anos — e apenas dias, no caso de alguns tecidos moles. A fossilização também não preserva o DNA.</p></blockquote><blockquote><p>Nem mesmo o congelamento profundo preserva por muito tempo o DNA. Enquanto escrevo este livro, cientistas estão escavando um mamute congelado no <em>permafrost</em> da Sibéria na esperança de extrair DNA suficiente para gerar um novo mamute clonado no útero de uma elefanta moderna. Receio que seja uma esperança vã, embora o mamute esteja morto há apenas alguns milhares de anos. Entre os corpos mais antigos dos quais se extraiu DNA capaz de ser lido está o de um homem de Neandertal. (...) Mas, infelizmente, apenas fragmentos desconectados de seu DNA de 30 mil anos podem ser recuperados. Para vegetais no permafrost, o recorde é de aproximadamente 400 mil anos.</p></blockquote><p>Bom, eu não sou nenhum especialista e não sei o quanto a informação pode estar distorcida ou sensacionalista, mas, pesquisando, encontrei algo que parece contradizer um pouco do que ele diz (lembrando que a edição do livro é de 2009). Em uma <a href="https://revistagalileu.globo.com/ciencia/arqueologia/noticia/2024/07/pele-de-mamute-de-52-mil-anos-ajuda-cientistas-a-desvendar-dna-da-especie.ghtml" rel="nofollow">notícia deste ano, 2024</a>, é mencionado que cientistas trabalharam com o DNA de um mamute encontrado no permafrost.</p><blockquote><p>“Trabalhamos com uma amostra congelada por dezenas de milênios em que foi preservada toda a estrutura do cromossomo pré-histórico”.</p></blockquote><p>Como você pode ver, o livro abrange muitos assuntos e é bastante rico. Eu não poderia deixar de mencionar o trecho em que ele fala sobre a origem da vida:</p><blockquote><p>A origem da vida foi a origem da verdadeira hereditariedade; poderíamos até dizer a origem do primeiro gene. (...) Ninguém sabe se o primeiro gene era feito de DNA, e eu aposto que não era. Com primeiro gene, quero dizer primeiro replicador. Um replicador é uma entidade, por exemplo, uma molécula, que forma linhagens de cópias de si mesmo. Sempre haverá erros de cópia, e assim a população adquirirá variedade. A chave da verdadeira hereditariedade é que cada replicador se parece com aquele do qual foi copiado mais do que se parece com um membro aleatoriamente escolhido da população. A origem do primeiro replicador desse tipo não foi um evento provável, mas só teve de ocorrer uma vez. Dali por diante, suas consequências foram automaticamente autossustentáveis, e eles, por fim, originaram, pela evolução darwiniana, todas as formas de vida.</p></blockquote><p>E é isso, este livro tem bastante informação e, com certeza, eu vou revisitá-lo. Ele não precisa ser lido de cabo a rabo; pode-se ler a história ou o capítulo que mais lhe interessar. Como ele é estruturado contando a nossa história evolutiva até o início da vida, se você tiver interesse no passado recente, comece pelo início; se estiver mais interessado no princípio da vida, vá para o final.</p><p>O planeta Terra é incrível, a vida na Terra é incrível e, digo, nós somos incríveis também, pois algo em nosso cérebro evoluiu para que tenhamos a capacidade de compreender tudo isso. Claro que Dawkins escreveu melhor sobre isso, e é com ele que finalizo esta publicação, que não mostra nem um por cento da qualidade de informação que esse livro tem a oferecer:</p><blockquote><p>Não só a vida neste planeta é deslumbrante e profundamente satisfatória para todos aqueles cujos sentidos não foram embotados pela familiaridade, mas o próprio fato de que evoluiu em nós a capacidade cerebral para compreender nossa gênese evolutiva redobra o deslumbramento e intensifica a satisfação.
O universo poderia facilmente ter permanecido sem vida e simples. (...) O fato de isso não ter ocorrido — o fato de a vida ter evoluído a partir de quase nada, cerca de 10 bilhões de anos depois de o universo ter evoluído a partir de quase nada — é tão espantoso que eu seria louco se tentasse fazer-lhe justiça pondo-o em palavras. E nem mesmo isso é o fim da questão. Não só a evolução aconteceu, mas acabou conduzindo a seres capazes de compreender o processo, e até de compreender o processo pelo qual o compreendem.
Minha objeção a crenças sobrenaturais é justamente porque não fazem de forma alguma justiça à sublime grandiosidade do mundo real. Elas representam um estreitamento da realidade, um empobrecimento de tudo o que o mundo real tem a oferecer.</p></blockquote>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=A Grande História da Evolução 🧬">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/a-grande-historia-da-evolucao-por-richard-dawkins.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Crânio Vivo 💀]]></title>
            <link>https://www.marcal.dev/o-cranio-vivo-por-magnus</link>
            <guid isPermaLink="false">/o-cranio-vivo-por-magnus</guid>
            <pubDate>Sun, 29 Sep 2024 16:51:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="o-cranio-vivo-de-magnus" src="img/o-cranio-vivo-de-magnus.png"></p><blockquote><p>Na floresta, o rei dos Gépidas, Cunimundo, salva a jovem Ersília das garras de um urso, mas faz dela sua amante. A avó de Ersília, uma verdadeira bruxa, mestra das artes mágicas, querendo vingança, influencia o rei Alboíno, inimigo de Cunimundo, para atacá-lo. Alboíno, por sua vez, quer para si Rosamunda, filha do rei inimigo, por isso pretende conquistar o reino dos Gépidas.
Ao vencer a batalha, Alboíno toma posse de Rosamunda, finge libertar Cunimundo, mas manda matá-lo. Depois disso, transforma seu crânio em um copo no qual obriga Rosamunda a beber.
O crânio do pai ganha vida graças ao trabalho de um necromante, e aconselha Rosamunda sobre como efetuar sua vingança.</p></blockquote><p>Esse é o primeiro livro da <strong>Coleção Noturno e Perverso</strong>, da Tai Editora. Mais um trabalho desenhado por Magnus. Estou gostando bastante de conhecer o trabalho desse desenhista. Algo que sempre noto é que seus quadros são amplos e grandes, o que resulta, nesse formato, em cerca de dois quadros por página. Não me lembro de ter visto mais quadros do que isso. Interessante essa escolha artística.</p><p>Aparentemente, a trama envolvendo Rosamunda, filha do rei gépida Cunimundo, e Alboíno, rei dos lombardos, realmente aconteceu. Imagine Alboíno obrigando Rosamunda, sua esposa, a beber de uma taça feita do crânio de seu pai, e todas as consequências e conspirações que surgiram a partir disso, resultando no assassinato de Alboíno. Parece até uma trama de ficção, não é mesmo? Inclusive, essa história inspirou o filme italiano <em>Rosmunda e Alboino</em> (ou <em>A Espada do Conquistador</em>), de 1961. Ainda não assisti, mas vou conferir.</p><p>Além disso, a obra é erótica, com vários quadros explícitos. É uma obra de Magnus, afinal, então pode não agradar a todos. Eu gostei.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Crânio Vivo 💀">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-cranio-vivo-de-magnus.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Meus gostos - em um "story"]]></title>
            <link>https://www.marcal.dev/meus-gostos-em-um-story</link>
            <guid isPermaLink="false">/meus-gostos-em-um-story</guid>
            <pubDate>Thu, 26 Sep 2024 08:56:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Precisei fazer uma apresentação bem simples sobre meus gostos para minhas aulas de francês. Achei que essa seria uma boa oportunidade para brincar um pouco com código e implementei aqui mesmo no meu blog.</p><p>Do jeito que está, parece um "Story" – como os do Facebook, Instagram e WhatsApp – mas bem primitivo, sem funcionalidades de áudio, vídeo, fechar "story", etc. Eu achei que ficou bom, pela simplicidade da coisa. Ainda vou adicionar mais usabilidade a ele em algum momento e, quem sabe, criar outros "stories".</p><p>Ele não aparecerá no feed RSS por limitações tecnológicas. Além disso, por ser uma página animada, acho que nem compensaria, já que no RSS não consigo executar JavaScript (o que, no geral, é bom). Então, nem vou incluir. Se você quiser conferir, <a href="/gostos">aqui está</a> – está em francês por enquanto, mas pretendo colocá-lo em português e inglês também.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Meus gostos - em um "story"">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Responda por email 2 📩]]></title>
            <link>https://www.marcal.dev/responda-por-email-2</link>
            <guid isPermaLink="false">/responda-por-email-2</guid>
            <pubDate>Fri, 20 Sep 2024 22:54:00 GMT</pubDate>
            <description><![CDATA[Um pouco sobre endereços de emails públicos]]></description>
            <content:encoded><![CDATA[
            <p>Como podem notar, neste espaço, a única forma de comentário é me mandando um e-mail. Eu <a href="responda-por-email">expliquei aqui</a> por que não mantenho um sistema de comentários acoplado ao site. Já faz um pouco mais de dois meses que mantenho meu endereço aqui, público, em texto plano. No começo, testei algumas formas de ofuscação de e-mail para que robôs varrendo a internet não colocassem meu e-mail em alguma lista de spam.</p><p>Cheguei a usar algo como <code class="">meu arroba dominio ponto com</code>, para que o leitor entendesse que meu e-mail era <code class="">meu@dominio.com</code>.</p><p>Depois, implementei truques de CSS para enganar certos tipos de robôs. Por exemplo:</p><p>No CSS:</p><pre class="language-css shiki shiki-themes dracula" code="span.obfuscated_email b {  
  display: none;  
}
" language="css" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">span</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic">.obfuscated_email</span><span style="--shiki-default:#FF79C6"> b</span><span style="--shiki-default:#F8F8F2"> {  
</span></span><span class="line" line="2"><span style="--shiki-default:#8BE9FD">  display</span><span style="--shiki-default:#FF79C6">:</span><span style="--shiki-default:#BD93F9"> none</span><span style="--shiki-default:#F8F8F2">;  
</span></span><span class="line" line="3"><span style="--shiki-default:#F8F8F2">}
</span></span></code></pre><p>E no HTML:</p><pre class="language-html shiki shiki-themes dracula" code="<a><span class=&#x22;obfuscated_email&#x22;>meu@email<b>.nottodayrobot</b>.com</span></a>
" language="html" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#F8F8F2">&#x3C;</span><span style="--shiki-default:#FF79C6">a</span><span style="--shiki-default:#F8F8F2">>&#x3C;</span><span style="--shiki-default:#FF79C6">span</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic"> class</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">obfuscated_email</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">>meu@email&#x3C;</span><span style="--shiki-default:#FF79C6">b</span><span style="--shiki-default:#F8F8F2">>.nottodayrobot&#x3C;/</span><span style="--shiki-default:#FF79C6">b</span><span style="--shiki-default:#F8F8F2">>.com&#x3C;/</span><span style="--shiki-default:#FF79C6">span</span><span style="--shiki-default:#F8F8F2">>&#x3C;/</span><span style="--shiki-default:#FF79C6">a</span><span style="--shiki-default:#F8F8F2">>
</span></span></code></pre><p>Dessa forma, um visitante humano veria corretamente o e-mail como <code class="">meu@email.com</code>, enquanto um robô que pegasse o texto dentro do link de e-mail veria algo como <code class="">meu@email.nottodayrobot.com</code>. Acho que isso engana muitos robôs, mas obviamente dá para burlar esse tipo de regra com um pouco de esforço. Essas e outras técnicas eu encontrei nesta publicação: <a href="https://spencermortensen.com/articles/email-obfuscation/" rel="nofollow">Email Obfuscation</a>, e caso esteja inacessível, <a href="https://web.archive.org/web/20240316214801/https://spencermortensen.com/articles/email-obfuscation/" rel="nofollow">veja o snapshot da página no Internet Archive</a>.</p><p>Depois de um tempo, eu desencanei disso. Além de registrar coisas interessantes que encontro por aí na vida, o site é uma forma de quem tiver interesse saber um pouco mais sobre mim. Uma forma controlada até, pois o que está aqui é exatamente o que eu quero que esteja público na internet.</p><p>Se pesquisarem meu nome, vão encontrar este site (a propósito, não antes de ver o link do outro Marçal no topo das buscas, mas, ao contrário dele, não tenho vocação para charlatanismos e nem empatia por picaretas, isso eu asseguro).</p><p>Então, pelo caráter público da coisa, criei um e-mail público, um que eu comento em lugares onde não me importo de ter meu nome atrelado, como em outros blogs. E tenho outro e-mail de caráter privado (na verdade, vários), com o propósito de diminuir o vazamento de rastreamento sobre minha pessoa (e-mails para bancos, lojas, listas de e-mail, etc.).</p><p>Por isso, acabei removendo a implementação de "ofuscação de e-mail" no meu site, já que os robôs estão cada vez mais inteligentes e eu não tenho tempo para ficar estudando como contra-atacar. Então, o e-mail que está aqui é público, e não tenho problema nenhum dele estar assim, exposto.</p><p>Fico feliz em dizer que, até agora, não senti um aumento de e-mails de spam na minha caixa de entrada. E se eu passar a receber tantos e-mails quanto recebo de ligações de telemarketing, simplesmente bloqueio o recebimento neste e-mail e crio outro e-mail público.</p><p>Por outro lado, sei que, assim como eu me preocupo com privacidade, muitas pessoas também têm essa preocupação e talvez deixem de me enviar um e-mail de resposta para não expor seu próprio e-mail. Bom, não tenho interesse nenhum no seu e-mail.</p><p>Não vou vendê-lo, nem cadastrá-lo em listas de produtos, nem lhe enviar spam ou tentar vender cursos ou produtos. Estou apenas interessado na conversa. <strong>Blogs são conversas</strong>, afinal. Mas você, obviamente, não precisa confiar na minha palavra — e nem deveria. Ora bolas, sou apenas um estranho na internet.</p><p>Dito isso, se você tem receio de entrar em contato com seu e-mail privado, crie um e-mail público, como eu! Existem inúmeras formas de fazer isso. Você pode comprar seu próprio domínio ou usar e-mails alias. Eu gosto e uso as duas formas.</p><p>E-mails alias são endereços de e-mail que atuam como intermediários entre seu e-mail privado e o mundo. São e-mails descartáveis.</p><p>Quando você se cadastra em um serviço, usa o e-mail alias no lugar do seu e-mail real. O alias recebe os e-mails e os encaminha para o seu e-mail privado, sem que o serviço conheça seu verdadeiro endereço.</p><p>Imagine que você pode ter um alias para a Shopee, outro para o Mercado Livre, outro para o AliExpress. Sabe quando você vai comprar algo em uma loja, como no shopping, e pedem um endereço de e-mail — pra quê, né? Que tal criar um e-mail alias? Depois você desativa e vida que segue.</p><p>Como sugestão, você pode conhecer o <a href="https://duckduckgo.com/email/" rel="nofollow">DuckDuckGo Email Protection</a> e o <a href="https://addy.io/" rel="nofollow">Addy.io</a>. Que tal começar agora e criar seu próprio e-mail público ou alias? Garanto que é mais simples do que parece.</p><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Responda por email 2 📩">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <category>privacidade</category>
        </item>
        <item>
            <title><![CDATA[Desafio: Correr 10 km - Dia 1 (outra vez) 🏃‍♂️💨🔥]]></title>
            <link>https://www.marcal.dev/desafio-correr-10-km-dia-1-outra-vez</link>
            <guid isPermaLink="false">/desafio-correr-10-km-dia-1-outra-vez</guid>
            <pubDate>Wed, 18 Sep 2024 08:48:00 GMT</pubDate>
            <description><![CDATA[🏃💨💨💨🔥]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Desafio: Correr 10 km" src="img/desafio-correr-10-km/desafio-correr-10-km.jpg"></p><p>Eu estava indo bem, no total fiz 18 treinos. Já conseguia correr 7,5 km em uma hora. Eu estava realmente indo bem. Então, veio esse calor dos infernos, a terrível fumaça — sem exageros —, algo que nunca tinha visto na vida, e, por isso, parei de correr. Quebrei meu desafio.</p><p><img alt="Imagem de um céu repleto de fumaça, com o sol parcialmente obstruído ao centro, sua luz amarela alaranjada atravessando a fumaça." src="img/fumaca-queimadas-2024-outubro/fumaca-queimadas-outubro-2024-01.jpg"></p><p>Durante esses dias, foi frequente a luz solar ser obstruída. Frequentemente, ela assumia uma cor de aspecto alaranjado.</p><p><img alt="Vista do horizonte de Águas Claras: o céu está bem azul, mas um foco de fumaça está se espalhando, cobrindo o céu e o sol, que apresenta um aspecto alaranjado." src="img/fumaca-queimadas-2024-outubro/fumaca-queimadas-outubro-2024-02.jpg"></p><p>As fotos não conseguem mostrar o quão graves foram as queimadas e a fumaça. As ruas estavam repletas de fuligem. Aqui em casa, para se ter uma ideia, encontramos uma pena de pássaro totalmente queimada. Ao tentar pegá-la, ela se desfez na minha mão. Muito triste!</p><p>No momento em que escrevo esta publicação, foi contabilizado que a Floresta Nacional perdeu 40% de sua área por queimadas. <strong>E elas ainda estão ocorrendo.</strong></p><p>Tudo isso me desanimou muito. A fumaça inviabilizou não somente a prática de atividade física, mas até mesmo saídas para ir ao mercado, por exemplo. Mesmo nos dias em que a fumaça deu uma amenizada, acabei não indo. Mas a vida tem que continuar.</p><p>Torcendo para que o pior já tenha passado, vou iniciar novamente o desafio! Então, é isso.</p><p>Hoje vai ser meu dia 01, novamente!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Desafio: Correr 10 km - Dia 1 (outra vez) 🏃‍♂️💨🔥">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/desafio-correr-10-km/desafio-correr-10-km.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 12]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-12</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-12</guid>
            <pubDate>Mon, 16 Sep 2024 22:24:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-12" src="img/hokuto-no-ken/hokuto-no-ken-volume-12.jpg"></p><blockquote><p>Bat e Lin, liderando a Armada de Hokuto, avançam para cima do exército da Capital Imperial enquanto Kenshiro precisa enfrentar Falco, o Dourado, sucessor do estilo Gento Ko-ken.Hokuto Shin-ken e Gento Ko-ken…Ambos são guerreiros que carregam a estrela protetora do Imperador Celestial, e no momento em que colidirem, o Céu se partirá em dois!“Vou derrubá-lo, pelo meu amigo! Não tenho outra escolha!!”</p></blockquote><p>Como sempre, a história se torna repetitiva, pois em todo arco surge um vilão tão poderoso quanto o anterior. Ainda assim, a construção de cada antagonista é interessante. Li este volume dois meses após o anterior e confesso que me deixou um pouco cansado.</p><p>Estou ansioso pelo final da série. Que venha o volume 13!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 12">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-12.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dragon Ball Vol 33 - Edição Definitiva]]></title>
            <link>https://www.marcal.dev/dragon-ball-vol-33-edicao-definitiva</link>
            <guid isPermaLink="false">/dragon-ball-vol-33-edicao-definitiva</guid>
            <pubDate>Sat, 14 Sep 2024 12:20:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="dragon-ball-vol-33-edicao-definitiva" src="img/dragon-ball-edicao-definitiva/dragon-ball-vol-33-edicao-definitiva.jpg"></p><p>Estamos chegando à reta final; este é o penúltimo volume de <em>Dragon Ball</em>.</p><p>Me diverti bastante. Teve muita ação e também muita comédia, principalmente durante a luta entre <strong>Gotenks</strong> e <strong>Boo</strong>.</p><p>Aqui, vemos talvez o golpe mais original de toda a série até agora: o <strong>Ataque Kamikaze dos Super Fantasmas</strong>. Não sei por quê, mas isso me lembra bastante as origens de <em>Dragon Ball</em>, onde as lutas eram um pouco menos focadas em ação e mais em situações fantásticas e bem-humoradas.</p><p>Que venha, então, o último volume!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dragon Ball Vol 33 - Edição Definitiva">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/dragon-ball-edicao-definitiva/dragon-ball-vol-33-edicao-definitiva.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Borboleta Assassina: Volume 1 🦋]]></title>
            <link>https://www.marcal.dev/borboleta-assassina-vol-1</link>
            <guid isPermaLink="false">/borboleta-assassina-vol-1</guid>
            <pubDate>Sat, 07 Sep 2024 16:48:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="borboleta-assassina-vol-1" src="img/borboleta-assassina-vol-1.jpeg"></p><blockquote><p>Yoshiwara, o famoso bairro da luz vermelha no Japão, é o lar de Kochou, cortesã de luxo que brilha por onde passa... mas, nas sombras, assume a identidade de Ochou, uma shinobi (ou ninja) cuja missão é caçar antigos companheiros renegados...</p></blockquote><p>Me lembra muito <em>Blade - A Lâmina do Imortal</em>, que, inclusive, preciso reler, mas é menos brutal. Não tenho muito a acrescentar: a arte é linda, a mangaká tem um traço suave, e a trama, apesar de ser do tipo episódica, é muito boa. Recomendo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Borboleta Assassina: Volume 1 🦋">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>quadrinhos</category>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/borboleta-assassina-vol-1.jpeg" length="0" type="image/jpeg"/>
        </item>
        <item>
            <title><![CDATA[Amar, Verbo Intransitivo ❤️]]></title>
            <link>https://www.marcal.dev/amar-verbo-intransitivo-de-mario-de-andrade</link>
            <guid isPermaLink="false">/amar-verbo-intransitivo-de-mario-de-andrade</guid>
            <pubDate>Thu, 05 Sep 2024 19:25:00 GMT</pubDate>
            <description><![CDATA[É coisa que se ensine o amor?]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Imagem mostrando parte do livro Amar, Verbo Intransitivo aberto.  A maior parte da imagem mostra uma página à esquerda e com destaque de uma frase marcada a lápis: &#x22;É coisa que se ensine o amor?&#x22;." src="img/amar-verbo-intransitivo-de-mario-de-andrade.jpeg"></p><h2 id="é-coisa-que-se-ensine-o-amor">"É coisa que se ensine o amor?"</h2><p>Na história, Souza Costa, chefe de uma rica família tradicional brasileira, contrata Elza, uma alemã de 35 anos, para ser a nova governanta de sua casa e, secretamente, iniciar seu filho adolescente, Carlos, na sexualidade, com o objetivo de amadurecer o rapaz e protegê-lo de aventureiras e golpistas. Um tema bastante polêmico e tabu, numa época em que era comum (ou pelo menos, até pouco tempo atrás, ainda era) os pais contratarem prostitutas para iniciarem seus filhos.</p><p>Não considero que seja um livro pornográfico ou imoral. Sim, estamos falando de uma mulher de 35 anos seduzindo um jovem de 15 anos. Foi um escândalo na época, e acredito que cumpriu seu propósito ao desafiar os mais conservadores e trazer à tona os tabus da sociedade da época, da mesma forma que Nelson Rodrigues fez brilhantemente em várias de suas obras.</p><p>Além disso, o livro não descreve cenas sexuais explícitas nem possui diálogos ao estilo de "Cinquenta Tons de Cinza". Grande parte do que é sugerido é subliminar, como quando Elza faz o jovem ler um lied alemão de Heine, com o intuito implícito de seduzi-lo:</p><pre code="Vem, linda peixeirinha,
Trégua aos anzóis e aos remos!
Senta-te aqui comigo,
Mãos dadas conversemos.

Inclina a cabecinha
E não temas assim:
Não te fias do oceano?
Pois fia-te de mim!

Minha&#x27;alma, como o oceano,
Tem tufões, correntezas,
E muitas lindas pérolas
Jazem nas profundezas.

> Lied de Heine, tradução de Manuel Bandeira
"><code __ignoreMap="">Vem, linda peixeirinha,
Trégua aos anzóis e aos remos!
Senta-te aqui comigo,
Mãos dadas conversemos.

Inclina a cabecinha
E não temas assim:
Não te fias do oceano?
Pois fia-te de mim!

Minha'alma, como o oceano,
Tem tufões, correntezas,
E muitas lindas pérolas
Jazem nas profundezas.

> Lied de Heine, tradução de Manuel Bandeira
</code></pre><p>Enquanto Souza Costa pensa estar apenas contratando uma prostituta para a primeira experiência sexual do filho, não subestime Elza. Ela é uma alemã orgulhosa, exilada de sua terra natal, mas que sonha em voltar e se casar com um alemão tradicional, após juntar economias suficientes. Elza tem orgulho de sua tarefa, pois acredita que é uma das mais importantes: ensinar o amor.</p><blockquote><p>Nenhuma faceirice por enquanto. no princípio tinha de ser simples. Simples e insexual. O amor nasce das excelências interiores. Espirituais, pensava. o desejo depois.</p></blockquote><p>Ao contrário do que o título do livro sugere, o amor não é um verbo intransitivo, mas transitivo, pois exige complemento para fazer sentido. Se eu amo, eu amo algo: "Eu amo a vida", "Eu amo caminhar", "Eu amo boa companhia".</p><p>Talvez Mário de Andrade quisesse nos levar a refletir sobre não apenas o papel e a construção do amor, mas também o papel da língua, da prosa e da cultura da sociedade brasileira da época. Talvez esse fosse o objetivo, considerando o contexto da publicação, logo após a <strong>Semana de Arte Moderna</strong>.</p><blockquote><p>Se você ama, ou por outra se já deseja no amor, pronuncie baixinho o nome desejado. Veja como ele se moja em formas transmissoras do encosto que enlanguesce. Esse ou essa que você ama, se torna assim maior, mais poderoso. E se apodera de você. Homens, mulheres, fortes, fracos... Se apodera.</p></blockquote><h2 id="esta-nossa-educação-brasileira">"Esta nossa educação brasileira..."</h2><p><em>"Esta nossa educação brasileira..."</em> é a frase que lemos logo na primeira página, sugerindo já uma reflexão sobre o que significa ser brasileiro. Esse é um ponto forte do livro, que busca construir ou revelar uma identidade brasileira, frequentemente fazendo comparações entre os alemães e os brasileiros.</p><blockquote><p>Mas não tem dúvida: isto da vida continuar igualzinha, embora nova e diversa, é um mal. Mal de alemães. O alemão não tem escapadas nem imprevistos. A surpresa, o inédito da vida, é pra ele uma continuidade a continuar. Diante da natureza não é assim. Diante da vida é assim. Decisão. Viajaremos hoje. O latino falará: "Viajaremos hoje!". O alemão fala: "Viajaremos hoje". Ponto final. Pontos de exclamação... É preciso exclamar para que a realidade não canse...</p></blockquote><blockquote><p>A aritmética nunca foi propícia aos brasileiros. Nós não somamos coisa nenhuma. Das quatro operações, unicamente uma nos atrai, a multiplicação, justo a que mais raro frequenta os sucessos deste mundo vagarento.</p></blockquote><p>Através da perspectiva de Elza, surgem algumas pérolas memoráveis sobre o brasileiro, com as quais muitos concordariam, especialmente no que se refere à relação com o estudo. <em>"Esses brasileiros, que preguiça de estudar!"</em></p><blockquote><p>Pra ela era preciso entender sempre o significado das palavras, senão não compreendia mesmo. Estes brasileiros, uma preguiça de estudar![...] Porém quando careciam de saber, sabiam. Adivinhavam.</p></blockquote><h2 id="conclusão">Conclusão</h2><blockquote><p>Vieram correndo em busca dos amantes, os tempos de intimidade. A gente nem respira e a vida já fica tão de ontem! É esquisito: o amor realizado se torna logo parecido com amizade.</p></blockquote><p>Foi interessante acompanhar o desfecho do relacionamento entre Elza e o jovem Carlos. Cheguei a pensar que terminaria como <em>"Os Sofrimentos do Jovem Werther"</em>, de forma trágica e alemã, mas não. O caso serviu para que o garoto amadurecesse e se tornasse um homem, não sem antes causar tumulto e derramar muitas lágrimas, como era esperado.</p><blockquote><p>A felicidade é tão oposta à vida que, estando nela, a gente esquece que vive. Depois, quando acaba, dure pouco, dure muito, fica apenas aquela impressão do segundo. Nem isso, impressão de hiato, de defeito de sintaxe logo corrigido, vertigem em que ninguém dá tanto de si.</p></blockquote><p>É interessante a reflexão de que, no fim, isso apenas acelerou o que aconteceria de qualquer forma, mais cedo ou mais tarde. Ou seja, Carlos amadureceria, com ou sem Elza.</p><p>Enfim, eu realmente gostei do texto, que com certeza está cheio de passagens memoráveis sobre o espírito brasileiro e, sobretudo, sobre a vida e o amor.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Amar, Verbo Intransitivo ❤️">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>amor</category>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/amar-verbo-intransitivo-de-mario-de-andrade.jpeg" length="0" type="image/jpeg"/>
        </item>
        <item>
            <title><![CDATA[Mamie Pétronille et le ruban jaune 🎗️]]></title>
            <link>https://www.marcal.dev/fr/mamie-petronille-et-le-ruban-jaune</link>
            <guid isPermaLink="false">/fr/mamie-petronille-et-le-ruban-jaune</guid>
            <pubDate>Fri, 30 Aug 2024 10:00:00 GMT</pubDate>
            <description><![CDATA[Je suis un beau ruban jaune 🎶 J'aime beaucoup aider les personnes 🎶 Si par terre tombent tes affaires 🎶 Super, je te les récupère!]]></description>
            <content:encoded><![CDATA[
            <hr><h2 id=""><img alt="mamie-petronille-et-le-ruban-jaune" src="/img/mamie-petronille-et-le-ruban-jaune.jpg"></h2><p>J'ai commencé à étudier la langue française et c'est le premier petit livre que j'ai lu ! Ci-dessous se trouve le texte, afin que je puisse le réviser facilement quand j'en aurai besoin.</p><h2 id="audio-2">Audio 2</h2><p>Voilà Aurélie. Elle court pour aller à l'école. Oh non! Son sac à dos est ouvert! Ses cahiers, son stylo et sa règle tombent par terre. Aurélie perd toujours ses affaires!</p><p>Le maître est en colère. Aurélie n'a pas son livre...cela arrive souvent!!</p><blockquote><p>Aurélie! Où est ton livre? Tu perds toujours tes affaires!
Oh non!</p></blockquote><p>Aurélie est au jardin public. Elle parle avec son amie mamie Pétronille. Aurélie est triste parce que son maître est en colère.</p><blockquote><p>Mon maître est en colère. Je perds toujours mes affaires!</p><p>Hum. Regarde par terre, c'est ton livre?</p></blockquote><p>Mamie Pétronille met la main dans son petit sac jaune. Qu'est-ce qu'il y a dedans?</p><p>Oh! C'est un morceau de ruban jaune. Mamie Pétronille met le ruban jaune dans le sac à dos d'Aurélie! Aurélie ramasse son livre.</p><blockquote><p>Merci mamie Pétronille.</p><p>Au revoir Aurélie.</p></blockquote><p>Aurélie rentre chez elle. Oh non! Son sac à dos est de nouveau ouvert! Son livre, sa règle et ses crayons tombent de son sac à dos. Un moment! Le ruban prend ses affaires! Il remet tout dans son sac à dos!</p><h2 id="audio-3">Audio 3</h2><blockquote><p>Je suis un beau ruban jaune 🎶</p><p>J'aime beaucoup aider les personnes 🎶</p><p>Si par terre tombent tes affaires 🎶</p><p>Super, je te les récupère! 🎶</p></blockquote><h2 id="audio-4">Audio 4</h2><p>Aurélie est chez elle. Sa maman est très contente. Aujourd'hui, elle a toutes ses affaires!</p><blockquote><p>Très bien Aurélie. Tu as toutes tes affaires!</p></blockquote><p>Le lendemain matin Aurélie met ses affaires dans son sac à dos. Elle prend son petit déjeuner et elle va à l'école.</p><blockquote><p>Bonne journée Aurélie.</p><p>Au revoir maman. Au revoir papa.</p></blockquote><p>Aurélie court à l'école. Oh non! Son sac à dos s'ouvre de nouveau! Ses livres, ses stylos, sa règle, sa gomme et ses crayons tombent par terre.</p><p>Mais ne t'inquiète pas! Le ruban jaune récupère ses affaires et il les remet dans son sac à dos. Mamie Pétronille regarde la scène. Elle est très contente.</p><p>Mais...! Que se passe-t-il? Le ruban jaune ne prend pas seulement les affaires d'Aurélie! Il prend tout ce qu'il trouve!</p><blockquote><p>Arrête! Reviens ici tout de suite!</p></blockquote><p>Qu'est-ce que c'est! Une carotte! Un cerf-volant! Une poupée! Une plante! Oh non! Mamie Pétronille n'est pas contente!</p><h2 id="audio-5">Audio 5</h2><blockquote><p>Je suis un beau ruban jaune  🎶</p><p>J'aime beaucoup aider les personnes  🎶</p><p>Si par terre tombent tes affaires 🎶</p><p>Super, je te les récupère! 🎶</p></blockquote><h2 id="audio-6">Audio 6</h2><p>Mamie Pétronille met la main dans son petit sac jaune. Qu'est-ce qu'il y a dedans?</p><p>C'est un skateboard! Et mamie Pétronille monte dessus!  Mais... Oh non! Le ruban jaune prend une lampe, une montre, une orange et... un petit chien!</p><blockquote><p>Arrête! Laisse le petit chien!</p></blockquote><p>Mamie Pétronille met la main dans son petit sac jaune. Qu'est-ce qu'il y a dedans?</p><p>C'est un vélo! Mamie Pétronille monte sur son vélo mais... trop tard! Aurélie est à l'école!</p><p>Aurélie est en classe. Elle regarde son sac à dos!</p><p>Les amis d'Aurélie aussi regardent son sac à dos. Dans son sac à dos il y a une montre, une lampe,  une plante, un cerf-volant, une poupée, une carotte et ... un petit chien!</p><blockquote><p>Qu'est-ce qu'il y a dans ton sac à dos?</p><p>D'où viennent ces objets?</p><p>Tu fais du recyclage?</p><p>Comment s'appelle ce petit chien?</p><p>Je ne sais pas! Je n'en sais rien!</p></blockquote><p>Le maître entre dans la classe. Il est très en colère parce que les enfants font beaucoup de bruit!</p><blockquote><p>Vous faites trop de bruit! Silence s'il  vous plaît!</p></blockquote><p>Le maître regarde Aurélie.</p><blockquote><p>Qu'est-ce qu'il y a derrière toi?</p></blockquote><p>Le petit chien saute dans les bras du maître. Le maître est très content!</p><blockquote><p>Pollux! Te voilà finalement! Très bien Aurélie!</p><p>Ouf!</p></blockquote><p>Penses-tu qu'Aurélie va fermer son sac à dos avant de rentrer chez  elle aujourd'hui?</p><h2 id="audio-7">Audio 7</h2><p><em>Karaoké en version instrumentale</em></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Mamie Pétronille et le ruban jaune 🎗️">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>francais</category>
            <enclosure url="https://www.marcal.dev/img/mamie-petronille-et-le-ruban-jaune.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Backup de Dados: Identificando o que Realmente Importa 🔒]]></title>
            <link>https://www.marcal.dev/backup-de-dados-identificando-o-que-realmente-importa</link>
            <guid isPermaLink="false">/backup-de-dados-identificando-o-que-realmente-importa</guid>
            <pubDate>Sun, 25 Aug 2024 21:44:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p>Existem muitas possibilidades quando se trata de backup de dados. Eu pesquisei bastante, ou pelo menos, pesquisei até perder o interesse. Há algum tempo, desenvolvi uma forma de criar processos de backup para os meus dados mais importantes. Esta publicação mostra como eu defini e identifiquei o que realmente é importante para mim a ponto de precisar ser armazenado.</p><p>Primeiramente, é essencial saber o que é importante para você, e foi exatamente o que fiz. Levantei todos os dados que são valiosos para mim de alguma forma, desde os de maior importância até aqueles de menor relevância.</p><p>Que tipo de dado é tão importante para você que de forma alguma pode ser perdido? Para mim, são as fotos minhas e da minha família, registros de lembranças da minha infância, aniversários, amigos e parentes já falecidos. Documentos como contratos, comprovantes, escritos digitalizados, notas fiscais, recibos; todos esses também são muito importantes, alguns mais, outros menos. Esses são os tipos de documentos que me deixariam emocionalmente arrasado caso eu os perdesse, ou que poderiam me colocar em uma posição legal bastante inconveniente. Imagine a Receita Federal lhe cobrando um imposto indevido de quatro anos atrás que você poderia contestar graças a um recibo ou comprovante que já não possui mais.</p><p>Quando fiz o levantamento, identifiquei dados como:</p><ul><li><strong>Recordações:</strong> Fotos e vídeos de memórias pessoais.</li><li><strong>Documentos:</strong> Pasta pessoal no servidor com arquivos em texto plano ou criptografados, registros de e-mails, documentos armazenados no Paperless, como comprovantes, notas fiscais, documentos relacionados ao imposto de renda, registros médicos, educacionais, etc.</li><li><strong>Mídias:</strong> Filmes, séries, animações, livros em diversos formatos, músicas, scans de quadrinhos e mangás.</li><li><strong>Dados de serviços Docker:</strong> São dados gerados ao instalar um serviço como Nextcloud, Paperless, Plex, que não são guardados em um banco de dados, mas sim em arquivos no diretório de volume do serviço.</li><li><strong>Banco de dados de serviços:</strong> No meu caso, normalmente são bases Postgres, mas aqui entram quaisquer outros bancos, como Mongo, MySQL, etc.</li><li><strong>Arquivos gerais:</strong> São arquivos que não se encaixam bem nas outras categorias, como binários de instalação de jogos ou programas, seja para Linux, Windows ou Android. Aqui eu também guardo meus repositórios Git, meus arquivos de save de jogos, esse tipo de coisa.</li></ul><p>Esses são os dados que considero importantes para mim. Existem outros dados que, para mim, não são tão relevantes, como os dados do meu desktop principal. Se está lá e é importante, eu normalmente copio imediatamente para o meu servidor. Isso funciona bem para mim, mas houve um tempo em que eu fazia o backup automático das minhas pastas de Documentos, Imagens e algumas pastas de configurações da minha home diretamente para o meu servidor, em um script que rodava de hora em hora. Hoje, de acordo com meu fluxo de trabalho, isso se tornou desnecessário, mas entendo que pode voltar a ser necessário algum dia.</p><p>Dentre esses dados que identifiquei como importantes, diferenciei aqueles que são dados de "vida ou morte" e aqueles que não são. Os dados de "vida ou morte" são aqueles aos quais eu deveria ter acesso o mais rápido possível através dos meus backups, no mesmo dia ou instantaneamente.</p><p>Por exemplo, os dados do tipo "documentos" podem conter informações que me ajudariam a tomar uma decisão legal, como um comprovante ou um e-mail arquivado. Portanto, é sensato dizer que preciso desse tipo de dado o mais rápido possível.</p><p>Já os dados do tipo "recordação" são ainda muito importantes, alguns deles até mais importantes que alguns documentos, mas via de regra são arquivos que posso esperar uma semana ou mais para recuperar. Não imagino uma situação em que precisaria de uma foto imediatamente para comprovar algo; não vou perder dinheiro ou ser preso por não conseguir mostrar uma foto a tempo. E se essa foto ou vídeo for tão importante assim, ela também estará duplicada na minha pasta pessoal no servidor, categorizada como "documento".</p><p>Outro exemplo de dados que não são de "vida ou morte" são os dados de "mídia". São dados que, se eu precisasse acessar o backup, poderia tranquilamente esperar muito tempo até acessá-los. De fato, eu poderia até mesmo escolher ignorar o backup e baixar novamente um filme ou uma música. Mesmo que isso seja possível, escolhi fazer o backup desse tipo de arquivo porque investi bastante tempo procurando as fontes, e muitos nem estão mais disponíveis na internet.</p><p>Uma vez identificado o que é importante e o que não é, o que é de acesso urgente ("vida ou morte") e o que não é, posso definir ciclos de backup para cada tipo de arquivo. Por exemplo, posso decidir que, para arquivos do tipo "documentos", eu tenha um ciclo diário de backup, enquanto para arquivos do tipo "mídia", eu tenha um ciclo semanal ou até mensal.</p><p>Existe uma estratégia de backup bastante consolidada chamada "3-2-1". Isso significa que:</p><ul><li><strong>3 Cópias dos Dados:</strong> O dado original mais duas cópias para reduzir o risco de perda em caso de algo acontecer com alguma das versões.</li><li><strong>2 Tipos Diferentes de Mídia:</strong> Armazenadas em tipos diferentes de mídia, como uma cópia em um disco rígido externo e outra na nuvem, ou uma em um disco rígido e outra em DVDs Blu-ray. Assim, você pode se proteger de uma falha comum em um tipo de mídia, mas que não ocorre em outro.</li><li><strong>1 Cópia Offsite:</strong> Pelo menos uma cópia dos dados armazenada fora do local principal. Imagine sua casa sofrer um incêndio e suas 3 cópias estarem localizadas lá. Nesse caso, você perderia todos os seus dados.</li></ul><p>Pensando nisso, minha estratégia é a seguinte:</p><ol><li><strong>3 Cópias de dados:</strong><ul><li>HD de Produção (a cópia original) com snapshots automáticos do ZFS.</li><li>HD de Backup (cópia 1).</li><li>Backup na nuvem (cópia 2).</li></ul></li><li><strong>2 Tipos diferentes de Mídia:</strong><ul><li>HDs internos (no mesmo computador).</li><li>Nuvem (armazenamento remoto).</li></ul></li><li><strong>1 Cópia Offsite:</strong><ul><li>Backup na nuvem (armazenamento fora do local físico).</li></ul></li></ol><p>Os snapshots ZFS adicionam uma camada extra de proteção ao HD com as cópias originais (o HD de produção), permitindo a recuperação de versões anteriores dos arquivos no caso de corrupção. Imagine que meu servidor seja alvo de um ataque e todos os arquivos sejam criptografados ou corrompidos. Sem perceber, meus backups acabam fazendo cópias do arquivo original corrompido. Nesse caso, posso simplesmente restaurar o snapshot ZFS adequado, sem precisar restaurar a partir de backups completos. Isso é bastante útil para uma recuperação rápida dos dados corrompidos ou acidentalmente modificados.</p><p>Para essa publicação não ficar muito extensa, em uma próxima vou entrar em detalhes sobre como tudo isso funciona, como os scripts são executados, agendados, etc. Acredito que essa reflexão inicial é muito importante para que se tenha noção do valor dos dados que se possui. Você pode se surpreender e perceber que, afinal, pode ter um dado tão importante quanto a "única foto da sua mãe em vida" e, mesmo assim, não estar dedicando nenhum esforço relevante para preservá-lo.</p><p>E para você, que tipo de dado é importante? Atualmente, tem algum plano B para o caso de seu computador queimar, ou de alguma Big Tech como o <a href="https://g1.globo.com/tecnologia/noticia/2023/05/16/google-vai-excluir-contas-com-2-anos-ou-mais-sem-uso-veja-como-nao-perder-acesso.ghtml" rel="nofollow">Google deletar sua conta</a> sem avisar ou você perceber?</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Backup de Dados: Identificando o que Realmente Importa 🔒">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>homelab</category>
            <category>notas-pessoais</category>
            <category>tecnologia</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Um Momento Entre Os Ipês 🌼]]></title>
            <link>https://www.marcal.dev/um-momento-entre-os-ipes</link>
            <guid isPermaLink="false">/um-momento-entre-os-ipes</guid>
            <pubDate>Sun, 18 Aug 2024 11:50:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="Vista da floração de  Ipês em Brasília" src="img/um-momento-entre-os-ipes.jpg">
Fotografia tirada próximo aos prédios do INSS, AGU e Caixa, em Brasília.</p><p>Como é linda a época de floração dos ipês! Dentre todas as espécies, o <strong><code class="">ipê-amarelo</code></strong> é, para mim, o mais bonito!</p><p>Há uma beleza muito especial na combinação da floração dos ipês-amarelos com o profundo céu azul de Brasília em um dia ensolarado!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Um Momento Entre Os Ipês 🌼">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/um-momento-entre-os-ipes.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O poder do infinito: Como o cálculo revela os segredos do universo ♾️📚]]></title>
            <link>https://www.marcal.dev/o-poder-do-infinito-como-o-calculo-revela-os-segredos-do-universo</link>
            <guid isPermaLink="false">/o-poder-do-infinito-como-o-calculo-revela-os-segredos-do-universo</guid>
            <pubDate>Sun, 28 Jul 2024 21:10:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="o-poder-do-infinito-como-o-calculo-revela-os-segredos-do-universo" src="img/o-poder-do-infinito-como-o-calculo-revela-os-segredos-do-universo.jpg"></p><blockquote><p>Este livro é um convite a esquecer o temor que a simples expressão “cálculo diferencial e integral” desperta em muitos de nós, até hoje, e embarcar numa viagem eletrizante sobre a construção dessa linguagem matemática.</p></blockquote><p>O livro desenvolve a história do cálculo desde os pensadores da antiguidade até a era moderna e contemporânea. Faz um excelente trabalho ao explicar, de forma muito didática, o que é o cálculo, suas aplicações e toda a beleza envolvida.</p><p>Estou estudando a disciplina por hobby e realmente é um pouco complicado entender todo o conceito e os cálculos, sem falar em compreender sua aplicabilidade. Ao ler este livro, senti que minha mente se expandiu e comecei a entender realmente do que se trata a disciplina, além das fórmulas e cálculos. Por isso, é um bom livro introdutório, um excelente livro de divulgação científica. Motivador até.</p><p>Merece uma segunda leitura quando eu já tiver avançado no conteúdo. Nota mil!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O poder do infinito: Como o cálculo revela os segredos do universo ♾️📚">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-poder-do-infinito-como-o-calculo-revela-os-segredos-do-universo.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Processo 👨‍⚖️]]></title>
            <link>https://www.marcal.dev/o-processo-de-franz-kafka</link>
            <guid isPermaLink="false">/o-processo-de-franz-kafka</guid>
            <pubDate>Sun, 28 Jul 2024 21:00:00 GMT</pubDate>
            <description><![CDATA[Abandonei 🫣]]></description>
            <content:encoded><![CDATA[
            <p><img alt="o-processo-de-franz-kafka" src="img/o-processo-de-franz-kafka.jpg"></p><blockquote><p>Na sua luta para descobrir por que o acusam, por quem é acusado e que lei ampara a acusação, K. defronta permanentemente com a impossibilidade de escolher um caminho que lhe pareça sensato ou lógico, pois o processo de que é vítima segue leis próprias: as leis do arbítrio.</p></blockquote><p>Esse é um livro cuja leitura estou enrolando desde março de 2024 e, para ser honesto, não vou finalizar.</p><p>Não me entenda mal, a história é boa. Um cara que se vê envolvido em um processo, acusado de algo que ele não sabe o que é, sem direito à ampla defesa. É bastante interessante acompanhar uma história tão absurda assim. Tão absurda, mas tão similar com a atual situação do judiciário politizado brasileiro, onde temos o tal do inquérito das Fake News...</p><p>O problema é que a história está inacabada, não tem fim, frases e pensamentos incompletos. É um rascunho não finalizado. A edição que peguei ainda tinha os rascunhos rasurados que Kafka foi excluindo do texto. E isso me desanimou muito. É uma história com potencial, mas ainda não passa de um rascunho.</p><p>Então é isso, tem muita coisa ainda a ser lida por aí, e essa leitura não me pegou. Faz parte e bola pra frente.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Processo 👨‍⚖️">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-processo-de-franz-kafka.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Um poema: Lied de Heine 🌊]]></title>
            <link>https://www.marcal.dev/um-poema-lied-de-heine</link>
            <guid isPermaLink="false">/um-poema-lied-de-heine</guid>
            <pubDate>Tue, 23 Jul 2024 21:45:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt=" A fotografia foi tirada por mim em frente a praia da macumba e a Pedra do Pontal. Vê-se em primeiro plano galhos secos de uma ávore com pouquíssimas folhas, no canto oposto, parte da Pedra do Pontal, ao fundo um céu azul e vermelho característico de quando o sol se põe, que toca o mar. " src="img/um-poema-lied-de-heine.jpg"></p><pre code="Vem, linda peixeirinha,
Trégua aos anzóis e aos remos!
Senta-te aqui comigo,
Mãos dadas conversemos.

Inclina a cabecinha
E não temas assim:
Não te fias do oceano?
Pois fia-te de mim!

Minha&#x27;alma, como o oceano,
Tem tufões, correntezas,
E muitas lindas pérolas
Jazem nas profundezas.

"><code __ignoreMap="">Vem, linda peixeirinha,
Trégua aos anzóis e aos remos!
Senta-te aqui comigo,
Mãos dadas conversemos.

Inclina a cabecinha
E não temas assim:
Não te fias do oceano?
Pois fia-te de mim!

Minha'alma, como o oceano,
Tem tufões, correntezas,
E muitas lindas pérolas
Jazem nas profundezas.

</code></pre><p>Descobri esse <code class="">Lied</code> de Heinrich Heine, tradução de Manuel Bandeira, em uma citação de  <code class="">Amar, Verbo Intransitivo</code> de Mário de Andrade.</p><p>Lembrei-me da viagem que fiz em 2019 para o <code class="">Recreio dos Bandeirantes</code>. O mar estava bastante inquieto. A imagem do belo entardecer foi tirada por mim. Ao fundo, parte da <code class="">Pedra do Pontal</code>.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Um poema: Lied de Heine 🌊">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>poesia</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/um-poema-lied-de-heine.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Battle Royale Omnibus: Volume 1 ⚔️]]></title>
            <link>https://www.marcal.dev/leituras/battle-royale-omnibus/battle-royale-omnibus-volume-1</link>
            <guid isPermaLink="false">/leituras/battle-royale-omnibus/battle-royale-omnibus-volume-1</guid>
            <pubDate>Tue, 23 Jul 2024 21:42:00 GMT</pubDate>
            <description><![CDATA[Volume 1 de 5 da Editora Pipoca e Nanquim]]></description>
            <content:encoded><![CDATA[
            <p><img alt="battle-royale-omnibus-volume-1" src="/leituras/battle-royale-omnibus/img/battle-royale-omnibus-volume-1.jpg"></p><p>Clássico. Comparado a ele, <code class="">Jogos Vorazes</code> é história para adolescente. Na verdade, esse best-seller praticamente deu origem ao gênero <code class="">battle royale</code> nos filmes, jogos, mangás e animes.</p><p>A bem da verdade, descobri hoje, ao ler os extras do volume, que o livro — o romance escrito por Koushun Takami — foi escrito antes do mangá, sendo o mangá uma adaptação! Muito bom por sinal, ainda vou reler o original, agora com outro olhar.</p><p>Sobre o mangá, não tem muito o que falar. A história é ótima, violenta e triste também. A edição está maravilhosa, realmente de luxo, com uma ótima diagramação, sem transparências e, mesmo sendo um trambolho, a edição permite um ótimo manuseio!</p><p>Seguirei esperando o volume 2!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Battle Royale Omnibus: Volume 1 ⚔️">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>quadrinhos</category>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev//leituras/battle-royale-omnibus/img/battle-royale-omnibus-volume-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Desafio: Correr 10 km - Dia 3🏃💨]]></title>
            <link>https://www.marcal.dev/desafio-correr-10-km-dia-3</link>
            <guid isPermaLink="false">/desafio-correr-10-km-dia-3</guid>
            <pubDate>Fri, 19 Jul 2024 21:05:00 GMT</pubDate>
            <description><![CDATA[🏃💨💨💨]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Desafio: Correr 10 km" src="img/desafio-correr-10-km/desafio-correr-10-km.jpg"></p><p>Depois do primeiro dia de corrida, tirei o dia seguinte para descansar e, então, corri no outro (hoje). O meu cronograma foi o mesmo do dia 1: correr durante 40 minutos, um total de 4,58 km. Foi bastante difícil.</p><p><img alt="Cronograma do treino do dia 3" src="img/desafio-correr-10-km/desafio-correr-10-km-dia-3-n2.jpeg"></p><p>Passei o dia de ontem (o dia de descanso) e o de hoje com as pernas doloridas, como se eu tivesse feito um treino de pernas na academia, sabe? Como se eu tivesse puxado ferro.</p><p>Além disso, como sempre, a maior batalha é travada na mente. A ansiedade de chegar logo ao destino e o cálculo mental da distância que ainda falta são bem desencorajadores. Percebi que só de pensar nesse tipo de coisa parece que a energia diminui mais.</p><p>Felizmente, completei o percurso. Antes de correr, estipulei uma meta simples: hoje eu faria um percurso que rodeasse o bairro. Ficou legal de ver o trajeto.</p><p><img alt="Percurso feito do treino do dia 3" src="img/desafio-correr-10-km/desafio-correr-10-km-dia-3-n1.jpeg"></p><p>O último quilômetro foi o mais difícil: subida, vento e cansaço. De qualquer forma, não sei como, mas consegui bater um recorde pessoal: fiz 5 km em um tempo ainda menor do que no primeiro dia. Realizei o trajeto 3 minutos mais rápido! Gostei muito desse resultado, ainda mais por não estar tão mentalmente motivado.</p><p><img alt="Selo corrida mais rápida de 5 km em 33:50 " src="img/desafio-correr-10-km/desafio-correr-10-km-dia-3-n3.jpeg"></p><p>A próxima corrida é domingo, dia 21. Espero estar mais recuperado do que estive hoje. Outra coisa é que acho que não vai funcionar eu obrigatoriamente publicar um status do treino. Ao contrário, vou voltar aqui quando achar que realmente há alguma mudança no treino ou quando tiver algo significativo para escrever.</p><p>Então, até o próximo report!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Desafio: Correr 10 km - Dia 3🏃💨">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/desafio-correr-10-km/desafio-correr-10-km.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Desafio: Correr 10 km - Dia 1 🏃💨]]></title>
            <link>https://www.marcal.dev/desafio-correr-10-km-dia-1</link>
            <guid isPermaLink="false">/desafio-correr-10-km-dia-1</guid>
            <pubDate>Wed, 17 Jul 2024 21:56:00 GMT</pubDate>
            <description><![CDATA[🏃💨💨💨]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Desafio: Correr 10 km" src="img/desafio-correr-10-km/desafio-correr-10-km.jpg"></p><p>Resolvi voltar a correr, mas agora é sério. Quero conseguir correr 10 km direto.</p><p>Eu gosto de correr, mas a preguiça é maior que a vontade de correr. Por isso, vou registrar neste site todo o meu progresso, do 0 km até, se tudo ocorrer bem, os 10 km. Essa é uma forma que encontrei para me manter motivado e também colocar um compromisso público. Mesmo que, na prática, quase ninguém saiba desse compromisso, dado o tamanho da minha audiência. 😅</p><p>Para me ajudar a registrar os dados do meu desempenho nas corridas, vou utilizar o aplicativo Samsung Health, instalado tanto no celular quanto no meu relógio inteligente. O aplicativo tem um programa com um cronograma para ajudar a alcançar os 10 km. Segundo esse cronograma, começando de hoje até o dia 8 de setembro, treinando 3 vezes por semana, eu conseguirei correr durante 70 minutos um percurso de 10 quilômetros. Vamos ver, eu espero conseguir.</p><p>Hoje, sendo o dia 1, já tive minha primeira corrida. O objetivo era correr durante 40 minutos, um total de 4,58 km. O plano da corrida de hoje era o seguinte:</p><p><img alt="Cronograma do treino do dia 1" src="img/desafio-correr-10-km/desafio-correr-10-km-dia-1-n1.jpeg"></p><p>Hoje foi bem tranquilo, com um aquecimento de 5 minutos, 30 minutos correndo e, para finalizar, 5 minutos caminhando. O último quilômetro foi complicado porque peguei um terreno com uma leve inclinação, corri contra o vento e já estava com pouca energia devido à corrida. Este foi o percurso que fiz:</p><p><img alt="Percurso feito do treino do dia 1" src="img/desafio-correr-10-km/desafio-correr-10-km-dia-1-n2.jpeg"></p><p>Foi uma boa corrida. O planejado era um percurso de 40 minutos, mas fiz pouco mais de 50 minutos. O planejado era percorrer 4 km e fiz um pouco mais de 6 km. O ritmo médio do percurso foi de 8 minutos e 29 segundos por quilômetro. Acho que peguei os últimos 10 a 15 minutos para descansar caminhando.</p><p>Eu já havia corrido 5 km antes. Não lembro ao certo, mas acho que já cheguei aos 7 km e alguma coisa. De qualquer forma, o aplicativo me deu uma conquista, a de "Corrida mais rápida de 5 km" com o tempo de 36:40.</p><p><img alt="Selo corrida mais rápida de 5 km em 36:40 " src="img/desafio-correr-10-km/desafio-correr-10-km-dia-1-n3.jpeg"></p><p>Então é isso, eu volto para registrar o dia 2, se tudo ocorrer bem!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Desafio: Correr 10 km - Dia 1 🏃💨">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/desafio-correr-10-km/desafio-correr-10-km.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Sal, gordura, ácido, calor: Os elementos da boa cozinha 👨‍🍳]]></title>
            <link>https://www.marcal.dev/sal-gordura-acido-calor-os-elementos-da-boa-cozinha</link>
            <guid isPermaLink="false">/sal-gordura-acido-calor-os-elementos-da-boa-cozinha</guid>
            <pubDate>Wed, 17 Jul 2024 13:48:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="Sal, gordura, ácido, calor: Os elementos da boa cozinha" src="img/sal-gordura-acido-calor-os-elementos-da-boa-cozinha.jpg"></p><blockquote><p>A chef Samin Nosrat já ensinou muita gente a cozinhar, até mesmo o autor best-seller Michael Pollan. Isso porque ela segue uma filosofia simples, mas revolucionária: domine o uso de apenas quatro elementos e todo prato que você preparar ficará uma delícia!<br>
Com cem receitas base e dezenas de variações, coloque em prática as lições para fazer vinagretes de dar água na boca, vegetais perfeitamente caramelizados, carnes assadas a ponto de desfazer e massas de torta leves e quebradiças.</p></blockquote><p>Açúcar, tempero, tudo o que há de bom e, sem querer, um pouquinho do elemento X: esses foram os ingredientes que o Professor Utônio usou para criar as Meninas Superpoderosas. Tá bom, na realidade não é bem assim, não vamos criar algo como no desenho. Mas não é preciso ser o Professor Utônio para criar algo incrível na cozinha. E é isso que "Sal, Gordura, Ácido, Calor: Os Elementos da Boa Cozinha" tenta nos passar com seu texto simples e belos desenhos.</p><p><img alt="O momento em que Professor Utônio criou as Meninas Superpoderosas" src="img/as-meninas-superpoderosas-receita.jpeg">
O momento em que Professor Utônio criou as Meninas Superpoderosas</p><p>Segundo o livro, um bom preparo pode ser resumido em quatro elementos: sal, gordura, ácido, calor. É explicado o papel de cada um desses elementos na cozinha, como, por exemplo, o do sal, que age como um amplificador de sabores em um prato.</p><p>Adequadamente usado, minimiza o amargor, equilibra a doçura e faz sobressair os aromas. Inclusive, segundo o livro, o sal tem um impacto maior sobre o sabor do que qualquer outro ingrediente. Isso não significa que devemos usar mais sal, mas sim que devemos usar <strong>melhor</strong> o sal, adicionando-o na quantidade, na hora e na forma certas.</p><p>É um livro que não dá pra ler em uma sentada. Não é necessário ler de forma linear; portanto, é mais um livro de consultas. Além da teoria, o livro cobre uma boa parte com receitas, de modo que dá para aplicar o que foi aprendido antes. Vale o investimento e irei consultá-lo mais vezes com certeza.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Sal, gordura, ácido, calor: Os elementos da boa cozinha 👨‍🍳">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/sal-gordura-acido-calor-os-elementos-da-boa-cozinha.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 11]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-11</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-11</guid>
            <pubDate>Tue, 16 Jul 2024 18:08:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-11" src="img/hokuto-no-ken/hokuto-no-ken-volume-11.jpg"></p><blockquote><p>Depois de inúmeras batalhas mortais com amigos e rivais, a paz finalmente voltou, e Kenshiro pôde passar os últimos momentos de Yuria ao seu lado.Porém, o mundo voltou a ficar conturbado...Será que os olhos de Kenshiro, que perderam tudo uma vez, conseguirão recuperar a luz da esperança novamente?A história secreta do salvador do século é finalmente revelada!“Vamos andar juntos, abraçando o destino do sucessor do Hokuto Shin‑ken!”</p></blockquote><p>Eu estava curioso para saber como continuariam a história depois de Raoh, o adversário definitivo de Kenshiro. Da forma que fizeram, faz sentido. Colocaram um lapso de tempo de 10 anos entre os acontecimentos, e o esperado aconteceu: depois de um período de paz, a humanidade voltou à barbárie, onde os fortes e poderosos governam tiranicamente e os fracos não têm vez.</p><p>Gostei bastante do emocionante primeiro capítulo do volume, "Aquele que Cavalga em Minhas Costas". Essa é uma história extra escrita por Tetsuo Hara e Buronson em abril de 2014, em comemoração aos 30 anos de Hokuto no Ken. Segundo Tetsuo, essa história preenche uma lacuna que sempre o incomodou. Depois do confronto de Ken com Raoh, avançaram a obra em dez anos, como dito antes, e realmente, lendo agora pela primeira vez esse volume, acredito que o leitor deve ter sentido que faltava algo. O que aconteceu com Ken nesses dez anos? E sua amada, Yuria? Como, do nada, Ken aparece montado em Rei Negro, o cavalo de Raoh? Essa história, que introduz o volume, responde a importantes perguntas.</p><p>Rei Negro é reapresentado, e quem diria que um cavalo teria cenas tão emocionantes e fortes! Em suas aparições, era mostrado como um cavalo bruto, uma arma, uma máquina de guerra que só permitia o maior dos guerreiros montá-lo. Agora, vemos um ser que diariamente se prepara, esperando o próximo a montá-lo: nosso protagonista Ken, agora numa espécie de depressão, com repulsa pelo poder que existe em seus punhos!</p><p>Espero que mostrem mais do cavalo de Raoh nos próximos capítulos, apesar de achar que talvez não aconteça. Talvez esse background de Rei Negro tenha sido pensado justamente na ocasião dos 30 anos de Hokuto no Ken, portanto, muito depois da obra ter sido finalizada. Torço para que não!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 11">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-11.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Meu segundo homelab - montado]]></title>
            <link>https://www.marcal.dev/meu-segundo-homelab-montado</link>
            <guid isPermaLink="false">/meu-segundo-homelab-montado#updated_at#2024-07-16T18:04:00</guid>
            <pubDate>Tue, 16 Jul 2024 18:04:00 GMT</pubDate>
            <description><![CDATA[Descrevo as especificações do meu segundo servidor, que optei por montar por conta própria para obter mais flexibilidade no futuro.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="meu-segundo-homelab-montado" src="img/meu-segundo-homelab-montado.jpg"></p><p>Descrevo as especificações do meu segundo servidor. Ao contrário do <a href="https://www.marcal.dev/homelab-synology-ds420j/" rel="nofollow">meu primeiro, o Synology DS420j</a>, que é um sistema fechado pronto para uso e sem possibilidade de upgrade, decidi montar um por conta própria para ter mais flexibilidade no futuro. Desde Julho de 2023, o servidor está rodando estável com as seguintes configurações:</p><h3 id="software">Software</h3><ul><li><strong>Sitema Operacional</strong>: Ubuntu Server - última versão estável, instalado em um SSD de 500GB.</li><li><strong>Automação</strong>: <a href="https://www.ansible.com/" rel="nofollow">Ansible</a> para automação de configurações.</li><li><strong>Services</strong>: Docker e docker-compose para rodar maioria das services.</li><li><strong>Sistema de arquivos</strong>: Zed File System (ZFS).</li><li><strong>Pool de arquivos</strong> do ZFS: dois HDs de 4TB em espelho e um SSD de 1TB para cache, totalizando um pool de aproximadamente 4TB.</li><li><strong>Snapshots automáticos</strong>: nos volumes do pool de arquivos ZFS, cada volume do pool com sua configuração de tempo específico.</li></ul><h3 id="hardware">Hardware</h3><p>O valor ao lado de cada peça refere-se ao que paguei na época da compra. Nem tudo foi adquirido simultaneamente, como os HDs, que já possuía desde a compra do <a href="https://www.marcal.dev/homelab-synology-ds420j/" rel="nofollow">Synology DS420j</a>, ou a memória SSD de 1TB e outra memória de 32GB, que optei por adquirir posteriormente, após o servidor já estar em funcionamento por um tempo.</p><ul><li><strong>Armazenamento para Sistema Operacional</strong>: <a href="https://meupc.net/peca/A62Rhn/ssd-kingston-nv2-nv2500gb" rel="nofollow">Kingston SSD Nv2 500 GB M.2-2280</a> , R$ 218,40</li><li><strong>Armazenamento de cache de arquivos</strong>: <a href="https://meupc.net/peca/btX3J5/ssd-kingston-nv2-nv21tb" rel="nofollow">Armazenamento Kingston SSD Nv2 1 TB M.2-2280</a> , R$ 292,00</li><li><strong>Armazenamento de arquivos 1</strong>: <a href="https://www.mercadolivre.com.br/disco-rigido-interno-western-digital-wd-red-wd40efax-4tb-vermelho/p/MLB16085021?pdp_filters=item_id:MLB2098589911" rel="nofollow">Disco rígido interno Western Digital WD Red WD40EFAX 4TB vermelho</a> , R$ 734,80</li><li><strong>Armazenamento de arquivos 2</strong>: <a href="https://www.mercadolivre.com.br/disco-rigido-interno-western-digital-wd-red-wd40efax-4tb-vermelho/p/MLB16085021?pdp_filters=item_id:MLB2098589911" rel="nofollow">Disco rígido interno Western Digital WD Red WD40EFAX 4TB vermelho</a> , R$ 734,80</li><li><strong>Memória</strong>: <a href="https://meupc.net/peca/mng99J/memoria-kingston-fury-beast-kf432c16bb16" rel="nofollow">Kingston Fury Beast (Preto) 16 GB (1x16 GB) DDR4-3200</a>, R$ 241,50</li><li><strong>Memória</strong>: <a href="https://meupc.net/peca/bZeZ59/memoria-kingston-fury-beast-kf432c16bb32" rel="nofollow">Kingston Fury Beast (Preto) 32 GB (1x32 GB) DDR4-3200</a>, R$ 500,00</li><li><strong>Processador</strong>: <a href="https://meupc.net/peca/da5cU3/processador-amd-ryzen-5-5600g-100100000252box" rel="nofollow">AMD Ryzen 5 5600G 3.9 GHz 6-Core</a>, R$ 938,03</li><li><strong>Placa-mãe</strong>: <a href="https://meupc.net/peca/tao7S8/placa-mae-gigabyte-b550m-aorus-elite" rel="nofollow">Gigabyte B550M Aorus Elite Micro ATX AM4</a>, R$ 888,88</li><li><strong>Fonte</strong>: <a href="https://www.amazon.com.br/dp/B09V89JMY9" rel="nofollow">Fonte de Alimentação Redragon RGPS-750W 80 Plus Gold</a>, R$ 618,85</li><li><strong>Gabinete</strong>: <a href="https://meupc.net/peca/bfWx94/gabinete-cooler-master-masterbox-cm694-mcbcm694kg5n" rel="nofollow">Cooler Master MasterBox CM694 (Preto) ATX Mid Tower</a>, R$ 922,82</li><li><strong>Total</strong>: R$ 6090,08</li></ul><h3 id="gabinete">Gabinete</h3><p>O gabinete foi difícil de encontrar, pois atualmente não é comum encontrar gabinetes com mais de duas baias à venda. Este me proporciona as seguintes possibilidades:</p><ul><li>2x 5.25"</li><li>6x 3.5 " / 2.5“ (Combo - drive cages)</li><li>SSD 8x 2.5 ”(2+ 6 Combo)</li><li>Slots de expansão: 7</li></ul><p>Pretendo utilizar a capacidade total, inserindo HDs de 4 a 6TB, na esperança de que os de 6TB se tornem mais acessíveis no futuro. Não considero isso exagerado, uma vez que, nos dias de hoje, é muito fácil gerar arquivos digitais, como fotos, músicas, documentos e filmes. Apenas o filme Interstellar ocupa 29,53 GB de espaço; claro, a maioria dos filmes e shows não ultrapassam 2 GB, mas alguns ainda merecem ser armazenados com melhor qualidade. Eis a minha capacidade no pool de arquivos, hoje, 05 de Fevereiro:</p><pre class="language-shell shiki shiki-themes dracula" code="zpool list
NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
dataPool  3.62T  1.25T  2.37T        -         -     6%    34%  1.00x    ONLINE  -

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">zpool</span><span style="--shiki-default:#F1FA8C"> list
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">NAME</span><span style="--shiki-default:#F1FA8C">       SIZE</span><span style="--shiki-default:#F1FA8C">  ALLOC</span><span style="--shiki-default:#F1FA8C">   FREE</span><span style="--shiki-default:#F1FA8C">  CKPOINT</span><span style="--shiki-default:#F1FA8C">  EXPANDSZ</span><span style="--shiki-default:#F1FA8C">   FRAG</span><span style="--shiki-default:#F1FA8C">    CAP</span><span style="--shiki-default:#F1FA8C">  DEDUP</span><span style="--shiki-default:#F1FA8C">    HEALTH</span><span style="--shiki-default:#F1FA8C">  ALTROOT
</span></span><span class="line" line="3"><span style="--shiki-default:#50FA7B">dataPool</span><span style="--shiki-default:#F1FA8C">  3.62T</span><span style="--shiki-default:#F1FA8C">  1.25T</span><span style="--shiki-default:#F1FA8C">  2.37T</span><span style="--shiki-default:#F1FA8C">        -</span><span style="--shiki-default:#F1FA8C">         -</span><span style="--shiki-default:#F1FA8C">     6%</span><span style="--shiki-default:#F1FA8C">    34%</span><span style="--shiki-default:#F1FA8C">  1.00x</span><span style="--shiki-default:#F1FA8C">    ONLINE</span><span style="--shiki-default:#F1FA8C">  -
</span></span></code></pre><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Meu segundo homelab - montado">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>homelab</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/meu-segundo-homelab-montado.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Responda por email 📩]]></title>
            <link>https://www.marcal.dev/responda-por-email</link>
            <guid isPermaLink="false">/responda-por-email</guid>
            <pubDate>Mon, 08 Jul 2024 19:31:00 GMT</pubDate>
            <description><![CDATA[Uma forma simples e surpreendentemente eficaz de entrar na conversa]]></description>
            <content:encoded><![CDATA[
            <p>Blogs são conversas. Para participar de uma, é necessário que algum visitante consiga entrar nessa conversa. Eu já havia implementado uma forma de comentários em meu blog, mas decidi alterá-la mais uma vez para algo mais simples e menos invasivo: respostas por email.</p><p>Da primeira vez que implementei um sistema de comentários, utilizei o <a href="https://disqus.com/" rel="nofollow">Disqus</a>. Não posso dizer que ele não funciona. É facilmente configurável, com várias opções de moderação, e sua adoção é quase universal. Existem dois problemas principais ao utilizar o Disqus, a meu ver:</p><ol><li>Não é uma ferramenta que respeita a privacidade dos dados. Pelo contrário, você será facilmente rastreado e categorizado.</li><li>Você não é o dono do seu conteúdo. Se a ferramenta deixar de existir ou você não estiver satisfeito com ela, não é fácil mover seus dados para outro provedor similar ao Disqus. Para falar a verdade, nem sei se é possível.</li></ol><p>Ciente dessas limitações, busquei outra forma que possibilitasse receber comentários. Acabei encontrando uma boa alternativa em <a href="https://sol2070.in/2022/10/Sistemas-de-coment%C3%A1rios-livres" rel="nofollow">Sistemas de comentários livres</a> no blog da <a href="https://sol2070.in/" rel="nofollow">sol2070</a>: o projeto <a href="https://github.com/isso-comments/isso/" rel="nofollow">Isso Comments</a>. Ele é uma alternativa similar ao Disqus, mas auto-hospedada. O Isso Comments funciona bem e tem funcionalidades como moderação, anti-spam, notificação por e-mail, etc. Do lado do servidor, apenas precisei de uma imagem Docker e um arquivo de configuração para o Isso. Ele armazena as informações em um banco de dados SQLite.</p><p>Contudo, comecei a achar que, mesmo na simplicidade da ferramenta Isso, ainda era uma bala de canhão para o que eu queria resolver. Eu não tenho um tráfego alto, <em>longe disso</em>. Meu site já é totalmente estático, renderizado no momento da compilação, portanto, não preciso de um backend como o Node para servi-lo na internet. Manter um backend apenas para gerenciar os poucos e raros comentários que recebo me pareceu um exagero.</p><p>Percebi que vários blogs preferiam respostas por e-mail em vez do esquema comum de threads de respostas públicas. Boas razões foram apresentadas, como as de Manuel Morale em <a href="https://manuelmoreale.com/online-conversations" rel="nofollow">Online Conversations</a>, que argumenta que responder por e-mail nos permite uma área segura onde podemos sumarizar e revisar nossas ideias de forma livre, longe dos limites impostos pelas redes sociais.</p><p>Kev Quirk, em <a href="https://kevquirk.com/blog/online-conversations-website-engagement" rel="nofollow">Online Conversations &#x26; Website Engagement</a>, diz que, apesar de ter perdido alguns comentários úteis, visto que algumas pessoas são menos propensas a escrever um e-mail, essa barreira foi justamente o que o livrou de comentários de trolls desejando-lhe a morte. Aqueles que entram em contato estão genuinamente interessados no assunto da publicação e só querem discutir isso mais a fundo.</p><p>Cris Coyer, em seu blog <a href="https://email-is-good.com/" rel="nofollow">Email is Good</a>, acerta o alvo em sua publicação <a href="https://email-is-good.com/2023/07/10/text-me-yo/" rel="nofollow">Text Me, Yo</a>. Assim como ele, eu prefiro o e-mail para discussões mais lentas ou que exigem que eu pense e pesquise. Não gosto da ideia de uma notificação como no Instagram ou Facebook, onde as discussões são sempre quentes, o que nos condiciona a responder rápida e emocionalmente de formas muitas vezes impensadas a outras publicações e comentários.</p><p>Nik, do <a href="https://niqwithq.com" rel="nofollow">Nick With Q</a>, também compartilha dessa opinião. Em <a href="https://niqwithq.com/posts/reply-by-email" rel="nofollow">Reply by email</a>, ele argumenta que, com e-mails, não há pressão para responder imediatamente, o que faz com que sejam escritos com uma mentalidade mais ponderada. Outro ponto interessante é que e-mails são auto-contidos. Sabe quando alguém lhe manda uma mensagem no WhatsApp do tipo "Oi, tudo bem?", sem mais nada? E-mails tendem a ter uma estrutura bem definida, como uma saudação, conteúdo principal e fechamento.</p><p>Outro ponto que Nik destaca é que o e-mail é universal. Usuários do Gmail podem se comunicar com usuários do Protonmail, pois o protocolo utilizado permite a interoperabilidade: o protocolo SMTP. Até hoje, é impossível alguém do WhatsApp se comunicar com um usuário do Telegram, por exemplo.</p><p>Esses são todos ótimos argumentos e pontos de vista, e concordo com todos eles. No meu caso, adicionei essa funcionalidade e removi os sistemas anteriores por simplificação tecnológica. Em outras palavras: <strong>preguiça</strong>.</p><p>Veja bem, como eu disse, meu site já é estático. Eu não quero lidar com um backend para algo tão simples como um blog. Inserir um backend de comentários me obriga a me preocupar com atualização de software, consumo de recursos computacionais, vulnerabilidades e ataques. Definitivamente, eu não quero esse trabalho.</p><p>Por outro lado, eu realmente gosto de e-mails e estou bem mais preparado para armazená-los! Já tenho uma política de backup de e-mails, de modo que qualquer comentário que eu receba estará instantaneamente seguro e pesquisável como registro histórico pessoal. Da mesma forma, quem me enviar um comentário terá a cópia desse e-mail em sua própria caixa de saída e na de entrada, quando eu responder. De fato, muitos que poderiam comentar deixarão de fazê-lo apenas por se tratar de um e-mail, mas no final, acho que o ganho é muito maior. É o melhor para ambos os lados da comunicação.</p><p>Então, está aí, logo abaixo, uma forma simples e surpreendentemente eficaz de entrar na conversa. Está convenientemente em todas as publicações do meu blog.</p><p>Faça bom uso!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Responda por email 📩">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Dragon Ball Vol 32 - Edição Definitiva]]></title>
            <link>https://www.marcal.dev/dragon-ball-vol-32-edicao-definitiva</link>
            <guid isPermaLink="false">/dragon-ball-vol-32-edicao-definitiva</guid>
            <pubDate>Sun, 07 Jul 2024 20:39:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="dragon-ball-vol-32-edicao-definitiva" src="img/dragon-ball-edicao-definitiva/dragon-ball-vol-32-edicao-definitiva.jpg"></p><p>Muitas coisas acontecendo em paralelo nesse volume: Goten e Trunks treinando a fusão, Goku mostrando pela primeira vez a rara transformação Super Saiajin 3, o arco de Gohan em busca de seu poder oculto e,finalmente, o mais interessante, os desdobramentos do contato de Majin Boo e Satan!</p><p>Chegando, finalmente aos últimos volumes dessa saga!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dragon Ball Vol 32 - Edição Definitiva">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/dragon-ball-edicao-definitiva/dragon-ball-vol-32-edicao-definitiva.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Monstro do Pântano por Alan Moore Vol. 1: Edição Absoluta]]></title>
            <link>https://www.marcal.dev/monstro-do-pantano-vol-1-edicao-absoluta</link>
            <guid isPermaLink="false">/monstro-do-pantano-vol-1-edicao-absoluta</guid>
            <pubDate>Wed, 03 Jul 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[Um clássico absoluto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="monstro-do-pantano-vol-1-edicao-absoluta" src="img/monstro-do-pantano-edicao-absoluta/monstro-do-pantano-vol-1-edicao-absoluta.jpg"></p><blockquote><p>De 1983 a 1987, um jovem escritor da Inglaterra juntou-se a um trio de desenhistas dos Estados Unidos para revitalizar uma lenda dos quadrinhos. Quatro anos depois, quando concluíram o trabalho, o MONSTRO DO PÂNTANO de Alan Moore, Stephen R. Bissette, John Totleben e Rick Veitch era universalmente reconhecido como um dos títulos que redefiniu os quadrinhos adultos e trouxe toda uma nova abordagem repleta de complexidade se tornando uma grande influência até os dias de hoje. Este primeiro volume inclui THE SAGA OF THE SWAMP THING 20 a 34 e SWAMP THING ANNUAL 2, trazendo um monumental novo posfácio de Stephen Bissette, acompanhado de um rico e histórico compilado de ilustrações e imagens de produção da equipe criativa! Edição de colecionador, com caixa para acondicionar esta que é uma das obras-primas das HQs!</p></blockquote><p>Eu já havia lido por scans uma boa parte da saga do Monstro do Pântano, escrita por Alan Moore, há muitos anos, e, assim como na primeira vez, foi incrível ler esse primeiro volume!</p><p>Pra falar a verdade, meu primeiro contato com o Monstro do Pântano foi, sei lá, aos dez anos? Por volta dessa idade. Sempre que podia, eu comprava gibis nas saudosas bancas de revistas de bairro e lembro de ter comprado um formatinho da revista Abril, aquele gibi pequenino produzido no famigerado papel jornal. Eu nem sabia do que se tratava. Nessa revistinha foi publicado o capítulo em que finalmente Abigail descobre que tem alguma coisa errada com seu esposo.</p><p>Essa publicação mostra todo o horror sentido por Abby e, naquela época, eu não entendia bem o porquê. Afinal, eu não tinha nenhuma bagagem, não sabia do que se tratava, por que daqueles acontecimentos, não sabia nada! Dessa época, já não lembro de muita coisa, exceto do sentimento de repulsa e horror transmitidos por aquele formatinho em papel jornal, o que mostra o poder do roteiro de Alan Moore, mesmo com a arte prejudicada nesse tipo de publicação.</p><p>Lembro de pensar, no início da história, se essa era uma história sobre T.O.C. (Transtorno Obsessivo Compulsivo), que naquela época eu já sabia mais ou menos o que era. A imagem ficou na minha memória durante anos e agora pude reler, em uma publicação de maior qualidade que transmite melhor o horror da cena. Confira abaixo.</p><p><img alt="Quadros de horror onde Abby tenta se purificar de toda impureza" src="img/monstro-do-pantano-edicao-absoluta/monstro-do-pantano-vol-1-edicao-absoluta-1.jpg"></p><p>Por todo o volume, há histórias que estão nesse clima de horror, sobrenatural.</p><p><img alt="monstro-do-pantano-vol-1-edicao-absoluta" src="img/monstro-do-pantano-edicao-absoluta/monstro-do-pantano-vol-1-edicao-absoluta-2.jpg"></p><p>E como é roteiro de Alan Moore, o cara consegue recontar e redefinir a história do Monstro do Pântano de uma forma genial.</p><p>Antes, apenas um herói qualquer de terceiro escalão, depois de Alan Moore, o Monstro do Pântano torna-se uma entidade elemental, com poderes quase divinos, ilimitados ao se relacionar com a natureza. Em uma história desse volume, a própria Liga da Justiça prende a respiração, impotente, esperando o fim de toda a vida na Terra, num iminente terrorismo ecológico, para então nosso dramático personagem salvar o dia de maneira quase anônima, diga-se de passagem.</p><p>Nesse volume, vemos o início de um amor bem improvável, mas bastante contextualizado: Monstro do Pântano e Abby. Nem só de <em>beijos com gosto de lima</em> (como Abby descreveu ao beijar o Monstro do Pântano) é feita a relação de um casal. Portanto, nos é mostrado Abby e Monstro do Pântano fazendo uma comunhão que vai muito além do sexo experimentado pelos humanos, em uma cena psicodélica, cheia de cores, sensações e conexões com toda a vida. Só vendo.</p><p>Totalmente recolorido e publicado em uma edição de luxo, este é um quadrinho que tenho certeza que irei reler ainda algumas outras vezes nos próximos anos que estão por vir.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Monstro do Pântano por Alan Moore Vol. 1: Edição Absoluta">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>medo</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/monstro-do-pantano-edicao-absoluta/monstro-do-pantano-vol-1-edicao-absoluta.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Sometimes, Angels Are Right Beside Us]]></title>
            <link>https://www.marcal.dev/en/sometimes-angels-are-right-beside-us</link>
            <guid isPermaLink="false">/en/sometimes-angels-are-right-beside-us</guid>
            <pubDate>Sat, 29 Jun 2024 20:12:00 GMT</pubDate>
            <description><![CDATA[Memories from Rampa do Urubu, Viana - ES]]></description>
            <content:encoded><![CDATA[
            <hr><p><img alt="Sometimes, Angels Are Right Beside Us" src="/img/sometimes-angels-are-right-beside-us.jpg"></p><p><code class="">Into My Arms - Nick Cave:</code></p><blockquote><p>And I don't believe in the existence of angels<br>
But looking at you I wonder if that's true<br>
But if I did I would summon them together<br>
And ask them to watch over you<br>
To each burn a candle for you<br>
To make bright and clear your path<br>
And to walk,like Christ, in grace and love ...</p></blockquote><p><em>Memories from Rampa do Urubu, Viana - ES, July 2024</em></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Sometimes, Angels Are Right Beside Us">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>amor</category>
            <category>notas-pessoais</category>
            <category>english</category>
            <enclosure url="https://www.marcal.dev//img/sometimes-angels-are-right-beside-us.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Suspiria: Herege]]></title>
            <link>https://www.marcal.dev/suspiria-herege</link>
            <guid isPermaLink="false">/suspiria-herege#updated_at#2024-06-26T21:11:00</guid>
            <pubDate>Wed, 26 Jun 2024 21:11:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="suspiria-do-reino-das-trevas" src="img/suspiria-herege.jpg"></p><blockquote><p>Suspiria, a manifestação onipresente do medo e desespero, vagueia pela Terra desde o alvorecer dos tempos, punindo almas inertes diante do próprio destino. Nesta edição, somos levados ao coração sombrio do universo Suspiriano, onde o legado de H.P. Lovecraft se entrelaça em uma dança macabra de desespero e redenção. Com a Santa Morte e as irmãs de Suspiria ao lado, exploramos a história não contada do exílio de Lúcifer, uma jornada que ressoará através da eternidade. Cada traço de Luca Laca e Andrea Bulgarelli aprofunda a narrativa, criando uma tapeçaria visual sombria e envolvente.</p></blockquote><p>Nessa terceira edição, é explicado como Suspiria e sua família foram parar em sua atual morada. É contado como Lúcifer, pai de Suspiria, ao prover conhecimento para os humanos é levado ao exílio pelos Deuses da Origem. Em uma história nessa edição, temos a participação mais que especial do próprio H.P Lovecraft, em seu leito de morte.</p><p>Gostei bastante dessa edição, a meu ver ela tem menos erotismo (o que não faz ela perder apelo) e uma história onírica trágica. Só lendo pra entender o que eu quis dizer 🙂.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Suspiria: Herege">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>medo</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/suspiria-herege.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[HQ Héros Américains]]></title>
            <link>https://www.marcal.dev/hq-heros-americains</link>
            <guid isPermaLink="false">/hq-heros-americains</guid>
            <pubDate>Fri, 21 Jun 2024 14:15:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="hq-heros-americains" src="img/hq-heros-americains.jpg"></p><blockquote><p>Coraline tem um namorado: O DJ. Só que ele não sabe disso. O DJ costuma tocar pelos subúrbios élficos do bairro que ele e Coraline moram.Nesse mundo, os elfos foram seduzidos pela modernidade e perderam suas raízes ancestrais. Se tornaram materialistas e consumistas, perdendo o seu contato com a natureza. As florestas do mundo viraram grandes favelas élficas e os elfos se adaptaram a cultura e a tecnologia humana.</p></blockquote><p>Esse é um quadrinho "curta-metragem" de tão breve que é, podendo ser lido em 15 min. Comprei no escuro quando vi o preço de 13 reais , mas já vi na Amazon até por 10.</p><p>A história não é muito convencional, ler esse quadrinho é como se pegássemos um filme pela metade, ou como quando assistimos um episódio aleatório de uma série que nunca acompanhamos. O trabalho da arte com suas cores e desenhos são realmente bons.</p><p>Não é ruim, mas é esquecível. Acho que vale o que paguei.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=HQ Héros Américains">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hq-heros-americains.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cantinho XXX]]></title>
            <link>https://www.marcal.dev/cantinho-xxx</link>
            <guid isPermaLink="false">/cantinho-xxx</guid>
            <pubDate>Thu, 20 Jun 2024 22:29:00 GMT</pubDate>
            <description><![CDATA["Eu era jovem e precisava da grana"]]></description>
            <content:encoded><![CDATA[
            <p><img alt="cantinho-xxx" src="img/cantinho-xxx.jpg"></p><blockquote><p>Era início dos anos 2000 e Caio Oliveira já tinha contas para pagar. Além disso, ele queria entrar para o mercado editorial de quadrinhos no Brasil, de qualquer maneira.</p></blockquote><p>Já faz um tempo que acompanho Caio Oliveira, do "Cantinho do Caio", nas redes sociais. Sempre que sai alguma coisa dele no Catarse, tento apoiar.</p><p>Esse material é erótico, portanto, não é para todos os públicos. Como bem informado na introdução do conteúdo, esse é um material principalmente para quem já conhece e acompanha o trabalho do Caio.</p><p>Eu gostei. Nunca fui muito de consumir revistas hentais, puro pornô, mas, apesar disso, histórias como "Virgem Demais para Morrer", "The King of Fuckers" (risos) e "Noites de Gotham" são boas, mesmo nesse contexto de pornô.</p><p>Pra falar a verdade, me deu até uma nostalgia e lembrei de uma edição paródia erótica de Dragon Ball que não lembro se vi pela internet ou em uma revista física. Nessa história, Bulma, Kulilin e Gohan estão em uma viagem espacial ao planeta Nameku e... bem, nesse meio tempo você já sabe o que eles fazem lá. Um dia vou tentar achar essa edição por aí...</p><p>Enfim, essa é uma edição de baixíssima tiragem, então você provavelmente não vai ver por aí, mas caso veja, dê uma conferida. Recomendo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Cantinho XXX">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>quadrinhos</category>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/cantinho-xxx.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[A vida é como lavar louças]]></title>
            <link>https://www.marcal.dev/a-vida-e-como-lavar-loucas</link>
            <guid isPermaLink="false">/a-vida-e-como-lavar-loucas</guid>
            <pubDate>Wed, 05 Jun 2024 11:00:00 GMT</pubDate>
            <content:encoded><![CDATA[
            <p><img alt="a-vida-e-como-lavar-loucas" src="img/a-vida-e-como-lavar-loucas.jpg"></p><p>A vida é como lavar louças.</p><p>Sem energia no fim do dia, você vê uma pilha de louças a serem lavadas e pensa: "Nem fudendo que eu vou lavar isso tudo!" É desanimador, assim como qualquer problema ou desafio a ser superado na vida.</p><p>Mas lavar louças é o tipo de coisa que tem de ser feita. Chega uma hora em que você não consegue mais adiar e tem que encarar o problema. Então você começa, sem vontade, às vezes sem fibra nenhuma, lamentando a pilha que espera ser lavada.</p><p>Acontece que, uma vez começado, a pilha começa a diminuir e chega um momento em que você percebe que o desafio é superável, e que a cada prato lavado, você se aproxima mais e mais de uma pia completamente limpa, agradável aos olhos até.</p><p>Então você termina. Todas as louças na pia estão limpas, a própria pia está limpa, agora livre de água, sabão e sujeira. É realmente satisfatório.</p><p>Entretanto, assim como na vida, lavar louças de vez em quando tem suas surpresas. Você abre o forno ou o micro-ondas e lá dentro há algumas panelas com restos de comida, prontas para serem lavadas. E você pensa: "Nem fudendo que eu vou lavar isso tudo!"</p><p>Assim, a vida nos ensina que sempre haverá novos desafios, mas cada um deles é superável, um prato de cada vez.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=A vida é como lavar louças">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/a-vida-e-como-lavar-loucas.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Por que eu leio]]></title>
            <link>https://www.marcal.dev/por-que-eu-leio</link>
            <guid isPermaLink="false">/por-que-eu-leio</guid>
            <pubDate>Fri, 24 May 2024 16:27:00 GMT</pubDate>
            <description><![CDATA[Onde relembro um pouco sobre como desenvolvi o prazer da leitura]]></description>
            <content:encoded><![CDATA[
            <p>A leitura sempre esteve muito presente na minha vida. Quando pequeno, comecei com livros curtos como "O Patinho Feio" e "A Bela Adormecida"; depois, conheci os quadrinhos com "A Turma da Mônica", "Zé Carioca" e "Menino Maluquinho". Lembro do saudoso Prof. Ademir, que incentivava muito a leitura. Nessa época, tive meu primeiro contato com "O Saci", de Monteiro Lobato, o que me fez conhecer e ler bastante de seus outros livros infantis.</p><p>Na adolescência, era bastante comum eu frequentar a biblioteca da escola. Acredito que a grande virada foi quando entrei na quinta série do ensino fundamental na Escola Classe 60 da Ceilândia. Passei a frequentar quase que diariamente a biblioteca da escola; lembro que até participei de uma pequena competição de incentivo à leitura: quem pegasse mais livros emprestados em um período de tempo ganharia alguns prêmios. Lembro com saudades da professora bibliotecária, cujo nome, infelizmente, não recordo. Teve uma ocasião engraçada durante essa competição; como eu ia lá quase que diariamente e, se não me falha a memória, até mais de uma vez por dia (eu morava em frente à escola, a uns 50 a 100 metros), buscando novos livros, ela me disse que eu poderia levar mais livros do que o permitido para eu não ficar dando trabalho a ela! Acredito que aquele foi o incentivo que ela pôde dar a uma mente ávida por descobrir mais nos livros. Ganhei essa pequena competição, e o prêmio foram vários livros dos mais variados temas: ficção, poesia, teatro, e pela primeira vez na vida, eu tinha um bom estoque de livros a serem lidos, que eram meus de verdade! Até hoje me lembro com carinho da primeira biografia que li na vida, por volta dos 11 anos de idade: <a href="https://www.amazon.com.br/Minhas-mem%C3%B3rias-Lobato-Luciana-Sandroni/dp/8585466812" rel="nofollow">Minhas Memórias de Lobato</a>. Já não tenho mais esse livro, mas espero relê-lo novamente.</p><p>Quando fui para o Centro de Ensino Fundamental 17 de Ceilândia, da sétima série até o final do terceiro ano do ensino médio, continuei sendo um leitor voraz, frequentando a biblioteca desse colégio (que muitos estudantes achavam nem existir, infelizmente) e também a Biblioteca Pública de Ceilândia Carlos Drummond De Andrande. Para ter acesso a esta última, eu deveria ir andando por aproximadamente 5 km. Foi um período de leitura voraz, e a distância não me desmotivava: eu caminhava até lá, corria também, mais tarde de bicicleta. Peguei chuvas na ida, na volta, sol quente e tentativas de assalto! Nesse período, li histórias mais adultas como "O Cortiço" de Aluísio de Azevedo, "Hilda Furacão" de Roberto Drummond, devorei livros escritos por Isaac Asimov, Carl Sagan, consumi revistas de divulgação científica como as revistas "Super Interessante" (na época realmente interessante), "Galileu" e "National Geographic". Li sobre religião, esoterismo, ufanismo, ciências, ficção, filosofia. Conheci o clássico "O Padrinho" (depois conhecido como "O Chefão"), de Mario Puzo, antes mesmo de saber que existia uma adaptação cinematográfica. "Que homens somos nós se não temos nossa própria racionalidade", essa fala de Don Vito nunca saiu da minha cabeça desde então.</p><p>Impossível externalizar o tanto que esse período e essas leituras me enriqueceram como pessoa, moldaram meus hábitos, caráter e minha visão de mundo. Sou grato a todas as pessoas que me incentivaram, aos profissionais que confiaram em mim quando peguei livros na véspera das férias escolares (fim de ano letivo), na confiança de que eu devolveria no ano seguinte, grato aos meus pais que tanto me incentivaram a estudar, a ler, grato por apoiarem quando eu pedia um real para comprar uma revistinha na banca de revista (saudades bancas de revistas, saudades gibis a um real, "R.I.P", "rest in peace"), grato a cada uma das pessoas que, quando eu era jovem, incentivava, recomendava e ajudava a moldar o meu hábito de leitura.</p><p>Por que eu leio? Não dá para dizer exatamente o porquê disso. Existem vários motivos, incontáveis. Porque eu adoro uma história, porque gosto de aprender coisas novas, porque sou curioso, gosto de saber sobre outros pontos de vista, porque vejo a leitura como uma forma de escape da realidade em algumas ocasiões, porque a leitura é uma forma de sonhar, de se emocionar e de rir. Poderia gastar horas elencando motivos. Mas a verdade é que, a leitura, nesse ponto da minha vida, por mais que nem sempre leia todos os dias, é uma necessidade fisiológica, como escovar os dentes, alimentar-se ou dormir. A leitura é uma necessidade, e por mais que eu possa passar algum tempo sem ler, sei que sempre voltarei a ler algo, qualquer coisa, a qualquer hora. Einstein disse que uma mente que se abre a uma nova ideia jamais voltará ao seu tamanho original. Eu digo que a mente que se expande tem uma necessidade voraz de continuar se expandindo, sendo preenchida com novas ideias, histórias a serem descobertas. Talvez seja por isso que continuo lendo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Por que eu leio">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Protegendo plantinhas de fezes de animais]]></title>
            <link>https://www.marcal.dev/protegendo-plantinhas-de-fezes-de-animais</link>
            <guid isPermaLink="false">/protegendo-plantinhas-de-fezes-de-animais</guid>
            <pubDate>Thu, 23 May 2024 14:16:00 GMT</pubDate>
            <description><![CDATA[😸 💩😄]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Protegendo plantinhas de fezes de animais com espetinhos de churrasco" src="img/protegendo-plantinhas-de-fezes-de-animais.jpg"></p><p>Todo dia dois gatos 😸 faziam cocô 💩😄 onde meu pai planta umas plantinhas. Essa foi a solução dele. Sim, são espetinhos de churrasco.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Protegendo plantinhas de fezes de animais">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/protegendo-plantinhas-de-feses-de-animais.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Astronauta, de Jaroslav Kalfař]]></title>
            <link>https://www.marcal.dev/o-astronauta-de-jaroslav-kalfar</link>
            <guid isPermaLink="false">/o-astronauta-de-jaroslav-kalfar</guid>
            <pubDate>Thu, 23 May 2024 14:04:00 GMT</pubDate>
            <description><![CDATA[Um romance sobre fazer as pazes com o passado]]></description>
            <content:encoded><![CDATA[
            <p><img alt="o-astronauta-de-jaroslav-kalfar" src="img/o-astronauta-de-jaroslav-kalfar.jpg"></p><blockquote><p>Quando Jakub Procházka decide abandonar a vida pacata de professor e se tornar astronauta, sua expectativa era embarcar em uma viagem arriscada para coletar uma misteriosa poeira cósmica surgida entre Vênus e a Terra e voltar para casa. São e salvo.
Quando essa missão espacial não acontece como o planejado, Jakub passa a se sentir insuportavelmente solitário ― até fazer amizade com um estranho alienígena. Deixando o leitor na dúvida entre o que é alucinação e o que é realidade, essa dupla inusitada trava conversas profundas sobre temas diversos, de questões existenciais à maravilha do bacon.<br>
Unindo drama, humor e personagens complexos ― além de ter como plano de fundo a história política da República Tcheca ―, esta ficção científica original e contemporânea nos leva não só a uma viagem interplanetária de tirar o fôlego, mas também ao momento único de um homem que busca se reconciliar consigo mesmo, com seu passado e com sua nação.</p></blockquote><p>Antes de ler, assisti ao filme adaptado e estrelado por Adam Sandler, que, por sinal, teve uma atuação dramática muito boa. Para falar a verdade, é uma história mais sobre ficção dramática do que ficção científica.</p><p>A solidão de Jakub cria a oportunidade para ele lembrar-se da história e dos eventos de seu país e de sua família. Traumas, acontecimentos não totalmente digeridos e finalizados e como isso afetou sua vida e seus relacionamentos, Jakub revisita tudo isso acompanhado de um curioso novo amigo na solidão de sua nave: um alienígena aracnídeo, que tem seus próprios problemas e desenvolve novos também ao entrar em contato com os traumas de Jakub. Seria imaginário ou não esse amigo alienígena? Honestamente, nem tem tanta importância assim; o que importa mesmo são as reflexões de cunho moral que a história vai desenvolvendo.</p><p>Esse é o tipo de história que promete pouco, mas entrega muito, principalmente do meio ao fim. Voltarei a ler novamente no futuro e, é claro, que recomendo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Astronauta, de Jaroslav Kalfař">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>sci-fi</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-astronauta-de-jaroslav-kalfar.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Darkness: Origins - volume 1]]></title>
            <link>https://www.marcal.dev/the-darkness-volume-1</link>
            <guid isPermaLink="false">/the-darkness-volume-1</guid>
            <pubDate>Sat, 18 May 2024 22:01:00 GMT</pubDate>
            <description><![CDATA[De volta aos quadrinhos dos anos 90]]></description>
            <content:encoded><![CDATA[
            <p><img alt="the-darkness-volume-1" src="img/the-darkness-volume-1.jpg"></p><blockquote><p>O submundo do crime da cidade de Nova York é um lugar sombrio e brutal, mas nunca viu um horror como este…do aclamado escritor Garth Ennis e do atual CEO da Image Comics, Marc Silvestri conheça o maior prodígio dos assassinos da máfia italiana: Jackie Estacado.
Em seu aniversário de 21 anos o jovem mafioso Jackie Estacado descobre que possui uma herança poderosa e que passa de geração em geração. Ele é o herdeiro da Escuridão e agora vai ter que lidar com diversos inimigos que desejam este poder para si!</p></blockquote><p>Não conhecia Darkness, o que eu sabia era que era uma espécie de Batman da editora Image.</p><p>Olhando pela história, esse é um produto dos anos 90: Violência, roteiro não muito inteligente, homens explodindo testosterona, mulheres-super-sensuais-malhadas-em-corpos-irreais. Pessoalmente, eu adorei!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=The Darkness: Origins - volume 1">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/the-darkness-volume-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Condado Maldito Volume 1: Bruxas & Assombrações]]></title>
            <link>https://www.marcal.dev/condado-maldito-volume-1-bruxas-e-assombracoes</link>
            <guid isPermaLink="false">/condado-maldito-volume-1-bruxas-e-assombracoes</guid>
            <pubDate>Sat, 18 May 2024 15:50:00 GMT</pubDate>
            <description><![CDATA[Bruxarias e segredos profanos.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="condado-maldito-volume-1-bruxas-e-assombracoes" src="img/condado-maldito/condado-maldito-volume-1-bruxas-e-assombracoes.jpg"></p><blockquote><p>Emmy sempre soube que a floresta ao redor de sua casa estava cheia de fantasmas e monstros. No entanto, na véspera de seu aniversário de dezoito anos ela descobre que está conectada a essas criaturas ― e à própria terra ― de uma maneira que não imaginava ser possível. Aguarde na sombra do carvalho retorcido e ouça o balido das cabras. Condado Maldito: Bruxas &#x26; Assombrações é o primeiro de uma série de oito volumes a ser publicada pela DarkSide Books em parceria com a Macabra Filmes ao longo dos próximos meses, e chega para os leitores em uma edição assombrosa e com um tratamento especial de tirar o fôlego. Você está pronto para ver os cordeiros virarem lobos?</p></blockquote><p>Adoro o gênero de terror e horror e esse quadrinho foi bastante envolvente e com uma ótima ambientação na arte. Me deixou com altas expectativas para os próximos volumes. Recomendo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Condado Maldito Volume 1: Bruxas & Assombrações">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>medo</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/condado-maldito/condado-maldito-volume-1-bruxas-e-assombracoes.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Um momento ouvindo Chaconne em sol menor]]></title>
            <link>https://www.marcal.dev/um-momento-ouvindo-chaconne-em-sol-menor</link>
            <guid isPermaLink="false">/um-momento-ouvindo-chaconne-em-sol-menor</guid>
            <pubDate>Tue, 14 May 2024 21:11:00 GMT</pubDate>
            <description><![CDATA[Uma música que meche na alma]]></description>
            <content:encoded><![CDATA[
            <p>Há momentos em que tudo o que precisamos é parar e ouvir <a href="https://youtu.be/K0iB84__atU?si=CMJ7lIiOdj8bC0V9" rel="nofollow">Chacona em sol menor, Vitalli - na interpretação de Jascha Heifetz</a> .</p><figure class="youtube">  
  <div class="inner-figure">  
    <div>
          <iframe width="560" height="315" src="https://www.youtube.com/embed/K0iB84__atU?si=2Q1E1sh_ilzR1gq-" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
    </div>
  </div>
  <figcaption>Chaconne in G Minor, Vitalli - Interpretado por Jascha Heifetz</figcaption>  
</figure>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Um momento ouvindo Chaconne em sol menor">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>musica</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[As 110 Pílulas]]></title>
            <link>https://www.marcal.dev/as-110-pilulas-de-magnus</link>
            <guid isPermaLink="false">/as-110-pilulas-de-magnus</guid>
            <pubDate>Wed, 01 May 2024 14:08:00 GMT</pubDate>
            <description><![CDATA[Não é pra todo mundo, muito menos por aqueles puristas]]></description>
            <content:encoded><![CDATA[
            <p><img alt="as-110-pilulas-de-magnus" src="img/as-110-pilulas-de-magnus.jpg"></p><blockquote><p>Uma obra-prima erótica de Magnus. As 110 Pílulas é uma reinterpretação audaciosa do clássico erótico chinês Jin Ping Mei, lançando luz sobre a saga de Hsi-Men Ching, um farmacêutico abastado que se vê enredado em uma trama de paixão, poder e desespero ao receber um afrodisíaco poderoso de um monge ancião. As interações com suas seis esposas, marcadas por uma atração magnética e conflitos crescentes, especialmente com a resoluta Madame Lua, delineiam um panorama intricado de amor, desejo e a inevitabilidade da perdição humana. A narrativa, destacando a maestria artística de Magnus, revela uma saga erótica que oscila entre o sublime e o profano, proporcionando uma leitura estimulante e visualmente arrebatadora.</p></blockquote><p>Não é pra todo mundo, muito menos para aqueles puristas. Ao contrário do que possa parecer, não é apenas explicito, e o conto adaptado é realmente bastante interessante. Não conheço o clássico original chinês, mas essa adaptação não deixou a desejar em nada.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=As 110 Pílulas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/as-110-pilulas-de-magnus.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Neon Genesis Evangelion Collector's Edition Vol. 04]]></title>
            <link>https://www.marcal.dev/neon-genesis-evangelion-collectors-edition-vol-04</link>
            <guid isPermaLink="false">/neon-genesis-evangelion-collectors-edition-vol-04</guid>
            <pubDate>Wed, 01 May 2024 13:33:00 GMT</pubDate>
            <description><![CDATA[Edição super caprichada!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="neon-genesis-evangelion-collectors-edition-vol-04" src="img/neon-genesis-evangelion-collectors-edition-vol-04.jpg"></p><blockquote><p>Depois do acidente que ocorreu durante a batalha contra o último Anjo, Shinji está decidido a nunca mais pilotar um Eva e confronta seu pai. Porém, enquanto Asuka e Rei enfrentam um novo e poderoso inimigo, o garoto fica sabendo mais a fundo sobre o que foi o Segundo Impacto. Já nos bastidores, uma batalha de poder se desenrola ao mesmo tempo que a origem na NERV é revelada.</p></blockquote><p>Não tem muito o que falar de Evangelion: é um clássico absoluto e essa edição está super caprichada.
Único problema é a demora em sair uma nova edição. Nesse ritmo, o ultimo volume sai lá para 2026.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Neon Genesis Evangelion Collector's Edition Vol. 04">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/neon-genesis-evangelion-collectors-edition-vol-04.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O mito de Sísifo]]></title>
            <link>https://www.marcal.dev/o-mito-de-sisifo-de-albert-camus</link>
            <guid isPermaLink="false">/o-mito-de-sisifo-de-albert-camus</guid>
            <pubDate>Wed, 01 May 2024 09:52:00 GMT</pubDate>
            <description><![CDATA[É preciso imaginar Sísifo feliz]]></description>
            <content:encoded><![CDATA[
            <p><img alt="o-mito-de-sisifo-de-albert-camus" src="img/o-mito-de-sisifo-de-albert-camus.jpg"></p><blockquote><p>Albert Camus, um dos escritores e intelectuais mais influentes do século XX, publicou O mito de Sísifo em 1942. Este ensaio sobre o absurdo tornou-se uma importante contribuição filosófico-existencial e exerceu profunda influência sobre toda uma geração. Camus destaca o mundo imerso em irracionalidades e lembra Sísifo, condenado pelos deuses a empurrar incessantemente uma pedra até o alto da montanha, de onde ela tornava a cair, caracterizando seu trabalho como inútil e sem esperança.</p></blockquote><p>É uma leitura curta mas certamente não fácil.</p><blockquote><p>Começar a pensar é começar a ser atormentado.</p></blockquote><p>Camus demonstra todo o seu repertório intelectual ao citar diversos autores. Acompanhar suas ideias durante a leitura foi bastante desafiador para mim, pois me falta esse conhecimento prévio. Portanto, é um livro que demanda múltiplas leituras para assimilar corretamente o que está escrito.</p><p>O livro trata sobre o "único problema filosófico realmente sério: o suicídio."</p><blockquote><p>Só existe um problema filosófico realmente serio: o suicídio. Julgar se a vida vale ou não vale a pena ser vivida é responder à pergunta fundamental da filosofia.</p></blockquote><p>Na minha humilde ignorância, como alguém que não conseguiu acompanhar todo o raciocínio, gostei especialmente do final.</p><blockquote><p>Deixo Sísifo na base da montanha! As pessoas sempre reencontram seu fardo. Mas Sísifo ensina a fidelidade superior que nega os deuses e ergue as rochas. Também ele acha que está tudo bem. Esse universo, doravante sem dono, não lhe parece estéril nem fútil, cada grão dessa pedra, cada fragmento mineral dessa montanha cheia de noite forma por si um mundo. A própria luta para chegar ao cume basta para encher o coração de um homem. É preciso imaginar Sísifo feliz.</p></blockquote><p>Esta obra é uma jornada para superar o niilismo e encontrar significado no absurdo da existência. Com certeza, voltarei a ela novamente!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O mito de Sísifo">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-mito-de-sisifo-de-albert-camus.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[10.ª  Olimpíadas de Ceilândia na modalidade Xadrez Rápido]]></title>
            <link>https://www.marcal.dev/10-olimpiada-de-xadrez-de-ceilandia</link>
            <guid isPermaLink="false">/10-olimpiada-de-xadrez-de-ceilandia</guid>
            <pubDate>Sun, 28 Apr 2024 10:00:00 GMT</pubDate>
            <description><![CDATA[Foi legal quebrar esse jejum depois de tanto tempo longe das práticas de xadrez.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="10-olimpiada-de-xadrez-de-ceilandia" src="img/10-olimpiada-de-xadrez-de-ceilandia.jpg"></p><p>Ontem, dia 27, competi na 10.ª Olimpíada de Ceilândia na modalidade Xadrez Rápido. Se não me falha a memória, a última vez que participei de um torneio como jogador já se vai uns 15 anos, e como árbitro, uns 12 anos. Foi legal quebrar esse jejum depois de tanto tempo longe das práticas de xadrez.</p><p>Fui com zero expectativas de ganhar o torneio, na verdade, com zero expectativas de ganhar alguma partida. Afinal, eu estava muitos anos parado, sem jogar ou estudar xadrez, e é natural ser derrotado tanto pela geração da minha época quanto pelas novas gerações que estão sempre se aperfeiçoando. Não que eu tenha jogado sem espírito competitivo - todos querem ganhar - mas foi interessante perceber que não é o fim do mundo perder uma partida. Foi interessante perceber que aquele nervosismo, frio na barriga antes de iniciar uma partida, eu não senti, seguramente reflexo de competir apenas pela diversão e também de uma experiência de vida já mais adulta, afinal, a última vez que competi eu estava saindo da minha adolescência.</p><p><img alt="10-olimpiada-de-xadrez-de-ceilandia" src="img/10-olimpiada-de-xadrez-de-ceilandia-3.jpg"></p><p>O resultado foi muito bom para minhas expectativas. De sete partidas, perdi três e ganhei quatro, sendo, infelizmente, uma por Bye (ou W.O., quando o adversário está ausente).</p><p>Como esperado, depois de todos esses anos, devo melhorar ou revisar alguns aspectos das minhas partidas, principalmente a abertura e as defesas. Minha "visão" de jogo também deve ser aprimorada; em uma partida, me coloquei vulnerável duas vezes em uma situação de Garfo de Cavalo (quando o cavalo ataca simultaneamente duas peças do adversário), onde na primeira situação, felizmente, o adversário não pareceu notar, e na segunda ele acabou capturando minha torre, deixando-me numa situação em que eu só teria peões para avançar, e desisti em seguida.</p><p><img alt="10-olimpiada-de-xadrez-de-ceilandia" src="img/10-olimpiada-de-xadrez-de-ceilandia-2.jpg"></p><p>Ainda não sei se encaro competições de xadrez "pensado", aquelas de uma hora; é muito cansativo e pode durar mais de um dia, mas espero participar de mais competições de xadrez rápido como essa.</p><p>As informações do torneio estão disponíveis no <a href="https://chess-results.com/tnr904242.aspx" rel="nofollow">chess-results</a>.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=10.ª  Olimpíadas de Ceilândia na modalidade Xadrez Rápido">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/10-olimpiada-de-xadrez-de-ceilandia.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como atualizar o PostgreSQL]]></title>
            <link>https://www.marcal.dev/como-atualizar-o-postgresql</link>
            <guid isPermaLink="false">/como-atualizar-o-postgresql</guid>
            <pubDate>Wed, 24 Apr 2024 22:00:00 GMT</pubDate>
            <description><![CDATA[Atualize o PostgreSQL em Debian, Ubuntu e derivados]]></description>
            <content:encoded><![CDATA[
            <p>Esse guia mostra os passos para atualizar a versão 15 para 16 no Ubuntu (ou Debian e derivados) mas eventualmente, deverá funcionar ao fazer a atualização do 16 para 17 (quando essa sair).</p><p>Esse guia foi baseado na versão em Inglês <a href="https://www.kostolansky.sk/posts/upgrading-to-postgresql-15/" rel="nofollow">deste outro guia</a> que ensina o upgrade da versão 14 para a 15. Caso a página esteja indisponivel, veja pelo <a href="https://web.archive.org/web/20231128145207/https://www.kostolansky.sk/posts/upgrading-to-postgresql-15/" rel="nofollow">snapshot do guia no Internet Archive</a>.</p><p>Instale a nova versão, no exemplo é a versão 16 do PostgreSQL:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo apt-get update
sudo apt-get install postgresql-16 postgresql-server-dev-16
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> apt-get</span><span style="--shiki-default:#F1FA8C"> update
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> apt-get</span><span style="--shiki-default:#F1FA8C"> install</span><span style="--shiki-default:#F1FA8C"> postgresql-16</span><span style="--shiki-default:#F1FA8C"> postgresql-server-dev-16
</span></span></code></pre><p>Verifique se há alguma diferença entre os arquivos de configuração:</p><pre class="language-shell shiki shiki-themes dracula" code="diff /etc/postgresql/15/main/postgresql.conf /etc/postgresql/16/main/postgresql.conf
diff /etc/postgresql/15/main/pg_hba.conf /etc/postgresql/16/main/pg_hba.conf
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">diff</span><span style="--shiki-default:#F1FA8C"> /etc/postgresql/15/main/postgresql.conf</span><span style="--shiki-default:#F1FA8C"> /etc/postgresql/16/main/postgresql.conf
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">diff</span><span style="--shiki-default:#F1FA8C"> /etc/postgresql/15/main/pg_hba.conf</span><span style="--shiki-default:#F1FA8C"> /etc/postgresql/16/main/pg_hba.conf
</span></span></code></pre><p>Pare o serviço PostgreSQL:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo systemctl stop postgresql.service
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> systemctl</span><span style="--shiki-default:#F1FA8C"> stop</span><span style="--shiki-default:#F1FA8C"> postgresql.service
</span></span></code></pre><p>Conecte-se com o usuário <strong>postgres</strong>:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo su - postgres
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> su</span><span style="--shiki-default:#F1FA8C"> -</span><span style="--shiki-default:#F1FA8C"> postgres
</span></span></code></pre><p>Verifique os clusters (observe o argumento <em>--check</em>, isso não alterará nenhum dado):</p><pre class="language-shell shiki shiki-themes dracula" code="/usr/lib/postgresql/16/bin/pg_upgrade \
  --old-datadir=/var/lib/postgresql/15/main \
  --new-datadir=/var/lib/postgresql/16/main \
  --old-bindir=/usr/lib/postgresql/15/bin \
  --new-bindir=/usr/lib/postgresql/16/bin \
  --old-options &#x27;-c config_file=/etc/postgresql/15/main/postgresql.conf&#x27; \
  --new-options &#x27;-c config_file=/etc/postgresql/16/main/postgresql.conf&#x27; \
  --check
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">/usr/lib/postgresql/16/bin/pg_upgrade</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="2"><span style="--shiki-default:#BD93F9">  --old-datadir=/var/lib/postgresql/15/main</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="3"><span style="--shiki-default:#BD93F9">  --new-datadir=/var/lib/postgresql/16/main</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="4"><span style="--shiki-default:#BD93F9">  --old-bindir=/usr/lib/postgresql/15/bin</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="5"><span style="--shiki-default:#BD93F9">  --new-bindir=/usr/lib/postgresql/16/bin</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="6"><span style="--shiki-default:#BD93F9">  --old-options</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">-c config_file=/etc/postgresql/15/main/postgresql.conf</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="7"><span style="--shiki-default:#BD93F9">  --new-options</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">-c config_file=/etc/postgresql/16/main/postgresql.conf</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="8"><span style="--shiki-default:#BD93F9">  --check
</span></span></code></pre><p>Migre os dados (sem o argumento <em>--check</em>):</p><pre class="language-shell shiki shiki-themes dracula" code="/usr/lib/postgresql/16/bin/pg_upgrade \
  --old-datadir=/var/lib/postgresql/15/main \
  --new-datadir=/var/lib/postgresql/16/main \
  --old-bindir=/usr/lib/postgresql/15/bin \
  --new-bindir=/usr/lib/postgresql/16/bin \
  --old-options &#x27;-c config_file=/etc/postgresql/15/main/postgresql.conf&#x27; \
  --new-options &#x27;-c config_file=/etc/postgresql/16/main/postgresql.conf&#x27;
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">/usr/lib/postgresql/16/bin/pg_upgrade</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="2"><span style="--shiki-default:#BD93F9">  --old-datadir=/var/lib/postgresql/15/main</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="3"><span style="--shiki-default:#BD93F9">  --new-datadir=/var/lib/postgresql/16/main</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="4"><span style="--shiki-default:#BD93F9">  --old-bindir=/usr/lib/postgresql/15/bin</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="5"><span style="--shiki-default:#BD93F9">  --new-bindir=/usr/lib/postgresql/16/bin</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="6"><span style="--shiki-default:#BD93F9">  --old-options</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">-c config_file=/etc/postgresql/15/main/postgresql.conf</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="7"><span style="--shiki-default:#BD93F9">  --new-options</span><span style="--shiki-default:#E9F284"> '</span><span style="--shiki-default:#F1FA8C">-c config_file=/etc/postgresql/16/main/postgresql.conf</span><span style="--shiki-default:#E9F284">'
</span></span></code></pre><p>Desconecte-se do usuário <strong>postgres</strong>:</p><pre class="language-shell shiki shiki-themes dracula" code="exit
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#8BE9FD">exit
</span></span></code></pre><p>Troque as portas pelas versões antiga e nova do PostgreSQL:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo vim /etc/postgresql/16/main/postgresql.conf
# ...e mude &#x22;port = 5433&#x22; para &#x22;port = 5432&#x22;

sudo vim /etc/postgresql/15/main/postgresql.conf
# ...e mude &#x22;port = 5432&#x22; para &#x22;port = 5433&#x22;
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> vim</span><span style="--shiki-default:#F1FA8C"> /etc/postgresql/16/main/postgresql.conf
</span></span><span class="line" line="2"><span style="--shiki-default:#6272A4"># ...e mude "port = 5433" para "port = 5432"
</span></span><span class="line" line="3"><span emptyLinePlaceholder>
</span></span><span class="line" line="4"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> vim</span><span style="--shiki-default:#F1FA8C"> /etc/postgresql/15/main/postgresql.conf
</span></span><span class="line" line="5"><span style="--shiki-default:#6272A4"># ...e mude "port = 5432" para "port = 5433"
</span></span></code></pre><p>Inicie o serviço PostgreSQL:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo systemctl start postgresql.service
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> systemctl</span><span style="--shiki-default:#F1FA8C"> start</span><span style="--shiki-default:#F1FA8C"> postgresql.service
</span></span></code></pre><p>Faça login como usuário <strong>postgres</strong> novamente:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo su - postgres
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> su</span><span style="--shiki-default:#F1FA8C"> -</span><span style="--shiki-default:#F1FA8C"> postgres
</span></span></code></pre><p>Verifique a nova versão do PostgreSQL:</p><pre class="language-shell shiki shiki-themes dracula" code="psql -c &#x22;SELECT version();&#x22;
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">psql</span><span style="--shiki-default:#BD93F9"> -c</span><span style="--shiki-default:#E9F284"> "</span><span style="--shiki-default:#F1FA8C">SELECT version();</span><span style="--shiki-default:#E9F284">"
</span></span></code></pre><p>Execute o comando <strong>vacuumdb</strong>:</p><pre class="language-shell shiki shiki-themes dracula" code="/usr/lib/postgresql/16/bin/vacuumdb --all --analyze-in-stages
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">/usr/lib/postgresql/16/bin/vacuumdb</span><span style="--shiki-default:#BD93F9"> --all</span><span style="--shiki-default:#BD93F9"> --analyze-in-stages
</span></span></code></pre><p>Desconecte-se novamente do usuário <strong>postgres</strong>:</p><pre class="language-shell shiki shiki-themes dracula" code="exit
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#8BE9FD">exit
</span></span></code></pre><p>Verifique quais pacotes antigos do PostgreSQL estão instalados:</p><pre class="language-shell shiki shiki-themes dracula" code="apt list --installed | grep postgresql
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">apt</span><span style="--shiki-default:#F1FA8C"> list</span><span style="--shiki-default:#BD93F9"> --installed</span><span style="--shiki-default:#FF79C6"> |</span><span style="--shiki-default:#50FA7B"> grep</span><span style="--shiki-default:#F1FA8C"> postgresql
</span></span></code></pre><p>Remova os pacotes antigos do PostgreSQL (da listagem acima):</p><pre class="language-shell shiki shiki-themes dracula" code="sudo apt-get remove postgresql-15 postgresql-server-dev-15
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> apt-get</span><span style="--shiki-default:#F1FA8C"> remove</span><span style="--shiki-default:#F1FA8C"> postgresql-15</span><span style="--shiki-default:#F1FA8C"> postgresql-server-dev-15
</span></span></code></pre><p>Remova a configuração antiga:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo rm -rf /etc/postgresql/15/
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> rm</span><span style="--shiki-default:#BD93F9"> -rf</span><span style="--shiki-default:#F1FA8C"> /etc/postgresql/15/
</span></span></code></pre><p>Faça login como usuário <strong>postgres</strong> mais uma vez:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo su - postgres
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> su</span><span style="--shiki-default:#F1FA8C"> -</span><span style="--shiki-default:#F1FA8C"> postgres
</span></span></code></pre><p>Por fim, elimine os dados antigos do cluster:</p><pre class="language-shell shiki shiki-themes dracula" code="./delete_old_cluster.sh
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">./delete_old_cluster.sh
</span></span></code></pre><p>Feito!</p><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Como atualizar o PostgreSQL">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Boku no Kokoro no Yabai Yatsu S02]]></title>
            <link>https://www.marcal.dev/boku-no-kokoro-no-yabai-yatsu-s02</link>
            <guid isPermaLink="false">/boku-no-kokoro-no-yabai-yatsu-s02</guid>
            <pubDate>Tue, 23 Apr 2024 00:57:00 GMT</pubDate>
            <description><![CDATA[O desenvolvimento até aqui foi fenomenal!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="boku-no-kokoro-no-yabai-yatsu-s02" src="img/boku-no-kokoro-no-yabai-yatsu/boku-no-kokoro-no-yabai-yatsu-s02.jpg"></p><p>Finalmente terminei a segunda temporada de Boku no Kokoro no Yabai Yatsu, também conhecida como The Dangers in My Heart. Foi incrível! Adoro essas histórias que nos fazem sentir o coração quentinho!</p><p><img alt="boku-no-kokoro-no-yabai-yatsu-s02" src="img/boku-no-kokoro-no-yabai-yatsu/boku-no-kokoro-no-yabai-yatsu-s02-2.jpg"></p><p>Nem tudo foi maravilhoso, é verdade. Lembro-me de ter assistido a alguns episódios e pensado: isso parece seguir o formato de tirinhas de jornal. Isso porque tive a impressão de que a história de um episódio não se conectava com o seguinte devido aos poucos diálogos e à aparente aleatoriedade das situações. Contudo, essa abordagem pode ter contribuído para a qualidade da temporada, evitando excesso de trama e destacando situações cotidianas com as quais podemos nos identificar.</p><p><img alt="boku-no-kokoro-no-yabai-yatsu-s02" src="img/boku-no-kokoro-no-yabai-yatsu/boku-no-kokoro-no-yabai-yatsu-s02-3.jpg"></p><p>O último episódio da temporada foi muito bom, com uma dupla declaração de amor! Achei bastante atípico para um show japonês. Realmente pensei que o casal iria prolongar o suspense até a próxima temporada. Foi lindo ver o crescimento de Kyotaro como pessoa, até alcançar a maturidade para se declarar.</p><p>Bem, talvez o primeiro beijo aconteça no final da próxima temporada, mesmo com os protagonistas já namorando, em uma enrolação comum em séries japonesas. No entanto, considerando a surpresa que foi este último episódio, eles podem nos surpreender novamente. Estou bastante ansioso para descobrir!</p><p><img alt="boku-no-kokoro-no-yabai-yatsu-s02" src="img/boku-no-kokoro-no-yabai-yatsu/boku-no-kokoro-no-yabai-yatsu-s02-4.jpg"></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Boku no Kokoro no Yabai Yatsu S02">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>video</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/boku-no-kokoro-no-yabai-yatsu-s02/boku-no-kokoro-no-yabai-yatsu-s02.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 10]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-10</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-10</guid>
            <pubDate>Mon, 22 Apr 2024 22:28:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-10" src="img/hokuto-no-ken/hokuto-no-ken-volume-10.jpg"></p><blockquote><p>Dois sucessores de uma arte marcial lendária - Kenshiro e Raoh.A batalha entre os dois homens que dominaram a Técnica Máxima - A Reencarnação do Nada - é a verdadeira batalha mortal!Quando o punho cheio de sentimentos de Raoh, choca-se com o punho inquebrantável de Kenshiro...Enfim, o mundo volta a ter luz.“Não deixo arrependimentos nesta vida”</p></blockquote><p>Finalmente, uma conclusão para o embate entre Kenshiro e Raoh. Alguns podem achar piegas ou brega, mas eu gostei muito de como tudo ocorreu. Em sua derrota, Raoh percebe a superioridade de Kenshiro, o que resulta em um fim bastante interessante.</p><p>Este poderia muito bem ser o final da série, mas de alguma forma o autor criou história para mais alguns volumes. Fico curioso, pois Raoh até então era o vilão definitivo dessa história. Seguirei acompanhando.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 10">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-10.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Pré-cálculo: Gráfico, Numérico e Algébrico]]></title>
            <link>https://www.marcal.dev/pre-calculo-grafico-numerico-e-algebrico</link>
            <guid isPermaLink="false">/pre-calculo-grafico-numerico-e-algebrico</guid>
            <pubDate>Sun, 21 Apr 2024 16:45:00 GMT</pubDate>
            <description><![CDATA[Um bom material de revisão]]></description>
            <content:encoded><![CDATA[
            <p><img alt="pre-calculo-grafico-numerico-e-algebrico" src="img/pre-calculo-grafico-numerico-e-algebrico.jpg"></p><p>Decidi revisar meus conhecimentos em Cálculo e, para isso, optei por revisar minha base pré-cálculo primeiro. Já possuía este livro e constato sua qualidade. É conciso, com um número reduzido de páginas, mas oferece um ponto de partida sólido para revisão. No final aborda os capítulos sobre limites e derivadas de forma clara e direta resumidamente. Recomendo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Pré-cálculo: Gráfico, Numérico e Algébrico">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/pre-calculo-grafico-numerico-e-algebrico.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Suspiria: Coração em Chamas]]></title>
            <link>https://www.marcal.dev/suspiria-coracao-em-chamas</link>
            <guid isPermaLink="false">/suspiria-coracao-em-chamas</guid>
            <pubDate>Sun, 21 Apr 2024 16:40:00 GMT</pubDate>
            <description><![CDATA[ Suspiria é erotismo, é filosofia e psicanálise.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="suspiria-coracao-em-chamas" src="img/suspiria-coracao-em-chamas.jpg"></p><blockquote><p>Suspiria é a personificação onipresente do medo e do desespero. Ela perambula pela Terra desde o início dos tempos, caçando e punindo almas que não conseguem se livrar do próprio destino por pura indolência. Suspiria está sempre na companhia da sua mãe Santa Morte e das suas três irmãs: Nenia Candelaria, Sudaria e Grimoria. Elas são as Deusas das Trevas, as consoladoras da paz eterna. Uma fúria infernal ungida do Reino das Trevas, região situada nas profundezas do planeta, uma força cosmológica universal suspensa no tempo eterno por onde essa tétrade infernal se move entre os séculos de história da humanidade. Um verdadeiro asilo do universo.</p></blockquote><p>A melhor definição foi de um comentário que vi na internet: Suspiria é erotismo, é filosofia e psicanálise.</p><p><img alt="suspiria-coracao-em-chamas" src="img/suspiria-coracao-em-chamas-2.jpg"></p><p>Menção honrosa à receita de sabão feita com gordura humana 🫣
Continuo recomendando!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Suspiria: Coração em Chamas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>medo</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/suspiria-coracao-em-chamas.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 9]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-9</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-9</guid>
            <pubDate>Tue, 09 Apr 2024 20:00:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-9" src="img/hokuto-no-ken/hokuto-no-ken-volume-9.jpg"></p><blockquote><p>Raoh tenta derrotar Toki para aumentar seu reinado sob este mundo caótico. Para detê-lo, as Cinco Estrelas de Auriga, guardiãs do último General dos Seis Punhos Sagrados do Sul, despertam e começam a agir. Porém, apenas uma delas é capaz de enfrentar Raoh de igual para igual, e ela se chama Juza das Nuvens! “Eu sou uma nuvem! Me moverei apenas quando quiser!”</p></blockquote><p>Como que o autor consegue criar tanta história e personagens? Tá certo, a história é basicamente só porradaria (o que eu me amarro também) mas toda hora aparece um personagem com alguma estrela regente. A mitologia é bastante interessante. Me lembra Cavaleiro dos Zodíacos. Vai saber, não sei qual obra saiu primeiro mas vai que um sofreu influência do outro...</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 9">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-9.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Necron - Volume 4: As Mulheres Aranhas]]></title>
            <link>https://www.marcal.dev/necron-volume-4-as-mulheres-aranhas</link>
            <guid isPermaLink="false">/necron-volume-4-as-mulheres-aranhas</guid>
            <pubDate>Sun, 07 Apr 2024 15:02:00 GMT</pubDate>
            <description><![CDATA[Para quem tem gosto duvidoso.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="necron-volume-4-as-mulheres-aranhas" src="img/necron/necron-volume-4-as-mulheres-aranhas.jpg"></p><blockquote><p>Necron, criação do artista italiano Roberto Raviola (1939 – 1996) – conhecido pelo pseudônimo Magnus (autor de Kriminal, Satanik, Alan Ford, dentre outros), é um dos quadrinhos mais divertidos e politicamente incorretos deste autor. A obra é uma mistura de terror, erotismo e humor. Após derrotar os “Monstros Mecânicos“, a Dra. Frieda Boher e Necron tomam conta da ilha. Eles não imaginavam que a misteriosa ilha também estava na mira de outros invasores e agora terão que defender o território com um dos métodos mais bizarros já imaginado: As Mulheres Aranhas.</p></blockquote><p>O nome do titulo desse volume é um trocadilho, leia por sua conta e risco. Se você é uma pessoa sensível, fique longe dessa publicação. Talvez, hoje ela nem resistisse ao politicamente e nem fosse publicada. Definitivamente, não é uma obra de arte, é para aqueles que tem gostos duvidosos. Eu adorei.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Necron - Volume 4: As Mulheres Aranhas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/necron/necron-volume-4-as-mulheres-aranhas.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dragon Ball Vol 31 - Edição Definitiva]]></title>
            <link>https://www.marcal.dev/dragon-ball-vol-31-edicao-definitiva</link>
            <guid isPermaLink="false">/dragon-ball-vol-31-edicao-definitiva</guid>
            <pubDate>Sat, 06 Apr 2024 18:00:00 GMT</pubDate>
            <description><![CDATA[Um vilão implacável surge!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="dragon-ball-vol-31-edicao-definitiva" src="img/dragon-ball-edicao-definitiva/dragon-ball-vol-31-edicao-definitiva.jpg"></p><p>Que volume de tirar o fôlego!</p><p>Iniciamos com a conclusão do torneio de artes marciais, onde Satan vence a Nº 18, claro, mediante um suborno de 20 milhões pagos por ele!</p><p>Em seguida, nosso foco volta-se aos acontecimentos envolvendo a liberação do selo de Boo. Vegeta se deixa dominar (parcialmente) pelo controle mental de Babidi para ter sua tão desejada luta contra Goku.</p><p>Aqui vemos o quão longe Vegeta pôde ir para realizar sua obsessão de vencer Goku: ele chega a lançar duas rajadas de energia contra a arquibancada do torneio de artes marciais, matando assim dezenas (centenas?) de pessoas que estavam assistindo.</p><p>Sem alternativas, Goku aceita lutar contra Vegeta numa batalha breve (para nós, leitores), mas pau a pau entre os dois. Graças aos efeitos dessa luta, Babidi tem sucesso em juntar energias para quebrar o selo de Boo, que é finalmente libertado.</p><p>Achei bastante interessante notar um certo arrependimento de Vegeta e também um sentimento de culpa ao perceber que foi culpa dele a libertação desse adversário tão poderoso. Em um quadro, ele até parece lamentar a suposta morte de Gohan. No final, Vegeta acaba se sacrificando para derrotar Boo, num último ataque que não é mortal para Boo.</p><p>Terminamos o volume assim: Gohan, dado como morto, mas sabemos que ele será resgatado pelo núcleo do Kaiohshin; Goku, com seu tempo na Terra, finalizando reconhecendo que não é páreo contra o poder de Boo; últimas esperanças colocadas sobre os jovens Trunks e Goten, que terão que aprender a técnica da fusão e, finalmente, Boo e Babidi tocando o terror na Terra.</p><p>Novamente, que volume! Estou ansioso para o próximo!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dragon Ball Vol 31 - Edição Definitiva">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/dragon-ball-edicao-definitiva/dragon-ball-vol-31-edicao-definitiva.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Necron - Volume 3: Monstros Mecânicos]]></title>
            <link>https://www.marcal.dev/necron-volume-3-monstros-mecanicos</link>
            <guid isPermaLink="false">/necron-volume-3-monstros-mecanicos</guid>
            <pubDate>Sat, 06 Apr 2024 17:35:00 GMT</pubDate>
            <description><![CDATA[Esse foi um pouco fraco]]></description>
            <content:encoded><![CDATA[
            <p><img alt="necron-volume-3-monstros-mecanicos" src="img/necron/necron-volume-3-monstros-mecanicos.jpg"></p><blockquote><p>Após deixar o navio, a doutora Frieda Boher e Necron chegam à uma pequena ilha. Eles então descobrem que essa ilha não é tão isolada quanto pensavam e terão que enfrentar a ameaça dos "Monstros Mecânicos".</p></blockquote><p>Esse eu não gostei muito, achei que foi aleatório demais ter uma base secreta com uma tecnologia tão avançada nessa ilha misteriosa. Talvez essa aleatoriedade seja uma constante nessa série, então, quem sabe, a doutora Frieda não acabe se deparando com um extraterrestre? Veremos, vou continuar acompanhando.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Necron - Volume 3: Monstros Mecânicos">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/necron/necron-volume-3-monstros-mecanicos.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 8]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-8</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-8</guid>
            <pubDate>Sun, 31 Mar 2024 18:16:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-8" src="img/hokuto-no-ken/hokuto-no-ken-volume-8.jpg"></p><blockquote><p>Chegou a hora de Kenshiro enfrentar a derradeira batalha contra Souther. Mas para vencer um oponente tão poderoso, Ken terá de descobrir o segredo do corpo imortal dele. Já os irmãos Raoh e Toki terão de encarar o cruel destino que lhes foi predestinado: lutar até a morte para descobrir quem será o sucessor do Hokuto Shin-Ken.</p></blockquote><p>Finalmente, uma resolução para o conflito com Souther. Neste volume, também testemunhamos o fim de Toki. Sinto que essa repetição de eventos está se tornando bastante chata; eu queria uma resolução para o conflito com Raoh. Veremos como continua o próximo confronto.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 8">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-8.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 7]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-7</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-7</guid>
            <pubDate>Thu, 28 Mar 2024 20:08:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-7" src="img/hokuto-no-ken/hokuto-no-ken-volume-7.jpg"></p><blockquote><p>O homem mais forte do Estilo Nanto Sei-ken que controla tudo com uma administração despótica, Souther. Aquele que reverteu essa tirania foi Shu, a Estrela da Benevolência. Kenshiro resolve lutar ao seu lado e de seu grupo de Resistência, mas não consegue derrotar Souther, pois o Hokuto Shin-ken não funciona contra ele!</p></blockquote><p>Certo, está repetitivo. O volume anterior foi bem intenso com a promessa do até então mais poderoso vilão: Raoh. A batalha entre Raoh e Kenshiro terminou em um empate mortal entre os dois e fiquei com boas expectativas para esse volume.</p><p>O início do volume foi interessante seguindo a trama de Rei, que infelizmente, acaba falecendo como resultado de sua batalha contra Raoh. Apesar disso, Rei dá um show incrível mostrando todo o seu poder em uma luta maravilhosa!</p><p>Após a morte de Rei, não há tempo de luto e aparece Souther, outro vilão bem pior que Raoh (Raoh ainda aparece no volume, inclusive salvando Kenshiro!) num padrão que já se repetia em outros volumes: Kenshiro precisa resolver alguma situação, se depara com um vilão muito poderoso, para em seguida derrotá-lo. É verdade que neste volume não houve uma resolução ainda, mas achei que esse ciclo acabou sendo cansativo. Talvez se tivesse continuado com o foco em Raoh, minha opinião seria diferente.</p><p>No mais, continua interessante, apesar do roteiro ser um tanto repetitivo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 7">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-7.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 5]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-5</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-5</guid>
            <pubDate>Thu, 28 Mar 2024 15:35:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-5" src="img/hokuto-no-ken/hokuto-no-ken-volume-5.jpg"></p><blockquote><p>Kenshiro se dirige até a prisão lendária Cassandra para salvar seu irmão Toki. Diante de Kenshiro, ergue-se Uighur, o impiedoso dono da prisão lendária.</p></blockquote><p>Um pouco mais sobre o passado de Kenshiro, agora apresentando o interessante Toki, outro irmão de Kenshiro. Mais pancadarias e violências, a arte continua muito boa, até melhor eu diria.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 5">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-5.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 6]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-6</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-6</guid>
            <pubDate>Thu, 28 Mar 2024 15:35:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-6" src="img/hokuto-no-ken/hokuto-no-ken-volume-6.jpg"></p><blockquote><p>Kenshiro e Raoh finalmente se encontram! A batalha entre os dois é mortal, e ambos estão empatados, sem sinal de quem sairá vitorioso! Enquanto isso, Rei, que foi atingido no ponto vital secreto de Raoh e só tem três dias de vida, resolve gastar seus últimos dias para enfrentar Yuda, o homem que capturou e torturou sua amada Mamiya e também traiu os Seis Punhos Sagrados da Estrelas do Norte. "Yuda, você irá pagar sangue com sangue!"</p></blockquote><p>Melhor volume, sem dúvidas até agora. Raoh é o primeiro vilão que realmente representa um perigo frente a turma de Kenshiro. A batalha entre os dois termina em um empate e ambos saem gravemente feridos. Veremos o que nos trará o volume 7!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 6">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-6.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 4]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-4</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-4</guid>
            <pubDate>Wed, 27 Mar 2024 18:24:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-4" src="img/hokuto-no-ken/hokuto-no-ken-volume-4.jpg"></p><blockquote><p>O homem que fez as sete feridas no peito de Kenshiro e tentou fazê-lo desistir de seu próprio nome… ele é nada mais, nada menos do que o irmão mais velho do nosso herói e usuário do Hokuto Shin-ken, Jagi! Jagi nutre um rancor imenso por seu irmão mais novo ter sido escolhido como sucessor do Hokuto Shin-ken. A raiva de Kenshiro contra a paranóia de Jagi! Quem vencerá?!</p></blockquote><p>Altas expectativas sobre Jagi, o irmão de Kenshiro apresentado no volume anterior. Usuário do Hokuto, Jagi foi apresentado como um adversário mortal para Kenshiro. Na prática, o desempenho de Jagi foi patético. Este volume trouxe um pouco mais do passado de Kenshiro, então foi bastante interessante.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 4">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-4.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Saindo do BTG]]></title>
            <link>https://www.marcal.dev/saindo-do-btg</link>
            <guid isPermaLink="false">/saindo-do-btg</guid>
            <pubDate>Wed, 27 Mar 2024 11:54:00 GMT</pubDate>
            <description><![CDATA[Uma breve reflexão sobre o tempo que contribui lá]]></description>
            <content:encoded><![CDATA[
            <p>Então, depois de 3 anos no BTG Pactual, dois deles como funcionário interno e outro através de uma consultoria (Programmers IT), um ciclo se fecha e estou saindo. Esse período foi bastante interessante e produtivo.</p><p>Participei do time de Membership, que lançou o Plano Premium e o Plano Família. Contribuí com os fluxos de upgrade e downgrade de planos, gestão da jornada de adicionais do plano, entre outros.</p><p>Depois, mudei para o time de Billing e Pricing, responsável por criar e manter os fluxos de cobranças, recorrências e isenções de produtos como Mensalidades de Cartões, Planos de Membership, Saques, Shellbox, etc. Ajudei a criar vários fluxos de cobranças de diversos produtos; foi um período bastante desafiador.</p><p>Nesse time, as habilidades de abstração e desenho de arquitetura foram muito necessárias para garantir a melhor jornada tanto para o cliente final quanto para outras áreas do banco, como financeiro e business intelligence.</p><p>Após minha longa temporada no time de Billing, passei para o time de ACL (Anti-corruption Layer), um time bastante técnico que cuidava da interface com o parceiro Pismo (que fornece tecnologia para bancos e instituições financeiras, como processamento de pagamentos). Todo o time de cartões e banking que precisava se comunicar com o Pismo fazia isso através dos serviços do time de ACL, por exemplo, abrir ou fechar uma conta, consultar extratos, etc. Um time bastante importante, sem dúvidas, e estar nele exigia uma boa afinidade técnica e disposição para aprender novas tecnologias.</p><p>Durante esse tempo, a principal funcionalidade que desenvolvi foi um fluxo de criptografia ponta a ponta para dados como CVV, número do cartão e validade (são os dados chamados PCI).</p><p>Foi um período bastante enriquecedor o tempo que estive no BTG, com muito aprendizado e lições aprendidas. Mas como tudo no Universo tem um começo e um fim, chegou a minha hora e estou saindo para encarar um desafio no iFood. Mais sobre isso, irei relatar em outra oportunidade. Por enquanto, fica aqui o meu muito obrigado ao pessoal do BTG!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Saindo do BTG">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 3]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-3</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-3</guid>
            <pubDate>Wed, 27 Mar 2024 11:24:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-3" src="img/hokuto-no-ken/hokuto-no-ken-volume-3.jpg"></p><blockquote><p>Kenshiro conhece Rei, usuário do estilo Nanto Suicho-ken, e que está em busca de sua irmã, Airi. Os dois são contratados para salvar a comunidade de Mamiya do Clã das Garras. Porém, em retaliação, eles raptaram Airi e a usam de refém. Kenshiro e Rei se dirigem à base do Clã das Garras para salvá-la, e então, os dois mestres de seus respectivos estilos se unem para formar a equipe mais poderosa de todas!</p></blockquote><p>Existem vários clichês; mesmo assim, é um clássico que vale a pena ser lido. Foi introduzido um vilão realmente perigoso neste volume. Veremos como será o quarto volume!</p><p>Super recomendado!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 3">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-3.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 2]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-2</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-2</guid>
            <pubDate>Sun, 24 Mar 2024 11:35:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-2" src="img/hokuto-no-ken/hokuto-no-ken-volume-2.jpg"></p><blockquote><p>Para salvar a pequena Lin, Kenshiro invade sozinho e destrói a cidade de Godland. Porém, o justiceiro errante mal terá tempo de descansar, pois Jakal, um inimigo ainda mais cruel, ataca a comunidade de Batt! Jakal é um homem sanguinário e muito estratégico, e marca Kenshiro como seu próximo alvo!</p></blockquote><p>Continua muito bom, com muita violência, kung-fu, decapitações e explosões de corpos em um cenário pós-apocalíptico! O roteiro continua bastante simples e até ingênuo, com figuras desproporcionais sem qualquer explicação, como gigantes de, sei lá, 10 metros. Nada disso, entretanto, torna essa obra ruim; ao contrário, acho até que melhora ela! Hahaha!</p><p>Super recomendado!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 2">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-2.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Hokuto No Ken - Fist of the North Star - Volume 1]]></title>
            <link>https://www.marcal.dev/hokuto-no-ken-volume-1</link>
            <guid isPermaLink="false">/hokuto-no-ken-volume-1</guid>
            <pubDate>Sat, 23 Mar 2024 19:35:00 GMT</pubDate>
            <description><![CDATA[ Omae wa mou shindeiru! - Você Já está morto!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="hokuto-no-ken-volume-1" src="img/hokuto-no-ken/hokuto-no-ken-volume-1.jpg"></p><blockquote><p>O ano é 199X. O mundo foi devastado por chamas nucleares. A sociedade civilizada foi dizimada, e agora a violência rege esse novo mundo. É uma Era onde apenas os mais fortes sobrevivem. Neste cenário pós-apocalíptico, um homem com sete feridas no peito vaga pelo deserto… Ele é aquele que foi escolhido como o sucessor do estilo assassino terrível, o herdeiro do Hokuto Shin-ken. Ele é Kenshiro!! A lenda do salvador da humanidade está prestes a começar. Mas aqueles que ousarem se interpor em seu caminho sentirão a fúria do seu punho… “Você já está morto!”</p></blockquote><p>Esse eu já tinha lido na época do seu lançamento. Agora, com a coleção finalmente completa, estou relendo desde o primeiro volume.</p><p>Os desenhos às vezes são um pouco desproporcionais, como alguns personagens gigantes, mas nada que atrapalhe. É incrível como sempre, com arte muito bem desenhada, cenário punk pós-apocalíptico à moda de Mad Max e muita violência.</p><p>Super recomendado!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Hokuto No Ken - Fist of the North Star - Volume 1">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/hokuto-no-ken/hokuto-no-ken-volume-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Suspiria: Do Reino das Trevas]]></title>
            <link>https://www.marcal.dev/suspiria-do-reino-das-trevas</link>
            <guid isPermaLink="false">/suspiria-do-reino-das-trevas</guid>
            <pubDate>Fri, 15 Mar 2024 14:30:00 GMT</pubDate>
            <description><![CDATA[Um bom quadrinho de terror erótico e inteligente]]></description>
            <content:encoded><![CDATA[
            <p><img alt="suspiria-do-reino-das-trevas" src="img/suspiria-do-reino-das-trevas.jpg"></p><blockquote><p>Suspiria é a personificação onipresente do medo e do desespero. Ela perambula pela Terra desde o início dos tempos, caçando e punindo almas que não conseguem se livrar do próprio destino por pura indolência. Suspiria está sempre na companhia da sua mãe Santa Morte e das suas três irmãs: Nenia Candelaria, Sudaria e Grimoria. Elas são as Deusas das Trevas, as consoladoras da paz eterna. Uma fúria infernal ungida do Reino das Trevas, região situada nas profundezas do planeta, uma força cosmológica universal suspensa no tempo eterno por onde essa tétrade infernal se move entre os séculos de história da humanidade. Um verdadeiro asilo do universo. Suspiria: Do Reino das Trevas (Capa Dura)</p></blockquote><p>Este é um quadrinho que foi trazido para o Brasil pela editora Tai. É erótico, inteligente e bastante ousado. Adorei! As capas são lindas, muito bem desenhadas e coloridas. É um volume breve, com apenas quatro histórias, e eu queria mais, dada a qualidade delas!</p><p>A primeira história, "O Inferno Existe", serve como uma introdução à personagem e suas irmãs, com uma arte em preto, branco e vermelho.</p><p>Na segunda história, "A Pequena Morte", uma jovem garota vive uma vida miserável, enfrentando desgraças diárias, e encontra libertação em um encontro com Suspiria.</p><p>A terceira história, "Aos Seus Pés", apresenta um tom cômico na arte de Franco Saudelli, que traz às páginas sua personagem Bionda e sua marca registrada: o Bondage.</p><p>A quarta história, "Onde Morrem as Almas", mostra as irmãs de Suspiria, Grimória, Sudária e Candelária, em uma espécie de purgatório realizando os últimos desejos de almas condenadas.</p><p>Vou continuar acompanhando!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Suspiria: Do Reino das Trevas">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>medo</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/suspiria-do-reino-das-trevas.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Gustav Klimt e Elfen Lied]]></title>
            <link>https://www.marcal.dev/gustav-klimt-e-elfen-lied</link>
            <guid isPermaLink="false">/gustav-klimt-e-elfen-lied#updated_at#2024-03-13T21:27:00</guid>
            <pubDate>Wed, 13 Mar 2024 21:27:00 GMT</pubDate>
            <description><![CDATA[Como eu amo a abertura desse anime! 😍]]></description>
            <content:encoded><![CDATA[
            <p><img alt="gustav-klimt-e-elfen-lied" src="img/gustav-klimt-e-elfen-lied/gustav-klimt-e-elfen-lied.jpg"></p><p>Seu som assustador, letras bíblicas em latim, além de destacar a nudez de Lucy de uma maneira linda, fazendo referencia as pinturas de Gustav Klimt, é nada menos do que arte!</p><p>Esse animação obviamente tem seus altos e baixos mas certamente nunca deve ser esquecida.</p><p>Ao longo desse texto, vou mostrar algumas pinturas de Klimt que foram homenageadas na abertura de Elfen Lied. Vamos lá!  ! 🎨🎬</p><h2 id="sumário">Sumário</h2><ul><li><a href="#a-abertura">A abertura</a></li><li><a href="#anne-marie-zilberman">Anne Marie Zilberman</a></li><li><a href="#gustav-klimt">Gustav Klimt</a><ul><li><a href="#the-kiss">The Kiss</a></li><li><a href="#dana%C3%AB"><em>Danaë</em></a></li><li><a href="#as-tr%C3%AAs-idades-da-mulher">As Três Idades da Mulher</a></li><li><a href="#friso-stoclet">Friso Stoclet</a></li><li><a href="#judite-e-a-cabe%C3%A7a-de-holofernes">Judite e a Cabeça de Holofernes</a></li><li><a href="#adam-and-eve">Adam and Eve</a></li><li><a href="#retrato-de-m%C3%A4da-primavesi">Retrato de Mäda Primavesi</a></li><li><a href="#golden-adele">Golden Adele</a></li><li><a href="#retrato-de-ria-munk-iii">Retrato de Ria Munk III</a></li><li><a href="#water-snakes-ii">Water Snakes II</a></li></ul></li><li><a href="#a-letra-da-abertura">A letra da Abertura</a></li></ul><h2 id="a-abertura">A abertura</h2><p>Confira a abertura da animação:</p><figure class="youtube">  
  <div class="inner-figure">  
    <div>
          <iframe width="560" height="315" src="https://www.youtube.com/embed/ddvXXtfKltg?si=SY6R7l_F82OZa52r" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
    </div>
  </div>
  <figcaption>Elfen Lied Opening HD 720p Creditless Lilium</figcaption>  
</figure><h2 id="anne-marie-zilberman">Anne Marie Zilberman</h2><p><img alt="Golden Tears (or Freya&#x27;s Tears)" src="img/gustav-klimt-e-elfen-lied/golden-tears.jpg"></p><p>Pesquisando por aí, vi que muita gente confunde a obra Golden Tears (ou Freya's Tears), atribuindo erroneamente a autoria dela à Gustav Klimt. Na verdade, é de Anne Marie Zilberman e, infelizmente, não consegui achar mais informações sobre ela.</p><p>Dizem que o primeiro quadro da abertura faz referência a Golden Tears, mas a verdade é que não se sabe se a pintura foi feita antes ou depois da produção e exibição de Elfen Lied. Provavelemente não tem nenhuma relação entre os trabalhos.</p><p><img alt="Golden Tears (or Freya&#x27;s Tears)" src="img/gustav-klimt-e-elfen-lied/elfen-lied-1.gif"></p><h2 id="gustav-klimt">Gustav Klimt</h2><p>Gustav Klimt nasceu em 1862 em Baumgarten, perto de Viena, na Áustria-Hungria. Frequentou a Escola de Artes e Ofícios de Viena antes de assumir comissões com seu irmão, Ernst, e um colega Franz von Matsch de 1879. Ao longo da próxima década, ao lado de várias comissões privadas para retratos, eles pintaram murais e tetos interiores em grandes edifícios públicos, incluindo o Burgtheater, o Museu Kunsthistorisches e o teto do Grande Salão da Universidade de Viena.</p><p>Em 1897, ele foi um membro fundador e presidente da Secessão de Viena, um grupo de artistas que queriam romper com o que eles viam como o conservadorismo predominante da Viena Konstlerhaus. Klimt, em particular, desafiou o que ele viu como os “limites hipócritas de respeitabilidade estabelecidos pela sociedade vienense”. Segundo a historiadora de arte Susanna Partsch, ele era “o enfant terrible da cena artística vienense, foi reconhecido como o pintor de mulheres bonitas”.</p><h3 id="the-kiss">The Kiss</h3><p><img alt="O Beijo" src="img/gustav-klimt-e-elfen-lied/o-beijo-gustav-klimt.jpg"></p><p><em><strong>The Kiss</strong></em> é uma pintura a óleo com adição de folhas de ouro, prata e platina. Foi criada em algum ponto entre 1907 e 1908, no período que os estudiosos da arte chamam de "Fase Dourada". A pintura retrata um casal abraçando um ao outro, com seus corpos enrolados em um belo manto decorado.</p><p>No anime vemos duas referencias a esse quadro:</p><p><img alt="Captura - Elfen Lied" src="img/gustav-klimt-e-elfen-lied/elfen-lied-7.png"></p><p><img alt="Captura - Elfen Lied" src="img/gustav-klimt-e-elfen-lied/elfen-lied-9.png"></p><h3 id="danaë"><em>Danaë</em></h3><p><img alt="Danae" src="img/gustav-klimt-e-elfen-lied/danae-gustav-klimt.jpg"></p><p><em><strong>Danaë</strong></em> é uma pintura a óleo sobre tela de 1907. Klimt retratou o momento em que Danaë é tomada pelo Senhor do Olimpo.</p><p>Enquanto estava aprisionada por seu pai, o rei de Argos, em uma torre de bronze, Danaë foi visitada por Zeus, aqui simbolizado como a chuva dourada fluindo entre suas pernas.</p><p>O tema Danaë esteve muito em voga no início da década de 1900 entre muitos artistas; a personagem foi utilizada como um símbolo de perfeição do amor divino, e transcendência.</p><p>Ao contrário das outras pinturas, essa não é referenciada na abertura, mas sim no fechamento do anime:</p><p><img alt="Fechamento do anime" src="img/gustav-klimt-e-elfen-lied/elfen-lied-10.png"></p><h3 id="as-três-idades-da-mulher">As Três Idades da Mulher</h3><p><img alt="As Três Idades da Mulher" src="img/gustav-klimt-e-elfen-lied/as-tres-idades-da-mulher-klimt.jpg"></p><p>Feita com a técnica óleo sobre tela em 1905, <em><strong>As Três Idades da Mulher</strong></em> tem o ciclo da vida como temática, na imagem estão dispostas verticalmente: uma mulher idosa, uma jovem e uma garotinha, todas nuas, com o objetivo de mostrar a passagem do tempo.</p><p>Na abertura, um rápido frame conversa com essa pintura:</p><p><img alt="As Três Idades da Mulher" src="img/gustav-klimt-e-elfen-lied/elfen-lied-8.png"></p><p>Não consegui capturar o frame inteiro mas achei por ai na internet as duas imagens lado a lado:</p><p><img alt="As Três Idades da Mulher" src="img/gustav-klimt-e-elfen-lied/elfen-lied-11.png"></p><h3 id="friso-stoclet">Friso Stoclet</h3><p><img alt="Friso Stoclet" src="img/gustav-klimt-e-elfen-lied/friso-stoclet-completo.jpg"></p><p>A sua última grande pintura mural é o <em>Friso Stoclet</em> (1905 a 1909). Esta pintura é um estudo para uma série de três mosaicos criado por Klimt, para cumprir um contrato de 1905-1911.</p><p>Esse terceiro mural de Friso Stoclet é chamado de "O Abraço" ou "O cumprimento":</p><p><img alt="Friso Stoclet: O cumprimento" src="img/gustav-klimt-e-elfen-lied/friso-stoclet-o-cumprimento.jpg"></p><p>No anime vemos esse lindo quadro:</p><p><img alt="Captura - Elfen Lied - Friso Stoclet: O cumprimento" src="img/gustav-klimt-e-elfen-lied/elfen-lied-1.png"></p><h3 id="judite-e-a-cabeça-de-holofernes">Judite e a Cabeça de Holofernes</h3><p><img alt="Judith I" src="img/gustav-klimt-e-elfen-lied/judith-i-gustav-klimt.jpg"></p><p><em><strong>Judite e a Cabeça de Holofernes</strong></em> (também conhecida como <em><strong>Judith I</strong></em>)  é uma pintura a óleo  pintada em 1901. Ele retrata a figura bíblica de Judith segurando a cabeça de Holofernes depois de decapitá-lo. Klimt pintaria uma segunda obra retratando o assunto em 1909.</p><p>Não parece ter nenhuma relação mais óbvia com a abertura além do tema dourado, mas coloquei aqui por que gostei mesmo!</p><h3 id="adam-and-eve">Adam and Eve</h3><p><img alt="Adam and Eve" src="img/gustav-klimt-e-elfen-lied/adam-and-eve-klimt.jpg"></p><p><strong>Adão e Eva</strong> (1917) foi a primeira pintura bíblica de Klimt. A pintura parece representar a humanidade em um estado de graça, antes da queda. Como uma heroína casta, Eva é uma heroína bem diferente de Judith.</p><p>Não sei se propositalmente, mas esse frame da abertura conversa com essa pintura:</p><p><img alt="Captura - Elfen Lied - Adam and Eve" src="img/gustav-klimt-e-elfen-lied/elfen-lied-6.png"></p><h3 id="retrato-de-mäda-primavesi">Retrato de Mäda Primavesi</h3><p><img alt="Retrato de Mada" src="img/gustav-klimt-e-elfen-lied/retrato-de-mada-klimt.jpg"></p><p><em><strong>Muda Primavesi</strong></em> é uma pintura óleo sobre tela transmite um notável grau de confiança para uma menina (Muda Primavesi) de nove anos com uma  expressão e a postura bem decidida.</p><p>Na abertura temos a referência a essa pintura ao passar o quadro:</p><p><img alt="Captura - Elfen Lied - Retrato de Mada" src="img/gustav-klimt-e-elfen-lied/elfen-lied-5.png"></p><h3 id="golden-adele">Golden Adele</h3><p><img alt="adele-bloch-bauer-gustav-klimt.jpg" src="img/gustav-klimt-e-elfen-lied/adele-bloch-bauer-gustav-klimt.jpg"></p><p>A pintura <em><strong>Golden Adele</strong></em> (1907) mede 138 por 138 cm, é composta por tinta a óleo e prata e folha de ouro em tela. O retrato mostra Adele Bloch-Bauer sentada em um trono ou cadeira dourada, na frente de um fundo estrelado dourado.</p><p>O anime homenageou esse quadro ao referenciá-lo também:</p><p><img alt="Captura - Elfen Lied - Golden Adele" src="img/gustav-klimt-e-elfen-lied/elfen-lied-3.png"></p><h3 id="retrato-de-ria-munk-iii">Retrato de Ria Munk III</h3><p><img alt="Retrato de Ria Munk III" src="img/gustav-klimt-e-elfen-lied/bildnis-der-ria-munk-III-klimt.jpg"></p><p>Klimt foi contratado para pintar o retrato póstumo de Maria ("Ria") Munk, que cometera suícidio, depois que o escritor Hanns Heinz Ewers cancelou seu noivado.</p><p>O próximo frame mostrado da abertura, possivelmente conversa com essa pintura:</p><p><img alt="Captura - Elfen Lied - Retrato de Ria" src="img/gustav-klimt-e-elfen-lied/elfen-lied-4.png"></p><h3 id="water-snakes-ii">Water Snakes II</h3><p><img alt="Water Snakes" src="img/gustav-klimt-e-elfen-lied/water-snakes-ii-gustav-klimt.jpg"></p><p><em><strong>Water Snakes</strong></em> II foi pintada em diversas técnicas, desde aquarela e têmpera até folhas douradas em pergaminho. A composição mostrava figuras esguias e esticadas e exibia uma ilustração abstrata de uma mulher de cabelos compridos abraçando uma figura semelhante a uma serpente.</p><p>A captura que fiz talvez não retrate bem mas pelo vídeo fica nítido que essa foi outra homenagem:</p><p><img alt="Captura - Elfen Lied - Water Snakes" src="img/gustav-klimt-e-elfen-lied/elfen-lied-2.png"></p><h2 id="a-letra-da-abertura">A letra da Abertura</h2><details>
	<summary>Lilium - Versão original</summary>
	<p>
    Os iusti <br>  
    Meditabitur sapientiam <br>  
    Et lingua eius <br>  
    Loquetur indicium <br>  
    </p>
    <p>
    Beatus vir qui <br>  
    Suffert tentationem <br>  
    Quoniquom cum <br>  
    Probates fuerit accipient coronam vitae <br>  
    </p>
    <p>
    Kyrie, fons bonitatis <br>   
    Kyrie, ignis divine, eleison <br>   
    </p>
    <p>
    O quam sancta <br>   
    Quam serena <br>   
    Quam benigna <br>   
    Quam amoena <br>   
    O castitas lilium <br>   
    Esse virgo creditur <br>   
    </p>
    <p>
    O quam sancta <br>   
    Quam serena <br>   
    Quam benigna <br>   
    Quam amoena <br>   
    O castitas lilium <br>   
    </p>
    <p>
    Kyrie, fons bonitatis <br>   
    Kyrie, ignis divine, eleison <br>   
    </p>
    <p>
    O quam sancta <br>   
    Quam serena <br>   
    Quam benigna <br>   
    Quam amoena <br>   
    O castitatis lilium <br> 
    </p></details><details>
	<summary>Lírio - Versão traduzida</summary>
	<p>
    A boca do justo <br>   
    Mediará a sabedoria <br>   
    E a sua língua <br>   
    Proferirá o julgamento <br>   
    </p>
    <p>
    Bem-aventurado o homem que <br>   
    Resiste à tentação <br>   
    Porque, depois de provado <br>   
    Ele receberá a coroa da vida <br>   
    </p>
    <p>
    Senhor, fonte da bondade <br>   
    Senhor, fogo divino, tende piedade <br>   
    </p>
    <p>
    Ó, quão santa <br>   
    Quão serena <br>   
    Quão gentil <br>   
    Quão agradável <br>   
    Ó lírio de castidade <br>   
    Acredita-se ser pura <br>   
    </p>
    <p>
    Ó quão santa <br>   
    Quão serena <br>   
    Quão gentil <br>   
    Quão agradável <br>   
    Ó lírio de castidade <br>   
    </p>
    <p>
    Senhor, fonte da bondade <br>   
    Senhor, fogo divino, tende piedade <br>   
    </p>
    <p>
    Ó quão santa <br>   
    Quão serena <br>   
    Quão gentil <br>   
    Quão agradável <br>   
    Ó lírio de castidade <br>   
    </p></details>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Gustav Klimt e Elfen Lied">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>arte</category>
            <category>video</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/gustav-klimt-e-elfen-lied/gustav-klimt-e-elfen-lied.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Ministério]]></title>
            <link>https://www.marcal.dev/ministerio</link>
            <guid isPermaLink="false">/ministerio#updated_at#2024-03-13T09:51:00</guid>
            <pubDate>Wed, 13 Mar 2024 09:51:00 GMT</pubDate>
            <description><![CDATA[Uma história rápida sobre uma sociedade fascista distópica]]></description>
            <content:encoded><![CDATA[
            <p><img alt="ministerio" src="img/ministerio.jpg"></p><blockquote><p>Em um arranha-céus de cinco mil andares, a Hierarquia reina soberana sobre os funcionários que vivem, trabalham e morrem nos níveis inferiores do Ministério que administra o mundo. Assediados diariamente, sequestrados em massa para satisfazer os caprichos de uma casta intocável e utilizados como cobaias em experimentos genéticos, esses indivíduos nutrem secretamente a chama da revolta. Um deles, o jovem Carlos Pibe, resolve confrontar o sistema e embarca numa jornada em busca de sua amada, rumo aos andares superiores e inacessíveis do edifício, vigiados por um impiedoso Serviço de Segurança, cuja missão é defender os terríveis segredos que o Ministério esconde.
Criado pelo renomado artista argentino Francisco Solano López (O Eternauta, Evaristo) em colaboração com seu compatriota Ricardo Barreiro (Cidade, Parque Chas), Ministério destaca-se como um dos mais brilhantes exemplos de distopia sociopolítica em quadrinhos. Esta edição reúne todos os capítulos da série, originalmente publicados entre 1986 e 1987 nas páginas da revista Fierro.
A edição tem acabamento de luxo, com formato grande, capa dura, 96 páginas em preto e branco, impressas em papel offset de alta gramatura.</p></blockquote><p>Esse eu ganhei de presente e foi uma escolha muito acertada, abrangendo diversos temas como ficção científica, distopia, fascismo e regimes autoritários.</p><p>Situada em uma sociedade fascista distópica após uma grande guerra mundial, esta é uma leitura breve, com eventos ocorrendo de maneira bastante acelerada, mas isso em nada diminui o valor desta Graphic Novel.</p><p>Algo que me chamou a atenção foi a caracterização dos guardas da SS, que eram seres geneticamente modificados, tendo como inspiração física o Super-Homem, e vestiam uniformes da SS nazista.</p><p>Devido à rapidez da narrativa, percebi que algumas explicações foram um tanto apressadas, carecendo de detalhes sobre o mundo, as formas de organização nos diferentes andares, a maneira de vida das elites nos andares superiores, entre outros aspectos.</p><p>Apesar disso, fiquei encantado com essa leitura!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Ministério">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/ministerio.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[A Vida Intelectual]]></title>
            <link>https://www.marcal.dev/a-vida-intelectual</link>
            <guid isPermaLink="false">/a-vida-intelectual</guid>
            <pubDate>Tue, 12 Mar 2024 14:14:00 GMT</pubDate>
            <description><![CDATA[Recomendação superestimada]]></description>
            <content:encoded><![CDATA[
            <p><img alt="a-vida-intelectual" src="img/a-vida-intelectual.jpg"></p><p>A Vida Intelectual foi uma leitura bastante recomendada em vários lugares  como Twitter, páginas na Internet, vídeos do Youtube. No entanto, minha experiência com a leitura foi decepcionante.</p><p>Antes mesmo de começar, eu já estava ciente do teor religioso do livro, uma vez que o autor era um sacerdote. Mesmo assim, abri o livro com a mente aberta, esperando obter insights valiosos. No entanto, deparei-me com ideias que, em grande parte, parecem ser apenas opiniões do autor, que refletem uma perspectiva cristã. Não tenho a intenção de usar o termo de forma pejorativa, mas acredito que a leitura pode ser mais proveitosa para aqueles que compartilham da mesma fé, dado que o autor frequentemente mistura a religião com a ciência. Ele faz isso ao parafrasear frequentemente Tomás de Aquino, o qual via a Igreja ou o dogma católico como a "Mãe de todas as Ciências", mais informações podem ser encontradas sobre em <a href="a-navalha-de-ockham-o-principio-filosofico-que-libertou-a-ciencia-e-ajudou-a-explicar-o-universo">A Navalha de Ochham</a>.</p><p>Algumas afirmações, como "não procurar o conhecimento vão", "os gênios não saem para jantar" e a sugestão de que "a mulher deve esposar a carreira de seu marido", são expressas de maneira que permite diversas interpretações duvidosas. Na minha perspectiva, essas afirmações refletem mais a opinião pessoal do autor do que verdades universais.</p><p>Há também algumas ideias que, embora óbvias para mim, são mencionadas, como o comprometimento com o aprendizado, a vida intelectual e a necessidade de filtrar leituras ("ler menos"), especialmente em um mundo moderno saturado de informações.</p><p>Novamente, talvez para um cristão, esta seja uma leitura valiosa, mas para mim, parece excessivamente dogmática. Não recomendo a menos que você compartilhe da mesma fé, e mesmo assim, com ressalvas.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=A Vida Intelectual">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/a-vida-intelectual.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Contos Reunidos do Mestre do Horror Cósmico]]></title>
            <link>https://www.marcal.dev/contos-reunidos-do-mestre-do-horror-cosmico</link>
            <guid isPermaLink="false">/contos-reunidos-do-mestre-do-horror-cosmico#updated_at#2024-03-12T08:46:00</guid>
            <pubDate>Tue, 12 Mar 2024 08:46:00 GMT</pubDate>
            <description><![CDATA[Anotações sobre a leitura do livro "Contos Reunidos do Mestre do Horror Cósmico" de Lovecraft]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Contos Reunidos do Mestre do Horror Cósmico" src="img/contos-reunidos-do-mestre-do-horror-cosmico.jpg"></p><p>Quase três meses se passaram,e essa foi uma longa e lenta leitura!</p><p>Não li de forma estritamente diária, mas sim quando estava mentalmente predisposto.  Os melhores contos, a meu ver, são os mais famosos sem dúvida, como os destacados abaixo.</p><blockquote><p>O gênero que Lovecraft revolucionou em sua breve carreira foi o que ele próprio denominava weird fiction (ficção insólita). Lovecraft expressou em uma carta: "O cerne de uma narrativa insólita é algo que não poderia de forma alguma acontecer".</p></blockquote><h3 id="dagon">Dagon</h3><p>Li o primeiro conto, "Dagon". A história é sobre um personagem que é capturado em seu navio pelos nazistas durante a Primeira Grande Guerra Mundial. De alguma forma, ele consegue fugir do cárcere em um barco, levando consigo mantimentos.</p><p>À deriva por vários dias, ele acaba atolado em uma espécie de ilha, ou melhor, em um grande monte de terra, que parece ter emergido do fundo do mar. Pela forma que Lovecraft descreve o local e o estranhamento do personagem, é como se ele estivesse em outra dimensão: uma paisagem de céus negros com um grande monte de terra emergido, envolto por lodo e carcaças de criaturas aquáticas mortas.</p><p>O personagem decide, então, investigar o terreno em busca de ajuda. Passam-se dias e, desde o início, ele sabe que aquele não é um local normal, tendo até muitos pesadelos durante sua incursão. Finalmente, ele encontra desenhos e hieróglifos de criaturas estranhas, muitas desenhadas com corpos de hominídeos com cabeças de peixe. Então, ele vê uma criatura monstruosa.</p><p>Os últimos trechos, onde o personagem conta como foi sua fuga da ilha, conseguiram ilustrar a situação de degradação mental e progressiva loucura em que se encontrava de uma forma bastante realista.</p><blockquote><p>De minha frenética ascensão pela escarpa e os rochedos e de minha delirante jornada de volta ao barco encalhado, lembro-me pouco. Parece-me que cantei intensamente e gargalhei de maneira estranha quando não pude mais cantar. Tenho recordações indistintas de uma grande tempestade algum tempo depois que alcancei o bote; seja como for, sei que ouvi o ribombar de trovões e outros sons que a Natureza só profere em seus humores mais enfurecidos.</p></blockquote><p>O final do conto é exatamente o que eu imagino de algo no mundo de Lovecraft: o Horror Cósmico, forças estranhas e inimagináveis andam e se arrastam pelo mundo, e ter ciência disso é um horror grandioso e impossível de carregar sem perder a sanidade.</p><h3 id="o-depoimento-de-randolph-carter">O Depoimento de Randolph Carter</h3><p>Harley Warren desapareceu, e é por Randolph Carter, a última pessoa a tê-lo visto, em seu depoimento à polícia, que temos as pistas do que pode ter acontecido. Essa história me fez lembrar do ditado "a curiosidade matou o gato".</p><blockquote><p>Alucinação ou pesadelo, aquilo pode ter sido - alucinação ou pesadelo eu espero com fervor que tenha sido - no entanto, é tudo o que minha mente retém do que sucedeu naquelas horas chocantes depois que nos afastamos da visão dos homens."</p></blockquote><h3 id="a-cidade-sem-nome">A Cidade Sem Nome</h3><p>Um explorador descobre uma cidade enterrada no meio do deserto árabe, e nela, múmias reptilianas. ⚠️ <strong>Sinto que devo ler este conto mais uma vez em um momento mais oportuno.</strong></p><blockquote><p>Foi com esse lugar que Abdu Alhazred, o poeta louco, sonhou na noite antes de ter cantado seu dístico inexplicável:<br>
"<strong>Não está morto o que na eternidade jaz, ao longo de éons mesmo a morte se desfaz.</strong>"</p></blockquote><h3 id="o-chamado-de-cthulhu">O Chamado de Cthulhu</h3><p>Ao contrário dos anteriores, até aqui, esse foi o conto mais longo, dividido em algumas partes. Aqui, conhecemos Cthulhu, uma criatura cósmica milenar que chegou à Terra muito antes do primeiro homem existir, e seu culto milenar dedicado a trazê-lo de volta, o que ocasionaria a total destruição da humanidade.</p><p>Neste contexto, R'lyeh, a cidade morada de Cthulhu, submersa, acaba por emergir parcialmente, o que parece aumentar a influência de Cthulhu sobre algumas pessoas mais sensitivas. A meu ver, essa é uma clara ligação ao conto "Dagon", onde também há um fato similar, em que uma área de terra com símbolos que remetem a algum tipo de culto também emerge, indicando que talvez seja R'lyeh.</p><blockquote><p>Vivemos numa plácida ilha de ignorância em meio a negros mares de infinitude, e não formos destinados a nos aventurar muito longe.</p></blockquote><blockquote><p>Na sua morada em R'lyeh, o morto Cthulhu aguarda sonhando.</p></blockquote><blockquote><p>Eles adoravam (...) os Grandes Anciões que viveram eras antes de existirem os homens, e que chegaram ao nosso mundo ainda jovens vindo do céu. Esses anciões já haviam perecido, no interior da terra e no fundo do mar; mas seus corpos mortos haviam contados seus segredos em sonhos aos primeiros homens, que formaram um culto que jamais morreu.</p></blockquote><h3 id="o-modelo-de-pickman">O Modelo de Pickman</h3><p>Esse conto foi adaptado em “O Modelo de Pickman”, episódio 5 de <strong><em>O Gabinete de Curiosidades de Guillermo Del Toro</em></strong>. Ainda não o assisti.</p><p>Ótimo conto com algumas referências aos artistas Angarola, Goya, Doré, Fuseli e outros, que revelam o gosto estético do autor em pintura. O personagem Pickman, segundo as notas do editor, é citado na 'História do Necronomicon' e em 'A busca onírica por Kadath', onde aparece transformado em ghoul. A descrição dos quadros feitos por Pickman me proporcionou um verdadeiro cenário de horror. Recomendo!</p><h3 id="finalizando">Finalizando</h3><p>Existem outros contos inacabados, póstumos, e aqueles escritos por Lovecraft em sua juventude... tornando esta, possivelmente, a compilação mais abrangente de contos curtos de Lovecraft em língua portuguesa!</p><p>Sem dúvidas, bastante recomendável!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Contos Reunidos do Mestre do Horror Cósmico">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>medo</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/contos-reunidos-do-mestre-do-horror-cosmico.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Necron - Volume 2: O Navio dos Leprosos]]></title>
            <link>https://www.marcal.dev/necron-volume-2-o-navio-dos-leprosos</link>
            <guid isPermaLink="false">/necron-volume-2-o-navio-dos-leprosos</guid>
            <pubDate>Fri, 08 Mar 2024 09:26:00 GMT</pubDate>
            <description><![CDATA[Continua interessante e cômico.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="necron-volume-2-o-navio-dos-leprosos" src="img/necron/necron-volume-2-o-navio-dos-leprosos.jpg"></p><blockquote><p>Após o incidente em seu laboratório, a Dra. Frieda Boher é salva por sua criação, Necron. Os dois então resolvem deixar o país e embarcam numa jornada cheia de sangue, cadáveres e depravações.</p></blockquote><p>Dra. Frieda Boher é dada como morta em um incêndio na edição anterior. Aproveitando essa oportunidade única, ela abandona sua antiga vida, forja novas identidades e embarca em um navio em direção a uma pequena ilha com sua criatura escondida, Necron.</p><p>Essa edição eu achei bem mais interessante que a anterior, ainda que a história seja simples, rápida e ingênua. Ainda percebi toques de horror, com erotismo, e parece que isso será uma constante durante a obra. Eu pretendo conferir.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Necron - Volume 2: O Navio dos Leprosos">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/necron/necron-volume-2-o-navio-dos-leprosos.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Necron - Volume 1: A Fabricante de Monstros]]></title>
            <link>https://www.marcal.dev/necron-volume-1-a-fabricante-de-monstros</link>
            <guid isPermaLink="false">/necron-volume-1-a-fabricante-de-monstros</guid>
            <pubDate>Fri, 08 Mar 2024 09:22:00 GMT</pubDate>
            <description><![CDATA[Interessante e cômico.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="necron-volume-1-a-fabricante-de-monstros" src="img/necron/necron-volume-1-a-fabricante-de-monstros.jpg"></p><blockquote><p>Necron é uma paródia sexy de Frankenstein e apresenta as aventuras da Dra. Frieda Boher, uma ninfomaníaca necrófila, e de sua criatura, Necron, um humanóide forte, bem dotado e canibal, criado com partes de cadáveres para satisfazer os desejos de Frieda.</p></blockquote><p>Essa foi uma leitura rápida; não sei realmente se posso descrever como ficção científica, erótica ou horror, mas eu gostei. Para quem achar que é algo puramente erótico, já vi mais cenas explícitas em <a href="https://pt.wikipedia.org/wiki/I_Borgia" rel="nofollow">Bórgias</a> ou <a href="https://pt.wikipedia.org/wiki/Druuna" rel="nofollow">Druuna</a> do que nesta primeira edição de Necron.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Necron - Volume 1: A Fabricante de Monstros">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/necron/necron-volume-1-a-fabricante-de-monstros.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cypherpunks: Liberdade e o Futuro da Internet]]></title>
            <link>https://www.marcal.dev/cypherpunks-liberdade-e-o-futuro-da-internet</link>
            <guid isPermaLink="false">/cypherpunks-liberdade-e-o-futuro-da-internet</guid>
            <pubDate>Thu, 07 Mar 2024 14:29:00 GMT</pubDate>
            <description><![CDATA[Poderia ser um vídeo]]></description>
            <content:encoded><![CDATA[
            <p><img alt="cypherpunks-liberdade-e-o-futuro-da" src="img/cypherpunks-liberdade-e-o-futuro-da-internet.jpg"></p><blockquote><p>A obra é resultado de reflexões de Assange e de um grupo vanguardista de pensadores rebeldes e ativistas que atuam nas linhas de frente da batalha em defesa do ciberespaço (Jacob Appelbaum, Andy Müller-Maguhn e Jérémie Zimmermann). A questão fundamental que o livro apresenta é: a comunicação eletrônica vai nos emancipar ou nos escravizar?Apesar de a internet ter possibilitado verdadeiras revoluções no mundo todo, Assange prevê uma futura onda de repressão na esfera on-line, a ponto de considerar a internet uma possível ameaça à civilização humana.</p></blockquote><p>Surgem preocupações sobre os sistemas de vigilância que foram construídos e que estão sendo refinados cada vez mais. Nesse contexto, a solução é a criptografia. Nem toda a violência estatal do mundo pode resolver problemas matemáticos tão complexos, que demandariam séculos, milênios de poder de processamento para serem resolvidos na força bruta.</p><blockquote><p>Em geral nem chegamos a nos conscientizar de quão próximos estamos da violência, porque todos nós fazemos concessões para evitá-la.</p></blockquote><blockquote><p>Nossa missão é proteger a autodeterminação onde for possível, impedir o avanço da distopia onde não for possível e, se tudo mais falhar, acelerar sua autodestruição.</p></blockquote><blockquote><p>Costumávamos dizer que, com o Facebook, o usuário não é o cliente. Na verdade, o usuário do Facebook é o produto, e os verdadeiros clientes são as empresas anunciantes. Essa é a explicação menos paranoica e mais inocente do que esta acontecendo.</p></blockquote><blockquote><p>É preciso reconhecer que, com a criptografia, nem toda a violência do mundo poderá resolver uma equação matemática.</p></blockquote><p>Apesar de abordar temas extremamente importantes, a forma como as reflexões foram apresentadas não me agradou.</p><p>As ideias são expostas na forma de conversas entre um grupo de ativistas e Assange (fundador da <em>WikiLeaks</em>). Fiquei com a impressão de que poderia ser um vídeo, mostrando a conversa deles sobre o tema, e que a edição em livro foi um pouco desnecessária para o que foi apresentado ali.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Cypherpunks: Liberdade e o Futuro da Internet">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/cypherpunks-liberdade-e-o-futuro-da-internet.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[De Volta à Academia]]></title>
            <link>https://www.marcal.dev/de-volta-a-academia</link>
            <guid isPermaLink="false">/de-volta-a-academia#updated_at#2024-03-06T08:46:00</guid>
            <pubDate>Wed, 06 Mar 2024 08:46:00 GMT</pubDate>
            <description><![CDATA[Sobre desafios e compromissos]]></description>
            <content:encoded><![CDATA[
            <p>Hoje, retornei à academia após meses sem frequentar. Que cansaço! É desafiador, mas ao mesmo tempo gratificante. Acredito que, em qualquer situação, o início é complicado, especialmente quando se trata de exercícios físicos.</p><p>Ninguém inicia uma rotina de exercícios pensando em desistir, mas algumas pessoas, inclusive eu, acabam interrompendo o processo.</p><p>Hábitos. Como é difícil estabelecer um novo hábito. É essencial ter clareza sobre o objetivo desse novo hábito.</p><p>Escrever sobre isso me faz refletir sobre os motivos pelos quais decidi retornar à prática de exercícios.</p><p>Voltei à academia porque sei que praticar exercícios, movimentar meu corpo, trará benefícios tanto para minha saúde física quanto mental. Passo a maior parte do tempo sentado devido à natureza do meu trabalho. Assim, antes de ser uma questão estética, a prática de exercícios torna-se algo de importância tão grande que é difícil expressar em palavras. Ao longo de um dia sedentário, perceba sua expectativa de vida diminuir, sua qualidade de vida se deteriorar, seu humor piorar e, por fim, sua autoestima e visão de si mesmo distorcerem-se.</p><p>De certa forma, escrever sobre isso e fixar esses pensamentos em algum lugar não só me faz refletir, mas também me compromete, afinal, está escrito e agora é público.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=De Volta à Academia">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>notas-pessoais</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[De Volta ao Blog Estático: Simplicidade e Liberdade]]></title>
            <link>https://www.marcal.dev/de-volta-ao-blog-estatico-simplicidade-e-liberdade</link>
            <guid isPermaLink="false">/de-volta-ao-blog-estatico-simplicidade-e-liberdade#updated_at#2024-03-04T20:25:00</guid>
            <pubDate>Mon, 04 Mar 2024 20:25:00 GMT</pubDate>
            <description><![CDATA[Mudei novamente a forma como distribuo conteúdo neste site.]]></description>
            <content:encoded><![CDATA[
            <p>Até então, estava utilizando o <a href="https://github.com/TryGhost/Ghost" rel="nofollow">Ghost</a>, hospedado na internet por mim mesmo, em meu servidor em casa.</p><p>Não me leve a mal, eu não tenho críticas ao Ghost. Basicamente, você executa uma imagem Docker, configura uma conexão Mysql e pronto. Pode começar a criar conteúdo, de forma muito profissional, eu diria. Se você é uma pessoa não técnica, ou que não quer lidar com HTML, CSS e Javascript, com certeza, o Ghost é uma boa escolha.</p><p>Entretanto, as soluções tendem a ter ganhos e perdas. O que ganho em facilidade de criação de conteúdo e rapidez, eu perco em customização. Claro, você pode injetar código, criar seu próprio template, pode programar de acordo com as flexibilidades dadas pela ferramenta. Mas se vou precisar programar, por que devo fazer isso seguindo as regras do Ghost?</p><p>Outro ponto que me incomodava muito é que todo o meu conteúdo acabava sendo armazenado no banco de dados Mysql. Isso parece matar uma formiga usando uma bazuca. Ora, um blog pessoal é, basicamente, conteúdo estático. Texto e imagens, vez ou outra vídeos, áudios. Não foge muito disso.</p><p>Isso me fez voltar à minha estrutura anterior ao Ghost, onde basicamente servia um site totalmente estático, com os posts em markdown. <a href="https://github.com/vitormarcal/marcal-blog" rel="nofollow">Aqui está o código fonte</a> livre para ser copiado e utilizado, se preferir. Repeti a mesma stack de tecnologia, Vue com Nuxt e Markdown. Somente isso.</p><p>Adaptei um pouco do tema anterior utilizado no Ghost, criei um sistema de tags com links, migrei as páginas do Ghost para markdown<sup><a href="#user-content-fn-1" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-1">1</a></sup>,mas ainda quero mudar as paletas de cores, colocar um modo escuro e claro, reorganizar algumas áreas.</p><p>Ainda há muito o que fazer, mas estou hoje muito mais livre com o meu blog, sem estar preso a formatos e mecanismos proprietários. Quando me cansar do meu blog, só o que preciso fazer é aproveitar os posts em markdown e recomeçar novamente. Está tudo mais simples, não preciso de imagens docker, backends e nem banco de dados.</p><section class="footnotes" data-footnotes=""><h2 class="sr-only" id="footnote-label">Footnotes</h2><ol><li id="user-content-fn-1">Para migrar as páginas, utilizei <a href="https://urltomarkdown.com/" rel="nofollow">essa ferramenta online</a>, onde bastava colocar a URL da minha página, e ela gerava o markdown, e eu editava poucas coisas necessárias. Realmente útil. <a href="#user-content-fnref-1" aria-label="Back to reference 1" class="data-footnote-backref" data-footnote-backref="">↩</a></li></ol></section>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=De Volta ao Blog Estático: Simplicidade e Liberdade">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>programacao</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Como gerar pdf com thymeleaf no java]]></title>
            <link>https://www.marcal.dev/como-gerar-pdf-com-thymeleaf-no-java</link>
            <guid isPermaLink="false">/como-gerar-pdf-com-thymeleaf-no-java#updated_at#2024-03-03T12:35:00</guid>
            <pubDate>Sun, 03 Mar 2024 12:35:00 GMT</pubDate>
            <description><![CDATA[Como gerar documentos pdf facilmente no java, utilizando html, thymeleaf e Flying Saucer. Essa é um solução sem iReport.]]></description>
            <content:encoded><![CDATA[
            <p>Criar relatórios PDF no Java é bastante comum. Sem dúvidas, a ferramenta mais utilizada e bastante poderosa é o iReport. Entretanto, para alguns projetos ou situações usar iReport é como usar um canhão para matar uma formiga.</p><p>iReport dá uma camada a mais de complexidade à solução, tendo que manter aquelas centenas de xmls gerados, a necessidade de baixar uma IDE para criar e editá-los.</p><p>Criar templates PDF deveria ser tão simples quanto criar um html, popular os dados e então transformá-lo em PDF.</p><h2 id="sumário">Sumário</h2><ul><li><a href="#a-motiva%C3%A7%C3%A3o">A motivação</a></li><li><a href="#as-ferramentas">As ferramentas</a></li><li><a href="#o-c%C3%B3digo">O código</a></li><li><a href="#conclus%C3%A3o">Conclusão</a></li></ul><h2 id="a-motivação">A motivação</h2><p>Certa vez, em um projeto, precisávamos de uma qualidade maior no design dos relatórios e fazê-los, apesar de possível, resultou em uma grande perca de produtividade da equipe. Arrastar e soltar, configurar caixas, tamanhos e alinhamentos com GUI, interfaces gráficas, não era a melhor solução para aquele caso.</p><p>A equipe era composta por um design e vários desenvolvedores. Dentre os desenvolvedores, todos tinham familiaridade com front-end, mas um em especial era especialista: enquanto os demais desenvolvedores faziam telas na velocidade 2, esse especialista construía o dobro na velocidade 5. Foi aí que decidimos que talvez seria mais produtivo, construir os modelos dos relatórios em HTML, em vez de na ferramenta iReport e assim ganhar velocidade bem como a qualidade do design dos relatórios. A solução era uma combinação de html, template engine e a transformação deste template para PDF.</p><h2 id="as-ferramentas">As ferramentas</h2><p>Para o template engine usamos Thymeleaf que atualmente é um dos melhores templates engines que rodam no ambiente Java. Lembrando, os templates serão em HTML, populados dinamicamente com a ajuda do Thymeleaf para o template, então, ser convertido para um arquivo PDF. Abaixo, a dependência maven do tymeleaf:</p><pre class="language-xml shiki shiki-themes dracula" code="    <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf</artifactId>
    </dependency>

" language="xml" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#F8F8F2">    &#x3C;</span><span style="--shiki-default:#FF79C6">dependency</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="2"><span style="--shiki-default:#F8F8F2">        &#x3C;</span><span style="--shiki-default:#FF79C6">groupId</span><span style="--shiki-default:#F8F8F2">>org.thymeleaf&#x3C;/</span><span style="--shiki-default:#FF79C6">groupId</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="3"><span style="--shiki-default:#F8F8F2">        &#x3C;</span><span style="--shiki-default:#FF79C6">artifactId</span><span style="--shiki-default:#F8F8F2">>thymeleaf&#x3C;/</span><span style="--shiki-default:#FF79C6">artifactId</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="4"><span style="--shiki-default:#F8F8F2">    &#x3C;/</span><span style="--shiki-default:#FF79C6">dependency</span><span style="--shiki-default:#F8F8F2">>
</span></span></code></pre><p>Para transformar o template html para pdf foi ultilizada a biblioteca Flying Saucer. Abaixo a dependência:</p><pre class="language-xml shiki shiki-themes dracula" code="    <dependency>
        <groupId>org.xhtmlrenderer</groupId>
        <artifactId>flying-saucer-pdf</artifactId>
        <version>9.1.20</version>
    </dependency>

" language="xml" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#F8F8F2">    &#x3C;</span><span style="--shiki-default:#FF79C6">dependency</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="2"><span style="--shiki-default:#F8F8F2">        &#x3C;</span><span style="--shiki-default:#FF79C6">groupId</span><span style="--shiki-default:#F8F8F2">>org.xhtmlrenderer&#x3C;/</span><span style="--shiki-default:#FF79C6">groupId</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="3"><span style="--shiki-default:#F8F8F2">        &#x3C;</span><span style="--shiki-default:#FF79C6">artifactId</span><span style="--shiki-default:#F8F8F2">>flying-saucer-pdf&#x3C;/</span><span style="--shiki-default:#FF79C6">artifactId</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="4"><span style="--shiki-default:#F8F8F2">        &#x3C;</span><span style="--shiki-default:#FF79C6">version</span><span style="--shiki-default:#F8F8F2">>9.1.20&#x3C;/</span><span style="--shiki-default:#FF79C6">version</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="5"><span style="--shiki-default:#F8F8F2">    &#x3C;/</span><span style="--shiki-default:#FF79C6">dependency</span><span style="--shiki-default:#F8F8F2">>
</span></span></code></pre><h2 id="o-código">O código</h2><p>Para nosso exemplo, vamos criar uma declaração de nada consta que receberá o seguinte objeto:</p><p><code class="">class DadoDeclaracao</code></p><pre class="language-java shiki shiki-themes dracula" code="package br.com.vitormarcal.thymelafpdfexample;

import lombok.Value;

import java.time.LocalDate;

@Value
public class DadoDeclaracao {
    String nome;
    String cpf;
    LocalDate dataDeclaracao;
}

" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">package</span><span style="--shiki-default:#FF79C6"> br.com.vitormarcal.thymelafpdfexample</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="2"><span emptyLinePlaceholder>
</span></span><span class="line" line="3"><span style="--shiki-default:#FF79C6">import</span><span style="--shiki-default:#F8F8F2"> lombok.Value;
</span></span><span class="line" line="4"><span emptyLinePlaceholder>
</span></span><span class="line" line="5"><span style="--shiki-default:#FF79C6">import</span><span style="--shiki-default:#F8F8F2"> java.time.LocalDate;
</span></span><span class="line" line="6"><span emptyLinePlaceholder>
</span></span><span class="line" line="7"><span style="--shiki-default:#F8F8F2">@</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Value
</span></span><span class="line" line="8"><span style="--shiki-default:#FF79C6">public</span><span style="--shiki-default:#FF79C6"> class</span><span style="--shiki-default:#8BE9FD"> DadoDeclaracao</span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="9"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">    String</span><span style="--shiki-default:#F8F8F2"> nome;
</span></span><span class="line" line="10"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">    String</span><span style="--shiki-default:#F8F8F2"> cpf;
</span></span><span class="line" line="11"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">    LocalDate</span><span style="--shiki-default:#F8F8F2"> dataDeclaracao;
</span></span><span class="line" line="12"><span style="--shiki-default:#F8F8F2">}
</span></span></code></pre><p>Iremos criar um diretório dentro da pasta padrão de resources, chamado <code class="">relatorios-pdf</code>, apenas para diferenciar nossos templates relatórios daqueles templates de visão da nossa aplicação, aqueles acessados pelo cliente no navegador. Neste diretório, um template html thymeleaf. Repare que precisamos da marcação <code class="">"xmlns:th="http://www.thymeleaf.org"</code> no elemento <code class="">html</code>.</p><p><code class="">src/main/resources/relatorios-pdf/declaracao-nada-consta.html</code></p><pre class="language-html shiki shiki-themes dracula" code="<!DOCTYPE html>
<html lang=&#x22;en&#x22; xmlns:th=&#x22;http://www.thymeleaf.org&#x22;>
<head>
    <meta charset=&#x22;UTF-8&#x22;>
    <title>Declaração de nada consta</title>
</head>
<body>
    <!--/*@thymesVar id=&#x22;dado&#x22; type=&#x22;br.com.vitormarcal.thymelafpdfexample.DadoDeclaracao&#x22;*/-->
    <h1>Declaração de nada consta</h1>

    <p>Declaro para os devidos fins que <strong th:text=&#x22;${dado.nome}&#x22;></strong>
        cujo CPF número <strong th:text=&#x22;${dado.cpf}&#x22;></strong>
        não possui débitos junto a este orgão, atá a presente data.
    </p>

    <p>Data: <strong th:text=&#x22;${dado.dataDeclaracao}&#x22;></strong></p>
</body>
</html>

" language="html" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#F8F8F2">&#x3C;!</span><span style="--shiki-default:#FF79C6">DOCTYPE</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic"> html</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="2"><span style="--shiki-default:#F8F8F2">&#x3C;</span><span style="--shiki-default:#FF79C6">html</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic"> lang</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">en</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic"> xmlns:th</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">http://www.thymeleaf.org</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="3"><span style="--shiki-default:#F8F8F2">&#x3C;</span><span style="--shiki-default:#FF79C6">head</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="4"><span style="--shiki-default:#F8F8F2">    &#x3C;</span><span style="--shiki-default:#FF79C6">meta</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic"> charset</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">UTF-8</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="5"><span style="--shiki-default:#F8F8F2">    &#x3C;</span><span style="--shiki-default:#FF79C6">title</span><span style="--shiki-default:#F8F8F2">>Declaração de nada consta&#x3C;/</span><span style="--shiki-default:#FF79C6">title</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="6"><span style="--shiki-default:#F8F8F2">&#x3C;/</span><span style="--shiki-default:#FF79C6">head</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="7"><span style="--shiki-default:#F8F8F2">&#x3C;</span><span style="--shiki-default:#FF79C6">body</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="8"><span style="--shiki-default:#6272A4">    &#x3C;!--/*@thymesVar id="dado" type="br.com.vitormarcal.thymelafpdfexample.DadoDeclaracao"*/-->
</span></span><span class="line" line="9"><span style="--shiki-default:#F8F8F2">    &#x3C;</span><span style="--shiki-default:#FF79C6">h1</span><span style="--shiki-default:#F8F8F2">>Declaração de nada consta&#x3C;/</span><span style="--shiki-default:#FF79C6">h1</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="10"><span emptyLinePlaceholder>
</span></span><span class="line" line="11"><span style="--shiki-default:#F8F8F2">    &#x3C;</span><span style="--shiki-default:#FF79C6">p</span><span style="--shiki-default:#F8F8F2">>Declaro para os devidos fins que &#x3C;</span><span style="--shiki-default:#FF79C6">strong</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic"> th:text</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">${dado.nome}</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">>&#x3C;/</span><span style="--shiki-default:#FF79C6">strong</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="12"><span style="--shiki-default:#F8F8F2">        cujo CPF número &#x3C;</span><span style="--shiki-default:#FF79C6">strong</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic"> th:text</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">${dado.cpf}</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">>&#x3C;/</span><span style="--shiki-default:#FF79C6">strong</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="13"><span style="--shiki-default:#F8F8F2">        não possui débitos junto a este orgão, atá a presente data.
</span></span><span class="line" line="14"><span style="--shiki-default:#F8F8F2">    &#x3C;/</span><span style="--shiki-default:#FF79C6">p</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="15"><span emptyLinePlaceholder>
</span></span><span class="line" line="16"><span style="--shiki-default:#F8F8F2">    &#x3C;</span><span style="--shiki-default:#FF79C6">p</span><span style="--shiki-default:#F8F8F2">>Data: &#x3C;</span><span style="--shiki-default:#FF79C6">strong</span><span style="--shiki-default:#50FA7B;--shiki-default-font-style:italic"> th:text</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">${dado.dataDeclaracao}</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">>&#x3C;/</span><span style="--shiki-default:#FF79C6">strong</span><span style="--shiki-default:#F8F8F2">>&#x3C;/</span><span style="--shiki-default:#FF79C6">p</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="17"><span style="--shiki-default:#F8F8F2">&#x3C;/</span><span style="--shiki-default:#FF79C6">body</span><span style="--shiki-default:#F8F8F2">>
</span></span><span class="line" line="18"><span style="--shiki-default:#F8F8F2">&#x3C;/</span><span style="--shiki-default:#FF79C6">html</span><span style="--shiki-default:#F8F8F2">>
</span></span></code></pre><p>Precisamos configurar o template engine thymeleaf. Isso pode ser feito criando um bean em uma classe de configuração e injetando ele em nosso componente. Também podemos fazer essa configuração em nosso componente, neste caso no construtor dele.</p><pre class="language-java shiki shiki-themes dracula" code="ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setSuffix(&#x22;.html&#x22;);
templateResolver.setPrefix(&#x22;templates-pdf/&#x22;);
templateResolver.setTemplateMode(TemplateMode.HTML);

templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(templateResolver);

" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">ClassLoaderTemplateResolver</span><span style="--shiki-default:#F8F8F2"> templateResolver </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> ClassLoaderTemplateResolver</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="2"><span style="--shiki-default:#F8F8F2">templateResolver.</span><span style="--shiki-default:#50FA7B">setSuffix</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">.html</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="3"><span style="--shiki-default:#F8F8F2">templateResolver.</span><span style="--shiki-default:#50FA7B">setPrefix</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">templates-pdf/</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="4"><span style="--shiki-default:#F8F8F2">templateResolver.</span><span style="--shiki-default:#50FA7B">setTemplateMode</span><span style="--shiki-default:#F8F8F2">(TemplateMode.HTML);
</span></span><span class="line" line="5"><span emptyLinePlaceholder>
</span></span><span class="line" line="6"><span style="--shiki-default:#F8F8F2">templateEngine </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> TemplateEngine</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="7"><span style="--shiki-default:#F8F8F2">templateEngine.</span><span style="--shiki-default:#50FA7B">setTemplateResolver</span><span style="--shiki-default:#F8F8F2">(templateResolver);
</span></span></code></pre><p>Para popular os dados dinâmicos do template precisaremos do nome do template e os objetos a serem populados:</p><pre class="language-java shiki shiki-themes dracula" code="    private String parseThymeleafTemplate(String template, Context context) {
            return templateEngine.process(template, context);
    }

" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">    private</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> String</span><span style="--shiki-default:#50FA7B"> parseThymeleafTemplate</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">String</span><span style="--shiki-default:#F8F8F2"> template, </span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Context</span><span style="--shiki-default:#F8F8F2"> context) {
</span></span><span class="line" line="2"><span style="--shiki-default:#FF79C6">            return</span><span style="--shiki-default:#F8F8F2"> templateEngine.</span><span style="--shiki-default:#50FA7B">process</span><span style="--shiki-default:#F8F8F2">(template, context);
</span></span><span class="line" line="3"><span style="--shiki-default:#F8F8F2">    }
</span></span></code></pre><p>Uma vez que temos o html já com os dados populados, basta converter ele para um PDF:</p><pre class="language-java shiki shiki-themes dracula" code="public byte[] gerarPdfDoHtml(String nomeTemplate, Context context) {

        String html = parseThymeleafTemplate(nomeTemplate, context);
        try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {

            ITextRenderer renderer = new ITextRenderer();
            renderer.setDocumentFromString(html);
            renderer.layout();
            renderer.createPDF(outputStream);
            return outputStream.toByteArray();
        } catch (DocumentException | IOException e) {
            e.printStackTrace();
        }

        return new byte[0];
}

" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">public</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> byte</span><span style="--shiki-default:#F8F8F2">[] </span><span style="--shiki-default:#50FA7B">gerarPdfDoHtml</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">String</span><span style="--shiki-default:#F8F8F2"> nomeTemplate, </span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Context</span><span style="--shiki-default:#F8F8F2"> context) {
</span></span><span class="line" line="2"><span emptyLinePlaceholder>
</span></span><span class="line" line="3"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        String</span><span style="--shiki-default:#F8F8F2"> html </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#50FA7B"> parseThymeleafTemplate</span><span style="--shiki-default:#F8F8F2">(nomeTemplate, context);
</span></span><span class="line" line="4"><span style="--shiki-default:#FF79C6">        try</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">ByteArrayOutputStream</span><span style="--shiki-default:#F8F8F2"> outputStream </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> ByteArrayOutputStream</span><span style="--shiki-default:#F8F8F2">()) {
</span></span><span class="line" line="5"><span emptyLinePlaceholder>
</span></span><span class="line" line="6"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">            ITextRenderer</span><span style="--shiki-default:#F8F8F2"> renderer </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> ITextRenderer</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="7"><span style="--shiki-default:#F8F8F2">            renderer.</span><span style="--shiki-default:#50FA7B">setDocumentFromString</span><span style="--shiki-default:#F8F8F2">(html);
</span></span><span class="line" line="8"><span style="--shiki-default:#F8F8F2">            renderer.</span><span style="--shiki-default:#50FA7B">layout</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="9"><span style="--shiki-default:#F8F8F2">            renderer.</span><span style="--shiki-default:#50FA7B">createPDF</span><span style="--shiki-default:#F8F8F2">(outputStream);
</span></span><span class="line" line="10"><span style="--shiki-default:#FF79C6">            return</span><span style="--shiki-default:#F8F8F2"> outputStream.</span><span style="--shiki-default:#50FA7B">toByteArray</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="11"><span style="--shiki-default:#F8F8F2">        } </span><span style="--shiki-default:#FF79C6">catch</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">DocumentException</span><span style="--shiki-default:#F8F8F2"> | </span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">IOException</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic"> e</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="12"><span style="--shiki-default:#F8F8F2">            e.</span><span style="--shiki-default:#50FA7B">printStackTrace</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="13"><span style="--shiki-default:#F8F8F2">        }
</span></span><span class="line" line="14"><span emptyLinePlaceholder>
</span></span><span class="line" line="15"><span style="--shiki-default:#FF79C6">        return</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> byte</span><span style="--shiki-default:#F8F8F2">[</span><span style="--shiki-default:#BD93F9">0</span><span style="--shiki-default:#F8F8F2">];
</span></span><span class="line" line="16"><span style="--shiki-default:#F8F8F2">}
</span></span></code></pre><p>Isso é tudo o que precisamos. Uma chamada ao componente pode ser feita como:</p><pre class="language-java shiki shiki-themes dracula" code="Context context = new Context();
DadoDeclaracao dadoDeclaracao = new DadoDeclaracao(&#x22;fulano&#x22;, &#x22;03490113101&#x22;, LocalDate.now());
context.setVariable(&#x22;dado&#x22;, dadoDeclaracao);
bytes[] arquivo = componente.gerarPdfDoHtml(&#x22;declaracao-nada-consta&#x22;, contexto);

" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Context</span><span style="--shiki-default:#F8F8F2"> context </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> Context</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="2"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">DadoDeclaracao</span><span style="--shiki-default:#F8F8F2"> dadoDeclaracao </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> DadoDeclaracao</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">fulano</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">, </span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">03490113101</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">, LocalDate.</span><span style="--shiki-default:#50FA7B">now</span><span style="--shiki-default:#F8F8F2">());
</span></span><span class="line" line="3"><span style="--shiki-default:#F8F8F2">context.</span><span style="--shiki-default:#50FA7B">setVariable</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">dado</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">, dadoDeclaracao);
</span></span><span class="line" line="4"><span style="--shiki-default:#F8F8F2">bytes[] arquivo </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> componente.</span><span style="--shiki-default:#50FA7B">gerarPdfDoHtml</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">declaracao-nada-consta</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">, contexto);
</span></span></code></pre><h2 id="conclusão">Conclusão</h2><p>Essa é uma forma simples de gerar relatórios aproveitando todas as skills que desenvolvedores têm no frontend. Lembrando que não substitui ferramentas poderosas como iReport, seu uso deverá ser ponderado de acordo com a necessidade e o valor agregado ao seu projeto.</p><p>Um problema dessa solução é que não existe suporte para features do <code class="">CSS3</code>, pela sua inviabilidade de desenvolver e calcular isso por dentro da biblioteca que trasforma html para pdf. Então, se você precisa muito dessas features, usar esta solução é um caso a se pensar.</p><p>A implementação completa deste exemplo pode ser <a href="https://github.com/vitormarcal/thymelaf-pdf-example" rel="nofollow" title="Código completo do artigo">encontrada neste repositório do GitHub</a>.</p><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Como gerar pdf com thymeleaf no java">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>programacao</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Guia Bitcoin]]></title>
            <link>https://www.marcal.dev/guia-bitcoin</link>
            <guid isPermaLink="false">/guia-bitcoin#updated_at#2024-03-03T12:10:00</guid>
            <pubDate>Sun, 03 Mar 2024 12:10:00 GMT</pubDate>
            <description><![CDATA[Guia de conceitos básicos sobre o bitcoin, de leigo para leigo!]]></description>
            <content:encoded><![CDATA[
            <p><img alt="guia-bitcoin" src="img/guia-bitcoin.jpg"></p><p>Esse é um guia de conceitos básicos sobre o bitcoin. Estou adicionando mais informações à medida que vou aprendendo mais. Por mais que as informações aqui possam ser úteis e que eu tenha tentado transmiti-las da forma mais correta possível, essas informações foram reunidas na medida em que eu mesmo fui pesquisando e aprendendo um pouco mais sobre o assunto. Portanto, ainda assim podem ter algumas informações não muito precisas. Caso ocorra, agradeço a gentileza de me informar que corrijo o mais breve possível! Não confie, verifique! ⚠️ <strong>Atualizado em 15 de Fevereiro de 2024</strong>.</p><p><strong>TD; DR:</strong> O bitcoin é uma moeda digital, que proporciona liberdade financeira, anonimato relativo, resistência à censura, inconfiscabilidade, inclusividade, transparência e acesso global.</p><h2 id="sumário">Sumário</h2><ul><li><a href="#para-que-serve-o-bitcoin">Para que serve o Bitcoin</a></li><li><a href="#a-moeda-bitcoin-e-satoshi">A moeda: bitcoin e satoshi</a></li><li><a href="#chaves-privadas-e-p%C3%BAblicas">Chaves privadas e públicas</a></li><li><a href="#carteiras-bitcoin">Carteiras Bitcoin</a></li><li><a href="#utxo-e-consolida%C3%A7%C3%A3o-de-moedas">UTXO e consolidação de moedas</a></li><li><a href="#instalando-um-full-node-bitcoin">Instalando um Full Node Bitcoin</a></li><li><a href="#conclus%C3%A3o">Conclusão</a></li><li><a href="#refer%C3%AAncias">Referências</a></li></ul><h2 id="para-que-serve-o-bitcoin">Para que serve o Bitcoin</h2><p>Para entender a utilidade do bitcoin, antes temos que entender como funcionam as transações bancárias ao menos de forma simples. Imagine uma transferência entre contas de banco. O banco, ou o Estado, no caso das transações feitas por PIX no Brasil, age como uma parte terceira confiável. Você pode enviar e receber dinheiro na sua conta bancária, e o banco é o responsável por garantir a autenticidade da transação. Em tese, ele garante que quem enviou o dinheiro realmente o tinha, e quem deveria receber realmente o recebeu. Caso a transferência seja entre bancos diferentes, é um pouco diferente, mas a essência é a mesma.</p><p>Existem alguns problemas nessa abordagem. O banco, como terceiro confiável, sabe, além do valor e identificação das contas envolvidas, a identidade de ambas as partes, remetente e destinatário. Ele tem posse de documentos de identificação, endereços, telefones e, hoje em dia, com a tecnologia mobile, o banco tem posse até mesmo da identidade biométrica de uma pessoa. Outro problema é que uma transação entre contas pode ser bloqueada, revertida, cancelada, sem o consentimento das partes envolvidas.</p><p>Podemos resumir sobre o que é bitcoin e para que serve, parafraseando a conclusão do white paper <a href="https://bitcoin.org/files/bitcoin-paper/bitcoin_pt_br.pdf" rel="nofollow">Bitcoin: Um Sistema de Dinheiro Eletrônico Peer-to-Peer</a> escrito pelo próprio criador, Satoshi Nakamoto, abaixo (ou pule para a minha explicação, logo após):</p><details>
	<summary>Clique aqui para ler a conclusão do White Paper</summary>
	<p>Propusemos um sistema de transações eletrônicas, sem depender de confiança. Começamos com o framework habitual de moedas feitas de assinaturas digitais, que fornece um forte controle de propriedade, mas é incompleto sem uma maneira de evitar o gasto duplo. Para resolver isso, propusemos uma rede peer-to-peer usando prova de trabalho para gravar um histórico público de transações que rapidamente se torna computacionalmente impraticável para um atacante para mudar se nós honestos controlarem a maioria do poder de CPU. \[..\]Os nós trabalham todos de uma vez, com pouca coordenação. Eles não precisam ser identificados, uma vez que as mensagens não são roteadas para qualquer lugar particular e só precisam ser apresentadas em regime de melhor esforço. \[...\]. Eles votam com seu poder de CPU, expressando a aceitação de blocos válidos, trabalhando em estendê-los e rejeitando blocos inválidos, recusando-se a trabalhar com eles. Todas as regras e incentivos necessários podem ser aplicados com este mecanismo de consenso.</p></details><p>O que a conclusão afirma é que foi proposto um sistema de dinheiro eletrônico que não depende de um terceiro confiável. Esse sistema é baseado em moedas feitas de assinaturas digitais e um histórico público de todas as transações feitas, a tal da <strong>blockchain</strong>.</p><p>Para gravar uma transação na rede, é exigido uma prova de trabalho, que vai ficando cada vez mais complexa com o tempo, exigindo muito poder computacional, inviabilizando que um agente malicioso tente atacar a rede escrevendo transações inválidas, já que ele teria que reescrever toda a cadeia do bloco. A rede teria alguns a gentes independentes, nós, que verificariam cada transação e votariam com seu processamento na aceitação de blocos válidos e rejeitando blocos inválidos.</p><p>A grosso modo, é assim que funciona o bitcoin, de forma que para enviar moedas, você não precisa informar seus dados pessoais, desde que suas moedas sejam legítimas e reconhecidas pela rede. Ao fazer uma transferência para outra carteira, nós irão verificar a validade da transação, evitando por exemplo, um gasto duplo, e por consenso, validarão o bloco na blockchain. Ao contrário de uma transferência bancária, um gasto de bitcoin não pode ser revertido ou cancelado. A blockchain, não pode ser reescrita! Por isso é importante ter muito cuidado ao manipular suas moedas.</p><h2 id="a-moeda-bitcoin-e-satoshi">A moeda: bitcoin e satoshi</h2><p>Assim como outras moedas, o bitcoin é divisível. O Satoshi está para o Bitcoin assim como o centavo está para o real. No Real temos 1 real ou 100 centavos, que é 0,01 real, a menor unidade do Real. No bitcoin temos 1 satoshi ou sat que é 0,00000001 bitcoin. Note que é mais fácil falar 1 satoshi do que 0,00000001 bitcoin. Seja 1 BTC ou 1 satoshi, as moedas estão na blockchain, o tal histórico público.</p><p>Novas moedas bitcoin são geradas a partir de prova de trabalho, matematicamente por meio de computadores. Esse processo é conhecido como "<strong>mineração</strong>" e só existirão 21 milhões de moedas bitcoin para sempre.</p><p>A cada 4 anos, ou a cada 240 mil blocos, ocorre o evento chamado <strong>Halving</strong>. Nesse evento, a recompensa dos mineradores por cada bloco minerado cai pela metade, tornando o bitcoin mais escasso. Isso significa que o bitcoin é uma moeda escassa e não é uma moeda inflacionária. A última moeda a ser minerada será emitida até 2140.</p><p>Sejam bitcoins ou satoshis, você só conseguirá transacionar essas moedas com a chave privada correta que dá acesso às suas moedas. Isso nos leva ao próximo tópico.</p><h2 id="chaves-privadas-e-públicas">Chaves privadas e públicas</h2><p>Uma chave privada, em termos simples, é como uma senha que você não deve compartilhar com ninguém! Com ela, você pode assinar transações e enviar bitcoins para outras pessoas. Essa informação é extremamente sigilosa; não há outra maneira de colocar isso: se alguém souber qual é sua chave privada, seus bitcoins podem ser roubados! Se você perder sua chave privada, seus bitcoins ficarão inacessíveis e você não conseguirá utilizá-los. Simples assim.</p><p>A chave privada, ou chave privada mestra (<strong>Master Private Key</strong>), assim como a chave pública, é composta por 256 bits ou 78 números aleatórios. É um número consideravelmente grande, tornando a probabilidade de gerar um número já utilizado por outra pessoa bastante baixa. A partir da chave privada, a chave pública é gerada.</p><p>A chave pública, ou chave pública mestra (<strong>Master Public Key</strong>), atua como o seu endereço na rede Bitcoin. Antigamente, esse endereço era público, e para que eu pudesse enviar bitcoins para você, eu deveria enviar para esse endereço. Com a posse da sua chave privada, você poderia então transferir os bitcoins para outro endereço público. Embora ainda funcione dessa maneira, não é mais a prática mais recomendada.</p><p>Para solucionar potenciais problemas de segurança e privacidade, é comum hoje em dia gerar um endereço público (outra chave pública) derivado matematicamente da chave pública mestre. Dessa forma, ao enviar uma moeda, é recomendável que o destinatário crie um endereço público derivado da sua chave pública mestre. Em seguida, ele compartilhará esse endereço público com o remetente, que o utilizará para enviar as moedas. Isso resulta em sua chave pública e privada tornando-se informações pessoais, e o que você compartilhará é o endereço público derivado da sua chave pública mestre.</p><p><img alt="Relações entre as chaves BTC" src="img/relacoees-entre-as-chaves-BTC.png"></p><p>Observe que ao informar sua chave pública mestra, todas as suas transações nos endereços públicos relacionados a ela serão conhecidas. Isso é prejudicial para a privacidade, por isso, utilize chaves públicas geradas a partir da chave pública mestra. Por fim, nunca divulgue sua chave privada, pois uma vez informada, sua conta estará comprometida e outra pessoa poderá sacar suas moedas.</p><p>Hoje em dia, é bastante comum utilizar as seeds, que são mnemônicos para a chave privada. São 24 palavras, normalmente em inglês, cada palavra correspondendo a um número. Na carteira <a href="https://electrum.org/" rel="nofollow">Electrum</a>, por exemplo, ao criar uma nova carteira, é gerada uma seed. Com isso, o processo de recuperar e fazer backup da carteira torna-se simples. É crucial que você anote as seeds exatamente como apareceram no momento da criação e na mesma ordem. Caso não anote exatamente, você perderá acesso à carteira. Mas o que é uma carteira? Respondo a seguir.</p><h2 id="carteiras-bitcoin">Carteiras Bitcoin</h2><p>Uma carteira digital armazena e protege suas chaves privadas, aquelas mesmas que dão acesso às suas moedas.</p><p>As carteiras bitcoin podem ser <strong>hot wallets</strong> ou <strong>cold wallets</strong>:</p><p>Hot wallets são carteiras conectadas o tempo todo à internet e, por isso, tendem a ser mais vulneráveis a hacking. Ideais para transferências do dia a dia e valores menores.</p><p>Já as Cold wallets sã carteiras que ficam desconectadas da internet, podendo ser uma carteira de papel ou também um dispositivo de hardware, semelhante a um pen drive.</p><h2 id="utxo-e-consolidação-de-moedas">UTXO e consolidação de moedas</h2><p>UTXO, basicamente, refere-se ao valor que você pode gastar em um endereço Bitcoin. Para gastar um UTXO, é necessário ter recebido fundos em sua carteira anteriormente. Cada UTXO contém informações sobre o endereço do remetente e do destinatário, tornando bastante difícil gastá-lo mais de uma vez. Dado que o tema é relativamente extenso, decidi dedicar um post completo explicando em detalhes <a href="o-que-e-utxo">o que é UTXO</a>.</p><h2 id="instalando-um-full-node-bitcoin">Instalando um Full Node Bitcoin</h2><p>Um nó Bitcoin é basicamente um computador que roda o software Bitcoin Core e se conecta à rede Bitcoin. Ele guarda uma cópia completa da blockchain do Bitcoin e, além disso, verifica e retransmite transações. Ter um nó Bitcoin ativo é uma forma fantástica de colaborar para a segurança e descentralização da rede Bitcoin. Ao manter um nó completo, você verifica todas as transações e blocos por conta própria, sem depender de terceiros. Seus dados e transações ficam seguros, sem serem expostos a terceiros, como provedores de carteiras ou exploradores de blocos.</p><p>Eu criei um um post dedicado documentando os passos para <a href="como-configurar-um-node-bitcoin">instalar e configurar um node</a>.</p><h2 id="conclusão">Conclusão</h2><p>O Bitcoin é uma inovação que desafia as estruturas tradicionais, oferecendo liberdade financeira e resistência à manipulação. Seu funcionamento, baseado em uma rede descentralizada e na imutabilidade da blockchain, proporciona transações seguras e transparentes, livres das amarras dos sistemas financeiros convencionais.</p><p>Então é isso. Ainda há muito a aprender e esse guia de conceitos básicos está longe de estar completo. Ainda nem falei sobre as opções de carteiras, sobre ⚡<strong>Lightning Network</strong> etc. Escrevi esse guia primeiramente para mim e vou atualizá-lo ainda muito mais, não confio na minha memória e essa página é para ser uma forma fácil de eu checar algum conceito que aprendi. Espero que seja útil também para qualquer um que chegar aqui mas não confie em mim, verifique. Busque outras fontes, experimente!</p><p>Lembre-se: uma chave privada é uma responsabilidade que não pode ser compartilhada, e a imutabilidade da blockchain é o alicerce da confiança. Nesse mundo digital, a precaução é a chave para a preservação da autonomia financeira. Portanto, mantenha suas chaves seguras, sua compreensão firme e seu espírito explorador ativo. O Bitcoin é mais do que uma moeda; é um convite para redefinir o conceito de autonomia financeira no século XXI.</p><p>Vamos nessa! 🚀</p><hr><h2 id="referências">Referências</h2><ul><li><a href="https://bitcoin.org/files/bitcoin-paper/bitcoin_pt_br.pdf" rel="nofollow">White Paper: Bitcoin: Um Sistema de Dinheiro Eletrônico Peer-to-Peer</a></li><li><a href="https://bitcoin.org/" rel="nofollow">Bitcoin.org</a></li><li><a href="https://www.blog.areabitcoin.com.br/o-que-e-bitcoin/" rel="nofollow">O que é bitcoin</a></li><li><a href="https://oi.arataacademy.com/lp/como-usar-bitcoin-guia-basico/" rel="nofollow">Como usar bitcoin – um guia básico</a></li><li><a href="https://www.youtube.com/watch?v=LHY3Ofhwo8w" rel="nofollow">MEGA TUTORIAL BITCOIN - Como comprar, vender, corretora, bisq, lightning, e como funciona o BITCOIN</a></li><li><a href="https://portaldobitcoin.uol.com.br/chave-publica-e-privada-do-bitcoin-entenda-o-que-sao-e-como-funcionam/" rel="nofollow">Chave pública e privada do Bitcoin: entenda o que são e como funcionam</a></li><li><a href="https://academy.bit2me.com/pt/qual-%C3%A9-a-chave-p%C3%BAblica-mestra/" rel="nofollow">O que é a Master Public Key?</a></li></ul>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Guia Bitcoin">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>bitcoin</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/guia-bitcoin.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Um Ladrão Honesto]]></title>
            <link>https://www.marcal.dev/um-ladrao-honesto</link>
            <guid isPermaLink="false">/um-ladrao-honesto#updated_at#2024-03-02T16:00:00</guid>
            <pubDate>Sat, 02 Mar 2024 16:00:00 GMT</pubDate>
            <description><![CDATA[Um breve conto e uma boa introdução à Fiodor Dostoievski antes de enfrentar os calhamaços clássicos do autor.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Um Ladrão Honesto - Fiodor Dostoievski" src="img/um_ladrao_honesto.jpg"></p><p>Já vem um tempo que quero consumir mais Fiodor Dostoievski e saber se realmente é isso tudo que dizem por aí. Minha primeira leitura, o livro Noites Brancas, me marcou bastante e dizem que é um livro com um estilo atípico do que se tem do mesmo autor. É até mesmo uma história breve. Normalmente, seus livros são calhamaços, portanto assim como o romance Noites Brancas, a leitura de contos costuma ser uma boa introdução a o autor. Dessa vez escolhi o conto Um Ladrão Honesto.</p><p>No decorrer da leitura, destaquei uma citação muito verdadeira que não pode ser esquecida jamais:</p><blockquote><p>Ao meu ver, não há um verme pior no mundo do que um ladrão. Outros podem levar algo de graça, mas um ladrão rouba o trabalho das suas mãos, o suor da sua testa, o seu tempo...</p></blockquote><p>Seja o ladrão moderno de galinhas (um ladrão de celular), um funcionário público corrupto, um político desviando verbas, um comunista ou um fascista, todos, de uma maneira ou de outra, são ladrões que usurpam o fruto do nosso trabalho, o esforço dedicado e nosso bem mais valioso: o tempo. Cada bem conquistado representa horas de trabalho, distante da família, do descanso, com sacrifícios significativos. Aquele que rouba horas de trabalho, rouba tempo de vida, de modo que aquele que rouba alguém rouba sua liberdade!</p><p>Registro isso ao notar que o brasileiro médio trabalha quase 5 meses para pagar impostos e que, no <a href="https://impostometro.com.br/" rel="nofollow">site impostometro</a>, na data de hoje, registra 2.93 trilhões de impostos retirados da população. Por muito menos, houve a inconfidência mineira e toda a história envolvendo Tiradentes.</p><p>Voltando ao conto, sinto que acabei lendo este conto rápido de mais, de modo que talvez eu o releia novamente. É uma boa história que ilustra a importância da humildade, reconhecer seus erros e também a importância de conceder o perdão.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Um Ladrão Honesto">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>liberdade</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/um_ladrao_honesto.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O Planeta dos Macacos]]></title>
            <link>https://www.marcal.dev/o-planeta-dos-macacos</link>
            <guid isPermaLink="false">/o-planeta-dos-macacos</guid>
            <pubDate>Mon, 26 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Uma viagem incrível de imaginação. Mesmo já sabendo o final, pude ser pego de surpresa em seus diversos ganchos.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="O Planeta dos Macacos" src="img/planeta_dos_macacos.jpg"></p><p>Esse eu já havia lido em minha adolescência e mesmo agora, depois de adulto, posso dizer: um clássico da ficção científica!</p><blockquote><p>Uma tripulação de cientistas desbrava o espaço e descobre uma terrível verdade: no mundo em que pousaram, os seres humanos não passam de bestas selvagens a serviço da espécie dominante: os macacos. Desde as primeiras páginas até o desfecho surpreendente – ainda mais impactante do que a famosa cena que encerra o ﬁlme de 1968 –, O planeta dos macacos é um romance de tirar o fôlego, com boa dose de inquietação e sarcasmo.<br>
Publicado pela primeira vez em 1963, o livro inspirou uma das franquias mais bem-sucedidas da história do cinema. Com milhões de exemplares vendidos ao redor do mundo, O planeta dos macacos é um dos maiores clássicos da ﬁcção cientíﬁca, imprescindível aos fãs de cultura pop.</p></blockquote><p>Essa é o tipo de história que me faz lembrar dos tempos em que eu tinha mais tempo, na minha juventude, e devorava histórias de Isaac Asimov, Carl Sagan, Júlio Verne... Isso me trouxe uma nostalgia agradável, e acho que deveria ler mais desses clássicos da Ficção Científica com mais frequência.</p><p>Em certo momento, explorei toda a franquia de 'O Planeta dos Macacos': filmes, séries, quadrinhos (embora nem todos sejam tão bons). Acaba que o filme e a história do livro divergem em vários pontos, principalmente no final, mas de toda forma, ambos são ótimos em suas mídias. Este ano, em 2024, deve ser lançado o filme "Planeta dos Macacos: O Reinado" e com certeza acompanharei.</p><p>Na minha opinião, o final que funciona melhor é o do filme original, onde os acontecimentos se desenrolam em uma Terra futurística. No livro, os eventos ocorrem realmente em outro planeta, o que torna a trama bastante implausível. Afinal, como seria possível que a fauna desse planeta se desenvolvesse de maneira tão semelhante à fauna da Terra?</p><p>O autor, acredito que acertadamente, não se preocupou muito com os detalhes técnicos da história, às vezes deixando de explicar como uma viagem espacial tão distante pelo espaço foi realizada em tão pouco tempo. Além disso, ele não aborda como espécies tão semelhantes puderam evoluir em um planeta diferente.</p><p>Considero muitas vezes, até acertado, pois essa falta de informações contribui para a leitura simples e fluída do texto. Fica a cargo do leitor acreditar ou imaginar os possíveis motivos. Eu mesmo fiquei imaginando que a tal viagem estelar não tinha sido realizada, mas apenas uma viagem no tempo, e que os protagonistas não tinham saído do sistema solar o tempo todo. Essa hipótese acabou se provando errada, uma vez que no final o protagonista conseguiu voltar à Terra, e é descrito o Sol, a Terra, os formatos dos continentes, assim como nós conhecemos. Ou será que de alguma forma ele voltou ao passado? Mais uma vez, cabe aqui a interpretação do leitor.</p><p>Essa é uma bela edição com uma capa e contracapa com arte que faz parecer uma história em quadrinhos. Ela veio acompanhada com um ímã, desnecessário, mas legal também.</p><p>Devorei em duas noites. Também pudera, bastante divertido, com uma linguagem clara e simples. É uma viagem incrível de imaginação. Mesmo já sabendo o final, pude ser pego de surpresa em seus diversos ganchos.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O Planeta dos Macacos">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>sci-fi</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/planeta_dos_macacos.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Aprenda Inglês num piscar de olhos]]></title>
            <link>https://www.marcal.dev/aprenda-ingles-num-piscar-de-olhos</link>
            <guid isPermaLink="false">/aprenda-ingles-num-piscar-de-olhos#updated_at#2024-02-21</guid>
            <pubDate>Wed, 21 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Anotações sobre a leitura do livro "Aprenda Inglês num piscar de olhos" de Fabiana Lara.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Aprenda Inglês num piscar de olhos" src="img/aprenda-ingles-num-piscar-de-olhos.jpg"></p><p>Outro dia, enquanto passeava na livraria, esse livro chamou minha atenção. Sem saber nada sobre ele, decidi comprá-lo
por 15 reais, acreditando que seria um bom investimento. Surpreendentemente, o livro estava mais barato na livraria do
que online, onde o mesmo exemplar custava 50 reais, com frete grátis na Amazon. Após a leitura, verifiquei novamente na
Amazon e o preço tinha diminuído para 10 reais mais 10 de frete. Mesmo assim, considero que fiz uma boa compra.</p><p>Não esperava muito do livro, mas ao lê-lo com seriedade, gostei especialmente da primeira parte, que aborda aspectos
mais "coach". A segunda parte apresenta conteúdos como tabelas com exemplos de frases e palavras comuns, slangs, phrasal
verbs e palavras frequentes em inglês. Apesar de valioso, prefiro a primeira parte, que me ajudou a refletir sobre minha
trajetória no aprendizado do idioma e me motivou para o futuro.</p><p>Contrariando o título do livro, aprender inglês ou qualquer outro idioma instantaneamente não é possível. O livro
destaca a importância de enfrentar desconfortos, planejar adequadamente, alinhar expectativas, ser realista e manter a
motivação. As três áreas fundamentais são: Mentalidade, Força de Vontade e Método.</p><h2 id="sumário">Sumário</h2><ul><li><a href="#sobre-meu-objetivo">Sobre meu objetivo</a></li><li><a href="#ferramentas">Ferramentas</a></li><li><a href="#frequ%C3%AAncia">Frequência</a></li><li><a href="#metodologias">Metodologias</a><ul><li><a href="#timeline-from-hell">Timeline from hell</a><ul><li><a href="#gram%C3%A1tica">Gramática</a></li></ul></li><li><a href="#a-timeline-ideal">A timeline ideal</a></li></ul></li><li><a href="#ouvir-%C3%A9-preciso">Ouvir é preciso</a></li><li><a href="#dica-de-estudo">Dica de estudo</a></li><li><a href="#h%C3%A1bitos">Hábitos</a></li><li><a href="#tldr-do-livro">TL;DR do livro</a></li></ul><h2 id="sobre-meu-objetivo">Sobre meu objetivo</h2><p>Preciso ter clareza sobre meus objetivos ao estudar inglês. Quero consumir mídia em inglês, como música, livros e filmes
sem depender de legendas. Além disso, almejo uma comunicação eficaz para conseguir um trabalho internacional e ganhar em
dólar ou euro.</p><h2 id="ferramentas">Ferramentas</h2><p>É crucial conhecer as ferramentas disponíveis para atingir meus objetivos. Minhas opções incluem:</p><ul><li>Telefone celular 📱</li><li>Tablet 📱</li><li>Notebook 💻</li><li>Livros, mangás e quadrinhos em inglês que já tenho ou pretendo ler 📚</li><li>Um caderno de anotações 📓</li><li>Internet 🕸️</li><li>Anki 🔁</li></ul><p>Essas ferramentas oferecem uma variedade de recursos que posso explorar para otimizar meu aprendizado e alcançar
efetivamente minhas metas.</p><h2 id="frequência">Frequência</h2><p>Praticar inglês diariamente é essencial. A exposição constante ao idioma, seja através de artigos, música, noticiários
ou podcasts, é crucial para o progresso. Estudar apenas duas vezes por semana não será suficiente para atingir o
objetivo desejado.</p><h2 id="metodologias">Metodologias</h2><blockquote><p>A metodologia que você utiliza é uma das coisas mais importantes. O "como" é tão importante quanto o "o quê".</p></blockquote><h3 id="timeline-from-hell">Timeline from hell</h3><p>Me identifiquei, infelizmente, com o que é descrito como 'Timeline from hell'. Essa linha do tempo é cercada por ciclos
intermináveis de inícios e interrupções. Sempre apresentamos desculpas para todas as rupturas e desistências, tais como:</p><ul><li>Tive um problema de saúde</li><li>fiquei desempregado</li><li>não gostei da metodologia</li><li>me divorciei/me mudei/me casei</li></ul><p>Problemas acontecem. Qual foi o último ano em que nada de ruim aconteceu? Deve-se ter um plano para contornar esses
problemas antes que eles ocorram.</p><p>É importante ser realista e ter bastante clareza sobre o que pode distrair dos objetivos. Ao ter em mente o que pode lhe
distrair, você pode se planejar e traçar planos que contornem ou compensem essas situações.</p><blockquote><p>Ao falhar na preparação, estará, na verdade, preparando-se para o fracasso.</p></blockquote><p>Por exemplo, no meu caso, o que pode me distrair são:</p><ul><li>O horário de trabalho, que pode se estender até mais tarde.</li><li>O cansaço do dia de trabalho, que pode fazer com que eu não queira estudar.</li><li>Tarefas domésticas, como lavar louça, limpar a casa e o banheiro.</li><li>Pessoas que convivem comigo demandando atenção.</li></ul><p>Quais são as saídas/soluções que posso encontrar para quando essas situações ocorrerem?</p><ul><li>Tentar estudar ou adiantar o estudo durante o dia ou na parte da manhã pode evitar que eu não estude por causa do
trabalho, além de prevenir que minha mente esteja cansada no final do dia.</li><li>Uma boa ideia é reservar meia hora a uma hora pela manhã para estudar. Durante o dia, fazer algumas pausas no trabalho
de 10 a 15 minutos para revisar ou estudar algo. No final do dia, continuar o estudo de acordo com a disposição e
necessidade.</li></ul><h4 id="gramática">Gramática</h4><blockquote><p>Mesmo sem estudar as regras gramaticais, é possível perceber o que é certo e o que é errado simplesmente porque o
errado soa estranho. Às vezes, você diz algo, para, pensa bem e percebe que nunca ouviu aquilo antes, que soa muito
esquisito e que parece haver algo errado. Nesse momento, você compreende que está dizendo algo gramaticalmente
incorreto.</p></blockquote><p>Isso faz bastante sentido, basta lembrar quando começamos a aprender nossa língua materna. Aprendemos a falar antes de
conhecer as regras gramaticais. Inicialmente, focamos em ouvir e repetir constantemente o que os outros falam. Somente
mais tarde é que estudamos as regras da construção de uma oração, como artigos, substantivos, pronomes, verbos, entre
outros.</p><p>Precisamos ter as frases como exemplos, compreender seu sentido e imitá-las. Eu utilizo o Anki, uma ferramenta de
repetição espaçada, para criar baralhos de frases que vou aprendendo e revisando ao longo do tempo.</p><p>É fundamental praticar a fala e o entendimento, não ficar apenas na teoria. Estudar apenas com foco na gramática pode se
tornar massante e cansativo, envolvendo a memorização de milhares de regras com pouco foco no entendimento. Concordo com
a autora nesse ponto.</p><h3 id="a-timeline-ideal">A timeline ideal</h3><p>Segundo a autora, o ideal é começar aprendendo cerca de 60% das palavras mais frequentes do inglês. Ela afirma que isso
é bastante simples e apresenta duas a três páginas com frases que abrangem essa porcentagem. Segundo ela, aprender esse
básico torna a pessoa capaz de avançar para as próximas etapas que realmente farão diferença nos estudos.</p><p>A ordem recomendada é focar inicialmente no listening, seguido pelo reading e, posteriormente, pelo writing. A última
área a ser dominada é o speaking.</p><p>A gramática é estudada durante todo o bloco, mas nunca se torna insuperável com tamanha importância. A sugestão é
aprender gramática aos poucos para explicar dúvidas já existentes que vão surgindo.</p><h2 id="ouvir-é-preciso">Ouvir é preciso</h2><blockquote><p>Ouça muito, ouça sempre, ouça com atenção.</p></blockquote><p>Adorei esse mantra, e ele faz bastante sentido mesmo. Novamente, quando somos pequeninos, aprendemos nossa língua,
principalmente utilizando a audição.</p><p>Segue as dicas do livro:</p><ul><li>Ouça muito: é necessário ouvir bastante, qualquer coisa e diferentes conteúdos.</li><li>Ouça sempre: ouvir regularmente. A repetição é a mãe de todo aprendizado.</li><li>Ouça com atenção: ao ouvir com atenção, mais e mais palavras são identificadas (pescadas), e o ouvido estará cada vez
mais bem treinado para pescar palavras novas.</li></ul><p>Procure forçar um pouco seu cérebro e tenha confiança naquilo que você deduz. Os 'star students' são pessoas que ouviram
muito inglês e que repetem o que ouvem. A dica é procurar por podcasts, vídeos no YouTube sobre assuntos que você se
interessa. É importante fazer uma relação de fontes de mídia para escutar e inseri-las no dia-a-dia.</p><p>Recursos para ouvir incluem:</p><ul><li>Podcasts variados</li><li>BBC (rádio AM e FM, inglês britânico)</li><li>CNN rádio (notícias, inglês americano)</li><li>YouTube</li></ul><p>Uma forma de aprender inglês é com música. Essa abordagem tem seus pontos fortes e fracos que devem ser considerados.</p><p>Problemas incluem:</p><ul><li>Erros gritantes de gramática</li><li>Frases com sentido oculto</li><li>Trechos ambíguos</li><li>Linguagem coloquial ao extremo</li></ul><p>Benefícios incluem:</p><ul><li>Aprendizado mais divertido</li><li>Facilita a memorização das palavras</li><li>Pode melhorar a pronúncia</li></ul><p>É importante escolher as músicas adequadas. Country e pop rock podem dar um melhor retorno. Pop rock, por ter
normalmente letras simples e coros repetitivos. Country, porque normalmente contam uma história com início, meio e fim,
dando um sentido mais claro ao conteúdo (ressaltando que essa é a opinião da autora).</p><p>Ela dá dicas legais de exercícios para aprender com músicas:</p><ul><li>Fill in The Blanks: você tem acesso à letra incompleta e ao ouvir vai completando as lacunas.</li><li>Tirar a letra inteira.</li><li>Sing along: independente do exercício, volte a música ao início e cante junto.</li></ul><p>Assista filmes com áudio e legendas em inglês. Não assista completamente preso ao dicionário; procure relaxar e tentar
entender a história. Não traduza. Você precisa entender e assimilar, não traduzir. Ao final do filme, escolha no mínimo
três frases que chamaram a sua atenção e anote. Volte ao filme e pronuncie essas frases de acordo com o que você ouviu
no filme. Para cada frase, escreva pelo menos duas frases parecidas para exercitar seu vocabulário.</p><h2 id="dica-de-estudo">Dica de estudo</h2><p>Estude as 200 palavras mais utilizadas. Foque na prática, a informação é importante, mas é crucial ter a proporção
correta de prática. Aprender inglês é como andar de bicicleta: sem prática, não funciona. Recomendação: 80% de prática,
20% de informação.</p><p>Exercício de Adição: Pegue uma frase básica. Adicione uma (ou mais, somente se necessário) palavra à frase. Adicione
uma (ou mais, somente se necessário) palavra à frase anterior. (Repita mais 4 vezes, criando um total de 5 frases).</p><p>Exercício de Substituição: Pegue uma frase básica. Substitua uma (ou mais, somente se necessário) palavra à frase.
Substitua uma (ou mais, somente se necessário) palavra à frase anterior. (Repita mais 4 vezes, criando um total de 5
frases).</p><h2 id="hábitos">Hábitos</h2><p>Quanto menos você precisar mudar seu estilo de vida para começar um hábito, maior é a chance de sucesso a longo prazo.
Escolha um hábito ridiculamente pequeno para cumprir todos os dias, por exemplo: todos os dias vou escrever uma frase em
inglês. Resultado: no final de um ano, você terá redigido um texto de 3500 palavras. Ou, por exemplo, vou escutar uma
música em inglês por dia. No final de um ano, você terá escutado mais de 21 horas de inglês.</p><p>Criar um hábito ridiculamente pequeno para ser cumprido todos os dias provavelmente dará um gostinho de 'quero mais',
possibilitando aumentar esse hábito e conquistar seu alvo ainda mais rápido.</p><p>Escolha algo que você faz diariamente sem falta e 'grude' esse novo hábito nele. Por exemplo, todos os dias, antes de
dormir, implemente o pequeno novo hábito. Ou, todos os dias, após uma refeição específica, implemente seu novo hábito,
associando um hábito existente a um novo, tornando ambos um só hábito.</p><p>Suas chances de criar um pequeno hábito dependem do seu ambiente atual. Se você quiser escutar uma canção, deixe seu
celular perto de você para executar esse hábito. Se for escrever algo, deixe papel e caneta bem na sua frente.</p><p>Um pequeno hábito que posso implementar:</p><ul><li><strong>Novo hábito</strong>: escrever uma frase em inglês</li><li><strong>Ocorrerá quando?</strong> Antes de dormir</li><li><strong>Onde:</strong> no meu quarto, na minha cama.</li></ul><h2 id="tldr-do-livro">TL;DR do livro</h2><ul><li>Aprender requer tempo e dedicação.</li><li>Identifique dificuldades internas e externas.</li><li>Conheça e utilize ferramentas disponíveis.</li><li>Evite interrupções nos estudos.</li><li>Equilibre prática e informação.</li><li>Ouça muito, ouça sempre.</li><li>Crie hábitos pequenos e consistentes.</li><li>Divirta-se no processo de aprendizado.</li></ul>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Aprenda Inglês num piscar de olhos">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/aprenda-ingles-num-piscar-de-olhos.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como configurar um node bitcoin]]></title>
            <link>https://www.marcal.dev/como-configurar-um-node-bitcoin</link>
            <guid isPermaLink="false">/como-configurar-um-node-bitcoin#updated_at#2024-02-20</guid>
            <pubDate>Tue, 20 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Aqui estão documentados os procedimentos ao instalar e executar meu próprio nó Bitcoin.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Como configurar um node bitcoin" src="img/bitcoin-node.jpg"></p><h2 id="sumário">Sumário</h2><ul><li><a href="#por-que-rodar-um-n%C3%B3">Por que rodar um nó?</a></li><li><a href="#instala%C3%A7%C3%A3o-e-configura%C3%A7%C3%A3o">Instalação e configuração</a><ul><li><a href="#comandos-b%C3%A1sicos">Comandos básicos</a></li><li><a href="#definindo-o-diret%C3%B3rio-de-configura%C3%A7%C3%B5es-do-n%C3%B3">Definindo o diretório de configurações do nó</a></li><li><a href="#evitando-execu%C3%A7%C3%B5es-remotas-n%C3%A3o-autorizadas">Evitando execuções remotas não autorizadas</a><ul><li><a href="#an%C3%A1lise-das-configura%C3%A7%C3%B5es">Análise das configurações</a></li></ul></li><li><a href="#criando-um-daemon-service">Criando um daemon service</a></li><li><a href="#%EF%B8%8Ftor%EF%B8%8F">⚠️Tor⚠️</a></li></ul></li><li><a href="#atualizando-o-node">Atualizando o node</a></li></ul><h2 id="por-que-rodar-um-nó">Por que rodar um nó?</h2><p>Existem diversos motivos para executar um nó Bitcoin, como a independência, já que você não depende de outros serviços para verificar informações na blockchain. Além disso, há a questão da privacidade, uma vez que ao usar serviços de terceiros, você pode ser rastreado, pois eles podem armazenar seu endereço IP e as transações que você consultou, podendo até mesmo compartilhar esses dados com governos ou outros terceiros. Outro motivo importante é contribuir para a rede Bitcoin, já que seu nó auxiliará na verificação de blocos.
Se preferir, achei <a href="https://youtu.be/fx_mLXISrfM?si=AE-1M1H8ssRXcKDt" rel="nofollow">esse vídeo prático em inglês</a><sup><a href="#user-content-fn-1" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-1">1</a></sup>. Você pode obter informações "do zero" sobre o Bitcoin a partir do <a href="https://www.marcal.dev/guia-bitcoin/" rel="nofollow">Guia Bitcoin</a><sup><a href="#user-content-fn-2" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-2">2</a></sup>, o qual foi criado com base nas minhas anotações também. Não confie cegamente; verifique! ⚠️
Inicialmente, é necessário baixar e instalar o Bitcoin Core e, em seguida, baixar toda a blockchain desde o início. Os passos necessários estão documentados no próprio <a href="https://bitcoin.org/en/full-node" rel="nofollow">site oficial</a><sup><a href="#user-content-fn-3" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-3">3</a></sup>.</p><h2 id="instalação-e-configuração">Instalação e configuração</h2><p>Você pode instalá-lo em seu computador, desde que tenha armazenamento e recursos suficientes. Para executar um nó completo, com toda a blockchain, em 15 de fevereiro de 2024, são necessários aproximadamente 600GB. Caso não queira rodar um nó completo, ainda será preciso baixar toda a blockchain, mas depois é possível podar, reduzindo o armazenamento para cerca de 8GB.</p><p>Para conferir o hardware que escolhi para rodar o nó, você pode visitar este <a href="https://www.marcal.dev/meu-segundo-homelab-montado/" rel="nofollow">link, onde detalho as configurações do meu servidor</a><sup><a href="#user-content-fn-4" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-4">4</a></sup>.</p><h3 id="comandos-básicos">Comandos básicos</h3><p>Após baixar e instalar o Bitcoin Core, você terá acesso aos programas bitcoind, bitcoin-qt e bitcoin-cli. Para obter mais informações, você pode visitar a <a href="https://developer.bitcoin.org/examples/intro.html" rel="nofollow">página do desenvolvedor do Bitcoin</a><sup><a href="#user-content-fn-5" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-5">5</a></sup>. Para iniciar o Bitcoin Core, utilize o comando:</p><pre class="language-shell shiki shiki-themes dracula" code="bitcoin -daemon

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">bitcoin</span><span style="--shiki-default:#BD93F9"> -daemon
</span></span></code></pre><p>Dessa forma, ele identificará e verificará os blocos, iniciando o download dos blocos faltantes, o que resultará no download completo da blockchain do zero. Com as configurações do meu servidor, esse processo levou 3 dias. Você pode acompanhar o progresso com o seguinte comando:</p><pre class="language-shell shiki shiki-themes dracula" code="tail -f ~/.bitcoin/debug.log 

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">tail</span><span style="--shiki-default:#BD93F9"> -f</span><span style="--shiki-default:#F1FA8C"> ~/.bitcoin/debug.log
</span></span></code></pre><p>É possível verificar as informações da blockchain com o comando:</p><pre class="language-shell shiki shiki-themes dracula" code="bitcoin-cli getblockchaininfo

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">bitcoin-cli</span><span style="--shiki-default:#F1FA8C"> getblockchaininfo
</span></span></code></pre><p>Para verificar as carteiras:</p><pre class="language-shell shiki shiki-themes dracula" code="bitcoin-cli getwalletinfo

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">bitcoin-cli</span><span style="--shiki-default:#F1FA8C"> getwalletinfo
</span></span></code></pre><p>Para interromper o processo de forma segura:</p><pre class="language-shell shiki shiki-themes dracula" code="bitcoin-cli stop

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">bitcoin-cli</span><span style="--shiki-default:#F1FA8C"> stop
</span></span></code></pre><h3 id="definindo-o-diretório-de-configurações-do-nó">Definindo o diretório de configurações do nó</h3><p>Normalmente, o diretório <code class="">.bitcoin</code> é inicializado na pasta home do usuário que está executando o comando. Optei por definir outro local para a pasta do Bitcoin:</p><pre class="language-shell shiki shiki-themes dracula" code="bitcoind -daemon -datadir=/outro/diretorio/qualquer/.bitcoin

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">bitcoind</span><span style="--shiki-default:#BD93F9"> -daemon</span><span style="--shiki-default:#BD93F9"> -datadir=/outro/diretorio/qualquer/.bitcoin
</span></span></code></pre><p>O problema é que, dessa forma, é preciso sempre lembrar de fornecer o diretório nos comandos. E caso o arquivo <em><a href="https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md" rel="nofollow">bitcoin.conf</a></em><sup><a href="#user-content-fn-6" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-6">6</a></sup> não esteja no diretório padrão (a pasta home), é necessário especificar a localização dele em outros comandos também. Portanto, resolvi criar um link simbólico do arquivo bitcoin.conf existente no diretório <em>/outro/diretorio/qualquer/general/.bitcoin</em> dentro do diretório padrão do Bitcoin.</p><pre class="language-shell shiki shiki-themes dracula" code="ln -s /outro/diretorio/qualquer/.bitcoin/bitcoin.conf .bitcoin/bitcoin.conf

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">ln</span><span style="--shiki-default:#BD93F9"> -s</span><span style="--shiki-default:#F1FA8C"> /outro/diretorio/qualquer/.bitcoin/bitcoin.conf</span><span style="--shiki-default:#F1FA8C"> .bitcoin/bitcoin.conf
</span></span></code></pre><p>Em seguida, editei o arquivo <em>bitcoin.conf</em> para informar o diretório real. O arquivo bitcoin.conf ficou da seguinte forma:</p><pre class="language-shell shiki shiki-themes dracula" code="datadir=/outro/diretorio/qualquer/.bitcoin

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#BD93F9">datadir</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">/outro/diretorio/qualquer/.bitcoin
</span></span></code></pre><p>Dessa forma, para iniciar o Bitcoin Core, só preciso executar o comando simples sem parâmetros novamente:</p><pre class="language-shell shiki shiki-themes dracula" code="bitcoin -daemon

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">bitcoin</span><span style="--shiki-default:#BD93F9"> -daemon
</span></span></code></pre><p>É possível definir caminhos diferentes para sua carteira, blocos, etc. Optei por concentrar tudo nesse diretório, então deletei todos os arquivos dentro da pasta .bitcoin na home, exceto o link simbólico bitcoin.conf.</p><p><strong>⚠️ Tenha cuidado! ⚠️ Não deve ser um problema deletar esses arquivos se você acabou de realizar uma instalação limpa. No entanto, se já baixou a blockchain, criou carteiras, tome cuidado e faça sempre backup!⚠️</strong></p><h3 id="evitando-execuções-remotas-não-autorizadas">Evitando execuções remotas não autorizadas</h3><p>É recomendável colocar uma senha para evitar execuções remotas não autorizadas. Para isso, baixei o rpcauth.py do código-fonte do <a href="https://github.com/bitcoin/bitcoin" rel="nofollow">Bitcoin</a><sup><a href="#user-content-fn-7" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-7">7</a></sup>:</p><pre class="language-shell shiki shiki-themes dracula" code="wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/share/rpcauth/rpcauth.py
chmod +x rpcauth.py
./rpcauth.py um_usuario_qualquer sua-senha-super-forte

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">wget</span><span style="--shiki-default:#F1FA8C"> https://raw.githubusercontent.com/bitcoin/bitcoin/master/share/rpcauth/rpcauth.py
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">chmod</span><span style="--shiki-default:#F1FA8C"> +x</span><span style="--shiki-default:#F1FA8C"> rpcauth.py
</span></span><span class="line" line="3"><span style="--shiki-default:#50FA7B">./rpcauth.py</span><span style="--shiki-default:#F1FA8C"> um_usuario_qualquer</span><span style="--shiki-default:#F1FA8C"> sua-senha-super-forte
</span></span></code></pre><p>No código acima, é baixado do repositório o rpcauth, é concedida permissão de execução ao script e, finalmente, é executado passando um usuário e uma senha, onde o usuário é <em>um_usuario_qualquer</em> e a senha é <em>sua-senha-super-forte</em>; substitua com suas informações. O resultado será algo do tipo:</p><pre class="language-shell shiki shiki-themes dracula" code="~$ ./rpcauth.py um_usuario_qualquer sua-senha-super-forte
String to be appended to bitcoin.conf:
rpcauth=um_usuario_qualquer:88d3ab05478ebca31b4aa61775949cd8$3035beb6aba42014ec7c490ba94128971089c037e463703c3d88e63192c72b77
Your password:
sua-senha-super-forte

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">~</span><span style="--shiki-default:#F8F8F2">$ ./rpcauth.py um_usuario_qualquer sua-senha-super-forte
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">String</span><span style="--shiki-default:#F1FA8C"> to</span><span style="--shiki-default:#F1FA8C"> be</span><span style="--shiki-default:#F1FA8C"> appended</span><span style="--shiki-default:#F1FA8C"> to</span><span style="--shiki-default:#F1FA8C"> bitcoin.conf:
</span></span><span class="line" line="3"><span style="--shiki-default:#BD93F9">rpcauth</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">um_usuario_qualquer:88d3ab05478ebca31b4aa61775949cd8</span><span style="--shiki-default:#BD93F9">$3035beb6aba42014ec7c490ba94128971089c037e463703c3d88e63192c72b77
</span></span><span class="line" line="4"><span style="--shiki-default:#50FA7B">Your</span><span style="--shiki-default:#F1FA8C"> password:
</span></span><span class="line" line="5"><span style="--shiki-default:#50FA7B">sua-senha-super-forte
</span></span></code></pre><p>⚠️ <strong>Não compartilhe essas informações!</strong> ⚠️</p><p>Após gerado, pegue o valor em rpcauth e salve no arquivo bitcoin.conf. Ele ficará assim, observe os IPs dos dispositivos que eu autorizo as chamadas:</p><pre class="language-shell shiki shiki-themes dracula" code="~$ cat .bitcoin/bitcoin.conf 
datadir=/outro/diretorio/qualquer/.bitcoin
server=1
txindex=1
daemon=1
rpcport=8332
rpcbind=0.0.0.0
rpcallowip=127.0.0.1
rpcallowip=10.0.0.0/8
rpcallowip=172.0.0.0/8
rpcallowip=192.0.0.0/8
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtx=tcp://0.0.0.0:28333
zmqpubhashblock=tcp://0.0.0.0:28334
whitelist=127.0.0.1
rpcauth=um_usuario_qualquer:88d3ab05478ebca31b4aa61775949cd8$3035beb6aba42014ec7c490ba94128971089c037e463703c3d88e63192c72b77

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#FF79C6">~</span><span style="--shiki-default:#F8F8F2">$ cat .bitcoin/bitcoin.conf 
</span></span><span class="line" line="2"><span style="--shiki-default:#BD93F9">datadir</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">/outro/diretorio/qualquer/.bitcoin
</span></span><span class="line" line="3"><span style="--shiki-default:#BD93F9">server</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">1
</span></span><span class="line" line="4"><span style="--shiki-default:#BD93F9">txindex</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">1
</span></span><span class="line" line="5"><span style="--shiki-default:#BD93F9">daemon</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">1
</span></span><span class="line" line="6"><span style="--shiki-default:#BD93F9">rpcport</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">8332
</span></span><span class="line" line="7"><span style="--shiki-default:#BD93F9">rpcbind</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">0.0.0.0
</span></span><span class="line" line="8"><span style="--shiki-default:#BD93F9">rpcallowip</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">127.0.0.1
</span></span><span class="line" line="9"><span style="--shiki-default:#BD93F9">rpcallowip</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">10.0.0.0/8
</span></span><span class="line" line="10"><span style="--shiki-default:#BD93F9">rpcallowip</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">172.0.0.0/8
</span></span><span class="line" line="11"><span style="--shiki-default:#BD93F9">rpcallowip</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">192.0.0.0/8
</span></span><span class="line" line="12"><span style="--shiki-default:#BD93F9">zmqpubrawblock</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">tcp://0.0.0.0:28332
</span></span><span class="line" line="13"><span style="--shiki-default:#BD93F9">zmqpubrawtx</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">tcp://0.0.0.0:28333
</span></span><span class="line" line="14"><span style="--shiki-default:#BD93F9">zmqpubhashblock</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">tcp://0.0.0.0:28334
</span></span><span class="line" line="15"><span style="--shiki-default:#BD93F9">whitelist</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">127.0.0.1
</span></span><span class="line" line="16"><span style="--shiki-default:#BD93F9">rpcauth</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">um_usuario_qualquer:88d3ab05478ebca31b4aa61775949cd8</span><span style="--shiki-default:#BD93F9">$3035beb6aba42014ec7c490ba94128971089c037e463703c3d88e63192c72b77
</span></span></code></pre><h4 id="análise-das-configurações">Análise das configurações</h4><p>Aqui está uma análise das configurações:</p><p><strong>Geral:</strong></p><ul><li><strong>datadir=/outro/diretorio/qualquer/.bitcoin:</strong> Define o diretório de dados do Bitcoin para um local diferente do padrão.</li><li><strong>server=1:</strong> Habilita o modo servidor, permitindo que outros nós se conectem para obter dados da blockchain.</li><li><strong>daemon=1:</strong> Executa o Bitcoin em segundo plano como um daemon (serviço do sistema operacional).</li><li><strong>whitelist=127.0.0.1:</strong> Apenas permite conexões locais (loopback) para interfaces RPC sensíveis.</li></ul><p><strong>Interfaces RPC (Remote Procedure Call):</strong></p><ul><li><strong>rpcport=8332:</strong> Define a porta utilizada para comunicação remota com o nó Bitcoin.</li><li><strong>rpcbind=0.0.0.0:</strong> Aceita conexões RPC em todas as interfaces de rede (pode ser um risco de segurança).</li><li><strong>rpcallowip=127.0.0.1:</strong> Permite conexões RPC apenas do loopback local.</li><li><strong>rpcallowip=10.0.0.0/8, 172.0.0.0/8, 192.0.0.0/8:</strong> Permitindo conexões RPC de redes privadas comuns.</li><li><strong>rpcauth=um_usuario_qualquer:88d3ab05478ebca31b4aa61775949cd8$3035beb6aba42014ec7c490ba94128971089c037e463703c3d88e63192c72b77:</strong> Usa autenticação básica com um par usuário/senha para acesso RPC (não recomendado para exposição pública).</li></ul><p><strong>Publicações ZeroMQ:</strong></p><ul><li><strong>zmqpubrawblock=tcp://0.0.0.0:28332:</strong> Habilita a publicação de blocos brutos através do ZeroMQ na porta especificada.</li><li><strong>zmqpubrawtx=tcp://0.0.0.0:28333:</strong> Habilita a publicação de transações brutas através do ZeroMQ na porta especificada.</li><li><strong>zmqpubhashblock=tcp://0.0.0.0:28334:</strong> Habilita a publicação de hashes de blocos através do ZeroMQ na porta especificada.</li></ul><p>Existe uma relação entre as configurações <code class="">rpcbind</code> e <code class="">rpcallowip</code> no arquivo <code class="">bitcoin.conf</code>:</p><ul><li><code class="">rpcbind</code> determina em qual interface o daemon escuta por conexões RPC.</li><li><code class="">rpcallowip</code> determina quais endereços IP podem se conectar ao daemon.</li></ul><p><strong>Exemplo:</strong></p><ul><li>Se <code class="">rpcbind</code> estiver definido como <code class="">0.0.0.0</code> (escuta em todas as interfaces) e <code class="">rpcallowip</code> estiver definido como <code class="">127.0.0.1</code> (permitir apenas loopback), o daemon só permitirá conexões RPC do loopback local.</li></ul><h3 id="criando-um-daemon-service">Criando um daemon service</h3><p>Vá novamente ao repositório do Bitcoin no GitHub e procure pelo arquivo bitcoind.service. É necessário baixá-lo na pasta <code class="">/etc/systemd/system/</code>:</p><pre class="language-shell shiki shiki-themes dracula" code="cd /etc/systemd/system/
wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/init/bitcoind.service


" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#8BE9FD">cd</span><span style="--shiki-default:#F1FA8C"> /etc/systemd/system/
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">wget</span><span style="--shiki-default:#F1FA8C"> https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/init/bitcoind.service
</span></span></code></pre><p>Nesse arquivo, alterei algumas configurações que podem ou não fazer sentido, dependendo de cada um.</p><p>Aqui, acrescentei <code class="">-daemon</code> e removi <code class="">conf</code> e <code class="">datadir</code>:</p><pre class="language-shell shiki shiki-themes dracula" code="[Service]
ExecStart=/usr/local/bin/bitcoind -daemon \
                            -pid=/run/bitcoind/bitcoind.pid \
                            -startupnotify=&#x27;systemd-notify --ready&#x27; \
                            -shutdownnotify=&#x27;systemd-notify --stopping&#x27;

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#F8F8F2">[Service]
</span></span><span class="line" line="2"><span style="--shiki-default:#BD93F9">ExecStart</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">/usr/local/bin/bitcoind</span><span style="--shiki-default:#50FA7B"> -daemon</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="3"><span style="--shiki-default:#BD93F9">                            -pid=/run/bitcoind/bitcoind.pid</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="4"><span style="--shiki-default:#BD93F9">                            -startupnotify=</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F1FA8C">systemd-notify --ready</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#FF79C6"> \
</span></span><span class="line" line="5"><span style="--shiki-default:#BD93F9">                            -shutdownnotify=</span><span style="--shiki-default:#E9F284">'</span><span style="--shiki-default:#F1FA8C">systemd-notify --stopping</span><span style="--shiki-default:#E9F284">'
</span></span></code></pre><p>Modifiquei as linhas <code class="">User=bitcoin</code> e <code class="">Group=bitcoin</code> para refletir o usuário e grupo correto que irá executar o bitcoind. Comentei <code class="">#ExecStartPre=/bin/chgrp bitcoin /etc/bitcoin</code> e <code class="">#ProtectHome=true</code>.</p><p>Por fim, habilitei, iniciei e verifiquei o status do serviço:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo systemctl enable bitcoind
sudo systemctl start bitcoind
sudo systemctl status bitcoind

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> systemctl</span><span style="--shiki-default:#F1FA8C"> enable</span><span style="--shiki-default:#F1FA8C"> bitcoind
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> systemctl</span><span style="--shiki-default:#F1FA8C"> start</span><span style="--shiki-default:#F1FA8C"> bitcoind
</span></span><span class="line" line="3"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> systemctl</span><span style="--shiki-default:#F1FA8C"> status</span><span style="--shiki-default:#F1FA8C"> bitcoind
</span></span></code></pre><p>Dessa forma, sempre que realizar um novo boot, o bitcoind iniciará automaticamente.
Mais Informações sobre configurações de serviço para bitcoind <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/init.md" rel="nofollow">aqui</a><sup><a href="#user-content-fn-8" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-8">8</a></sup>.</p><h3 id="️tor️">⚠️Tor⚠️</h3><p>Utilizar o Tor é importante para evitar que seu IP seja vazado, proporcionando uma melhoria em sua privacidade quando configurado corretamente.</p><p>Instalo o Tor e, em seguida, verifico se o serviço está em execução:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo apt install tor
sudo systemctl status tor

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> apt</span><span style="--shiki-default:#F1FA8C"> install</span><span style="--shiki-default:#F1FA8C"> tor
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> systemctl</span><span style="--shiki-default:#F1FA8C"> status</span><span style="--shiki-default:#F1FA8C"> tor
</span></span></code></pre><p>Depois, edito o arquivo em <code class="">/etc/tor/torrc</code>, acrescentando estas linhas no final do arquivo:</p><pre class="language-shell shiki shiki-themes dracula" code="ControlPort 9051 
CookieAuthentication 1
CookieAuthFileGroupReadable 1

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">ControlPort</span><span style="--shiki-default:#BD93F9"> 9051</span><span style="--shiki-default:#F8F8F2"> 
</span></span><span class="line" line="2"><span style="--shiki-default:#50FA7B">CookieAuthentication</span><span style="--shiki-default:#BD93F9"> 1
</span></span><span class="line" line="3"><span style="--shiki-default:#50FA7B">CookieAuthFileGroupReadable</span><span style="--shiki-default:#BD93F9"> 1
</span></span></code></pre><p>Veja o que cada um significa:</p><ul><li><code class="">ControlPort</code>: Define a porta para comandos de controle do Tor.</li><li><code class="">CookieAuthentication</code>: Habilita a autenticação por cookie para o serviço de controle.</li><li><code class="">CookieAuthFileGroupReadable</code>: Define se o arquivo de cookie de autenticação pode ser lido por todos os membros do grupo do usuário.</li></ul><p>Depois disso, é necessário reiniciar o serviço:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo systemctl restart tor

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> systemctl</span><span style="--shiki-default:#F1FA8C"> restart</span><span style="--shiki-default:#F1FA8C"> tor
</span></span></code></pre><p>E então, é necessário adicionar o seu usuário ao grupo:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo usermod -a -G debian-tor seu-user-aqui

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> usermod</span><span style="--shiki-default:#BD93F9"> -a</span><span style="--shiki-default:#BD93F9"> -G</span><span style="--shiki-default:#F1FA8C"> debian-tor</span><span style="--shiki-default:#F1FA8C"> seu-user-aqui
</span></span></code></pre><p>No arquivo <code class="">bitcoin.conf</code>, foram adicionadas as seguintes linhas para que o bitcoind rode utilizando a rede do Tor:</p><pre class="language-shell shiki shiki-themes dracula" code="proxy=127.0.0.1:9051
listen=1
bind=127.0.0.1
onlynet=onion

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#BD93F9">proxy</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">127.0.0.1:9051
</span></span><span class="line" line="2"><span style="--shiki-default:#BD93F9">listen</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">1
</span></span><span class="line" line="3"><span style="--shiki-default:#BD93F9">bind</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">127.0.0.1
</span></span><span class="line" line="4"><span style="--shiki-default:#BD93F9">onlynet</span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F1FA8C">onion
</span></span></code></pre><p>Após reiniciar o computador, para confirmar que está utilizando a rede Tor, execute o comando <code class="">bitcoin-cli getnetworkinfo</code> e verifique se em <code class="">networks</code>, tanto <em>IPv4</em> quanto <em>IPv6</em>, estão com o valor <code class="">"reachable": false,</code> e que em <code class="">localaddresses</code> há um <em>onion address</em>.</p><h2 id="atualizando-o-node">Atualizando o node</h2><p>Para fazer o upgrade de versão do bitcoind, pode seguir os mesmos passos da instalação inicial. O binário pode estar mais atualizado, com alguma versão experimental, disponível no <a href="https://bitcoincore.org/en/download/" rel="nofollow">site do Bitcoin Core</a><sup><a href="#user-content-fn-9" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-9">9</a></sup>.</p><hr><section class="footnotes" data-footnotes=""><h2 class="sr-only" id="footnote-label">Footnotes</h2><ol><li id="user-content-fn-1">Vídeo mão na massa instalando e rodando um node: <a href="https://youtu.be/fx_mLXISrfM?si=AE-1M1H8ssRXcKDt" rel="nofollow">https://youtu.be/fx_mLXISrfM?si=AE-1M1H8ssRXcKDt</a> <a href="#user-content-fnref-1" aria-label="Back to reference 1" class="data-footnote-backref" data-footnote-backref="">↩</a></li><li id="user-content-fn-2">Guia Bitcoin: <a href="https://www.marcal.dev/guia-bitcoin/" rel="nofollow">https://www.marcal.dev/guia-bitcoin/</a> <a href="#user-content-fnref-2" aria-label="Back to reference 2" class="data-footnote-backref" data-footnote-backref="">↩</a></li><li id="user-content-fn-3">Sobre full nodes: <a href="https://bitcoin.org/en/full-node" rel="nofollow">https://bitcoin.org/en/full-node</a> <a href="#user-content-fnref-3" aria-label="Back to reference 3" class="data-footnote-backref" data-footnote-backref="">↩</a></li><li id="user-content-fn-4">O hardware onde roda meu node: <a href="https://www.marcal.dev/meu-segundo-homelab-montado/" rel="nofollow">https://www.marcal.dev/meu-segundo-homelab-montado/</a> <a href="#user-content-fnref-4" aria-label="Back to reference 4" class="data-footnote-backref" data-footnote-backref="">↩</a></li><li id="user-content-fn-5">Documentação para pessoas técnicas: <a href="https://developer.bitcoin.org/examples/intro.html" rel="nofollow">https://developer.bitcoin.org/examples/intro.html</a> <a href="#user-content-fnref-5" aria-label="Back to reference 5" class="data-footnote-backref" data-footnote-backref="">↩</a></li><li id="user-content-fn-6">Sobre o arquivo bitcoin.conf <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md" rel="nofollow">https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md</a> <a href="#user-content-fnref-6" aria-label="Back to reference 6" class="data-footnote-backref" data-footnote-backref="">↩</a></li><li id="user-content-fn-7">Repósitorio oficial do Bitcoin no Github: <a href="https://github.com/bitcoin/bitcoin" rel="nofollow">https://github.com/bitcoin/bitcoin</a> <a href="#user-content-fnref-7" aria-label="Back to reference 7" class="data-footnote-backref" data-footnote-backref="">↩</a></li><li id="user-content-fn-8">Informações sobre configurações de serviço para bitcoind <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/init.md" rel="nofollow">https://github.com/bitcoin/bitcoin/blob/master/doc/init.md</a> <a href="#user-content-fnref-8" aria-label="Back to reference 8" class="data-footnote-backref" data-footnote-backref="">↩</a></li><li id="user-content-fn-9">Bitcoin Core: <a href="https://bitcoincore.org/en/download/" rel="nofollow">https://bitcoincore.org/en/download/</a> <a href="#user-content-fnref-9" aria-label="Back to reference 9" class="data-footnote-backref" data-footnote-backref="">↩</a></li></ol></section><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Como configurar um node bitcoin">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>bitcoin</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/bitcoin-node.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O caminho para certificação Java 8]]></title>
            <link>https://www.marcal.dev/o-caminho-para-certificacao-java-se-8</link>
            <guid isPermaLink="false">/o-caminho-para-certificacao-java-se-8#updated_at#2024-02-20</guid>
            <pubDate>Tue, 20 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Como fui do planejamento à certificação java se 8 IZO-808]]></description>
            <content:encoded><![CDATA[
            <p><img alt="O caminho para certificação Java 8" src="img/certification.png"></p><h2 id="sumário">Sumário</h2><ul><li><a href="#o-come%C3%A7o">O começo</a></li><li><a href="#update-p%C3%B3s-prova-08-de-agosto-de-2019">Update pós prova (08 de Agosto de 2019)</a></li><li><a href="#o-material-de-estudo">O material de estudo</a></li><li><a href="#o-cronograma">O cronograma</a><ul><li><a href="#1-java-basics">1) Java Basics</a></li><li><a href="#2-working-with-java-data-types">2) Working With Java Data Types</a></li><li><a href="#3-using-operators-and-decision-constructs">3) Using Operators and Decision Constructs</a></li><li><a href="#4-creating-and-using-arrays">4) Creating and Using Arrays</a></li><li><a href="#5-using-loop-constructs">5) Using Loop Constructs</a></li><li><a href="#6-working-with-methods-and-encapsulation">6) Working with Methods and Encapsulation</a></li><li><a href="#7-working-with-inheritance">7) Working with Inheritance</a></li><li><a href="#8-handling-exceptions">8) Handling Exceptions</a></li></ul></li></ul><h2 id="o-começo">O começo</h2><p><em>Spoiler Alert: realizei a prova dia 08 de Agosto, com sucesso!</em> 😜</p><p>Passar por inúmeras empresas que não exigiam nem reconheciam certificados como prova prática de capacidade, a necessidade urgente de estudar temas com relevância maior em minha rotina de trabalho, a perigosa procrastinação...</p><p>Foram diversos os motivos que contribuíram para que eu deixasse em segundo plano o assunto <em>Certificação Java SE 8 IZO-808</em>. Bem, por um motivo ou outro, finalmente acho que agora é a hora.</p><p>Sinto que ao deixar esssa meta pública em um post é mais um incentivo para que eu mantenha a disciplina e continue dedicando-me a este estudo. Então é isso, fica registrado que dia 13 de Maio de 2019, iniciei meus estudos para a <em>Certificação Java SE 8 IZO-808</em>. Dia 24 de Julho fica estipulada como a data em que farei a prova e obterei a tal certificação.</p><p>Para me auxilar nesses estudos, dividi o conteúdo em cápitulos. Estudarei cada um aliado a muitos <em>test killers</em>.</p><h2 id="update-pós-prova-08-de-agosto-de-2019">Update pós prova (08 de Agosto de 2019)</h2><p><em><strong>Má notícia</strong></em>: quebrei meu cronograma! Algumas coisas aconteceram, nesse período fui contratado até para fazer um <em>freela</em>. Claro que nada disso é desculpa, acredito que todos sempre conseguem um tempo para estudar, mesmo que seja 10 minutos do dia.</p><p><strong><em>Ótima notícia</em></strong>: quase dois meses depois de iniciar os estudos, senti confiança, fiz a prova, conquistei meu certificado e agora sou um <strong>Oracle Certified Associate, Java SE 8 Programmer</strong>!</p><p>Um conselho que dou para quem deseja conquistar esse ou qualquer outro objetivo é: tenha metas rigorosas mas palpáveis! Trace um plano e planeje micro metas e check points.</p><p>A primeira coisa que fiz quando decidi estudar para a prova foi marcar uma data. Não digo que você deva marcar imediatamente uma data e estudar loucamente até o dia do exame. Olhe os tópicos do exame, coloque um objetivo de estudo diário e semanal e depois faça uma projeção de quando você conseguirá estudar e revisar todo o conteúdo. Tente ser realista! Se algo der errado no caminho, como aconteceu comigo, adapte seu planejamento. O importante é que você encare essas datas seriamente.</p><p>Estudei todo o conteúdo da prova em duas semanas, todos os dias no metrô, ida e volta do trabalho e esporadicamente em casa à noite.</p><p>Uma vez terminado os estudos, foquei exclusivamente em test killers. Fiz de um a dois por semana. Como disse, alguns emprevistos aconteceram, entre eles, firmei o compromisso de um freelancer. O importante que quero passar é: pegue seu ritmo de estudos, sem neuras, de uma forma saudável e você passará no exame!</p><h2 id="o-material-de-estudo">O material de estudo</h2><p>Para iniciar o preparo para o exame, escolhi duas fontes principais:</p><ul><li><a href="https://www.amazon.com.br/gp/product/8582604769/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&#x26;psc=1" rel="nofollow">OCA Java SE 8: Guia de Estudos para o Exame 1Z0-808</a></li><li><a href="https://ler.amazon.com.br/kp/embed?asin=B019NGYH8W&#x26;preview=newtab&#x26;linkCode=kpe&#x26;ref_=cm_sw_r_kb_dp_lkaaDbD2ZHTTR" rel="nofollow">Java SE 8 Programmer I: O guia para sua certificação Oracle Certified Associate</a></li><li><a href="https://enthuware.com/" rel="nofollow">Mocks exames da Enthuware</a></li></ul><p>Acredito que não precise inventar muito, a formula é simples: estude os tópicos, só avance quando não tiver dúvidas, faça muitos mock exams!</p><h2 id="o-cronograma">O cronograma</h2><h3 id="_1-java-basics">1) Java Basics</h3><ul><li>Define the scope of variables</li><li>Define the structure of a Java class</li><li>Create executable Java applications with a main method</li><li>Importante other Java packages to make them accessible in your code</li></ul><h3 id="_2-working-with-java-data-types">2) Working With Java Data Types</h3><ul><li>Declare and initialize variables</li><li>Differentiate between object reference variables and primitive variables</li><li>Read or write to object fields</li><li>Explain an Object’s Lifecycle (creation, “dereference” and garbage collection)</li><li>Call methods on objects</li><li>Manipulate data using the StringBuilder class and its methods</li><li>Creating and manipulating Strings</li></ul><h3 id="_3-using-operators-and-decision-constructs">3) Using Operators and Decision Constructs</h3><ul><li>Use Java operators</li><li>Use parenthesis to override operator precedence</li><li>Test equality between Strings and other objects using == and equals ()</li><li>Create if and if/else constructs</li><li>Use a switch statement</li></ul><h3 id="_4-creating-and-using-arrays">4) Creating and Using Arrays</h3><ul><li>Declare, instantiate, initialize and use a one-dimensional array</li><li>Declare, instantiate, initialize and use multi-dimensional array</li><li>Declare and use an ArrayList</li></ul><h3 id="_5-using-loop-constructs">5) Using Loop Constructs</h3><ul><li>Create and use while loops</li><li>Create and use for loops including the enhanced for loop</li><li>Create and use do/while loops</li><li>Compare loop constructs</li><li>Use break and continue</li></ul><h3 id="_6-working-with-methods-and-encapsulation">6) Working with Methods and Encapsulation</h3><ul><li>Create methods with arguments and return values</li><li>Apply the static keyword to methods and fields</li><li>Create an overloaded method</li><li>Differentiate between default and user defined constructors</li><li>Create and overload constructors</li><li>Apply access modifiers</li><li>Apply encapsulation principles to a class</li><li>Determine the effect upon object references and primitive values when they are passed into methods that change the values</li></ul><h3 id="_7-working-with-inheritance">7) Working with Inheritance</h3><ul><li>Implement inheritance</li><li>Develop code that demonstrates the use of polymorphism</li><li>Differentiatebetweenthetypeofareferenceandthetypeofanobject</li><li>Determine when casting is necessary</li><li>Use super and this to access objects and constructors</li><li>Use abstract classes and interfaces</li></ul><h3 id="_8-handling-exceptions">8) Handling Exceptions</h3><ul><li>Differentiate among checked exceptions, RuntimeExceptions and Errors</li><li>Create a try-catch block and determine how exceptions alter normal program flow</li><li>Describe what Exceptions are used for in Java</li><li>Invoke a method that throws an exception</li><li>Recognize common exception classes and categories</li></ul>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O caminho para certificação Java 8">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>programacao</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/certification.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Dez argumentos para você deletar agora suas redes sociais]]></title>
            <link>https://www.marcal.dev/dez-argumentos-para-voce-deletar-agora-suas-redes-sociais</link>
            <guid isPermaLink="false">/dez-argumentos-para-voce-deletar-agora-suas-redes-sociais#updated_at#2024-02-15T20:39:00</guid>
            <pubDate>Thu, 15 Feb 2024 20:39:00 GMT</pubDate>
            <description><![CDATA[Para se libertar, ser mais autêntico, menos viciado, menos manipulado, menos paranoico... por todos esses motivos maravilhosos, delete suas contas nas redes sociais. - trecho do livro.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Dez argumentos para você deletar agora suas redes sociais - Jaron Lanier" src="img/dez-argumentos-para-deletar.jpg"></p><p>A leitura deste livro trouxe algumas boas impressões sobre como o vício nas telas e nas redes sociais pode nos causar problemas tanto como indivíduos quanto para a sociedade em geral. Não que eu pretenda excluir todas as minhas redes sociais, que não são tantas assim, entretanto, o uso consciente das tecnologias se faz realmente necessário.</p><p>Abaixo, algumas citações tiradas do livro que chamaram mais a minha atenção:</p><blockquote><p>Os algoritmos correlacionam o que você faz com o que quase todas as outras pessoas têm feito. Os algoritmos não entendem você de fato, mas existe poder nos números, sobretudo nos grandes. Se muitas pessoas que gostam dos mesmos alimentos que você costumam rejeitar retratos de um candidato com moldura cor-de-rosa, não azul, então provavelmente você também os rejeitará, e ninguém precisa saber por quê.</p></blockquote><blockquote><p>O principal processo que leva as redes sociais a ganharem dinheiro, embora também cause danos à sociedade, é a modificação de comportamento. Essa prática exige técnicas metódicas que mudam o padrão comportamental de animais e pessoas. Pode ser usada para tratar vícios, mas também para criá-los.</p></blockquote><blockquote><p>O termo “engajamento” faz parte da linguagem familiar, eufemística, que esconde a imensa estupidez da máquina que construímos. Precisamos usar termos como “vício” e “modificação de comportamento”.</p></blockquote><blockquote><p>O vício é o motivo pelo qual tantos de nós aceitamos ser espionados e manipulados por nossa tecnologia de informação, mas ele não atua sozinho. As redes digitais nos oferecem um valor genuíno. Trazem conveniência e nos tornam muito mais eficientes.</p></blockquote><blockquote><p>Para se libertar, ser mais autêntico, menos viciado, menos manipulado, menos paranoico... por todos esses motivos maravilhosos, delete suas contas nas redes sociais.</p></blockquote><blockquote><p>Sem outra riqueza a ser conquistada além da atenção, as pessoas comuns tendem a se tornar imbecis, já que os holofotes sempre apontam primeiro para os mais babacas.</p></blockquote><blockquote><p>As experiências nas plataformas [..] ricocheteiam entre dois extremos. Ou há uma shitstorm total de imbecis ou todos são supercuidadosos e dotados de uma simpatia artificial.</p></blockquote><p>Um ponto com o qual não concordei com o autor foi a afirmação de que o LinkedIn não apresenta os mesmos problemas potenciais que redes sociais como o Facebook e o Twitter (atualmente conhecido como X). Em resumo, ele argumenta que essa rede social não possui os mesmos incentivos que o Facebook, por exemplo, no sentido de não precisar envolver (viciar) os usuários e que estes passam menos tempo nessa rede. No início, quando não era tão popular, pode ter sido verdade. No entanto, olhando para hoje, com certeza essa rede tornou-se tão tóxica e alienante quanto o Facebook. Vejo claramente usuários em busca de engajamento através de clickbaits, muitas vezes promovendo desinformação, golpes e a sensação de bolha e extremos de opiniões.</p><p>Obviamente, muito do que está ali é a simples opnião do autor, algumas podem ser exageradas outras bem reais, independente disso, vale concerteza a reflexão.</p><p>Recomendo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dez argumentos para você deletar agora suas redes sociais">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>privacidade</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/dez-argumentos-para-deletar.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Oshi no Ko - Minha Estrela Preferida Vol. 01]]></title>
            <link>https://www.marcal.dev/oshi-no-ko-minha-estrela-preferida-vol-01</link>
            <guid isPermaLink="false">/oshi-no-ko-minha-estrela-preferida-vol-01</guid>
            <pubDate>Thu, 15 Feb 2024 16:44:47 GMT</pubDate>
            <description><![CDATA[Você pode sonhar com o mundo do entretenimento... mas é melhor não ficar alimentando ilusões sobre ele. Este não é um lugar de arte. Mas , sim, de negócios.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Oshi no Ko - Minha Estrela Preferida Vol. 01" src="img/oshi-no-ko-1-1.jpg"></p><blockquote><p>“Nesta indústria, a mentira é uma arma.”Goro é um obstetra trabalhando em uma cidade do interior e sem qualquer ligação com a indústria do entretenimento. Por outro lado, Ai Hoshino, sua idol favorita, começava a subir no estrelato. Mas, por um acaso do destino, a vida de ambos será mudada radicalmente...?</p></blockquote><p>Esse eu estava curioso depois de assistir ao ótimo anime lançado em 2023. A história retrata muito bem como a indústria da mídia funciona, onde a mentira e as aparências são o normal.</p><blockquote><p>Você pode sonhar com o mundo do entretenimento... mas é melhor não ficar alimentando ilusões sobre ele. Este não é um lugar de arte. Mas , sim, de negócios.</p></blockquote><p>Não gostei muito da qualidade do papel; não achei especificações no volume e nem pesquisei, mas é algo parecido com papel jornal. Tive até a impressão de que vai amarelar rapidamente. Aqui e ali, há alguns erros de gramática também. A edição da <em>Panini</em>, afinal, não é lá essas coisas. Sobre a história, gostei, e vai ser interessante ver o jogo de manipulação nos próximos volumes.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Oshi no Ko - Minha Estrela Preferida Vol. 01">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/oshi-no-ko-1-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[O que é UTXO]]></title>
            <link>https://www.marcal.dev/o-que-e-utxo</link>
            <guid isPermaLink="false">/o-que-e-utxo#updated_at#2024-02-15T15:34:00</guid>
            <pubDate>Thu, 15 Feb 2024 15:34:00 GMT</pubDate>
            <description><![CDATA[Conceitos sobre UTXO e sua relação com a consolidação de moedas bitcoin]]></description>
            <content:encoded><![CDATA[
            <p><img alt="o-que-e-utxo" src="img/o-que-e-utxo.png"></p><p>UTXO, que significa Unspent Transaction Output (Saída de Transação Não Gasta) em inglês, é uma unidade de moeda não gasta no Bitcoin. Essa unidade está associada a transações anteriores e é utilizada para autorizar e rastrear transações na rede, representando o saldo disponível em um endereço.</p><p>Antes de aprofundar, estas são anotações que fiz à medida que aprendi e pesquisei mais sobre o assunto. As informações aqui refletem o estado do meu entendimento, que pode estar desatualizado ou incorreto, apesar das boas intenções. Você pode obter informações "do zero" sobre o Bitcoin a partir do <a href="https://www.marcal.dev/guia-bitcoin/" rel="nofollow">Guia Bitcoin</a>, o qual foi criado com base nas minhas anotações também. Não confie cegamente; verifique! ⚠️</p><p>Quando um bitcoin é enviado de um endereço para outro, não ocorre uma transferência direta de "saldo". Em vez disso, é realizado um gasto de uma ou mais saídas de transações anteriores. O remetente especifica o endereço do destinatário e a quantidade a ser enviada, resultando em uma transação que inclui entradas (inputs) e saídas (outputs).</p><p>As entradas referem-se a UTXOs anteriores, ou seja, saídas de transações anteriores que ainda não foram gastas. Elas são cruciais para verificar a origem dos bitcoins utilizados em uma nova operação, mostrando o endereço inicial de recebimento.</p><p>Os outputs indicam o endereço de destino da transferência e a quantia enviada, incluindo também o endereço de troco ou devolução para onde vão os valores restantes da operação. Isso possibilita que uma transação tenha múltiplas saídas.</p><p>Para ilustrar, considere um endereço que recebeu moedas em três transações diferentes: 0.4 BTC na primeira, 0.3 BTC na segunda e 0.2 BTC na terceira, totalizando 0.9 BTC. Se eu enviar todos os 0.9 BTC dessa carteira para você, as três transações serão combinadas em um único output. Caso eu envie 0.8 BTC para você, restará um troco de 0.1 BTC, enviado de volta ao endereço de troco indicado na transação, resultando em dois outputs.</p><p>Outro exemplo é quando você possui um UTXO de 10 BTC e envia 7 BTC para outra pessoa. Nesse caso, o UTXO de 10 BTC é gasto, criando dois novos UTXOs: um para o destinatário com 7 BTC e outro para você mesmo, com 3 BTC de troco.</p><p>Normalmente, o remetente inclui uma taxa de transação (fee) para motivar os mineradores a incluir a transação em um bloco. Essa taxa é a diferença entre os inputs e outputs da transação.</p><p>Após a criação da transação e a definição das taxas, ela é assinada pelo remetente com sua chave privada, comprovando a propriedade dos UTXOs gastos e autorizando a transferência. Posteriormente, a transação é transmitida à rede Bitcoin e entra na mempool, aguardando inclusão em um bloco.</p><p>Os mineradores são encarregados de escolher as transações não confirmadas da pool, verificar a validade da transação, assegurando-se de que não haja tentativas de gasto duplo do UTXO, e tentar incluí-las em um novo bloco por meio do processo de mineração. Após ser incluída em um bloco e adicionada à blockchain, a transação é considerada "confirmada".</p><p>Cada transação confirmada possui um identificador hash (Txid) criado com base nas entradas e saídas, distinguindo cada operação de maneira única na blockchain. Quanto mais blocos são adicionados acima do bloco que contém a transação, maior é a segurança de sua confirmação.</p><p>Esse processo dificulta o gasto duplo da moeda, pois cada UTXO carrega consigo uma informação única de propriedade, referente ao endereço autorizado a gastá-lo. Sempre que uma transação é proposta, os nodes da rede verificam se os UTXOs estão sendo usados e se pertencem ao remetente.</p><p>O UTXO pode levar a acumulações de "poeira" ou "dust", que são pequenas quantidades de moedas que não podem ser gastas por serem menores que o valor mínimo da transação. Entretanto, com o tempo, essa "poeira" pode acumular e tornar-se gastável novamente.</p><p>Assim como é possível dividir um UTXO em instâncias separadas, também é possível combiná-las em transações maiores, reduzindo a quantidade delas na rede. Imagine trocar duas notas de 50 reais por uma unica de 100.</p><p>A consolidação de saídas de transações não gastas envolve a combinação de vários UTXOs em uma única saída, pode levar a transações futuras mais simples e muitas vezes mais baratas. Quanto mais UTXOs você possui, mais insumos são necessários, resultando em maiores taxas de transação. Ao consolidar seus UTXOs, é possível reduzir o número de entradas e economizar em taxas, tornando a consolidação UTXO uma excelente maneira de economizar em taxas de transação.</p><hr><p><strong>Referências</strong></p><p><a href="https://finbold.com/guide/what-is-utxo/" rel="nofollow">https://finbold.com/guide/what-is-utxo/</a><br><a href="https://www.geeksforgeeks.org/what-is-unspent-transaction-output-utxo/" rel="nofollow">https://www.geeksforgeeks.org/what-is-unspent-transaction-output-utxo/</a><br><a href="https://www.blog.areabitcoin.com.br/o-que-e-utxo/" rel="nofollow">https://www.blog.areabitcoin.com.br/o-que-e-utxo/</a><br><a href="https://www.investopedia.com/terms/u/utxo.asp" rel="nofollow">https://www.investopedia.com/terms/u/utxo.asp</a><br><a href="https://br.beincrypto.com/aprender/o-que-e-utxo/" rel="nofollow">https://br.beincrypto.com/aprender/o-que-e-utxo/</a><br><a href="https://etopsaber.com/decifrando-o-papel-dos-utxos-nos-padroes-de-consolidacao-do-bitcoin/" rel="nofollow">https://etopsaber.com/decifrando-o-papel-dos-utxos-nos-padroes-de-consolidacao-do-bitcoin/</a></p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=O que é UTXO">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>bitcoin</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/o-que-e-utxo.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Jovens Sagrados 1 a 3]]></title>
            <link>https://www.marcal.dev/jovens-sagrados</link>
            <guid isPermaLink="false">/jovens-sagrados#updated_at#2024-02-07</guid>
            <pubDate>Wed, 07 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Um slice of life focado nas férias de Buda e Jesus como colegas de quarto.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Jovens Sagrados" src="img/sant-young-man-1-a-3-1.jpg"></p><blockquote><p>O humano despertado, Buda e o filho de Deus, Jesus. Após superarem com sucesso o final do século, ambos dividem um apartamento em Tachikawa, Tóquio, para passarem as férias. Buda, que se preocupa com o menor dos trocados como uma senhorinha e Jesus, que compra muito por impulso. Esse é o cotidiano da dupla divina em Tachikawa.</p></blockquote><p>Comprei os volumes de 1 a 3 aproveitando os descontos do saldão da Amazon de 2024. Trata-se essencialmente de um slice of life de comédia, com o diferencial de ter como protagonistas o improvável par de amigos Jesus e Buda. Contém piadas engraçadas e algumas sátiras religiosas de forma não ofensiva. É possível ler os capítulos fora de ordem, pois cada um é independente, sem muita continuidade.</p><p>A proposta é interessante, mas, para mim, hoje, não me cativou muito. Algumas piadas foram engraçadas, outras nem tanto, talvez devido a nuances perdidas na tradução. Continuarei com os próximos volumes sem muita prioridade, apenas se encontrar novas promoções. Recomendo com ressalvas.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Jovens Sagrados 1 a 3">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/sant-young-man-1-a-3-1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dragon Ball Vol 30 - Edição Definitiva]]></title>
            <link>https://www.marcal.dev/dragon-ball-vol-30-edicao-definitiva</link>
            <guid isPermaLink="false">/dragon-ball-vol-30-edicao-definitiva#updated_at#2024-02-05T23:28:00</guid>
            <pubDate>Mon, 05 Feb 2024 23:28:00 GMT</pubDate>
            <description><![CDATA[Personagens enigmáticos são nos apresentados e o clima parece ficar sério.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Dragon Ball Vol 30  - Edição Definitiva" src="img/dragon-ball-edicao-definitiva/dragon-ball-vol-30-edicao-definitiva.jpg"></p><blockquote><p>As lutas da categoria adulta do Torneio de Artes Marciais finalmente começam! Na mesma arena onde se reúnem os 16 guerreiros que passaram nas eliminatórias, surgem dois indivíduos com uma aura sombria. Quem serão eles…?! Videl enfrenta os brutais ataques de seu oponente, Spopovich, enquanto Gohan acaba tendo sua energia drenada. Qual será o objetivo deles?! Com a aparição de novos e poderosos inimigos, o Torneio de Artes Marciais segue para uma direção totalmente inesperada! E assim, os guerreiros são mais uma vez conduzidos para o campo de batalha!</p></blockquote><p>O clima está esquentando e novos personagens interessantes surgiram. A apresentação de Shin e Kibito foi realmente muito boa. Apesar de já termos visto algo semelhante nos anos em que assistíamos à reprise na finada TV Globinho, foi bastante enigmático; inicialmente, não sabíamos se eram vilões ou não. Apesar de Shin ter dito a Goku que "não esperava vencê-lo", afirmando claramente que Goku seria mais poderoso, é até ridículo ver como Shin se surpreende com o imenso poder dos Saiyajins durante as batalhas iniciais.</p><p>O volume anterior é melhor no aspecto cômico, mas este soube preparar um clímax para o próximo. Estou ansioso para ver a luta entre Gohan e Dabura. Bom volume!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dragon Ball Vol 30 - Edição Definitiva">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/dragon-ball-edicao-definitiva/dragon-ball-vol-30-edicao-definitiva.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[A navalha de Ockham: O princípio filosófico que libertou a ciência e ajudou a explicar o universo]]></title>
            <link>https://www.marcal.dev/a-navalha-de-ockham-o-principio-filosofico-que-libertou-a-ciencia-e-ajudou-a-explicar-o-universo</link>
            <guid isPermaLink="false">/a-navalha-de-ockham-o-principio-filosofico-que-libertou-a-ciencia-e-ajudou-a-explicar-o-universo#updated_at#2024-01-25</guid>
            <pubDate>Thu, 25 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[É inútil fazer com mais aquilo que pode ser feito com menos.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="A navalha de Ockham: O princípio filosófico que libertou a ciência e ajudou a explicar o universo" src="img/a-navalha-de-ockham.jpg"></p><p>A navalha de Occam mostra como a simplicidade teve e tem um papel muito importante no desenvolvimento da Ciência. Quando complicamos demais uma explicação ou uma solução, devemos retirar e cortar o desnecessário até chegarmos a uma ideia simples.</p><blockquote><p>É inútil fazer com mais aquilo que pode ser feito com menos.</p></blockquote><p>O livro divide-se contando um pouco do contexto histórico da Idade Média, nas crenças e no modo de pensar predominante naquela época. Trouxe-me algumas informações novas que eu não conhecia, como, por exemplo, a forma como os eruditos católicos uniram os universais de Aristóteles e o silogismo ao dogma cristão. Com sua navalha, Ockham retirou a Igreja do posto de 'A Rainha das Ciências'.</p><blockquote><p>[...]Segundo ele, a existência de Deus era uma certeza, mas a ciência só pode consistir em hipóteses. A ciência, conforme sustentava Guilherme, produz probabilidades, não provas.</p></blockquote><p>Outra informação interessante que acabei encontrando foi que, de uma forma ou de outra, os árabes acabaram influenciando o início do Renascimento, já que durante muitos séculos a Europa havia 'esquecido' e perdido acesso a boa parte do conhecimento antigo. Foi através da tradução de filósofos antigos para o árabe que a Europa pôde superar a estagnação.</p><p>Por mais que algumas partes tenham sido um pouco cansativas, o livro é realmente bastante interessante do ponto de vista histórico e também uma forma interessante de divulgar a ciência. Recomendo.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=A navalha de Ockham: O princípio filosófico que libertou a ciência e ajudou a explicar o universo">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/a-navalha-de-ockham.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mushishi]]></title>
            <link>https://www.marcal.dev/mushishi</link>
            <guid isPermaLink="false">/mushishi</guid>
            <pubDate>Mon, 15 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Um mangá para ser lido aos poucos]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Mushishi" src="img/NewPOP_Mushishi01-3.jpg"></p><p>Acompanhamos Ginko, um Mushishi, um especialista em mushis, organismos que estão no limiar entre os seres vivos e os seres espirituais. Esse foi o primeiro de cinco volumes que ainda serão lançados pela editora NewPop.</p><p>Muitas vezes, os mushis parasitam humanos e, no decorrer do mangá, vemos Ginko ajudar essas pessoas, buscando o equilíbrio, uma forma em que ambos, mushis e humanos, possam conviver.</p><p>A história é contada em um ritmo lento na forma de vários contos ou "causos" que não têm ligação um com o outro e que podem até mesmo ser lidos fora de ordem. Acredito que, por essa falta de continuidade e seu ritmo devagar, talvez esse mangá não seja para todos. Não li em uma sentada só; demorei cerca de 10 dias de leitura, e acredito que eu conseguiria ter lido paralelamente com outro livro, sem prejuízo, dadas as características do mangá.</p><p>O saldo da leitura foi positivo. Algumas histórias são melhores que outras, a última em especial teve um toque de terror maior que as outras, o que eu gostei bastante.</p><p>Provavelmente irei conferir o segundo volume, espero que as histórias continuem nessa pegada de terror/horror. No mais, recomendo, principalmente para aqueles que não têm pressa de terminar uma leitura ou gostam de ler em pequenas doses.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Mushishi">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/NewPOP_Mushishi01-3.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Antologia Poética]]></title>
            <link>https://www.marcal.dev/antologia-poetica-de-carlos-drummond-de-andrade</link>
            <guid isPermaLink="false">/antologia-poetica-de-carlos-drummond-de-andrade</guid>
            <pubDate>Thu, 11 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Anotações sobre a leitura do livro "Antologia Poética", de Carlos Drummond de Andrade]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Antologia Poética, de Carlos Drummond de Andrade" src="img/antologia-poetica.jpg"></p><p>Carlos Drummond dispensa apresentações, então vamos direto ao ponto. 'Antologia Poética' é dividida em alguns tópicos que conferem coesão e unidade aos poemas: 1) O indivíduo; 2) A terra natal; 3) A família; 4) Amigos; 5) O choque social; 6) O conhecimento amoroso; 7) A própria poesia; 8) Exercícios lúdicos; 9) Uma visão, ou tentativa de, da existência.</p><p>Confesso que nem tudo foi de fácil digestão; certas poesias não me desceram bem. Talvez, em uma próxima releitura, me caiam melhor em outro estado de espírito. Felizmente, o saldo final de toda a leitura foi muito positivo. Recomendo muito esta leitura!</p><p>Abaixo, algumas marcações de versos notáveis que chamaram a minha atenção:</p><h3 id="poema-de-sete-faces">Poema de Sete Faces</h3><pre code="Mundo mundo vasto mundo,
se eu chamasse Raimundo
seria uma rima, não seria uma solução.
Mundo mundo vasto mundo,
mais vasto é meu coração.

"><code __ignoreMap="">Mundo mundo vasto mundo,
se eu chamasse Raimundo
seria uma rima, não seria uma solução.
Mundo mundo vasto mundo,
mais vasto é meu coração.

</code></pre><pre code="Eu não devia te dizer
mas essa lua
mas esse conhaque
botam a gente comovido como o diabo.

"><code __ignoreMap="">Eu não devia te dizer
mas essa lua
mas esse conhaque
botam a gente comovido como o diabo.

</code></pre><h3 id="a-bruxa">A Bruxa</h3><pre code="Tenho tanta palavra meiga,
conheço vozes de bichos,
sei os beijos mais violentos,
viajei, briguei, aprendi.
Estou cercado de olhos,
de mãos, afetos, procuras.
Mas se tento comunicar-me,
o que há é apenas a noite
e uma espantosa solidão.

"><code __ignoreMap="">Tenho tanta palavra meiga,
conheço vozes de bichos,
sei os beijos mais violentos,
viajei, briguei, aprendi.
Estou cercado de olhos,
de mãos, afetos, procuras.
Mas se tento comunicar-me,
o que há é apenas a noite
e uma espantosa solidão.

</code></pre><h3 id="josé">José</h3><pre code="E agora, José?
A festa acabou,
a luz apagou,
o povo sumiu,
a noite efriou,
e agora, José?
e agora, você?
você que é sem nome,
que zomba dos outros,
você que faz versos,
que ama, protesta?
e agora, José?

"><code __ignoreMap="">E agora, José?
A festa acabou,
a luz apagou,
o povo sumiu,
a noite efriou,
e agora, José?
e agora, você?
você que é sem nome,
que zomba dos outros,
você que faz versos,
que ama, protesta?
e agora, José?

</code></pre><h3 id="a-flor-e-a-náusea">A Flor e a Náusea</h3><pre code="Em vão me tento explicar, os muros são surdos.
Sob a pele das palavras há cifras e códigos.
O sol consola os doentes e não os renova.
As coisas. Que tristes são as coisas, consideradas sem ênfase.

"><code __ignoreMap="">Em vão me tento explicar, os muros são surdos.
Sob a pele das palavras há cifras e códigos.
O sol consola os doentes e não os renova.
As coisas. Que tristes são as coisas, consideradas sem ênfase.

</code></pre><h3 id="o-amor-bate-na-aorta">O amor bate na aorta</h3><pre code="Essa ferida, meu bem,
às vezes não sara nunca
às vezes sara amanhã.

"><code __ignoreMap="">Essa ferida, meu bem,
às vezes não sara nunca
às vezes sara amanhã.

</code></pre><h3 id="não-se-mate1">Não se mate<sup><a href="#user-content-fn-1" aria-describedby="footnote-label" data-footnote-ref="" id="user-content-fnref-1">1</a></sup></h3><pre code="Carlos, sossegue, o amor
é isso que você está vendo:
hoje beija, amanhã não beija,
depois de amanhã é domingo
e segunda-feira ninguém sabe
o que será.

"><code __ignoreMap="">Carlos, sossegue, o amor
é isso que você está vendo:
hoje beija, amanhã não beija,
depois de amanhã é domingo
e segunda-feira ninguém sabe
o que será.

</code></pre><pre code="O amor no escuro, não, no claro,
é sempre triste, meu filho, Carlos,
mas não diga nada a ninguém,
ninguém sabe nem saberá.

"><code __ignoreMap="">O amor no escuro, não, no claro,
é sempre triste, meu filho, Carlos,
mas não diga nada a ninguém,
ninguém sabe nem saberá.

</code></pre><h3 id="canção-para-álbum-de-moça">Canção para álbum de moça</h3><pre code="Bom dia sempre: se acaso
a resposta vier fria
ou tarde vier, contudo
esperarei o bom dia.

"><code __ignoreMap="">Bom dia sempre: se acaso
a resposta vier fria
ou tarde vier, contudo
esperarei o bom dia.

</code></pre><h3 id="cantiga-de-enganar">Cantiga de enganar</h3><pre code="O mundo,
    meu bem,
        não vale
a pena, e a face serena
vale a face torturada.
Há muito aprendi a rir,
de quê, de mim? ou de nada?
O mundo, valer não vale.

"><code __ignoreMap="">O mundo,
    meu bem,
        não vale
a pena, e a face serena
vale a face torturada.
Há muito aprendi a rir,
de quê, de mim? ou de nada?
O mundo, valer não vale.

</code></pre><hr><section class="footnotes" data-footnotes=""><h2 class="sr-only" id="footnote-label">Footnotes</h2><ol><li id="user-content-fn-1">Minha interpretação sobre esse poema: <a href="nao-se-mate-carlos-drummond-de-andrade">Não se mate</a> <a href="#user-content-fnref-1" aria-label="Back to reference 1" class="data-footnote-backref" data-footnote-backref="">↩</a></li></ol></section>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Antologia Poética">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>poesia</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/antologia-poetica.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dragon Ball Vol 29 - Edição Definitiva]]></title>
            <link>https://www.marcal.dev/dragon-ball-vol-29-edicao-definitiva</link>
            <guid isPermaLink="false">/dragon-ball-vol-29-edicao-definitiva#updated_at#2024-01-04</guid>
            <pubDate>Thu, 04 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Esse volume traz um equilíbrio perfeito entre ação e comédia envolvente, retornando às origens do que era Dragon Ball.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Dragon Ball Vol 29  - Edição Definitiva" src="img/dragon-ball-edicao-definitiva/dragon-ball-vol-29-edicao-definitiva.jpg"></p><p>Dragon Ball Vol 29 - Edição DefinitivaDragon Ball Vol 29 - Edição Definitiva / Photo by Acervo Pessoal</p><p>Essa leitura foi incrivelmente divertida e me vi diversas vezes rindo das piadas apresentadas. Neste contexto, a trama parece retornar às raízes de Dragon Ball, equilibrando habilmente lutas e comédia.</p><p>Após a intensa batalha contra Cell, a Terra experimenta um período de paz. Neste volume, testemunhamos Gohan assumindo o papel de protagonista após a trágica morte de Goku. Gohan tenta conciliar sua vida escolar com a missão de ser um vigilante, combatendo o crime em Satan City.</p><p>Novos personagens entram em cena, como Goten, o filho mais novo de Goku, e colegas do núcleo estudantil de Gohan, com destaque para Videl. Adoro a personalidade dela apresentada aqui, e é lamentável perceber que, pelo menos nas animações recentes de Dragon Ball Super, ela parece ter se tornado apenas uma personagem genérica do lar.</p><p>Os Guerreiros Z se reúnem novamente no emocionante Torneio de Artes Marciais, culminando na breve e engraçada luta entre Trunks e Satan. No próximo volume, as batalhas dos adultos prometem esquentar as coisas.</p><p>Recomendo muito!</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Dragon Ball Vol 29 - Edição Definitiva">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>quadrinhos</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/dragon-ball-edicao-definitiva/dragon-ball-vol-29-edicao-definitiva.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Privacidade importa]]></title>
            <link>https://www.marcal.dev/privacidade-importa</link>
            <guid isPermaLink="false">/privacidade-importa</guid>
            <pubDate>Tue, 12 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[É seu, pessoal e privado. Seja qual for a atividade que esteja realizando, proteger sua privacidade é algo completamente aceitável.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Privacidade importa" src="img/privacidade-importa.jpg"></p><p>Photo by <a href="https://unsplash.com/@tobiastu?utm_source=ghost&#x26;utm_medium=referral&#x26;utm_campaign=api-credit" rel="nofollow">Tobias Tullius</a> / <a href="https://unsplash.com/?utm_source=ghost&#x26;utm_medium=referral&#x26;utm_campaign=api-credit" rel="nofollow">Unsplash</a></p><p>Não diz respeito a ninguém. É algo seu, pessoal e privado. Seja qual for a atividade que esteja realizando, quer esteja apenas ocupado com tarefas normais, gerenciando suas contas mensais, preservando suas fotos de família preciosas ou desfrutando de um romance, você não deseja que isso seja exposto publicamente. Proteger sua privacidade é algo completamente aceitável.</p><p>O direito à privacidade é tão intrínseco quanto o direito de manter pensamentos privados. Você tem a liberdade de pensar o que quiser e não está obrigado a revelar esses pensamentos se assim não desejar. Tentar regulamentar isso parece tão absurdo que talvez não exista uma lei objetiva que afirme explicitamente: "Você tem o direito à liberdade de pensamento e não é obrigado a expô-lo." A privacidade, assim como a liberdade de pensamento, é um direito natural que precede qualquer organização ou estado.</p><p>Apenas porque não tenho nada a esconder, não deixaria a porta da minha casa aberta, sem chaves. Não permitiria que um desconhecido entrasse simplesmente para ver o que há lá, observar como eu ou minha família vivemos. Nem mesmo se alguém fosse um amigo, eu não o deixaria abrir meu celular e acessar meus dados ou minha conta bancária. Seja um estranho ou um amigo, não concedemos esse acesso total às nossas vidas. Então, por que permitiríamos que empresas como Google, Microsoft e Meta tivessem esse amplo e irrestrito acesso aos nossos dados?</p><p>Como mostrado no documentário "O Dilema das Redes", privacidade importa. Não que as grandes techs irão vender seus dados, mas sim porque registrarão e rastrearão suas informações para rotulá-lo, catalogá-lo e influenciá-lo de maneira a otimizar a monetização. Não é do interesse dessas empresas abrir ou vender diretamente seus dados a terceiros. O que estão vendendo é a habilidade de influenciar seus pensamentos e decisões de uma forma que normalmente você não teria normalmente.</p><p>Se eles perceberem que, por algum motivo, você está inclinado a comprar um determinado sapato, em termos gerais, eles farão com que você seja exposto a um aumento significativo de conteúdo relacionado, intercalado com publicidade. Você acabará consumindo tantos materiais desse tipo que, eventualmente, decidirá adquirir o referido sapato. Essa explicação de causa e efeito é bastante simplificada. Certamente, os algoritmos são altamente sofisticados e estão sendo constantemente aprimorados. Existe um investimento maciço para garantir que esse refinamento ocorra a cada momento.</p><p>Outro efeito da operação das redes é que ela nos condiciona a viver cada vez mais em bolhas: as plataformas não nos mostram necessariamente a verdade, mas sim o que potencialmente desejamos ver. Isso nos leva a um buraco de coelho sem fim, onde consumimos cada vez mais conteúdo relacionado e evitamos ser expostos a opiniões contraditórias. Surge uma falsa impressão de que todos pensam exatamente como nós, e se todos compartilham nossas opiniões, acreditamos estar do lado da verdade, do normal e do correto.</p><p>A tendência amplamente observada é o alinhamento aos extremos, onde cada lado acusa o outro de ser totalitário, violento e imoral. De fato, para os extremistas, estar no meio, ser rotulado como "isentão", acaba sendo considerado tão prejudicial quanto estar do lado oposto. A ausência de pontos de vista contraditórios, associada à vida em bolhas e à incapacidade de dialogar com pessoas de opiniões diferentes, representa uma ameaça à civilização democrática e baseada no Estado de Direito.</p><p>Sem dúvida, estamos caminhando em direção a uma era em que a ditadura dos extremos se torna proeminente, e corremos o risco de praticar uma auto-censura inconsciente. Essa dinâmica pode potencialmente levar ao colapso da civilização conforme a conhecemos.</p><p>E aí, a privacidade importa?</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Privacidade importa">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>privacidade</category>
            <category>liberdade</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/privacidade-importa.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mandíbula]]></title>
            <link>https://www.marcal.dev/mandibula-monica-ojeda</link>
            <guid isPermaLink="false">/mandibula-monica-ojeda</guid>
            <pubDate>Fri, 01 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Uma leitura desconcertante, mas muito boa, que faz jus ao gênero do Horror. Aqui, o Horror Branco lembra muito o Horror Cósmico de Lovecraft.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Mandíbula - Mónica Ojeda" src="img/capa-do-livro-mandibula.jpg"></p><p>Foi certamente uma leitura que me causou estranheza em diversos momentos, muito pela forma como Mónica constrói sua narrativa. Ela não segue um padrão entre os capítulos, mudando a forma de diálogo, sua intensidade e até mesmo o tempo-espaço. Muitas vezes, as mudanças não se limitam à transição dos capítulos, mas ocorrem também entre as linhas e parágrafos do mesmo capítulo.</p><p>Causa estranheza, mas provou ser uma forma bastante acertada de prender a atenção do leitor e também transmitir, como um fluxo psicológico, o horror que permeia todo o livro. A história é quase uma homenagem às creepypastas (histórias de terror publicadas na internet, muitas vezes apresentadas como verídicas) e ao Horror Cósmico de Lovecraft.</p><p>Um grupo de jovens meninas forma uma espécie de clube secreto em um prédio abandonado. Esse local acaba se tornando um lugar para as meninas extravasarem e liberarem todo o sentimento reprimido por sua criação (tanto na família quanto na escola). Isso me lembrou um pouco do mangá "Aku no Hana - As Flores do Mal" de Shūzō Oshimi; os temas das obras conversam um pouco. Jovens reprimidos com imagens comportadas experimentam a liberdade transgredindo, quebrando regras, sentindo-se vivos à medida que quebram e usam da violência, mostrando seus lados mais animalescos, explorando seus corpos e mentes.</p><p><img alt="Aku no Hana - As Flores do Mal de Shūzō Oshimi" src="img/aku-no-hana-as-flores-do-mal.png"></p><p>Mónica Ojeda constrói uma narrativa de horror cheia de críticas válidas, como as relações complexas entre mães e filhas, hipocrisias religiosas, a sexualidade e descobertas sobre o corpo, bem como relações homoafetivas. Não vi ali um caráter panfletório, e realmente todos esses ganchos servem para fazer o leitor entrar no clima do horror.</p><p>Essas meninas acabam criando jogos que progridem a ponto de serem realmente letais. Somos apresentados ao Horror Branco, que é o que não pode ser visto, mas apenas sentido, e ao Deus Branco, esta última uma entidade inventada por uma das personagens, que vai se tornando real à medida que mais histórias são contadas e sentidas pelas meninas. Entretanto, como em certa altura um personagem fala, não é porque é inventado que não sentimos medo.</p><p>Como bom apreciador de literatura de terror e horror, como Poe, Stephen King e Lovecraft, eu realmente apreciei essa leitura e fiquei bastante feliz por ter encontrado algo que segue a linha de Lovecraft sendo produzido por esse lado dos trópicos (Mónica Ojeda é equatoriana). Recomendo muito a leitura; deu-me vontade de maratonar Lovecraft.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Mandíbula">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>livros</category>
            <category>medo</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/capa-do-livro-mandibula.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Home lab - Synology DS420j]]></title>
            <link>https://www.marcal.dev/homelab-synology-ds420j</link>
            <guid isPermaLink="false">/homelab-synology-ds420j#updated_at#2023-02-21</guid>
            <pubDate>Tue, 21 Feb 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Descrevo as especificações do meu primeiro servidor, o NAS de entrada Synology DS420j e impressões gerais sobre ele]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Home lab - Synology DS420j" src="img/home-lab-synology.jpeg"></p><p>Synology DS420J by Acervo Pessoal</p><h2 id="sumário">Sumário</h2><ul><li><a href="#plex-e-o-transcoding-de-v%C3%ADdeos">Plex e o transcoding de vídeos</a></li><li><a href="#suporte-ao-docker">Suporte ao Docker</a></li><li><a href="#synology-photos">Synology Photos</a></li><li><a href="#synology-drive">Synology Drive</a></li><li><a href="#ferramentas-de-backup">Ferramentas de backup</a></li><li><a href="#considera%C3%A7%C3%B5es-finais">Considerações Finais</a></li></ul><h2 id="plex-e-o-transcoding-de-vídeos">Plex e o transcoding de vídeos</h2><p>Utilizei bastante o Plex, e ele atendeu bem, exceto quando eu precisava do hardware transcoding para os vídeos na minha TV (na época, uma LG). Infelizmente, o Synology DS420j não oferece suporte ao hardware transcoding, sendo necessário adquirir uma versão diferente do hardware da Synology que suporte essa funcionalidade.</p><p>O hardware transcoding aproveita os recursos da placa de vídeo, resultando em um transcoding mais suave na maioria das vezes, dependendo das configurações específicas do hardware e do sistema operacional. Por outro lado, o software transcoding é realizado pelo software, exigindo mais do processador do hardware.</p><p>É bastante inconveniente lidar com o congelamento do vídeo durante o streaming causado pelo software transcoding. No caso deste Synology específico, por ser um hardware de entrada, é comum experimentar congelamentos durante o streaming de vídeo devido ao trabalho (lento/ineficiente) do software transcoding. Felizmente, na maior parte das vezes, meus vídeos não precisavam de transcoding, e esses congelamentos não ocorriam com frequência. Se ocorressem, tornando o streaming impossível, eu convertia o vídeo para um formato mais compatível com a minha TV, evitando a necessidade de transcoding no Plex.</p><h2 id="suporte-ao-docker">Suporte ao Docker</h2><p>Inicialmente, o uso do Docker não era possível, mas por volta de meados de 2023, a Synology habilitou o suporte a essa ferramenta, o que certamente deu uma sobrevida ao hardware. Realizei alguns testes, embora na época já possuísse outro servidor que atendia plenamente aos meus requisitos, então não utilizei efetivamente o Docker no Synology.</p><h2 id="synology-photos">Synology Photos</h2><p>Ainda utilizo o Synology como gerenciador da minha biblioteca pessoal de fotos. Seu aplicativo proprietário, o Synology Photos, embora não seja um substituto completo do Google Photos, atende muito bem ao uso diário. Possui excelentes funcionalidades, incluindo reconhecimento facial, criação de álbuns, compartilhamento de fotos e álbuns, edição de metadados, upload automático do celular para o servidor via aplicativo próprio e visualização por geolocalização.</p><p>O reconhecimento facial é bastante preciso; pessoalmente, tive poucos problemas na detecção de rostos. A funcionalidade de marcação de fotos é muito útil: além de criar álbuns, você pode atribuir inúmeras marcas a um grupo de fotos. Dessa forma, é possível pesquisá-las ou, de maneira semelhante aos álbuns, vê-las agrupadas de forma conveniente, facilitando a organização de fotos relacionadas.</p><h2 id="synology-drive">Synology Drive</h2><p>O Synology Drive tem se mostrado bastante útil, proporcionando recursos como edição pela interface web, upload, compartilhamento e versionamento de arquivos. Durante o tempo em que o utilizei, quase chegou a ser o substituto perfeito do Google Drive.</p><p>No entanto, alguns pontos negativos, pelo menos até o momento da escrita deste texto, merecem destaque:</p><ul><li><strong>Edição de Arquivos no Celular:</strong> Não é possível editar arquivos pelo celular diretamente na interface do aplicativo Synology Drive. É necessário baixar o arquivo pelo aplicativo e, em seguida, editá-lo fora do app, utilizando algum editor instalado no celular. Essa limitação não existe na interface web.</li><li><strong>Formato Proprietário da Suite Office Synology:</strong> A suíte office da empresa, embora baseada no LibreOffice, utiliza um formato proprietário. Se você baixar o arquivo no seu computador, não será possível abri-lo nem com o LibreOffice, nem com a suíte da Microsoft. É necessário converter para um formato conhecido na própria interface do Synology Office antes de fazer o download do arquivo.</li><li><strong>Aplicativos Clientes de Sincronização:</strong> Existem aplicativos clientes de sincronização para Windows, Mac e distribuições baseadas no Debian, mas não para outras distribuições Linux. Como utilizo o Fedora atualmente, não tive a oportunidade de testar a sincronização, então eu fazia upload dos arquivos no Synology Drive pela interface web/app ou via compartilhamento Samba no Linux.</li></ul><p>Apesar desses pontos negativos, usei massivamente o Synology Drive no meu dia a dia, e ele realmente se mostrou uma ótima ferramenta.</p><h2 id="ferramentas-de-backup">Ferramentas de backup</h2><p>No Synology, há diversas opções de ferramentas de backup, e duas que provei com sucesso foram o Hyper Backup e o Glacier Backup, ambas desenvolvidas pela Synology.</p><p>O Hyper Backup oferece a flexibilidade de criar rotinas de backup para diversos destinos, como Google Drive, Dropbox e AWS S3. Eu o utilizo principalmente para realizar backups diários em um HD externo de 1TB da Samsung. O programa permite configurar agendamentos, a rotação dos arquivos e oferece a opção de criptografar os arquivos de backup.</p><p>O Glacier Backup, como o próprio nome sugere, é um programa de backup projetado para o Amazon Glacier. O serviço Glacier oferece armazenamento de longo prazo a um custo relativamente baixo em comparação com o S3 padrão, mas o custo de recuperação de dados é mais elevado. Além disso, o tempo necessário para recuperar dados pode ser significativo, variando de dias a semanas, dependendo do tamanho dos arquivos.</p><p>Apesar dessas limitações, o Glacier Backup é uma ferramenta útil em situações de falha geral no hardware, proporcionando uma camada adicional de segurança quando não há outro backup prontamente acessível. É uma opção econômica para armazenamento a longo prazo.</p><h2 id="considerações-finais">Considerações Finais</h2><p>Além de ser um bom gerenciador de biblioteca de imagens, também o utilizo fortemente como um servidor de backup. Os dados de "produção" são criados, utilizados e alterados em <a href="https://www.marcal.dev/meu-segundo-homelab-montado/" rel="nofollow">outro servidor</a> para, finalmente, serem replicados no Synology. Assim, se, por algum motivo, eu perder a versão original de algum arquivo no meu servidor principal, ainda posso recuperá-lo no Synology.</p><p>Por fim, a combinação do hardware e software do Synology DS420j faz dele um ótimo dispositivo de entrada, principalmente para aqueles que não desejam gastar muito tempo configurando um servidor sozinhos e querem apenas um servidor de armazenamento com os benefícios dos bons softwares da suíte Synology. Entretanto, sua óbvia limitação de hardware o torna desencorajador para o usuário que pretende fazer um uso mais intenso do servidor, como foi o meu caso.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Home lab - Synology DS420j">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>homelab</category>
            <category>tecnologia</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/home-lab-synology.jpeg" length="0" type="image/jpeg"/>
        </item>
        <item>
            <title><![CDATA[Como configurar conexão vpn do ubuntu para Check Point]]></title>
            <link>https://www.marcal.dev/como-configurar-conexao-vpn-do-ubuntu-para-check-point</link>
            <guid isPermaLink="false">/como-configurar-conexao-vpn-do-ubuntu-para-check-point</guid>
            <pubDate>Wed, 19 Aug 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Aqui explico de forma objetiva como conectar ao VPN Checkpoint no ubuntu. Com poucas mudanças, serve para outras distribuições também.]]></description>
            <content:encoded><![CDATA[
            <p>Para configurar siga esses passos:</p><p>Instale primeiro os pré-requisitos de acordo com o comando abaixo, <a href="https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&#x26;solutionid=sk65210" rel="nofollow">ou conforme esta página</a>:</p><p>Caso a arquitetura do seu sistema seja 32x:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo apt-get install libpam0g:i386 libx11-6:i386 libstdc++6:i386 libstdc++5:i386
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> apt-get</span><span style="--shiki-default:#F1FA8C"> install</span><span style="--shiki-default:#F1FA8C"> libpam0g:i386</span><span style="--shiki-default:#F1FA8C"> libx11-6:i386</span><span style="--shiki-default:#F1FA8C"> libstdc++6:i386</span><span style="--shiki-default:#F1FA8C"> libstdc++5:i386
</span></span></code></pre><p>Caso a arquitetura do seu sistema seja 64x:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo apt install libpam0g:i386 libx11-6:i386 libstdc++6:i386 libstdc++5:i386 libnss3-tools
" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> apt</span><span style="--shiki-default:#F1FA8C"> install</span><span style="--shiki-default:#F1FA8C"> libpam0g:i386</span><span style="--shiki-default:#F1FA8C"> libx11-6:i386</span><span style="--shiki-default:#F1FA8C"> libstdc++6:i386</span><span style="--shiki-default:#F1FA8C"> libstdc++5:i386</span><span style="--shiki-default:#F1FA8C"> libnss3-tools
</span></span></code></pre><p>Baixe o script de instalação do <a href="https://supportcenter.checkpoint.com/supportcenter/portal/user/anon/page/default.psml/media-type/html?action=portlets.DCFileAction&#x26;eventSubmit_doGetdcdetails=&#x26;fileid=22824" rel="nofollow" title="Página de download do SNX">snx aqui</a>.</p><p>Dê permissão de execução ao script baixado. Verifique o nome do script baixado no comando e troque, se necessário:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo chmod + x snx snx_install_linux30.sh

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> chmod</span><span style="--shiki-default:#F1FA8C"> +</span><span style="--shiki-default:#F1FA8C"> x</span><span style="--shiki-default:#F1FA8C"> snx</span><span style="--shiki-default:#F1FA8C"> snx_install_linux30.sh
</span></span></code></pre><p>Instale o snx. Verifique o nome do script baixado no comando e troque, se necessário:</p><pre class="language-shell shiki shiki-themes dracula" code="sudo ./snx_install_linux30.sh

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">sudo</span><span style="--shiki-default:#F1FA8C"> ./snx_install_linux30.sh
</span></span></code></pre><p>Conecte-se com o comando:</p><pre class="language-shell shiki shiki-themes dracula" code="snx -s sua.vpn.aqui.com.br -u seu_usuario_aqui

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">snx</span><span style="--shiki-default:#BD93F9"> -s</span><span style="--shiki-default:#F1FA8C"> sua.vpn.aqui.com.br</span><span style="--shiki-default:#BD93F9"> -u</span><span style="--shiki-default:#F1FA8C"> seu_usuario_aqui
</span></span></code></pre><p>Desconecte-se da vpn com o comando:</p><pre class="language-shell shiki shiki-themes dracula" code="snx -d

" language="shell" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#50FA7B">snx</span><span style="--shiki-default:#BD93F9"> -d
</span></span></code></pre><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Como configurar conexão vpn do ubuntu para Check Point">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>portugues</category>
        </item>
        <item>
            <title><![CDATA[Não se mate, de Carlos Drummond de Andrade]]></title>
            <link>https://www.marcal.dev/nao-se-mate-carlos-drummond-de-andrade</link>
            <guid isPermaLink="false">/nao-se-mate-carlos-drummond-de-andrade</guid>
            <pubDate>Mon, 03 Feb 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Carlos, sossegue, o amor é isso que você está vendo; hoje beija, amanhã não beija, depois de amanhã é domingo e segunda-feira ninguém sabe o que será.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Não se mate, de Carlos Drummond de Andrade" src="img/nao-se-mate-carlos.jpg"></p><p>Às vezes acontece de ler algo e a interpretação que você tira é totalmente diferente de quando você o reler algum tempo
depois. Isso é o esperado, visto que nossa vivência está sempre nos moldando, nossa história são calos que marcam e
moldam nossa alma, constantemente. Redescobri, esses dias, Drummond. Li <em>Não se mate</em> na adolescência e dessa vez foi de
tirar o folego! Antes de escrever, leio mais uma vez, agora ao som de <code class="">Goodbye Kiss</code>, <code class="">Kasabian</code>. Se puder, lhe convido
a fazer o mesmo.</p><p>Abaixo, o poema, humildemente narrado por mim 😜</p><audio-card src="/audio/nao-se-mate-drumm.mp3"><template v-slot:caption=""></template></audio-card><h3 id="não-se-mate-de-carlos-drummond-de-andrade">Não se mate, de Carlos Drummond de Andrade</h3><pre code="   Carlos, sossegue, o amor 
   é isso que você está vendo:
   hoje beija, amanhã não beija, 
   depois de amanhã é domingo 
   e segunda-feira ninguém sabe 
   o que será.
   
   Inútil você resistir
   ou mesmo suicidar-se.
   Não se mate, oh não se mate,
   reserve-se todo para 
   as bodas que ninguém sabe 
   quando virão, 
   se é que virão.
   
   O amor, Carlos, você telúrico,
   a noite passou em você, 
   e os recalques se sublimando,
   lá dentro um barulho inefável,
   rezas, 
   vitrolas,
   santos que se persignam, 
   anúncios do melhor sabão, 
   barulho que ninguém sabe
   de quê, 
   pra quê.
   
   Entretanto você caminha
   melancólico e vertical.
   Você é a palmeira, você é o grito 
   que ninguém ouviu no teatro
   e as luzes todas se apagam. 
   O amor no escuro, não, no claro,
   é sempre triste, meu filho, Carlos, 
   mas não diga nada a ninguém, ninguém sabe nem saberá.

"><code __ignoreMap="">   Carlos, sossegue, o amor 
   é isso que você está vendo:
   hoje beija, amanhã não beija, 
   depois de amanhã é domingo 
   e segunda-feira ninguém sabe 
   o que será.
   
   Inútil você resistir
   ou mesmo suicidar-se.
   Não se mate, oh não se mate,
   reserve-se todo para 
   as bodas que ninguém sabe 
   quando virão, 
   se é que virão.
   
   O amor, Carlos, você telúrico,
   a noite passou em você, 
   e os recalques se sublimando,
   lá dentro um barulho inefável,
   rezas, 
   vitrolas,
   santos que se persignam, 
   anúncios do melhor sabão, 
   barulho que ninguém sabe
   de quê, 
   pra quê.
   
   Entretanto você caminha
   melancólico e vertical.
   Você é a palmeira, você é o grito 
   que ninguém ouviu no teatro
   e as luzes todas se apagam. 
   O amor no escuro, não, no claro,
   é sempre triste, meu filho, Carlos, 
   mas não diga nada a ninguém, ninguém sabe nem saberá.

</code></pre><p>Imagino, sentado, numa mesa de bar, alguém amargurado, ouvindo esses conselhos. Ora, espere! Ele está só! De fato,
Carlos é a consciência, a razão de Carlos!</p><pre code="   Carlos, sossegue, o amor 
   é isso que você está vendo:
   hoje beija, amanhã não beija, 
   depois de amanhã é domingo 
   e segunda-feira ninguém sabe 
   o que será.

"><code __ignoreMap="">   Carlos, sossegue, o amor 
   é isso que você está vendo:
   hoje beija, amanhã não beija, 
   depois de amanhã é domingo 
   e segunda-feira ninguém sabe 
   o que será.

</code></pre><p>A vida é assim, <code class="">eu te amo, mas hoje nem tanto</code> e não há nada de errado nisso. Hoje se beija, amanhã não se beija,
depois não se sabe o que virá!</p><pre code="   Inútil você resistir
   ou mesmo suicidar-se.
   Não se mate, oh não se mate,
   reserve-se todo para 
   as bodas que ninguém sabe 
   quando virão, 
   se é que virão.

"><code __ignoreMap="">   Inútil você resistir
   ou mesmo suicidar-se.
   Não se mate, oh não se mate,
   reserve-se todo para 
   as bodas que ninguém sabe 
   quando virão, 
   se é que virão.

</code></pre><p>Acredito que não amamos apenas uma vez na vida, pelo contrário vamos amar de diferentes formas e intensidades. Do
contrário, quão triste seria se só houvesse uma alma gêmea reservada por pessoa. Seja lá o tenha acontecido, não se
mate, isso passa, como tudo já passou e passará.</p><pre code="   O amor, Carlos, você telúrico,
   a noite passou em você, 
   e os recalques se sublimando,
   lá dentro um barulho inefável,
   rezas, 
   vitrolas,
   santos que se persignam, 
   anúncios do melhor sabão, 
   barulho que ninguém sabe
   de quê, 
   pra quê.

"><code __ignoreMap="">   O amor, Carlos, você telúrico,
   a noite passou em você, 
   e os recalques se sublimando,
   lá dentro um barulho inefável,
   rezas, 
   vitrolas,
   santos que se persignam, 
   anúncios do melhor sabão, 
   barulho que ninguém sabe
   de quê, 
   pra quê.

</code></pre><p>Que barulho aí dentro em Carlos! Tem um rádio ou uma TV ligada aí, ou, quem sabe seja um turbilhão de emoções e
sentimentos? Lá dentro, em seu coração, em sua alma, há uma grande movimentação (<em>telúrica</em>) e você tenta reprimir esses
sentimentos, pô-los em ordem.</p><pre code="   Entretanto você caminha
   melancólico e vertical.
   Você é a palmeira, você é o grito 
   que ninguém ouviu no teatro
   e as luzes todas se apagam. 

"><code __ignoreMap="">   Entretanto você caminha
   melancólico e vertical.
   Você é a palmeira, você é o grito 
   que ninguém ouviu no teatro
   e as luzes todas se apagam. 

</code></pre><p>Em contraste de todo conflito e confusão dentro (<em>de você</em>), aí fora (<em>agora, fisicamente</em>) você tenta seguir, mesmo
triste, você não perde sua postura. As pessoas são assim, duas, três coisas ao mesmo tempo. Simples e complexas,
silenciosas e barulhentas. Lúcidas e incrivelmente ignorantes. A beleza de ser <code class="">humano</code> está na sua complexidade.</p><p>Mesmo com um turbilhão de sentimentos, que em algum momento nos parece quebrar por dentro, temos a aptidão natural de
ser a palmeira que não é derrubada pela tempestade!</p><p>Um turbilhão de sentimentos, que como o rádio e TV ligado ao mesmo tempo, um em cada lado do seu ouvido, faz o silêncio
ser questão de vida e morte.</p><p>O grito (<code class="">como no teatro vazio</code>) é a proclamação de que sim, aqui tem vida, e viver é maravilhoso!</p><p>Essa nossa capacidade de ser dúbio, ter sentimentos conflitantes nos permite, mudar, transformar, evoluir, sermos
empáticos, enfim, aprender! Nos permite entender, que primeiro, respeito é qualidade inseparável do amor, mesmo quando
este não existe mais.</p><pre code="   O amor no escuro, não, no claro,
   é sempre triste, meu filho, Carlos, 
   mas não diga nada a ninguém, ninguém sabe nem saberá.

"><code __ignoreMap="">   O amor no escuro, não, no claro,
   é sempre triste, meu filho, Carlos, 
   mas não diga nada a ninguém, ninguém sabe nem saberá.

</code></pre><p>Termino esse texto, ouvindo <code class="">While the song remains the same</code>, Canção de Noel Gallagher's High Flying Birds, porque é
preciso encontrar-se, conhecer sua essência. Aqueles momentos incríveis juntos, a certeza de ontem, você era tão feliz e
a insegurança de hoje. Talvez não exista mais risos, fotografias. Esses momentos continuam aí, os bons e os ruins, por
mais que não desejamos passar por isso, são os calos em nossa alma.</p><p>Do mesmo jeito que essa pessoa, de repente não faz mais sentindo na sua vida (<em>e lembre-se, provavelmente quando ela
entrou na sua vida, você não imaginava que faria tanto sentindo depois</em>), tudo isso está a sua mão novamente, quem sabe
na próxima esquina, talvez a <code class="">Fortuna</code> lhe reserve alguma surpresa.</p><p>Mas você precisa se permitir a isto.</p><p>Coragem é o que é preciso da gente.</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Não se mate, de Carlos Drummond de Andrade">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>poesia</category>
            <category>amor</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/nao-se-mate-carlos.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como mockar requisições do retrofit]]></title>
            <link>https://www.marcal.dev/como-mockar-requisicoes-do-retrofit</link>
            <guid isPermaLink="false">/como-mockar-requisicoes-do-retrofit</guid>
            <pubDate>Tue, 27 Aug 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[Uma simples maneira de mockar requisições ultilizando Retrofit, OkHttp e continuar com seus testes unitários.]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Como mockar requisições do retrofit" src="img/kawarimi_no_jutsu.png"></p><p><strong>Kawarimi no Jutsu</strong> - Técnica de substituição / Photo by Naruto</p><p>Retrofit é uma biblioteca incrivelmente poderosa que simplifica significativamente a integração com serviços web. Ao me deparar com ela pela primeira vez, deparei-me com um desafio: como prosseguir com meus testes unitários simulando as respostas do Retrofit? É isso que exploraremos neste artigo.</p><p>Em termos simples, um mock é nada mais do que um objeto falso que imita o comportamento de outro objeto. Suponha que você tenha uma chamada de API ao usar <code class="">apiService.getProduct(id)</code>. Você pode criar um objeto que simula essa chamada à API de produtos, retornando, por exemplo, um produto estático. Para todos os efeitos, o objeto que faz a chamada <code class="">apiService.getProduct</code> não tem conhecimento de que está interagindo com um objeto falso, "mockado". É semelhante à técnica de substituição em Naruto: o atacante acredita que está atingindo o ninja, mas, na verdade, está atacando outro objeto, como um pedaço de madeira.</p><p>A diferença crucial no contexto de mocks em programação é que o "atacante" (ou seja, o objeto cliente) nunca percebe que o ninja-alvo foi substituído pelo pedaço de madeira (o mock). Ficou claro?</p><p><img alt="" src="https://www.marcal.dev/content/images/2023/12/Kawarimi_no_Jutsu.webp"></p><p><strong>O</strong> atacante acha estar atingindo o adversário mas na verdade está atacando outro objeto qualquer / Photo by Naruto</p><p>Em resumo, ao utilizar mocks, você está efetivamente substituindo o comportamento real da chamada à API por um comportamento simulado durante os testes, proporcionando um ambiente controlado para avaliar o funcionamento do restante do código. Essa prática é fundamental para garantir a qualidade e a confiabilidade de seu código, especialmente quando lidamos com integrações externas.</p><p>Imagine que em sua aplicação existe uma integração a uma Api chamada StoreApi. Nessa hipotética API, você consegue listar produtos e acessar seus detalhes. Por exemplo, ao consultar a uri <code class="">products/</code>, é retornado uma lista de produtos; ao fazer uma requisição a <code class="">products/{id}</code> o retorno é o detalhe de determinado produto. Prosseguindo, em nossa aplicação, temos uma funcionalidade que em determinado ponto busca um produto na API passando o <code class="">id</code> do recurso, para logo após imprimir suas informações. Para nosso exemplo, não importa o que método <code class="">print</code> faz:</p><pre class="language-java shiki shiki-themes dracula" code="// package, imports omitidos
class ProductService {
    private final StoreApi storeApi;
    private static final Logger log =
    Logger.getLogger(ProductService.class.getName());

    ProductService(StoreApi storeApi) {
        this.storeApi = storeApi;
    }

    void printProductOfId(Long id) {
        Optional<Product> optionalProduct = findInStoreApi(id);
        if (optionalProduct.isPresent()) {
            print(optionalProduct.get());
        } else {
            throw new RuntimeException(&#x22;Product not found&#x22;);
        }
    }

    Optional<Product> findInStoreApi(Long id) {
        final Response<Product> response;
        try {
            response = this.storeApi.getDetail(id).execute();
            if (response.isSuccessful()) {
                return Optional.ofNullable(response.body());
            } else {
                log.log(
                  Level.WARNING,
                  &#x22;The response body is empty with id &#x22; + id
                );
                return Optional.empty();
            }
        } catch (IOException e) {
            log.log(Level.WARNING, &#x22;Error with id &#x22; + id, e);
            return Optional.empty();
        }

    }

    private void print(Product product) {
        System.out.println(product);
    }
}


" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#6272A4">// package, imports omitidos
</span></span><span class="line" line="2"><span style="--shiki-default:#FF79C6">class</span><span style="--shiki-default:#8BE9FD"> ProductService</span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="3"><span style="--shiki-default:#FF79C6">    private</span><span style="--shiki-default:#FF79C6"> final</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> StoreApi</span><span style="--shiki-default:#F8F8F2"> storeApi;
</span></span><span class="line" line="4"><span style="--shiki-default:#FF79C6">    private</span><span style="--shiki-default:#FF79C6"> static</span><span style="--shiki-default:#FF79C6"> final</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> Logger</span><span style="--shiki-default:#F8F8F2"> log </span><span style="--shiki-default:#FF79C6">=
</span></span><span class="line" line="5"><span style="--shiki-default:#F8F8F2">    Logger.</span><span style="--shiki-default:#50FA7B">getLogger</span><span style="--shiki-default:#F8F8F2">(ProductService.class.</span><span style="--shiki-default:#50FA7B">getName</span><span style="--shiki-default:#F8F8F2">());
</span></span><span class="line" line="6"><span emptyLinePlaceholder>
</span></span><span class="line" line="7"><span style="--shiki-default:#50FA7B">    ProductService</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">StoreApi</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic"> storeApi</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="8"><span style="--shiki-default:#BD93F9;--shiki-default-font-style:italic">        this</span><span style="--shiki-default:#F8F8F2">.storeApi </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> storeApi;
</span></span><span class="line" line="9"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="10"><span emptyLinePlaceholder>
</span></span><span class="line" line="11"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">    void</span><span style="--shiki-default:#50FA7B"> printProductOfId</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Long</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic"> id</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="12"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        Optional</span><span style="--shiki-default:#F8F8F2">&#x3C;Product> optionalProduct </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#50FA7B"> findInStoreApi</span><span style="--shiki-default:#F8F8F2">(id);
</span></span><span class="line" line="13"><span style="--shiki-default:#FF79C6">        if</span><span style="--shiki-default:#F8F8F2"> (optionalProduct.</span><span style="--shiki-default:#50FA7B">isPresent</span><span style="--shiki-default:#F8F8F2">()) {
</span></span><span class="line" line="14"><span style="--shiki-default:#50FA7B">            print</span><span style="--shiki-default:#F8F8F2">(optionalProduct.</span><span style="--shiki-default:#50FA7B">get</span><span style="--shiki-default:#F8F8F2">());
</span></span><span class="line" line="15"><span style="--shiki-default:#F8F8F2">        } </span><span style="--shiki-default:#FF79C6">else</span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="16"><span style="--shiki-default:#FF79C6">            throw</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> RuntimeException</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">Product not found</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="17"><span style="--shiki-default:#F8F8F2">        }
</span></span><span class="line" line="18"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="19"><span emptyLinePlaceholder>
</span></span><span class="line" line="20"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">    Optional</span><span style="--shiki-default:#F8F8F2">&#x3C;Product> </span><span style="--shiki-default:#50FA7B">findInStoreApi</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Long</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic"> id</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="21"><span style="--shiki-default:#FF79C6">        final</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> Response</span><span style="--shiki-default:#F8F8F2">&#x3C;Product> response;
</span></span><span class="line" line="22"><span style="--shiki-default:#FF79C6">        try</span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="23"><span style="--shiki-default:#F8F8F2">            response </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#BD93F9;--shiki-default-font-style:italic"> this</span><span style="--shiki-default:#F8F8F2">.storeApi.</span><span style="--shiki-default:#50FA7B">getDetail</span><span style="--shiki-default:#F8F8F2">(id).</span><span style="--shiki-default:#50FA7B">execute</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="24"><span style="--shiki-default:#FF79C6">            if</span><span style="--shiki-default:#F8F8F2"> (response.</span><span style="--shiki-default:#50FA7B">isSuccessful</span><span style="--shiki-default:#F8F8F2">()) {
</span></span><span class="line" line="25"><span style="--shiki-default:#FF79C6">                return</span><span style="--shiki-default:#F8F8F2"> Optional.</span><span style="--shiki-default:#50FA7B">ofNullable</span><span style="--shiki-default:#F8F8F2">(response.</span><span style="--shiki-default:#50FA7B">body</span><span style="--shiki-default:#F8F8F2">());
</span></span><span class="line" line="26"><span style="--shiki-default:#F8F8F2">            } </span><span style="--shiki-default:#FF79C6">else</span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="27"><span style="--shiki-default:#F8F8F2">                log.</span><span style="--shiki-default:#50FA7B">log</span><span style="--shiki-default:#F8F8F2">(
</span></span><span class="line" line="28"><span style="--shiki-default:#F8F8F2">                  Level.WARNING,
</span></span><span class="line" line="29"><span style="--shiki-default:#E9F284">                  "</span><span style="--shiki-default:#F1FA8C">The response body is empty with id </span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#FF79C6"> +</span><span style="--shiki-default:#F8F8F2"> id
</span></span><span class="line" line="30"><span style="--shiki-default:#F8F8F2">                );
</span></span><span class="line" line="31"><span style="--shiki-default:#FF79C6">                return</span><span style="--shiki-default:#F8F8F2"> Optional.</span><span style="--shiki-default:#50FA7B">empty</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="32"><span style="--shiki-default:#F8F8F2">            }
</span></span><span class="line" line="33"><span style="--shiki-default:#F8F8F2">        } </span><span style="--shiki-default:#FF79C6">catch</span><span style="--shiki-default:#F8F8F2"> (</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">IOException</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic"> e</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="34"><span style="--shiki-default:#F8F8F2">            log.</span><span style="--shiki-default:#50FA7B">log</span><span style="--shiki-default:#F8F8F2">(Level.WARNING, </span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">Error with id </span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#FF79C6"> +</span><span style="--shiki-default:#F8F8F2"> id, e);
</span></span><span class="line" line="35"><span style="--shiki-default:#FF79C6">            return</span><span style="--shiki-default:#F8F8F2"> Optional.</span><span style="--shiki-default:#50FA7B">empty</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="36"><span style="--shiki-default:#F8F8F2">        }
</span></span><span class="line" line="37"><span emptyLinePlaceholder>
</span></span><span class="line" line="38"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="39"><span emptyLinePlaceholder>
</span></span><span class="line" line="40"><span style="--shiki-default:#FF79C6">    private</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> void</span><span style="--shiki-default:#50FA7B"> print</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Product</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic"> product</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="41"><span style="--shiki-default:#F8F8F2">        System.out.</span><span style="--shiki-default:#50FA7B">println</span><span style="--shiki-default:#F8F8F2">(product);
</span></span><span class="line" line="42"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="43"><span style="--shiki-default:#F8F8F2">}
</span></span></code></pre><p><code class="">class ProductService</code></p><p>Você deseja criar um teste unitário para o método <code class="">printProductOfId</code>, mas por algum motivo você não pode fazer uma chamada real a StoreApi e talvez você nem queira realmente disparar uma requisição verdadeira: vamos supor que cada requisição gere um custo para você! Podemos continuar nossos testes simplesmente mockando a <code class="">StoreApi</code> com um <code class="">interceptor</code>:</p><pre class="language-java shiki shiki-themes dracula" code="// package, imports da classe omitidos
class RestClientMock {
    private static StoreApi storeApi;

    static StoreApi getClient() {
        if (storeApi == null) {
            final OkHttpClient client = new OkHttpClient.Builder()
                    .addInterceptor(new FakeInterceptor())
                    .build();

            final Retrofit retrofit = new Retrofit.Builder()
                    .addConverterFactory(
                      GsonConverterFactory.create()
                    )
                    .baseUrl(&#x22;https://wwww.storemock-api.com.br&#x22;)
                    .client(client)
                    .build();

            storeApi = retrofit.create(StoreApi.class);
        }
        return storeApi;
    }
}

" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#6272A4">// package, imports da classe omitidos
</span></span><span class="line" line="2"><span style="--shiki-default:#FF79C6">class</span><span style="--shiki-default:#8BE9FD"> RestClientMock</span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="3"><span style="--shiki-default:#FF79C6">    private</span><span style="--shiki-default:#FF79C6"> static</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> StoreApi</span><span style="--shiki-default:#F8F8F2"> storeApi;
</span></span><span class="line" line="4"><span emptyLinePlaceholder>
</span></span><span class="line" line="5"><span style="--shiki-default:#FF79C6">    static</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> StoreApi</span><span style="--shiki-default:#50FA7B"> getClient</span><span style="--shiki-default:#F8F8F2">() {
</span></span><span class="line" line="6"><span style="--shiki-default:#FF79C6">        if</span><span style="--shiki-default:#F8F8F2"> (storeApi </span><span style="--shiki-default:#FF79C6">==</span><span style="--shiki-default:#BD93F9"> null</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="7"><span style="--shiki-default:#FF79C6">            final</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> OkHttpClient</span><span style="--shiki-default:#F8F8F2"> client </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#F8F8F2"> OkHttpClient.</span><span style="--shiki-default:#50FA7B">Builder</span><span style="--shiki-default:#F8F8F2">()
</span></span><span class="line" line="8"><span style="--shiki-default:#F8F8F2">                    .</span><span style="--shiki-default:#50FA7B">addInterceptor</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold">new</span><span style="--shiki-default:#50FA7B"> FakeInterceptor</span><span style="--shiki-default:#F8F8F2">())
</span></span><span class="line" line="9"><span style="--shiki-default:#F8F8F2">                    .</span><span style="--shiki-default:#50FA7B">build</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="10"><span emptyLinePlaceholder>
</span></span><span class="line" line="11"><span style="--shiki-default:#FF79C6">            final</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> Retrofit</span><span style="--shiki-default:#F8F8F2"> retrofit </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#F8F8F2"> Retrofit.</span><span style="--shiki-default:#50FA7B">Builder</span><span style="--shiki-default:#F8F8F2">()
</span></span><span class="line" line="12"><span style="--shiki-default:#F8F8F2">                    .</span><span style="--shiki-default:#50FA7B">addConverterFactory</span><span style="--shiki-default:#F8F8F2">(
</span></span><span class="line" line="13"><span style="--shiki-default:#F8F8F2">                      GsonConverterFactory.</span><span style="--shiki-default:#50FA7B">create</span><span style="--shiki-default:#F8F8F2">()
</span></span><span class="line" line="14"><span style="--shiki-default:#F8F8F2">                    )
</span></span><span class="line" line="15"><span style="--shiki-default:#F8F8F2">                    .</span><span style="--shiki-default:#50FA7B">baseUrl</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">https://wwww.storemock-api.com.br</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">)
</span></span><span class="line" line="16"><span style="--shiki-default:#F8F8F2">                    .</span><span style="--shiki-default:#50FA7B">client</span><span style="--shiki-default:#F8F8F2">(client)
</span></span><span class="line" line="17"><span style="--shiki-default:#F8F8F2">                    .</span><span style="--shiki-default:#50FA7B">build</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="18"><span emptyLinePlaceholder>
</span></span><span class="line" line="19"><span style="--shiki-default:#F8F8F2">            storeApi </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> retrofit.</span><span style="--shiki-default:#50FA7B">create</span><span style="--shiki-default:#F8F8F2">(StoreApi.class);
</span></span><span class="line" line="20"><span style="--shiki-default:#F8F8F2">        }
</span></span><span class="line" line="21"><span style="--shiki-default:#FF79C6">        return</span><span style="--shiki-default:#F8F8F2"> storeApi;
</span></span><span class="line" line="22"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="23"><span style="--shiki-default:#F8F8F2">}
</span></span></code></pre><p><code class="">class RestClientMock</code></p><p>Perceba que adicionamos um novo <code class="">interceptor</code> chamado <code class="">FakeInterceptor</code>. Ele intercepta a requisição e devolve uma resposta mockada, assim como o nome da classe diz:</p><pre class="language-java shiki shiki-themes dracula" code="// package, imports omitidos
public class FakeInterceptor implements Interceptor {
    private static final String productDetail = 
    &#x22;{\&#x22;id\&#x22;:1,\&#x22;name\&#x22;:\&#x22;Book\&#x22;}&#x22;;


    @Override
    public Response intercept(Chain chain) {
        Response response;
        String responseString = &#x22;{}&#x22;;
        final List<String> paths = chain.request()
                                    .url()
                                    .pathSegments();

        Response.Builder builder = new Response.Builder();
        builder.code(404);
        if (paths != null &#x26;&#x26; !paths.isEmpty()) {
            String lastPath = paths.get(paths.size() - 1);
            if (lastPath.equals(&#x22;1&#x22;)) {
                builder.code(200);
                responseString = productDetail;
            }
        }

        response = builder
                .message(responseString)
                .request(chain.request())
                .protocol(Protocol.HTTP_1_0)
          .body(ResponseBody.create(
                  MediaType.parse(&#x22;application/json&#x22;),
                  responseString.getBytes()
                  ))
          .addHeader(&#x22;content-type&#x22;, &#x22;application/json&#x22;)
          .build();

        return response;
    }
}

" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#6272A4">// package, imports omitidos
</span></span><span class="line" line="2"><span style="--shiki-default:#FF79C6">public</span><span style="--shiki-default:#FF79C6"> class</span><span style="--shiki-default:#8BE9FD"> FakeInterceptor</span><span style="--shiki-default:#FF79C6"> implements</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> Interceptor</span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="3"><span style="--shiki-default:#FF79C6">    private</span><span style="--shiki-default:#FF79C6"> static</span><span style="--shiki-default:#FF79C6"> final</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> String</span><span style="--shiki-default:#F8F8F2"> productDetail </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> 
</span></span><span class="line" line="4"><span style="--shiki-default:#E9F284">    "</span><span style="--shiki-default:#F1FA8C">{</span><span style="--shiki-default:#FF79C6">\"</span><span style="--shiki-default:#F1FA8C">id</span><span style="--shiki-default:#FF79C6">\"</span><span style="--shiki-default:#F1FA8C">:1,</span><span style="--shiki-default:#FF79C6">\"</span><span style="--shiki-default:#F1FA8C">name</span><span style="--shiki-default:#FF79C6">\"</span><span style="--shiki-default:#F1FA8C">:</span><span style="--shiki-default:#FF79C6">\"</span><span style="--shiki-default:#F1FA8C">Book</span><span style="--shiki-default:#FF79C6">\"</span><span style="--shiki-default:#F1FA8C">}</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="5"><span emptyLinePlaceholder>
</span></span><span class="line" line="6"><span emptyLinePlaceholder>
</span></span><span class="line" line="7"><span style="--shiki-default:#F8F8F2">    @</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Override
</span></span><span class="line" line="8"><span style="--shiki-default:#FF79C6">    public</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> Response</span><span style="--shiki-default:#50FA7B"> intercept</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Chain</span><span style="--shiki-default:#FFB86C;--shiki-default-font-style:italic"> chain</span><span style="--shiki-default:#F8F8F2">) {
</span></span><span class="line" line="9"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        Response</span><span style="--shiki-default:#F8F8F2"> response;
</span></span><span class="line" line="10"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        String</span><span style="--shiki-default:#F8F8F2"> responseString </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#E9F284"> "</span><span style="--shiki-default:#F1FA8C">{}</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">;
</span></span><span class="line" line="11"><span style="--shiki-default:#FF79C6">        final</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> List</span><span style="--shiki-default:#F8F8F2">&#x3C;String> paths </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> chain.</span><span style="--shiki-default:#50FA7B">request</span><span style="--shiki-default:#F8F8F2">()
</span></span><span class="line" line="12"><span style="--shiki-default:#F8F8F2">                                    .</span><span style="--shiki-default:#50FA7B">url</span><span style="--shiki-default:#F8F8F2">()
</span></span><span class="line" line="13"><span style="--shiki-default:#F8F8F2">                                    .</span><span style="--shiki-default:#50FA7B">pathSegments</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="14"><span emptyLinePlaceholder>
</span></span><span class="line" line="15"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        Response</span><span style="--shiki-default:#F8F8F2">.</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Builder</span><span style="--shiki-default:#F8F8F2"> builder </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#F8F8F2"> Response.</span><span style="--shiki-default:#50FA7B">Builder</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="16"><span style="--shiki-default:#F8F8F2">        builder.</span><span style="--shiki-default:#50FA7B">code</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#BD93F9">404</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="17"><span style="--shiki-default:#FF79C6">        if</span><span style="--shiki-default:#F8F8F2"> (paths </span><span style="--shiki-default:#FF79C6">!=</span><span style="--shiki-default:#BD93F9"> null</span><span style="--shiki-default:#FF79C6"> &#x26;&#x26;</span><span style="--shiki-default:#FF79C6"> !</span><span style="--shiki-default:#F8F8F2">paths.</span><span style="--shiki-default:#50FA7B">isEmpty</span><span style="--shiki-default:#F8F8F2">()) {
</span></span><span class="line" line="18"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">            String</span><span style="--shiki-default:#F8F8F2"> lastPath </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> paths.</span><span style="--shiki-default:#50FA7B">get</span><span style="--shiki-default:#F8F8F2">(paths.</span><span style="--shiki-default:#50FA7B">size</span><span style="--shiki-default:#F8F8F2">() </span><span style="--shiki-default:#FF79C6">-</span><span style="--shiki-default:#BD93F9"> 1</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="19"><span style="--shiki-default:#FF79C6">            if</span><span style="--shiki-default:#F8F8F2"> (lastPath.</span><span style="--shiki-default:#50FA7B">equals</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">1</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">)) {
</span></span><span class="line" line="20"><span style="--shiki-default:#F8F8F2">                builder.</span><span style="--shiki-default:#50FA7B">code</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#BD93F9">200</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="21"><span style="--shiki-default:#F8F8F2">                responseString </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> productDetail;
</span></span><span class="line" line="22"><span style="--shiki-default:#F8F8F2">            }
</span></span><span class="line" line="23"><span style="--shiki-default:#F8F8F2">        }
</span></span><span class="line" line="24"><span emptyLinePlaceholder>
</span></span><span class="line" line="25"><span style="--shiki-default:#F8F8F2">        response </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> builder
</span></span><span class="line" line="26"><span style="--shiki-default:#F8F8F2">                .</span><span style="--shiki-default:#50FA7B">message</span><span style="--shiki-default:#F8F8F2">(responseString)
</span></span><span class="line" line="27"><span style="--shiki-default:#F8F8F2">                .</span><span style="--shiki-default:#50FA7B">request</span><span style="--shiki-default:#F8F8F2">(chain.</span><span style="--shiki-default:#50FA7B">request</span><span style="--shiki-default:#F8F8F2">())
</span></span><span class="line" line="28"><span style="--shiki-default:#F8F8F2">                .</span><span style="--shiki-default:#50FA7B">protocol</span><span style="--shiki-default:#F8F8F2">(Protocol.HTTP_1_0)
</span></span><span class="line" line="29"><span style="--shiki-default:#F8F8F2">          .</span><span style="--shiki-default:#50FA7B">body</span><span style="--shiki-default:#F8F8F2">(ResponseBody.</span><span style="--shiki-default:#50FA7B">create</span><span style="--shiki-default:#F8F8F2">(
</span></span><span class="line" line="30"><span style="--shiki-default:#F8F8F2">                  MediaType.</span><span style="--shiki-default:#50FA7B">parse</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">application/json</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">),
</span></span><span class="line" line="31"><span style="--shiki-default:#F8F8F2">                  responseString.</span><span style="--shiki-default:#50FA7B">getBytes</span><span style="--shiki-default:#F8F8F2">()
</span></span><span class="line" line="32"><span style="--shiki-default:#F8F8F2">                  ))
</span></span><span class="line" line="33"><span style="--shiki-default:#F8F8F2">          .</span><span style="--shiki-default:#50FA7B">addHeader</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">content-type</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">, </span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F1FA8C">application/json</span><span style="--shiki-default:#E9F284">"</span><span style="--shiki-default:#F8F8F2">)
</span></span><span class="line" line="34"><span style="--shiki-default:#F8F8F2">          .</span><span style="--shiki-default:#50FA7B">build</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="35"><span emptyLinePlaceholder>
</span></span><span class="line" line="36"><span style="--shiki-default:#FF79C6">        return</span><span style="--shiki-default:#F8F8F2"> response;
</span></span><span class="line" line="37"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="38"><span style="--shiki-default:#F8F8F2">}
</span></span></code></pre><p><code class="">class FakeInterceptor</code></p><p>Agora só precisamos utilizar o cliente mockado em nossos testes unitários:</p><pre class="language-java shiki shiki-themes dracula" code="// package, imports omitidos
public class ProductServiceTest {
    private static final StoreApi storeApi = RestClientMock.getClient();

    @Test
    public void printProductOfId() {
        ProductService productService = new ProductService(storeApi);
        productService.printProductOfId(1L);
        // some test to validate the print
    }

    @Test(expected = RuntimeException.class)
    public void giveProductNotFound_ThenThrowRuntimeException() {
        ProductService productService = new ProductService(storeApi);
        productService.printProductOfId(2L);
    }

    @Test
    public void productIsPresent() {
        ProductService productService = new ProductService(storeApi);
        Optional<Product> optionalProduct = productService.findInStoreApi(1L);
        assertTrue(optionalProduct.isPresent());
    }

    @Test
    public void productIsNotPresent() {
        ProductService productService = new ProductService(storeApi);
        Optional<Product> optionalProduct = productService.findInStoreApi(2L);
        assertFalse(optionalProduct.isPresent());
    }
}

" language="java" meta="" style=""><code __ignoreMap=""><span class="line" line="1"><span style="--shiki-default:#6272A4">// package, imports omitidos
</span></span><span class="line" line="2"><span style="--shiki-default:#FF79C6">public</span><span style="--shiki-default:#FF79C6"> class</span><span style="--shiki-default:#8BE9FD"> ProductServiceTest</span><span style="--shiki-default:#F8F8F2"> {
</span></span><span class="line" line="3"><span style="--shiki-default:#FF79C6">    private</span><span style="--shiki-default:#FF79C6"> static</span><span style="--shiki-default:#FF79C6"> final</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> StoreApi</span><span style="--shiki-default:#F8F8F2"> storeApi </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> RestClientMock.</span><span style="--shiki-default:#50FA7B">getClient</span><span style="--shiki-default:#F8F8F2">();
</span></span><span class="line" line="4"><span emptyLinePlaceholder>
</span></span><span class="line" line="5"><span style="--shiki-default:#F8F8F2">    @</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Test
</span></span><span class="line" line="6"><span style="--shiki-default:#FF79C6">    public</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> void</span><span style="--shiki-default:#50FA7B"> printProductOfId</span><span style="--shiki-default:#F8F8F2">() {
</span></span><span class="line" line="7"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        ProductService</span><span style="--shiki-default:#F8F8F2"> productService </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> ProductService</span><span style="--shiki-default:#F8F8F2">(storeApi);
</span></span><span class="line" line="8"><span style="--shiki-default:#F8F8F2">        productService.</span><span style="--shiki-default:#50FA7B">printProductOfId</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#BD93F9">1L</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="9"><span style="--shiki-default:#6272A4">        // some test to validate the print
</span></span><span class="line" line="10"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="11"><span emptyLinePlaceholder>
</span></span><span class="line" line="12"><span style="--shiki-default:#F8F8F2">    @</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Test</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#BD93F9">expected</span><span style="--shiki-default:#FF79C6"> =</span><span style="--shiki-default:#F8F8F2"> RuntimeException.class)
</span></span><span class="line" line="13"><span style="--shiki-default:#FF79C6">    public</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> void</span><span style="--shiki-default:#50FA7B"> giveProductNotFound_ThenThrowRuntimeException</span><span style="--shiki-default:#F8F8F2">() {
</span></span><span class="line" line="14"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        ProductService</span><span style="--shiki-default:#F8F8F2"> productService </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> ProductService</span><span style="--shiki-default:#F8F8F2">(storeApi);
</span></span><span class="line" line="15"><span style="--shiki-default:#F8F8F2">        productService.</span><span style="--shiki-default:#50FA7B">printProductOfId</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#BD93F9">2L</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="16"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="17"><span emptyLinePlaceholder>
</span></span><span class="line" line="18"><span style="--shiki-default:#F8F8F2">    @</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Test
</span></span><span class="line" line="19"><span style="--shiki-default:#FF79C6">    public</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> void</span><span style="--shiki-default:#50FA7B"> productIsPresent</span><span style="--shiki-default:#F8F8F2">() {
</span></span><span class="line" line="20"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        ProductService</span><span style="--shiki-default:#F8F8F2"> productService </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> ProductService</span><span style="--shiki-default:#F8F8F2">(storeApi);
</span></span><span class="line" line="21"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        Optional</span><span style="--shiki-default:#F8F8F2">&#x3C;Product> optionalProduct </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> productService.</span><span style="--shiki-default:#50FA7B">findInStoreApi</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#BD93F9">1L</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="22"><span style="--shiki-default:#50FA7B">        assertTrue</span><span style="--shiki-default:#F8F8F2">(optionalProduct.</span><span style="--shiki-default:#50FA7B">isPresent</span><span style="--shiki-default:#F8F8F2">());
</span></span><span class="line" line="23"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="24"><span emptyLinePlaceholder>
</span></span><span class="line" line="25"><span style="--shiki-default:#F8F8F2">    @</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">Test
</span></span><span class="line" line="26"><span style="--shiki-default:#FF79C6">    public</span><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic"> void</span><span style="--shiki-default:#50FA7B"> productIsNotPresent</span><span style="--shiki-default:#F8F8F2">() {
</span></span><span class="line" line="27"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        ProductService</span><span style="--shiki-default:#F8F8F2"> productService </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#FF79C6;--shiki-default-font-weight:bold"> new</span><span style="--shiki-default:#50FA7B"> ProductService</span><span style="--shiki-default:#F8F8F2">(storeApi);
</span></span><span class="line" line="28"><span style="--shiki-default:#8BE9FD;--shiki-default-font-style:italic">        Optional</span><span style="--shiki-default:#F8F8F2">&#x3C;Product> optionalProduct </span><span style="--shiki-default:#FF79C6">=</span><span style="--shiki-default:#F8F8F2"> productService.</span><span style="--shiki-default:#50FA7B">findInStoreApi</span><span style="--shiki-default:#F8F8F2">(</span><span style="--shiki-default:#BD93F9">2L</span><span style="--shiki-default:#F8F8F2">);
</span></span><span class="line" line="29"><span style="--shiki-default:#50FA7B">        assertFalse</span><span style="--shiki-default:#F8F8F2">(optionalProduct.</span><span style="--shiki-default:#50FA7B">isPresent</span><span style="--shiki-default:#F8F8F2">());
</span></span><span class="line" line="30"><span style="--shiki-default:#F8F8F2">    }
</span></span><span class="line" line="31"><span style="--shiki-default:#F8F8F2">}
</span></span></code></pre><p><code class="">class ProductServiceTest</code></p><p>A implementação completa deste exemplo pode ser <a href="https://github.com/vitormarcal/retrofit-unit-test-tutorial" rel="nofollow">encontrada neste repositório do GitHub</a>.</p><style>html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}</style>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Como mockar requisições do retrofit">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>tecnologia</category>
            <category>programacao</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/kawarimi_no_jutsu.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Em defesa da menor minoria]]></title>
            <link>https://www.marcal.dev/em-defesa-da-menor-minoria</link>
            <guid isPermaLink="false">/em-defesa-da-menor-minoria</guid>
            <pubDate>Wed, 05 Jun 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[O que são direitos e privilégios, e por que devemos defender o direito às liberdades individuais?]]></description>
            <content:encoded><![CDATA[
            <p><img alt="Em defesa da menor minoria" src="img/em-defesa-da-menor-minoria.jpg"></p><p>Muito se fala atualmente sobre a aplicação de direitos. Direitos à saúde, moradia, alimentação, lazer, educação. Existem, também, atualmente muitos grupos de interesse que lutam pelo reconhecimento de um direito. O direito de casais homoafetivos de casarem, formarem uma família, adotar crianças. O direito da comunidade negra a uma restituição social através de programas de cotas para a entrada em universidades ou serviço público, por exemplo. O direito das mulheres em terem um salário equivalente aos homens que exercem a mesma função. Ou o direito das mulheres de terem x vagas reservadas em órgãos públicos, ou o direito de licença maternidade para um ou outro gênero. A lista de direitos de minorias é extensa e constantemente cresce em função da reivindicação de um grupo. Sou da opinião de que o estado ao assumir a tarefa de distribuir e regular direitos, possui um poder imenso sobre o individuo e amplia assim suas amarras coercitivas.</p><p>Frank Karsten e Karel Beckman escreveram, no livro Além da Democracia, uma ótima análise sobre o direito das minorias em uma democracia.</p><blockquote><p>É por vezes pensado que, nas democracias ocidentais, a maioria não pode simplesmente fazer o que quiser ou mesmo que as democracias, de fato, tipicamente protegem os direitos das minorias. Isso é um mito. Sim, há atualmente algumas minorias que gozam de 'proteção' especial do estado, como por exemplo, feministas, gays e minorias étnicas. Outras minorias, como os mexicanos, fumantes, usuários de drogas, empresários, sem tetos, cristãos - não podem contar com tratamento preferencial. A popularidade de algumas minorias tem mais a ver com a moda do que com a democracia.</p></blockquote><p>Por que algumas minorias são mais facilmente ouvidas e atendidas enquanto outras são constantemente ignoradas? Por que, em tempos, uma minoria é impopular para depois a vermos cada vez mais sendo ouvida? Por que o contrário também é verdadeiro? Por que o grupo A consegue o direito de ter x vagas no Congresso enquanto é negado ao grupo B tantas vagas? Qual a lógica que proporciona direitos a uns e nega a outros? Talvez o nível do barulho e a ferocidade dessas minorias resultem no modo em que estas sejam tratadas. Talvez o modo em que estas minorias sejam atuantes na sociedade influencie no resultado final. Da mesma forma que uma minoria ganha um direito (ganha um direito ou ganha o reconhecimento do direito?), este mesmo direito não pode ser retirado depois pelas mesmas vias democráticas em que ele foi concedido? Ou seja, a lei de hoje pode ser retificada amanhã?</p><p>Um parantêses nesse texto. Note que o paragráfo anterior também pode ser lido trocando as ocorrências da palavra "direito" pela palavra "privilégio". O que o Estado distribui não são direitos, mas sim privilégios. O que ou quais seriam então, os verdadeiros direitos?</p><p>Direitos, são direitos inerentes à natureza humana. São chamados de direitos naturais: direitos que nascem com o homem , são anteriores a própria existência do governo e não podem ser modificados pelo governo.</p><p>Ora, se um direito é inerente à natureza humana, tanto eu quanto você temos este direito. Fulano, beltrano e toda a espécie humana possuem esse mesmo direito e podem, por conseguinte exercer este mesmo direito ao mesmo tempo. Se eu exerço um direito que o impeça de, também, exerce-lo então este não é um direito natural.</p><p>Ao me expressar livremente, não tiro seu direito de também se expressar livremente. Todos podem se expressar livremente sem que tirem, com isto, a possibilidade de outros se expressarem livremente. A liberdade de expressão é, então, um direito natural que não pode ser regulado por nenhum individuo ou grupo sem que estes usem a violência.</p><p>Se, ao exercer um direito que alego possuir, estou fazendo com que seja impossível que outra pessoa exerça esse direito ao mesmo tempo, então, este suposto direito não é um direito natural. Este é um privilégio meu sobre outras pessoas.</p><p>Sempre que um direito requeira que alguma pessoa tenha alguma obrigação por outra, este não é um verdadeiro direito, é o uso da força para ter algum tipo de privilégio.</p><p>Por exemplo, quando digo que tenho direito a um acompanhamento médico ( direito à saúde). Note que não estou dizendo que tenho direito a pagar um médico sempre que quiser. Do contrario, estou dizendo que sempre que quiser e precisar tenho direito a ter um acompanhamento médico. Isto quer dizer que deve haver algum mecanismo que garanta meu direito à saúde. Enquanto eu tenho este direito, outra pessoa tem o dever de garantir-me o acompanhamento médico. Como escreveu Lawrence W. Reed:</p><blockquote><p>Meu direito criou um dever para essa pessoa: ela agora é obrigada a efetuar uma ação que ela não necessariamente queria efetuar.</p></blockquote><p>Programas sociais, saúde, educação, comida, subsídios, todos estes supostos direitos concedidos por nossa sociedade não são direitos naturais, visto que indivíduos são obrigados a custeá-los para outros. De outra forma, todos nós podemos comprar ou vender serviços de saúde, comida e/ou educação de acordo com nossos termos desde que haja alguém disposto á aceita-los e vende-los/compra-los.</p><p>Lembre-se, toda vez que falarmos "Tenho este direito!", há uma boa chance de estarmos defendendo que devemos ter o direito de impor violentamente nosso desejo sobre as pessoas que não concordam conosco. Há um grande perigo em uma sociedade que aceite a distribuição de direitos: à medida que os direitos forem legalizados, ou seja, criados e distribuídos, um grupo terá o privilegio enquanto o individuo terá mais obrigações. Grupos terão privilégios em relação a uns e outros mas todos os indivíduos terão obrigações a estes grupos.</p><p>Talvez ao ler este artigo, tenha se indagado, "Certo, uma crítica aos privilégios, mas o título não é 'Em defesa da menor minoria'?" Sim, e qual seria a menor minoria, se não o individuo? É o individuo que nasce com direitos naturais, ao contrario dos mais variados grupos de interesse. Não são "os índios" ou "quilombolas" que nascem com direitos naturais; são indivíduos ( que eventualmente podem ser brancos, negros, ou de qualquer outra cor, etnia ou grupo de interesse) que nascem com estes direitos. Ao defendermos direitos do individuo, defendemos a liberdade individual de agirmos da maneira que quisermos desde que deste modo não implique uma carga a outro individuo.</p><p>Quando deixaremos de reconhecer todos estes grupos que lutam por privilégios, mascarados como direitos e começaremos a reconhecer os direitos do individuo?</p>
            <br/>
            <hr/>
            <p>Obrigado por manter o RSS vivo!❤️<p/>
            <p>Blogues são conversas ● <a aria-label="Entre na conversa via e-mail" href="mailto:feed@marcal.dev?subject=Em defesa da menor minoria">Entre na conversa via e-mail</a></p>
        ]]></content:encoded>
            <author>feed@marcal.dev (Vítor Marçal)</author>
            <category>liberdade</category>
            <category>portugues</category>
            <enclosure url="https://www.marcal.dev/img/em-defesa-da-menor-minoria.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>