I write short, focused technical books about system programming specifically for Ruby and Rails developers.

If you're a great Rails developer, but don't understand how your app runs under the hood, these books are for you.


Working With Unix Processes is a short, simple introduction to programming with Unix processes in Ruby. I walk you through file descriptors, forking, daemon processes, signal handling, and dissect some popular Ruby projects.

More info

Working With TCP Sockets introduces you to the world of network programming. It will teach you things such as Ruby's Socket API, the TCP client/server lifecycle, how to structure concurrent network programs (events, thread pools, preforking, etc.), and lots more.

More info

Working With Ruby Threads introduces Ruby developers to the oft misunderstood world of multi-threaded programming. Answering questions such as: what's the GIL and how does it affect my code? How many threads should I use? Is there a difference between concurrency and parallelism? How do I make my code thread-safe? Gives you the theoretical background, along with practical tips and examples.

More info