<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Johannes Franz, writing</title><description>Johannes Franz is a software engineer. Photographs, engineering work and writing.</description><link>https://johannesfranz.com/</link><item><title>What fsync actually promises</title><link>https://johannesfranz.com/writing/what-fsync-actually-promises/</link><guid isPermaLink="true">https://johannesfranz.com/writing/what-fsync-actually-promises/</guid><description>When write() returns, your bytes are in the page cache, not on the disk. A walk through each layer between the syscall and the platter.</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate><category>storage</category><category>linux</category></item><item><title>Shipping a site under 50 KB</title><link>https://johannesfranz.com/writing/shipping-a-site-under-50-kb/</link><guid isPermaLink="true">https://johannesfranz.com/writing/shipping-a-site-under-50-kb/</guid><description>How this site stays small, and why every page prints its own weight in the corner.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><category>web</category><category>performance</category></item><item><title>Notes on Raft, from scratch</title><link>https://johannesfranz.com/writing/notes-on-raft-from-scratch/</link><guid isPermaLink="true">https://johannesfranz.com/writing/notes-on-raft-from-scratch/</guid><description>Working notes from implementing Raft without looking at an existing implementation.</description><pubDate>Sun, 30 Nov 2025 00:00:00 GMT</pubDate><category>distributed systems</category></item></channel></rss>