This is a nitpick, and I don't mean to diminish the job you guys have done, but I <i>loathe</i> projects that use metaphorical class/object/script names. I'm the guy responsible for infrastructure in our organization, so naturally, I started digging in to see what's going on under the hood.<p>So I drill down:<p>lib...<p>badger...<p>core...<p>Claws and teeth? WTF are these? How do they relate to each other?<p>When I start reading the code, I constantly have to maintain a mental map between the metaphorical basis of these claws and teeth. It strikes me as useless mental baggage when I'm trying to understand how something works.<p>I'm probably a little bit oversensitive to this because of an experience I had with a Ruby IRC bot library called Autumn [1]. It's a very neat little library, but I got stuck in a very frustrating pattern. I would get Autumn set up the way I like it, then not touch it for a long time. Every time I circled back to it, I had to re-learn what Seasons and Leaves were. They could just as easily have been named Contexts and Bots.<p>Sorry for the negativity, because I'm otherwise liking the project. I'm going to give it a shot on our test-build infrastructure!<p>1: <a href="https://github.com/RISCfuture/autumn" rel="nofollow">https://github.com/RISCfuture/autumn</a>