This is the first blog post in a small series, where we will explore the basics of non-blocking IO in Rust. We'll start by building a minimal HTTP server using epoll