<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>CosmicIRC Blog</title>
<link>https://cosmicirc.com/blog/</link>
<description>Engineering notes and postmortems from running CosmicIRC, an independent IRC network.</description>
<language>en</language>
<lastBuildDate>Fri, 25 Sep 2026 00:00:00 GMT</lastBuildDate>

<item>
<title>The crash that survived every fix</title>
<link>https://cosmicirc.com/blog/the-crash-that-survived-every-fix/</link>
<guid>https://cosmicirc.com/blog/the-crash-that-survived-every-fix/</guid>
<pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate>
<description>A typo-tracking script for our IRC network kept crashing eggdrop with free(): invalid size. We fixed the obvious cause. It kept crashing. Here's the investigation, and why we eventually gave up rather than ship a guess.</description>
</item>

<item>
<title>Pin every package in your Dockerfile, or a routine apt-get install will bite you later</title>
<link>https://cosmicirc.com/blog/pin-your-dockerfile/</link>
<guid>https://cosmicirc.com/blog/pin-your-dockerfile/</guid>
<pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate>
<description>Adding one package to a working Dockerfile triggered a SIGSEGV crash-loop in an unrelated library. The cause wasn't the new package — it was every package we never pinned.</description>
</item>

<item>
<title>Turning on a DNSBL uncovered a bigger bug: our IRC network's bans were never actually saved</title>
<link>https://cosmicirc.com/blog/dnsbl-and-the-bans-that-never-saved/</link>
<guid>https://cosmicirc.com/blog/dnsbl-and-the-bans-that-never-saved/</guid>
<pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate>
<description>Adding spambot-blocklist checking to InspIRCd was supposed to be a quiet config change. It led us to discover every ban we'd ever set was memory-only and vanished on every restart.</description>
</item>

</channel>
</rss>
