<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Thiago MadPin&#39;s Blog</title>
    <link>https://madpin.dev/post/</link>
    <description>Recent content in Posts on Thiago MadPin&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 02 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://madpin.dev/post/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>epublate: Saving My Audiobook Addiction One ePub at a Time</title>
      <link>https://madpin.dev/2026/05/02-epublate-translating-books-with-llms/</link>
      <pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2026/05/02-epublate-translating-books-with-llms/</guid>
      <description>&lt;h1 id=&#34;tldr-&#34;&gt;TL;DR 🎧📚&lt;/h1&gt;&#xA;&lt;p&gt;I love audiobooks. I listen in Portuguese. Half my series die mid-trilogy because nobody finished translating them, or nobody recorded the audio.&lt;/p&gt;&#xA;&lt;p&gt;So I built &lt;strong&gt;&lt;code&gt;epublate&lt;/code&gt;&lt;/strong&gt; — a terminal tool that translates ePub books with an LLM, keeps a per-project lore bible (so names don&amp;rsquo;t drift across 800 pages), and shares that lore across books in the same series.&lt;/p&gt;&#xA;&lt;p&gt;Hand the translated ePub to ElevenReader, press play, walk to work. Problem solved.&lt;/p&gt;</description>
    </item>
    <item>
      <title>O Grande Sequestro Ecológico</title>
      <link>https://madpin.dev/2025/12/06-o-grande-sequestro-ecolgico/</link>
      <pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2025/12/06-o-grande-sequestro-ecolgico/</guid>
      <description>&lt;h1 id=&#34;o-grande-sequestro-ecológico&#34;&gt;O Grande Sequestro Ecológico&lt;/h1&gt;&#xA;&lt;h2 id=&#34;como-corporações-transformaram-sabedoria-ancestral-em-culpa-individual&#34;&gt;Como Corporações Transformaram Sabedoria Ancestral em Culpa Individual&lt;/h2&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;introdução-a-culpa-que-não-é-sua-&#34;&gt;Introdução: A Culpa Que Não é Sua 🛡️&lt;/h2&gt;&#xA;&lt;p&gt;Você se sente culpado por esquecer a sacola reutilizável no supermercado? Por deixar a luz acesa? Por pedir comida entregue em casa?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Essa culpa não é acidental. É um projeto.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A ecologia e a sustentabilidade não foram inventadas por corporações — foram roubadas delas. Conceitos nobres de mordomia ecológica, desenvolvidos por povos indígenas e filósofos há milhares de anos, foram capturados, embalados e revendidos a você como &lt;em&gt;produtos&lt;/em&gt; ou como &lt;em&gt;culpa pessoal&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>10 chickens, 10 dishes, 1 hour</title>
      <link>https://madpin.dev/2025/09/08-10-chickens-10-dishes-1-hour/</link>
      <pubDate>Mon, 08 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2025/09/08-10-chickens-10-dishes-1-hour/</guid>
      <description>&lt;h1 id=&#34;10-chickens-10-dishes-1-hour&#34;&gt;10 Chickens, 10 Dishes, 1 Hour&lt;/h1&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Your accessible guide with quick recipes, tips, and time-saving tricks&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Chef Kush turns 10 whole chickens into a global feast in about an hour by stacking smart shortcuts, pantry boosters, and parallel cooking. This guide distills the video into easy tables, short how-tos, and practical tips you can use at home with 1–2 chickens.&lt;/p&gt;&#xA;&lt;div class=&#34;heart-note&#34; style=&#34;background: #fff5f5; border-left: 4px solid #ff69b4; padding: 1rem; margin: 1rem 0; border-radius: 8px;&#34;&gt;&#xA;💖 **A special note for Rachel, my favorite chef** 💖&lt;br&gt;&#xA;Hey love, this one&#39;s for you - your chicken game is about to level up! Can&#39;t wait to cook this together and turn our kitchen into a global feast. Love you lots! 😘&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;-the-irony-of-being-a-dedicated-bf-who-wont-eat-chicken&#34;&gt;🤔 The Irony of Being a Dedicated BF Who Won&amp;rsquo;t Eat Chicken&lt;/h2&gt;&#xA;&lt;div class=&#34;funny-box&#34; style=&#34;background: linear-gradient(135deg, #ffeaa7 0%, #fab1a0 100%); border-left: 4px solid #fdcb6e; padding: 1.5rem; margin: 1.5rem 0; border-radius: 12px; position: relative;&#34;&gt;&#xA;&lt;div style=&#34;position: absolute; top: -10px; left: -10px; background: #fdcb6e; color: #333; padding: 5px 10px; border-radius: 20px; font-size: 0.8rem; font-weight: bold;&#34;&gt;🍗 CHICKEN PARADOX 🍗&lt;/div&gt;&#xA;&lt;p&gt;&lt;strong&gt;Plot twist:&lt;/strong&gt; I&amp;rsquo;m the ultimate chicken cooking sidekick, but I don&amp;rsquo;t actually &lt;em&gt;eat&lt;/em&gt; chicken. 🤯&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI Feels Like Magic</title>
      <link>https://madpin.dev/2025/09/08-ai-feels-like-magic/</link>
      <pubDate>Mon, 08 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2025/09/08-ai-feels-like-magic/</guid>
      <description>&lt;h1 id=&#34;tldr-&#34;&gt;TL;DR 🎩✨&lt;/h1&gt;&#xA;&lt;p&gt;AI is more than a fast intern — sometimes it feels like a magician pulling rabbits out of hats. But if we only watch the trick without learning how it works, we’re just amazed spectators, not wiser professionals.&lt;/p&gt;&#xA;&lt;p&gt;The golden rule still applies: &lt;strong&gt;Don&amp;rsquo;t Delegate Understanding.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;✅ Ask AI for help, absolutely.&lt;/li&gt;&#xA;&lt;li&gt;✅ Let it speed up tasks and suggest options.&lt;/li&gt;&#xA;&lt;li&gt;❌ But don’t hand over your thinking.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The key is to learn from its answers — to know what you’re &lt;strong&gt;gaining&lt;/strong&gt;, what you’re &lt;strong&gt;losing&lt;/strong&gt;, and &lt;em&gt;why&lt;/em&gt; the chosen solution fits this problem. That’s how AI goes from a stage magician to a true teacher.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Obsidian and Google Calendar</title>
      <link>https://madpin.dev/2024/12/26/obsidian-and-google-calendar/</link>
      <pubDate>Sat, 04 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/26/obsidian-and-google-calendar/</guid>
      <description>&lt;p&gt;Obsidian, with its vast plugin ecosystem, continually evolves to meet the diverse needs of its users. One such gem is the Google Calendar plugin, which bridges the gap between your daily schedule and your knowledge base. This post delves into the plugin&amp;rsquo;s capabilities, particularly its ability to automatically generate well-structured notes from your Google Calendar events, using a powerful and customizable template.&lt;/p&gt;&#xA;&lt;h2 id=&#34;bridging-the-gap-obsidian-meets-google-calendar&#34;&gt;Bridging the Gap: Obsidian Meets Google Calendar&lt;/h2&gt;&#xA;&lt;p&gt;The Obsidian Google Calendar plugin allows you to interact with your Google Calendar directly within Obsidian. This integration provides commands to open views, insert relevant data, and create notes linked to your events. These event-linked notes are called &lt;code&gt;EventNotes&lt;/code&gt;, and they can revolutionize how you manage your time and information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Dublin Ricotta Christmas</title>
      <link>https://madpin.dev/2024/12/26-a-dublin-ricotta-christmas/</link>
      <pubDate>Thu, 26 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/26-a-dublin-ricotta-christmas/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s funny how the aroma of certain foods can act as a time machine, instantly transporting you back to cherished moments. As I stand here in my Dublin kitchen, the scent of baking ricotta mingling with the crisp December air, I&amp;rsquo;m not just in Ireland anymore. I&amp;rsquo;m also back in São Paulo, in my mother&amp;rsquo;s cozy kitchen, watching her work her culinary magic. This Christmas, that magic comes in the form of a Ricotta Pie – a dish that, while Italian, resonates deeply with my Brazilian heart.&lt;/p&gt;</description>
    </item>
    <item>
      <title>VPS: My Oracle Cloud ARM Server Setup - It&#39;s Free Real Estate!</title>
      <link>https://madpin.dev/2024/12/19-vps-first-setup/</link>
      <pubDate>Thu, 19 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/19-vps-first-setup/</guid>
      <description>&lt;p&gt;So, I did it again. I set up another VPS. You know, that feeling when you get a new digital toy? It&amp;rsquo;s like Christmas morning, except instead of unwrapping presents, you&amp;rsquo;re staring at a blinking cursor, ready to type in commands that seem like ancient incantations. This time, it was an Oracle Cloud ARM-based instance, and the best part? It&amp;rsquo;s free! That&amp;rsquo;s right, Oracle&amp;rsquo;s &amp;ldquo;Always Free&amp;rdquo; tier is like finding a twenty in your old jeans, except this twenty keeps giving. Let me walk you through how I turned this blank slate into a secure, Docker-ready playground, all from my cozy little corner in Dublin.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Science and Secrets of Brazilian Pão de Queijo</title>
      <link>https://madpin.dev/2024/12/16-the-magical-cheese-bread-from-brazil-my-po-de-queijo-adventure/</link>
      <pubDate>Mon, 16 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/16-the-magical-cheese-bread-from-brazil-my-po-de-queijo-adventure/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;ve ever savored the golden spheres of freshly baked Brazilian &lt;strong&gt;Pão de Queijo&lt;/strong&gt;, you know there&amp;rsquo;s something magical about them—crisp and golden on the outside, chewy and irresistibly cheesy inside. As a Brazilian living in Dublin, recreating this beloved snack at home has become a fantastic—and delicious—way to share a taste of Brazil wherever I go. Yet, the chemistry behind these tasty breads is just as fascinating as their flavor. Today, let&amp;rsquo;s discover the intriguing science behind Pão de Queijo and how easily you can make them at home.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Frying Pan Brazilian Cheese Bread</title>
      <link>https://madpin.dev/2024/12/15-frying-pan-brazilian-cheese-bread/</link>
      <pubDate>Sun, 15 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/15-frying-pan-brazilian-cheese-bread/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://madpin.dev/2024/12/15-frying-pan-brazilian-cheese-bread-br/&#34;&gt;Versao em Portugues&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;A quick and easy Brazilian cheese bread recipe made in a frying pan instead of the traditional oven-baked method. This recipe combines tapioca flour with parmesan and mozzarella cheese to create a delicious, gluten-free bread that&amp;rsquo;s crispy on the outside and chewy on the inside. Perfect for breakfast or as a snack, this simplified version takes only 16 minutes to prepare and cook, making it an accessible way to enjoy this Brazilian favorite at home.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pão de Queijo de Frigideira</title>
      <link>https://madpin.dev/2024/12/15-frying-pan-brazilian-cheese-bread-br/</link>
      <pubDate>Sun, 15 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/15-frying-pan-brazilian-cheese-bread-br/</guid>
      <description>&lt;p&gt;Uma receita rápida e fácil de pão de queijo brasileiro, feita na frigideira em vez do método tradicional assado no forno. Esta receita combina farinha de tapioca com queijo parmesão e mussarela para criar um pão delicioso, sem glúten, crocante por fora e macio por dentro. Perfeito para o café da manhã ou como lanche, esta versão simplificada leva apenas 16 minutos para preparar e cozinhar, tornando-se uma maneira acessível de desfrutar desta delícia brasileira em casa.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finding Your Dream Home in Dublin: A Systematic Approach</title>
      <link>https://madpin.dev/2024/12/08-finding-your-dream-home-in-dublin-a-systematic-approach/</link>
      <pubDate>Sun, 08 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/08-finding-your-dream-home-in-dublin-a-systematic-approach/</guid>
      <description>&lt;p&gt;Imagine this: you’re on a packed Luas morning commute through Dublin when a notification pings on your phone. It signals that a potential new apartment ticks all your boxes—travel time to your tech job in the Silicon Docks is minimal, the apartment has rave reviews from our image analysis algorithm, and it&amp;rsquo;s within a stone&amp;rsquo;s throw of a Lidl. This isn&amp;rsquo;t a sci-fi scenario; it&amp;rsquo;s an IDEA I’ve been tinkering with to make house hunting in Dublin as breezy as a walk along the Liffey on a rare sunny afternoon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a Shift Scheduling System: From Spreadsheet Chaos to Open Source Solution</title>
      <link>https://madpin.dev/2024/12/07-building-a-shift-scheduling-system-from-spreadsheet-chaos-to-open-source-solution/</link>
      <pubDate>Sat, 07 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/07-building-a-shift-scheduling-system-from-spreadsheet-chaos-to-open-source-solution/</guid>
      <description>&lt;p&gt;Tired of the WhatsApp and spreadsheet tango for managing hospital shifts?  So am I. That&amp;rsquo;s why I&amp;rsquo;m building an open-source solution to revolutionize how we handle shift scheduling in healthcare – a system built by the community, for the community.&lt;/p&gt;&#xA;&lt;p&gt;This isn&amp;rsquo;t just about digitizing a spreadsheet; it&amp;rsquo;s about creating a truly user-centered experience that empowers healthcare professionals and reduces administrative burden.&lt;/p&gt;&#xA;&lt;h2 id=&#34;empowering-healthcare-professionals-one-shift-at-a-time&#34;&gt;Empowering Healthcare Professionals, One Shift at a Time&lt;/h2&gt;&#xA;&lt;p&gt;The core of this project is empowering doctors, nurses, and other healthcare staff to manage their schedules effortlessly. Imagine:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming the Python Beast: A Practical Guide to Script Organization</title>
      <link>https://madpin.dev/2024/12/05/python-messy-org/</link>
      <pubDate>Thu, 05 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/2024/12/05/python-messy-org/</guid>
      <description>&lt;p&gt;Ever feel like your Python projects resemble a tangled mess of vines and overgrown foliage, a digital Amazon rainforest where scripts roam wild and free? Yeah, me too.  Especially when you&amp;rsquo;ve got a bunch of standalone scripts that also need to call each other – it&amp;rsquo;s like trying to herd cats riding unicycles.  But fear not, fellow explorers! I&amp;rsquo;ve stumbled upon a simple way to bring some order to the chaos without resorting to building full-blown libraries or complex structures.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello World</title>
      <link>https://madpin.dev/post/2024-12-01-hello-world/</link>
      <pubDate>Sun, 01 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://madpin.dev/post/2024-12-01-hello-world/</guid>
      <description>&lt;!--- # Hello World! (Or should I say &#34;Olá Mundo&#34;?) --&gt;&#xA;&lt;p&gt;Hey everyone, I&amp;rsquo;m Thiago, a Software Engineer at Indeed, calling Dublin, Ireland home these days.&#xA;But my story begins in the bustling city of São Paulo, Brazil.&lt;br&gt;&#xA;From a young age, I&amp;rsquo;ve been captivated by the power of technology, a passion further fueled by my family&amp;rsquo;s entrepreneurial spirit.&lt;br&gt;&#xA;After earning my degree in Automation and Control Engineering, I knew I was destined for a life intertwined with code.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
