Tue, August 1, 2023 Let's add an opcode to io-uring I wanted to find out how far copy-pasting stuff would take me. Turns out, not that far at all. But I still learned something. And hey, it's all about the journey, right? read more →
Mon, April 1, 2024 Conditional assignment in database queries Making a database out of a molehill, one expression at a time read more →
Fri, July 21, 2023 Comparing sequential I/O performance between `io_uring` and `read(2)`/`write()` Where our hero figures out that io_uring is not the answer to everything read more →
Mon, July 17, 2023 A simple `cp` clone in Rust: Trials and tribulations A quick performance analysis of system calls through Rust read more →
Mon, September 11, 2023 Glowdust's first peristent store Turns out, it's really easy to store stuff on disk if you ignore all performance and safety requirements read more →
Fri, May 24, 2024 Designing an LSM Tree store for Glowdust, part 1: Store design and key memtable Go ahead, reinvent the wheel, you can always hope for something rounder. read more →
Wed, July 24, 2024 A simple, async page cache built on top of io_uring When in doubt, add a state machine to it read more →
Sun, January 21, 2024 Glowdust v0.0.1 is now available From where I'm sitting it looks like a bunch of hacks. But some of them are pretty cool. read more →
Sun, June 16, 2024 A novel design for database transactions Show to a person how to use a database, they will be miserable for a lifetime. But if you truly want to break their spirit, show them how to build one read more →
Thu, March 21, 2024 A step beyond Rust's pattern matching Going from "I have no clue what I'm doing" to "Hey, it worked!", one weird idea at a time read more →
Wed, October 25, 2023 Mutable object trees in Rust, using memory arenas Where we're going, we're not going to need `Rc` read more →