<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>MajorTank Technical Dispatches</title>
    <link>https://majortank.space/blog</link>
    <description>Systems architecture, lock-free Rust concurrency, offline-first browser engines, and database isolation notes by Thabo Tankiso Thebe.</description>
    <language>en-us</language>
    <lastBuildDate>Mon, 14 Sep 2026 10:00:00 GMT</lastBuildDate>
    <atom:link href="https://majortank.space/feed.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Engineering an Offline-First In-Browser Office Engine: Generating Native .docx and .xlsx with Zero Cloud APIs</title>
      <link>https://majortank.space/blog/offline-first-in-browser-ooxml-engine</link>
      <guid>https://majortank.space/blog/offline-first-in-browser-ooxml-engine</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>Offline Architecture</category>
      <description>How to compile Microsoft Open Packaging Conventions, craft ZIP containers in pure memory with fflate, and run 100% offline in under 220KB.</description>
    </item>

    <item>
      <title>Sample-Accurate PCM Scrubbing &amp; Lock-Free Concurrency in Rust: Architecture of Kanono Media Player</title>
      <link>https://majortank.space/blog/lock-free-audio-concurrency-rust</link>
      <guid>https://majortank.space/blog/lock-free-audio-concurrency-rust</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <category>Systems &amp; Concurrency</category>
      <description>Designing a glitch-free desktop audio engine with CPAL ring buffers, Crossbeam lock-free channels, and dynamic .so plugin isolation.</description>
    </item>

    <item>
      <title>Handcrafting Socket-Level HTTP/1.1 Parsers in Rust: Why Zero-Crate Network Engineering Still Matters</title>
      <link>https://majortank.space/blog/socket-level-http-parser-rust</link>
      <guid>https://majortank.space/blog/socket-level-http-parser-rust</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <category>Network Protocols</category>
      <description>What I learned implementing raw TCP socket listeners, thread pools, token-bucket rate limiters, and in-memory TTL caching without Tokio or Axum.</description>
    </item>

    <item>
      <title>Multi-Tenant SaaS Data Isolation: PostgreSQL Row-Level Security (RLS) vs Schema-per-Tenant in Production</title>
      <link>https://majortank.space/blog/postgres-row-level-security-multi-tenant-saas</link>
      <guid>https://majortank.space/blog/postgres-row-level-security-multi-tenant-saas</guid>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
      <category>Database Systems</category>
      <description>Practical benchmarks, security guarantees, connection pooling ergonomics, and migration lessons from production multi-workspace systems.</description>
    </item>

    <item>
      <title>Production Document Extraction Pipelines: Lessons from LangChain Autonomous Agents and Tesseract OCR</title>
      <link>https://majortank.space/blog/autonomous-ocr-langchain-pipelines</link>
      <guid>https://majortank.space/blog/autonomous-ocr-langchain-pipelines</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
      <category>Applied AI &amp; Automation</category>
      <description>Overcoming real-world scan defects, eliminating LLM hallucinations with deterministic Pydantic schemas, and audit logging.</description>
    </item>
  </channel>
</rss>
