<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>noatu.dev</title>
      <link>https://noatu.dev</link>
      <description>Under construction. Having fun.</description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://noatu.dev/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Fri, 16 Jan 2026 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Memory Resembles Covering Indexes</title>
          <pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate>
          <author>Anton Bilous</author>
          <link>https://noatu.dev/2026/01/16/human-memory-resembles-covering-indexes/</link>
          <guid>https://noatu.dev/2026/01/16/human-memory-resembles-covering-indexes/</guid>
          <description xml:base="https://noatu.dev/2026/01/16/human-memory-resembles-covering-indexes/">&lt;p&gt;Lately I&#x27;ve started to notice that my memory behaves not like a book, but rather like an index. To specify more precisely, my mind treats memory as &lt;em&gt;covering indexes&lt;&#x2F;em&gt; for database tables.&lt;&#x2F;p&gt;
&lt;p&gt;Covering indexes store extra information solely for data retrieval, so queries can use the index alone without visiting the table. This speeds up searching and reading operations, but building a covering index for every query rarely proves a good idea. Each extra index adds write overhead to keep the index up-to-date, consumes storage, and increases cache pressure. When misused, it might actually degrade the performance.&lt;&#x2F;p&gt;
&lt;p&gt;My memory seems to have many composite indexes in the form of &lt;code&gt;(topic, resource)&lt;&#x2F;code&gt;. For each &lt;code&gt;topic&lt;&#x2F;code&gt; the mind will efficiently get relevant &lt;code&gt;resource&lt;&#x2F;code&gt;s and operate with their attached data (things I remember).&lt;br &#x2F;&gt;
When the data appears insufficient or not present at all, the mind will need to see which other &lt;code&gt;topic&lt;&#x2F;code&gt;s have similar &lt;code&gt;resource&lt;&#x2F;code&gt;s and use their attached data. It may also hallucinate something on the fly, or just give up and go to the table.&lt;&#x2F;p&gt;
&lt;p&gt;The problem? My memory has no tables! In databases each extra index has a cost. Yet the mind seems to operate on indexes entirely, and, without tables as a single source of truth, it doesn&#x27;t have to keep anything up-to-date. &lt;strong&gt;Until it does&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The memory needs a refresh. I remember the &lt;code&gt;resource&lt;&#x2F;code&gt;, so I just need to review it once again. That takes time. Sometimes the search process may take even more time than the reviewing itself. Here we can draw a parallel to the index updating overheads in a database. Not efficient. Also, the mind only updates the index and rarely stores the full data volume. And it keeps forgetting stuff all the time.&lt;&#x2F;p&gt;
&lt;p&gt;Notes can solve this issue by summarizing the key points of a &lt;code&gt;resource&lt;&#x2F;code&gt; or even a whole &lt;code&gt;topic&lt;&#x2F;code&gt; into juicy data ideal for those imaginary indexes. Processing some information? Write down any facts that you didn&#x27;t know but want to remember. Store those notes somewhere with fast access to revisit upon forgetting. In some time you will learn them.&lt;&#x2F;p&gt;
&lt;p&gt;With too much information to learn you better stop violating the mind and use a personal knowledge management system (PKMS) like &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;obsidian.md&quot;&gt;Obsidian&lt;&#x2F;a&gt; to simulate the memory outside the mind, effectively extending it. Doing so, one will inevitably appreciate how much the mind actually does to keep things relevant and fast.&lt;&#x2F;p&gt;
&lt;p&gt;Alas, I had no intention to sell Obsidian here.
In certain scenarios locality matters. Take the &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;doc.rust-lang.org&#x2F;std&quot;&gt;Rust Standard Library&lt;&#x2F;a&gt; achieving highest tier documentation by placing it right in the code. With that in mind, often I just use a local file named &lt;code&gt;what.md&lt;&#x2F;code&gt; and dump the relevant info there. In fact, while trying to describe the &lt;code&gt;what&lt;&#x2F;code&gt; page for my website I got this article. Hope you enjoyed it 🌹&lt;&#x2F;p&gt;
</description>
      </item>
    </channel>
</rss>
