I found that I needed to know more about Ruby’s garbage collector in order to write robust extensions. This page is an attempt to fill this gap. It assumes the reader has some knowledge of Ruby’s C API, for example they have read the introduction in Programming ruby.