<?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></channel></rss>