Rails Bigwig Rails on Rails Community 616
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."
What a douche (Score:3, Informative)
I hope this guy is a millionaire, because he certainly talks with the arrogance of one and I doubt he'll have much community respect after this (assuming anyone knows who he is). Sounds like "I didn't make my fortune during the
That guy must have a HUGE ego...and looking at his douchey picture on his blog, he thinks he's major hot shit.
Guess what buddy? You should be the new poster boy of
Re:It's remarkable that people still do this (Score:3, Informative)
I think:
1. Many people like to get excited about things. I've also heard that people let their emotions run more freely online, because the feedback that they would get IRL is missing.
2. Many people get excited about things they _think_ are new and cool, even if these things aren't.
3. Some programming languages actually are worth getting excited about.
4. Compared to mainstream languages, many alternative languages have a lot to offer.
``Which language you're going to use is often just a matter of installed base and what someone else started a project with. How can anyone be emotional about that anymore?''
Just because your hands are tied doesn't mean it doesn't make sense to argue about what the best choice had been if you had had the freedom to choose. In fact, it probably makes such debate more important, because you could win by losing your shackles and choosing a better language anyway, or by doing the _next_ project in a better language.
If anything, I think both industry and academics are holding back progress by being too conservative in their choices of languages, all too often going with what happens to be pushed by commercial vendors and/or used by other people at the moment. For example, the duplication of effort that has gone into making things work in Java that already worked in other programming languages is positively staggering. And as far as I am concerned it has been a huge waste of time and effort, because Java wasn't when this started - and to some extent still isn't - a great language. Don't get me wrong; I think the switch to Java was a leap forward for the industry; I just wish people would have jumped to a better language.
Ouch. (Score:5, Informative)
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.
Re:maybe I'm missing something (Score:4, Informative)
Re:It's remarkable that people still do this (Score:3, Informative)
A lot of Python users want to thing its big, but it just isn't. If it had 10% of the marketshare I'd be shocked- in my 7 years of professional programming, I've seen 2 Python programs.
Perhaps your experience is somewhat limited. Python is in heavy use and/or development at Google, Microsoft, YouTube (now part of Google but they made the choice independently), the Washington Post, NASA, etc.
Is that enough to make it "big"? Well you didn't define "big" so it's hard to say. I think that measured in lines of code, Perl is much bigger than Python. As is COBOL. And FORTRAN. So what? Accumulated lines of code is not a very interesting metric.
Tai Chi and Aikido as martial arts (Score:5, Informative)
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.
Re:This is a joke (Score:2, Informative)
(Here's how you tell - you're the only one laughing)