<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Luke&apos;s Blog</title><description>Personal blog of Luke Shen</description><link>https://ulixert.github.io/</link><item><title>Building Theseon: Architecture of a Distributed LSM and Vector Engine in Go</title><link>https://ulixert.github.io/posts/building-theseon/</link><guid isPermaLink="true">https://ulixert.github.io/posts/building-theseon/</guid><description>Architecture and design decisions behind a hand-built distributed LSM engine with HNSW vector search: from skip lists and SSTables to SWIM gossip, quorum coordination, and approximate nearest neighbors.</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Snapshots, Transactions, and the Art of Not Blocking Writers</title><link>https://ulixert.github.io/posts/theseon-mvcc-transactions/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-mvcc-transactions/</guid><description>How Theseon gained MVCC snapshot isolation and optimistic transactions — by separating merge from dedup and making versioning a first-class feature.</description><pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Quorum Reads, Quorum Writes, and the Repair That Follows</title><link>https://ulixert.github.io/posts/theseon-quorum-coordinator/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-quorum-coordinator/</guid><description>How Theseon&apos;s coordinator fans out operations to replicas, resolves conflicts by HLC timestamp, and repairs stale data in the background — plus the latency traps and test design bugs that emerged.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Building HNSW from Scratch: Graph Construction, Beam Search, and What Recall Actually Measures</title><link>https://ulixert.github.io/posts/theseon-hnsw-scratch/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-hnsw-scratch/</guid><description>Implementing the HNSW approximate nearest neighbor algorithm from the original paper in Go — the insert and search algorithms, neighbor selection heuristics, tombstone-aware traversal, and building an evaluation framework to prove it works.</description><pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate></item><item><title>The Storage Foundation: Memtable, WAL, and SSTables</title><link>https://ulixert.github.io/posts/theseon-storage-foundation/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-storage-foundation/</guid><description>A deep dive into the bottom half of the Theseon stack: data structures and on-disk formats.</description><pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Buffering Writes for Dead Replicas: Hinted Handoff</title><link>https://ulixert.github.io/posts/theseon-hinted-handoff/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-hinted-handoff/</guid><description>How Theseon stores writes destined for dead nodes and replays them on recovery — the capacity accounting race, the iterator deadlock, and why skipping fsync is the right call for ephemeral data.</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Sequence Numbers, the Merge Iterator, and Wiring It All Together</title><link>https://ulixert.github.io/posts/theseon-wiring-it-together/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-wiring-it-together/</guid><description>How the storage foundation pieces are wired into a working engine, including internal key encoding and the merge iterator.</description><pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Who&apos;s Alive? Building SWIM Failure Detection from Scratch</title><link>https://ulixert.github.io/posts/theseon-swim-protocol/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-swim-protocol/</guid><description>How Theseon detects node failures without a leader — implementing the SWIM gossip protocol from the paper, the bugs that emerged, and why liveness and data ownership must be decoupled.</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Making Vectors Durable: KV Integration, Snapshot Persistence, and the Bugs Along the Way</title><link>https://ulixert.github.io/posts/theseon-vector-kv-integration/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-vector-kv-integration/</guid><description>Storing HNSW vectors as regular LSM entries in Theseon — the encoding format, key layout, per-collection concurrency model, a graph connectivity bug, and binary snapshot persistence to avoid full rebuilds on restart.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Making the Engine Self-Maintaining: Compaction, Caching, and Durability</title><link>https://ulixert.github.io/posts/theseon-self-maintaining/</link><guid isPermaLink="true">https://ulixert.github.io/posts/theseon-self-maintaining/</guid><description>How the manifest, leveled compaction, block cache, and write batches turned Theseon into a self-maintaining storage engine.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>