Coming up with a good name is one of the hardest things to do in programming. It's one of the least technical things we do, but it has one of the largest impacts on how understandable our code is. Ruby is a very expressive language, which makes it very suitable to naming things well and thereby making maintenance easier. This talk will go over more than just how to name variables and classes: it will show how to extract and name concepts, processes, and procedures from existing code in order to understand it better.
This isn't specifically a "Ruby" talk, but I wouldn't have learned these lessons without having switched to Ruby 8 years ago.