<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>DevTales</title><description>A dev blog about low-level systems, compilers, runtimes, and the stuff that runs underneath.</description><link>https://devtales.suhan.art/</link><item><title>Building a Graph Database - The File Format</title><link>https://devtales.suhan.art/posts/posts/nexora/nexora-file-format/</link><guid isPermaLink="true">https://devtales.suhan.art/posts/posts/nexora/nexora-file-format/</guid><description>Every database is ultimately a file. This post walks through how Nexora lays out nodes, edges, and properties on disk — fixed-size pages, a root-pointer manifest, intrusive linked lists for adjacency, and a packed pointer encoding that fits a page address and slot index into a single u64.</description><pubDate>Thu, 21 May 2026 10:00:00 GMT</pubDate></item><item><title>Building a Graph Database - The Why</title><link>https://devtales.suhan.art/posts/posts/nexora/nexora-the-why/</link><guid isPermaLink="true">https://devtales.suhan.art/posts/posts/nexora/nexora-the-why/</guid><description>Before diving into how Nexora works, this post covers the why and what graph databases are, where relational databases fall short, and why graphs are a natural fit for highly connected data.</description><pubDate>Thu, 21 May 2026 09:00:00 GMT</pubDate></item></channel></rss>