I've been reading Martin Fowler's book Refactoring recently, and I've been meaning to post about it. Unfortunately Steve Yegge beat me to it and basically said all the things that had struck me about the book. The gist is that the book teaches you to recognize "good smells" in your code and how to change "bad smelling" code into stuff that will waft through your editor with a hint of balmy freshness. All the examples in the book are in Java. I don't know Java, but I know enough C++ to follow along. What struck me is that in Ruby, it's actually difficult to make the mistakes that cause bad code and need to be refactored later. Of course, Steve's article says this much more eloquently than I have here; it's worth a read.
Other notable things: Editor Wars and Programming Languages and their Relationship Styles. (Favorite is C#: "Your wealthy parents always told you that the other kids were just jealous of how smart you are. They were lying.")