Rails Bigwig Rails on Rails Community
Zed Shaw, creator of the popular Mongrel HTTP daemon / library, has decided it was high time to tear into the Ruby/Rails community for many different complaints that he has been collecting over the last few years. "Rails is a Ghetto" is Shaw's self-proclaimed exit strategy from the Rails community. "This is that rant. It is part of my grand exit strategy from the Ruby and Rails community. I don't want to be a 'Ruby guy' anymore, and will probably start getting into more Python, Factor, and Lua in the coming months. I've got about three or four more projects in the works that will use all of those and not much Ruby planned. This rant is full of stories about companies and people who've either pissed in my cheerios somehow or screwed over friends. I can back all of them up from emails, IRC chat logs, or with witnesses. Nothing in here is a lie unless it's really obviously a lie through exaggeration, and there's a lot of my opinion as well."
I think it's better if I don't comment on the rant itself. I think I can offer a little bit of general background information, though.
It's important to note that there is a distinction between the "classic" Ruby community (led by Matz), and the Rails community (led by DHH). Since Rails is built atop Ruby, Rails jobs are also Ruby jobs, but the two communities still have very different cultures.
Mongrel is a Ruby web application container mostly written in Ruby, except for the HTTP parser is written in C/Ragel. It has very good performance, and the Ragel state machine definition was derived directly from the BNF in the HTTP specification, so it also has extremely strict standards compliance. It became the most popular web application container for Rails. Since most of Mongrel is written in Ruby and most of the rest is in Ragel, we eventually got a JRuby/Java version of it too. These days Glassfish is becoming an increasingly popular substitute for Mongrel on JRuby, however.
fastthread is a Ruby library which "hot-fixes" the Ruby standard library to provide optimized versions of its thread synchronization primitives. It was mainly intended to improve performance, but as a side-effect it also worked around some long-standing bugs in the core Ruby classes which resulted in memory leaks and interpreter crashes under high load. Mongrel ended up requiring fastthread as a dependency because it was the only way to stably run a high-throughput application using the synchronization primitives on the 1.8 interpreter. fastthread is unnecessary on other Ruby implementations like Ruby 1.9 and JRuby.
DNA just wants to be free...
Tai chi does have a few techniques for fighting with sticks or knives, though I get the impression they're mainly there to give younger guys something to keep them interested so they can learn the less flashy parts. The real risk in fighting against an older tai-chi practitioner is that if you can't always tell whether he's a newbie or has been doing this stuff for 20 years, and can take all that slow controlled stuff and do it really fast. I suspect that if a bar brawl were to start happening around my teacher, either it would get distracted by a couple of confusing remarks, or the participants would find that some of them were sitting on the floor unharmed while the others were throwing punches that kept missing their targets.
My college theater professor's boyfriend taught aikido as well as fencing, and he gave us a day's lesson as part of our classes. It was kind of fun to throw a punch at him, and find myself on the floor without him having used much of any force. It doesn't take too much work to learn how to deflect attacks from unskilled fighters so you've got time to get out of their way; doing so without anybody else getting hurt requires more skill. Tai chi has some of that as well; it's especially useful for the kind of fights where you don't want to hurt the other person, like when your kids are mad and feel like thrashing at you.
Chuck Norris says his actual way of dealing with fights is to not get into them, and walk away if he has to. Just because you _can_ beat the other guy up doesn't mean you have to.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks