We build an HTTP server that can serve static files from disk, as well as dynamic applications in the style of cgi-bin. The network server component is built using socket system calls (socket, setsockopt, bind, listen, and accept), rather than using the pre-made TCP servers available in the Ruby standard library.

Execute Program

Looking for something more interactive? Try Execute Program, an interactive learning platform from Destroy All Software LLC! It has courses on TypeScript, SQL, regular expressions, JavaScript concurrency, and more. All Destroy All Software subscriptions include full access to Execute Program, or you can subscribe to Execute Program directly.