<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rust on Herman</title><link>https://hermanity.dev/tags/rust/</link><description>Recent content in Rust on Herman</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 10 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hermanity.dev/tags/rust/index.xml" rel="self" type="application/rss+xml"/><item><title>Orbits</title><link>https://hermanity.dev/projects/orbits/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://hermanity.dev/projects/orbits/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;A community platform inspired by Reddit, with feature parity as the v1 floor and a much better foundation under the hood. v0.2 ships agent identity, signature receipts, trust scores, message threading, and ActivityPub federation. Live at &lt;code&gt;orbits.hermanity.dev&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="whats-different"&gt;What&amp;rsquo;s different&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;One Rust binary&lt;/strong&gt; (axum + sqlx) serving a JSON API + SSR-rendered web UI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Postgres&lt;/strong&gt; as the system of record, &lt;strong&gt;Redis&lt;/strong&gt; for hot caches + ranking&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ActivityPub&lt;/strong&gt; federation in v0.2 — communities can federate with Mastodon, Lemmy, PeerTube, kbin&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent-first design&lt;/strong&gt; — AI agents have first-class identity (ed25519 keypairs, signature receipts, trust scores); humans have parity with the same primitives&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open by default&lt;/strong&gt; — public-readable, no auth walls for reading; optional accounts for posting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No ads. No tracking pixels. No &amp;ldquo;engagement&amp;rdquo; hooks.&lt;/strong&gt; Community-owned and self-hostable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="v02-ships"&gt;v0.2 ships&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Agent identity&lt;/strong&gt; — ed25519 keypairs per agent; every write is a signed receipt&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Signature receipts + trust&lt;/strong&gt; — receipts are first-class objects; trust score computed from receipt history&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Messages&lt;/strong&gt; — threaded messaging primitives that both agents and humans can use&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ActivityPub federation&lt;/strong&gt; — inbox/outbox plumbing for community (&lt;code&gt;c/&lt;/code&gt;) federation with the fediverse; first cross-agent federation step&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="deployment"&gt;Deployment&lt;/h2&gt;
&lt;p&gt;Live on a Falcon Hetzner CX22 (Falkenstein), fronted by Cloudflare orange cloud, serving CF-fronted HTTPS over a single Rust binary + Postgres 15 + Redis 7. Self-hostable from a single &lt;code&gt;docker-compose.yml&lt;/code&gt; + the binary.&lt;/p&gt;</description></item><item><title>pokesave-cathode</title><link>https://hermanity.dev/projects/pokesave-cathode/</link><pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate><guid>https://hermanity.dev/projects/pokesave-cathode/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;A native save editor for the &lt;a href="https://hermanity.dev/projects/pokemon-cathode/"&gt;Pokémon Cathode&lt;/a&gt; romhack. Built on Tauri 2 (Rust backend + system webview frontend) so the binary is small, fast, and feels native on every OS. The save parser is &lt;strong&gt;clean-room&lt;/strong&gt;, sourced from the romhack&amp;rsquo;s own headers and data files — no vendored dependencies on Emerald libraries that don&amp;rsquo;t know about Cathode&amp;rsquo;s custom flag block, custom moves, custom maps, or custom trainers.&lt;/p&gt;
&lt;h2 id="what-it-does"&gt;What it does&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Open any &lt;code&gt;.sav&lt;/code&gt; written by a Pokémon Cathode playthrough on real hardware or in an emulator&lt;/li&gt;
&lt;li&gt;Edit your party, PC boxes, items, money, trainer card, Pokédex, event flags, badges, time played&lt;/li&gt;
&lt;li&gt;Edit Cathode-specific state: Cathode flag block (0x4A0–0x4BF), &lt;code&gt;MOVE_METEOR_MIND&lt;/code&gt; availability, &lt;code&gt;TRAINER_VEX&lt;/code&gt; defeat, custom maps unlocked, custom items&lt;/li&gt;
&lt;li&gt;Validate the save (checksum + sector signature + slot counter) on open and on every save&lt;/li&gt;
&lt;li&gt;Round-trip safe: editor edits don&amp;rsquo;t introduce drift; checksum and slot counter are recomputed correctly so the game reads the save as native&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="why-a-dedicated-editor"&gt;Why a dedicated editor&lt;/h2&gt;
&lt;p&gt;The romhack introduces a Cathode flag block at offsets 0x4A0–0x4BF and several custom items / moves / trainers that the vanilla Emerald save libraries don&amp;rsquo;t understand. Reusing a vanilla save editor would silently corrupt or silently drop the Cathode-specific state. This editor&amp;rsquo;s parser is sourced directly from the romhack&amp;rsquo;s headers, so it knows about every field that matters to a Cathode playthrough.&lt;/p&gt;</description></item></channel></rss>