<rss version="2.0">
<channel>
  <title>Raphael Amorim</title>
  <description>Software developer</description>
  <link>https://rapha.land/feed.xml</link>
  
    <item xml:lang="en-us">
      <title>JavaScript tooling for a world of ephemeral sandboxes</title>
      <link>https://rapha.land/javascript-tooling-for-a-world-of-ephemeral-sandboxes/</link>
      <guid isPermaLink="true">https://rapha.land/javascript-tooling-for-a-world-of-ephemeral-sandboxes/</guid>
      <description>Every worktree, CI job and sandbox rebuilds work that is content-identical to a build that already happened somewhere else. This is my vision for fixing that: a Nix-style content-addressed store, rebuilt at module granularity, beside the bundler instead of around it.</description>
      <pubDate>2026-09-28T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Staying Sharp</title>
      <link>https://rapha.land/staying-sharp/</link>
      <guid isPermaLink="true">https://rapha.land/staying-sharp/</guid>
      <description>Friends, coworkers and folks from the tech community keep asking me about if I still write code, so wrote down this article to put my thoughts somewhere.</description>
      <pubDate>2026-09-22T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Introducing oj: your Rust native replacement for Vite</title>
      <link>https://rapha.land/introducing-oj/</link>
      <guid isPermaLink="true">https://rapha.land/introducing-oj/</guid>
      <description>oj is a from-scratch, npm-free dev server and bundler written in Rust. It reads your existing vite.config, runs your existing Vite plugins, and reimplements React and TanStack Start natively, so you point it at a real app and it just runs.</description>
      <pubDate>2026-08-24T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Introducing rmx: Terminal Multiplexing at the Protocol Level</title>
      <link>https://rapha.land/rio-terminal-multiplexer-rmx/</link>
      <guid isPermaLink="true">https://rapha.land/rio-terminal-multiplexer-rmx/</guid>
      <description>A protocol that lets an application open real terminal buffers over one connection, so the terminal renders panes natively instead of a multiplexer parsing every byte twice and dropping whatever it cannot model.</description>
      <pubDate>2026-08-18T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Closing Canario Terminal source code</title>
      <link>https://rapha.land/closing-canario-terminal-source-code/</link>
      <guid isPermaLink="true">https://rapha.land/closing-canario-terminal-source-code/</guid>
      <description>Why Canario terminal is closed source: time, maintainer burnout, and building something just for myself.</description>
      <pubDate>2026-08-11T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Jamlog 001: a PlayStation emulator written in Jam</title>
      <link>https://rapha.land/jamlog-001/</link>
      <guid isPermaLink="true">https://rapha.land/jamlog-001/</guid>
      <description>The first jamlog of Jam Programming Language, right after building a PlayStation emulator.</description>
      <pubDate>2026-06-04T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>No, AI is not making software worse, people are</title>
      <link>https://rapha.land/no-ai-is-not-making-software-worse-people-are/</link>
      <guid isPermaLink="true">https://rapha.land/no-ai-is-not-making-software-worse-people-are/</guid>
      <description>AI is just a tool. The problem is much deeper, and it started long before AI ever entered the picture. We have been accepting bad quality software for years.</description>
      <pubDate>2026-05-23T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Adding color glyphs to Glyph Terminal Protocol</title>
      <link>https://rapha.land/adding-color-glyphs-to-glyph-terminal-protocol/</link>
      <guid isPermaLink="true">https://rapha.land/adding-color-glyphs-to-glyph-terminal-protocol/</guid>
      <description>Glyph Protocol shipped with a single payload format: monochrome OpenType `glyf` outlines rendered in the current foreground colour. This post covers adding two more: `colrv0` for layered flat-colour icons, and `colrv1` for full paint graphs with gradients, both by reusing OpenType COLR directly as the wire format.</description>
      <pubDate>2026-04-20T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Introducing Glyph Protocol for Terminals</title>
      <link>https://rapha.land/introducing-glyph-protocol-for-terminals/</link>
      <guid isPermaLink="true">https://rapha.land/introducing-glyph-protocol-for-terminals/</guid>
      <description>A protocol for terminals that allows applications to register custom vector glyphs and query whether a codepoint is renderable on the system — so you no longer need to install a 10MB font just to render a single icon.</description>
      <pubDate>2026-04-17T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>The Art of Craftsmanship (Monozukuri) in the Age of AI</title>
      <link>https://rapha.land/the-art-of-craftsmanship-monozukuri-in-the-age-of-ai/</link>
      <guid isPermaLink="true">https://rapha.land/the-art-of-craftsmanship-monozukuri-in-the-age-of-ai/</guid>
      <description>AI usage has been increasing over the past few years due to its biggest selling point: time. It is often marketed as a tool that helps developers reduce the overall time needed to perform a task.</description>
      <pubDate>2026-01-14T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Craft software that makes people feel something</title>
      <link>https://rapha.land/craft-software-that-makes-people-feel-something/</link>
      <guid isPermaLink="true">https://rapha.land/craft-software-that-makes-people-feel-something/</guid>
      <description>Recently, people have been asking me why I’m pausing Boo to work on a programming language. I think it would actually be cool to write down how I feel.</description>
      <pubDate>2025-12-11T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Building Boo code editor #1</title>
      <link>https://rapha.land/building-boo-code-editor-1/</link>
      <guid isPermaLink="true">https://rapha.land/building-boo-code-editor-1/</guid>
      <description>I decided to document Boo code editor development for good (or bad). Suppose you have any interest in it. Please stick with me in this article.</description>
      <pubDate>2025-03-31T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Joining Charm</title>
      <link>https://rapha.land/joining-charm/</link>
      <guid isPermaLink="true">https://rapha.land/joining-charm/</guid>
      <description>Two years ago, to be precise Oct 2022, I started Rio Terminal because I wanted to learn Rust and wanted to have a project that I would use in my daily life. I always loved terminals and thought well why not? Truth is that, was such a good investment of my time, not only did I learn Rust but I also...</description>
      <pubDate>2024-12-16T00:00:00+00:00</pubDate>
    </item>
  
    <item xml:lang="en-us">
      <title>Why am I creating a new code editor?</title>
      <link>https://rapha.land/why-am-i-creating-a-new-code-editor/</link>
      <guid isPermaLink="true">https://rapha.land/why-am-i-creating-a-new-code-editor/</guid>
      <description></description>
      <pubDate>2024-11-13T00:00:00+00:00</pubDate>
    </item>
  
</channel>
</rss>