<?xml version="1.0" encoding="UTF-8" ?>
  <rss version="2.0">
    <channel>
        <title>My Portfolio</title>
        <link>https://luisball.com</link>
        <summary>This is my portfolio RSS feed</summary>
        <item>
          <title>Decide to be positive</title>
          <link>https://luisball.com/blog/decide-to-be-positive</link>
          <summary>No one else will look at the bright side for you</summary>
          <publishedAt>Mon, 12 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>How I keep my context window clean</title>
          <link>https://luisball.com/blog/poor-mans-context-management</link>
          <summary>Markdown files are a poor man's memory system for your Agent.</summary>
          <publishedAt>Sun, 11 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>How to get your feature approved</title>
          <link>https://luisball.com/blog/how-to-get-your-feature-approved</link>
          <summary>Good ideas die at the hands of evasive seniors. You can avoid this if you can spot it.</summary>
          <publishedAt>Sat, 10 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Codex feels like a conversation</title>
          <link>https://luisball.com/blog/codex-is-a-conversation</link>
          <summary>Slower than my usual model, but far more precise and natural to work with.</summary>
          <publishedAt>Fri, 09 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Why I use OpenCode</title>
          <link>https://luisball.com/blog/why-i-use-opencode</link>
          <summary>Use OpenCode Zen. That's it. That's the post.</summary>
          <publishedAt>Thu, 08 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>What's the point of Pull Requests?</title>
          <link>https://luisball.com/blog/whats-the-point-of-pull-requests</link>
          <summary>The best teams don't wait for approval</summary>
          <publishedAt>Wed, 07 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Why bother writing</title>
          <link>https://luisball.com/blog/the-point-of-writing</link>
          <summary>Access without curiosity is worthless</summary>
          <publishedAt>Tue, 06 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Why git worktree remove is painfully slow</title>
          <link>https://luisball.com/blog/git-worktree-remove-is-slow</link>
          <summary>Trash is all you need</summary>
          <publishedAt>Mon, 05 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>The sanitary work of destructive criticism</title>
          <link>https://luisball.com/blog/the-sanitary-work-of-destructive-criticism</link>
          <summary>At no time in the history of the intellect has the sanitary work of destructive criticism been more needful.</summary>
          <publishedAt>Sun, 04 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>30 minutes in January</title>
          <link>https://luisball.com/blog/30-minutes-in-january</link>
          <summary>The day it snowed in Caracas</summary>
          <publishedAt>Sat, 03 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Position of strength</title>
          <link>https://luisball.com/blog/value-yourself</link>
          <summary>You cannot make other people taller by making yourself smaller</summary>
          <publishedAt>Fri, 02 Jan 2026 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>A lesson in friendship</title>
          <link>https://luisball.com/blog/a-lesson-in-friendship</link>
          <summary>We moved here for a job. What we got instead was a lesson in friendship.</summary>
          <publishedAt>Wed, 01 Jan 2025 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Using Shadcn UI without a Tailwind Config File</title>
          <link>https://luisball.com/blog/shadcn-ui-with-tailwind-v4</link>
          <summary>Step by step guide to using Shadcn UI with Tailwind CSS v4</summary>
          <publishedAt>Tue, 22 Oct 2024 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Using React Testing Library with RadixUI Components</title>
          <link>https://luisball.com/blog/using-radixui-with-react-testing-library</link>
          <summary>How to setup your test runners to correctly render virtualized components</summary>
          <publishedAt>Wed, 10 Jul 2024 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Everything else is noise</title>
          <link>https://luisball.com/blog/everything-else-is-noise</link>
          <summary>Parenthood forces you to believe in yourself in ways you didn't know you could</summary>
          <publishedAt>Mon, 01 Jul 2024 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Finding ways to explore</title>
          <link>https://luisball.com/blog/learning-is-exploring</link>
          <summary>That so much is being explored by so many is a privilege and a gift</summary>
          <publishedAt>Wed, 26 Jun 2024 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Growing from failure</title>
          <link>https://luisball.com/blog/a-whiff-of-old-tobey</link>
          <summary>Opting into extreme vulnerability</summary>
          <publishedAt>Mon, 24 Jun 2024 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Using the builder pattern to create imgix image URLs</title>
          <link>https://luisball.com/blog/polymorphic-imgix-url-buidler</link>
          <summary>Nobody asked for this, but it was fun!</summary>
          <publishedAt>Wed, 27 Mar 2024 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Learning to speak less</title>
          <link>https://luisball.com/blog/things-that-matter-dont</link>
          <summary>Let your work do the convincing</summary>
          <publishedAt>Mon, 29 Jan 2024 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Creating dependency aware dev pipelines in Monorepos</title>
          <link>https://luisball.com/blog/turborepo-prepare-tasks</link>
          <summary>Making persisting tasks wait for dependents to finish</summary>
          <publishedAt>Mon, 22 Jan 2024 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Happy practices for requestIdleCallback and AnimationFrame</title>
          <link>https://luisball.com/blog/request-animation-frame-versus-request-idle-callback</link>
          <summary>How to make the most of these essential browser APIs</summary>
          <publishedAt>Thu, 13 May 2021 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>WSL2 is a memory hog and how to fix it.</title>
          <link>https://luisball.com/blog/wsl2-is-a-memory-hog</link>
          <summary>Simon Debbarma teaches us how to take back memory from Vmmem</summary>
          <publishedAt>Fri, 25 Sep 2020 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Javascript development on windows with WSL</title>
          <link>https://luisball.com/blog/windows-javascropt-development-with-wsl</link>
          <summary>Does WSL V2 live up to the hype?</summary>
          <publishedAt>Wed, 09 Sep 2020 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>How to make your own Medium-like sharing tooltip</title>
          <link>https://luisball.com/blog/medium-share-tooltip-how-to</link>
          <summary>Browser Selection API tricks Part III</summary>
          <publishedAt>Wed, 15 Jul 2020 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Styling selected text with CSS</title>
          <link>https://luisball.com/blog/styling-document-selection-part-2</link>
          <summary>Browser Selection API tricks part II</summary>
          <publishedAt>Fri, 03 Jul 2020 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Browser Selection API tricks</title>
          <link>https://luisball.com/blog/styling-document-selection</link>
          <summary>Part I: creating a useSelection hook that stores the currently selected text</summary>
          <publishedAt>Thu, 02 Jul 2020 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>Bulk un-liking tweets, why it's so hard, and how to do it</title>
          <link>https://luisball.com/blog/why-bulk-twitter-unlike-is-so-hard</link>
          <summary>Avoid handing over account api keys and personal data by using this script</summary>
          <publishedAt>Thu, 25 Jun 2020 00:00:00 GMT</publishedAt>
        </item>
<item>
          <title>The problem with snack bars for managing notifications</title>
          <link>https://luisball.com/blog/the-problem-with-snack-bars</link>
          <summary>Snack bars are popular. But they obscure content in unexpected and annoying ways.</summary>
          <publishedAt>Tue, 09 Jun 2020 00:00:00 GMT</publishedAt>
        </item>
    </channel>
  </rss>