<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Valentyn Kit</title><description>I build the Rust core of a self-custody wallet and rebuild the layer underneath from scratch — databases, TCP servers, storage engines — to understand how the real ones work. This is where I write it down.</description><link>https://valentynkit.com/</link><item><title>Framework knowledge evaporates. Low-level knowledge compounds.</title><link>https://valentynkit.com/blog/framework-knowledge-evaporates/</link><guid isPermaLink="true">https://valentynkit.com/blog/framework-knowledge-evaporates/</guid><description>I learned async three times before it clicked. Building a TCP echo server from blocking sockets up through kqueue and epoll in C, seven times, is what finally fixed it.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate></item><item><title>From one blocking accept() to epoll: a C TCP server up the I/O ladder, measured</title><link>https://valentynkit.com/blog/from-blocking-accept-to-epoll/</link><guid isPermaLink="true">https://valentynkit.com/blog/from-blocking-accept-to-epoll/</guid><description>Building a TCP echo server in C seven times, from blocking through select, poll, kqueue, and epoll, with the cost of each wall measured: a 1.5 second stall, a pegged core, the FD_SETSIZE ceiling, and O(ready) dispatch.</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate></item><item><title>io_uring is two queues you share with the kernel</title><link>https://valentynkit.com/blog/io-uring-is-two-queues-you-share-with-the-kernel/</link><guid isPermaLink="true">https://valentynkit.com/blog/io-uring-is-two-queues-you-share-with-the-kernel/</guid><description>io_uring is two ring buffers your program and the kernel both see. You write requests into one, make one syscall, and read results from the other without entering the kernel. How it works, step by step, and when a plain read still wins.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Rust&apos;s compile errors are other languages&apos; production bugs</title><link>https://valentynkit.com/blog/rust-compile-errors-are-production-bugs/</link><guid isPermaLink="true">https://valentynkit.com/blog/rust-compile-errors-are-production-bugs/</guid><description>Four Rust compiler refusals, each traced to the silent bug it prevents in Python, JavaScript, or C: float sorting, string indexing, integer overflow, lazy iterators. Plus the one place Rust stays quiet.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item><item><title>What Linux actually does when you read a file</title><link>https://valentynkit.com/blog/what-linux-actually-does-when-you-read-a-file/</link><guid isPermaLink="true">https://valentynkit.com/blog/what-linux-actually-does-when-you-read-a-file/</guid><description>I asked for one 4 KiB page and got four back. The same read one page over gave me one.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate></item><item><title>You don&apos;t understand a system until you&apos;ve rebuilt it</title><link>https://valentynkit.com/blog/you-dont-understand-a-system-until-youve-rebuilt-it/</link><guid isPermaLink="true">https://valentynkit.com/blog/you-dont-understand-a-system-until-youve-rebuilt-it/</guid><description>Using a system teaches its interface and reading its source teaches its mechanics, but only rebuilding a worse version teaches the constraints, which is where understanding actually lives. Why reconstruction works, and how to build a toy that teaches you something instead of lying to you.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate></item></channel></rss>