<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on mketab</title><link>https://mketab.org/</link><description>Recent content in Home on mketab</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://mketab.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Why the KeePass format should be based on SQLite</title><link>https://mketab.org/blog/sqlite_kdbx/</link><pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate><guid>https://mketab.org/blog/sqlite_kdbx/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;KeePass has long been the gold standard and darling of the tech world, earned through its unrelenting commitment to security, stability, and data sovereignty. However, the XML format which the KDBX file format has been predicated on since 2007 has become a persistent friction point for developers and users in the adoption of modern security and convenience features.&lt;/p&gt;
&lt;h2 id="the-problems-with-kdbx"&gt;The Problems with KDBX&lt;/h2&gt;
&lt;p&gt;Let us first start by explaining what a KDBX (4.1) file actually &lt;em&gt;is&lt;/em&gt;. &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; Barring the technicalities, a KDBX file is an encrypted &amp;amp; authenticated gzipped XML file which contains the typical fields you may expect of a password manager. Attachments are stored as binary data (the old KDBX 3 format used to base64 encode the files), while custom icons are stored as base64 strings within the XML file. Important to note is that every time a KDBX file is updated, no matter how small the edit was, the entire file gets rewritten. The entire file is also loaded into memory. Perhaps the most relevant part of the spec to this post are the &lt;code&gt;TProtectedString&lt;/code&gt; and &lt;code&gt;CustomData&lt;/code&gt; references, which, respectively, are the user-facing custom attributes, and non-user-facing plugin or app data.&lt;/p&gt;</description></item><item><title>Fixing kernel panics on the Dell Latitude 7490 with Nix</title><link>https://mketab.org/blog/7490_kernel_panic/</link><pubDate>Sat, 14 Sep 2024 00:00:00 +0000</pubDate><guid>https://mketab.org/blog/7490_kernel_panic/</guid><description>&lt;p&gt;I had to buy a laptop to use for college. My desktop PC at home is ridiculously over powered, so I wanted the cheapest laptop with modern security features that I could use as a thin client.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; I figured the 7490 would do. To my dismay, the 7490 is not as trouble-free as the Arch Wiki suggested.&lt;/p&gt;
&lt;p&gt;Shortly after booting into any Linux system, after either a few minutes or an attempt to suspend the laptop, the entire system hangs indefinitely until you hard reboot.&lt;/p&gt;</description></item></channel></rss>