How do you get multithreaded code right? The first step is to see if you can avoid using threads at all!
The other day I was adapting an email course out of some old RubyTapas episodes. I ended up writing a completely new section on using fibers to simplify code that blocks on network requests---without resorting to threads.
I thought RubyTapas members might enjoy this article as well, so here it is!