Ruby's backtick operator is great for quick-and-dirty output capture, but what do you use when you need more power?
Treat your objects as disposable to cut down on mutable-state-based bugs.
Learn the nuances of Ruby's Process.wait, Process.wait2, and Process.waitall system calls, and how to choose between them based on your use case.
Don't let your Ruby subprocesses become zombies!
Learn a robust, cross-platform way to throw away unwanted output in Ruby programs.
Learn the twin pillars at the root of the UNIX process-spawning architecture!
If you're making subprocesses on a UNIX-like OS, you're using fork(). Learn all about using fork() from Ruby.
"Tell, don't ask" is easy to say, but how do you actually put it into practice?
Learn how to make deep copies of arbitrary Ruby object trees.
Freezing a Ruby object can leave you skating on thin ice. Learn how to render complex Ruby objects totally immutable.