<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Korvanti</title>
  <link>https://korvanti.com</link>
  <description>Backend &amp; Infrastructure Notes. By Erik Lindqvist, Gothenburg.</description>
  <language>en</language>
  <lastBuildDate>Wed, 01 Jul 2026 17:51:47 +0000</lastBuildDate>
  <atom:link href="https://korvanti.com/rss.xml" rel="self" type="application/rss+xml"/>
  <image>
    <url>https://korvanti.com/favicon.ico</url>
    <title>Korvanti</title>
    <link>https://korvanti.com</link>
  </image>

  <item>
    <title>Go 1.26: What We're Using in Production</title>
    <link>https://korvanti.com/post/go126-production/</link>
    <guid>https://korvanti.com/post/go126-production/</guid>
    <pubDate>Thu, 18 Jun 2026 08:00:00 +0000</pubDate>
    <category>Go</category><category>Backend</category><category>Production</category>
    <description>Notes on upgrading our services to Go 1.26. New runtime metrics, improved HTTP/3 support, and the end of our last internal patch.</description>
  </item>

  <item>
    <title>From Python to Go: Rewriting the Ingestion Pipeline</title>
    <link>https://korvanti.com/post/python-to-go/</link>
    <guid>https://korvanti.com/post/python-to-go/</guid>
    <pubDate>Sun, 03 May 2026 08:00:00 +0000</pubDate>
    <category>Go</category><category>Python</category><category>Migration</category>
    <description>Why we replaced a 40,000-line Python pipeline with 12,000 lines of Go. Lessons on memory layout, error handling, and team velocity.</description>
  </item>

  <item>
    <title>Self-Hosting Infrastructure with Caddy</title>
    <link>https://korvanti.com/post/self-hosting-caddy/</link>
    <guid>https://korvanti.com/post/self-hosting-caddy/</guid>
    <pubDate>Tue, 14 Apr 2026 08:00:00 +0000</pubDate>
    <category>Infrastructure</category><category>Caddy</category><category>Self-hosting</category>
    <description>Why I moved from Nginx to Caddy for my personal infrastructure. Automatic HTTPS, clean configuration, and the end of certbot cron jobs.</description>
  </item>

  <item>
    <title>Testing Distributed Systems with Deterministic Simulation</title>
    <link>https://korvanti.com/post/distributed-testing/</link>
    <guid>https://korvanti.com/post/distributed-testing/</guid>
    <pubDate>Sun, 22 Mar 2026 08:00:00 +0000</pubDate>
    <category>Go</category><category>Testing</category><category>Distributed Systems</category>
    <description>How we catch race conditions and partial failures before they reach production. A practical approach to deterministic simulation in Go.</description>
  </item>

  <item>
    <title>SQLite as the Only Database You Need</title>
    <link>https://korvanti.com/post/sqlite-production/</link>
    <guid>https://korvanti.com/post/sqlite-production/</guid>
    <pubDate>Sun, 08 Feb 2026 08:00:00 +0000</pubDate>
    <category>SQLite</category><category>Database</category><category>Go</category>
    <description>Why we replaced PostgreSQL with SQLite for a high-throughput edge service. WAL mode, litestream, and the end of connection pools.</description>
  </item>

  <item>
    <title>Working Remote from Gothenburg</title>
    <link>https://korvanti.com/post/remote-gothenburg/</link>
    <guid>https://korvanti.com/post/remote-gothenburg/</guid>
    <pubDate>Thu, 15 Jan 2026 08:00:00 +0000</pubDate>
    <category>Remote Work</category><category>Sweden</category><category>Culture</category>
    <description>Notes on building a distributed team from Sweden. Time zones, async communication, and the coffee situation.</description>
  </item>

</channel>
</rss>