<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Vibes</title>
    <description>The latest articles on Forem by Vibes (@radiiplus).</description>
    <link>https://forem.com/radiiplus</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2728968%2F4e8651f0-3f87-4f7d-992b-cbd32815dcc7.jpg</url>
      <title>Forem: Vibes</title>
      <link>https://forem.com/radiiplus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/radiiplus"/>
    <language>en</language>
    <item>
      <title>Base64 is Obsolete: Why I Built a Base-36 Encoder That Runs on Your Toaster</title>
      <dc:creator>Vibes</dc:creator>
      <pubDate>Mon, 08 Dec 2025 20:21:54 +0000</pubDate>
      <link>https://forem.com/radiiplus/base64-is-obsolete-why-i-built-a-base-36-encoder-that-runs-on-your-toaster-5l5</link>
      <guid>https://forem.com/radiiplus/base64-is-obsolete-why-i-built-a-base-36-encoder-that-runs-on-your-toaster-5l5</guid>
      <description>&lt;p&gt;Just shipped &lt;strong&gt;NOL36&lt;/strong&gt;—a base-36 encoding library I built from scratch for the era of edge computing and WebAssembly.&lt;/p&gt;

&lt;p&gt;It's a compact, URL-safe encoder that runs &lt;em&gt;everywhere&lt;/em&gt;: microcontrollers (&lt;code&gt;no_std&lt;/code&gt;), servers, browsers, and WebAssembly modules. Same protocol, same behavior, zero compromises.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What makes it different?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⚡ &lt;strong&gt;Universal WASM core&lt;/strong&gt;: Write once, run anywhere. Idiomatic bindings for Rust, JavaScript (CommonJS/ESM/UMD), and Python&lt;/li&gt;
&lt;li&gt;📦 &lt;strong&gt;Intelligent chunking&lt;/strong&gt;: Handles arbitrary data sizes with built-in integrity checks and protocol versioning&lt;/li&gt;
&lt;li&gt;🎯 &lt;strong&gt;Human-readable output&lt;/strong&gt;: Pure alphanumeric (0-9, A-Z)—no escaping needed for URLs, filenames, or QR codes&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;Built-in verification&lt;/strong&gt;: Per-chunk checksums catch transmission errors before they corrupt your data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built it for firmware updates over UART, blockchain transactions, IoT sensor data, and anywhere binary data needs to cross trust boundaries reliably.&lt;/p&gt;

&lt;p&gt;Check it out on GitHub: &lt;a href="https://github.com/radiiplus/nol36" rel="noopener noreferrer"&gt;nol36&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love feedback from the WASM/firmware/Protocol Buffers crowd—this is production-ready but always improving.&lt;/p&gt;

</description>
      <category>rust</category>
      <category>nol36</category>
      <category>opensource</category>
      <category>base36</category>
    </item>
  </channel>
</rss>
