<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>logs on krtffl.dev</title>
    <link>https://krtffl.dev/tags/logs/</link>
    <description>Recent content in logs on krtffl.dev</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© [krtffl](https://krtffl.dev)</copyright>
    <lastBuildDate>Mon, 23 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://krtffl.dev/tags/logs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>implementing the drain algorithm in rust</title>
      <link>https://krtffl.dev/posts/drain-algorithm-in-rust/</link>
      <pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://krtffl.dev/posts/drain-algorithm-in-rust/</guid>
      <description>&lt;p&gt;picture the scene: something is on fire in production, you ssh into the box, &lt;code&gt;tail&lt;/code&gt; a log file, and you&amp;rsquo;re greeted by forty thousand lines that all look &lt;em&gt;almost&lt;/em&gt; the same but not quite. your eyes glaze over. you &lt;code&gt;grep error&lt;/code&gt;, then &lt;code&gt;grep -v&lt;/code&gt; the noise, then pipe the whole thing into &lt;code&gt;sort | uniq -c&lt;/code&gt; and pray.&lt;/p&gt;
&lt;p&gt;there&amp;rsquo;s a better way, and it&amp;rsquo;s older than you&amp;rsquo;d think.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
