Everyone probably knows about these already, but, just in case, I just watched the first episode of Dave Thomas' excellent Ruby metaprogramming screencast and it was quite nice. Dave explains and diagrams singleton (or 'ghost', as he calls them) classes...