Rails Is A Ghetto
I’ve more or less kept my mouth shut about some of the dumb and plain evil stuff that goes on in the Rails community. As things would happen though I’d take notes, collect logs, and started writing this little essay. As soon as I was stable and didn’t need Ruby on Rails to survive I told myself I’d revamp my blog and expose these fucks.
NOTE: This post is currently an open draft. Feel free to comment but it will have spelling and grammar errors and some paragraphs might not make sense. Check my blog[1] and my atom feed[2] to find out when I post the updates.
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.
The best part about ripping on these guys though is this:
If they have a blog, speak at conferences, publish papers,
or write books then they are public figures just like me.
This means that thanks to Larry Flynt I can stab them in the ear verbally, insult them, question their sexual orientation, and say anything that’s true and they just have to take it. Their only recourse is to write their pathetic little rebuttals in their stupid little blogs.
I’ll add one more thing to the people reading this: I mean business when I say I’ll take anyone on who wants to fight me. You think you can take me, I’ll
pay to rent a boxing ring and beat your fucking ass legally. Remember that I’ve studied enough martial arts to be deadly even though I’m old,
and I don’t give a fuck if I kick your mother fucking ass or you kick mine. You don’t like what I’ve said, then write something in reply but fuck you if you think you’re gonna talk to me like you can hurt me.
I’ll never be afraid of some pilsner fresh fat fuck who eats donut hamburgers and only gets exercise when he plays World of Warcraft on a DDR pad.
To prime the pump, let’s talk about Kevin Clark. Me and Kevin don’t get along because he once tried to demand some free tech support out of me for Mongrel. His dumb little company
VaporSet[3] had this stupid setup where the people deploying Rails didn’t have root access. I told Kevin that this was stupid and apparently it was Kevin’s idea because he told me “fuck you”. Ever since then Kevin’s been a mouthy little shit with nothing to back it up.
This particular discussion started with Kevin Clark deciding to tell me that my idea to restrict access to the main repository for
Utu[4] until it’s solid makes me a “dick”. But, read to the end of the chat for the punch line. It’s great.
02:18 < zedas> evan: http://utuprotocol.info/repos/
02:18 < kevinclark> evan: I thought so too, but it still seems to
happen (atleast on my system). And lightning has
a few that hang out
02:18 < zedas> evan: http://utuprotocol.info/repos/utu/changes.rss
is generated from an included xslt i hacked up
02:18 <@evan> zedas: and who can push code to that location?
02:18 < zedas> me
02:18 < MenTaLguY> large git clones can also get kind of bad
02:18 <@evan> see, thats the problem.
02:19 <@evan> kevinclark: hang out?
02:19 < zedas> not a problem at all. feature since i don't trust
any you mofos :-)
02:19 <@evan> kevinclark: you mean missing files?
02:19 <@evan> zedas: then you're set!
02:19 < kevinclark> evan: I mean generated files are sitting in svn
02:19 < zedas> evan: no, people can contribute by doing a darcs send
which packs it up and shoots it to my email.
Then kevin comes in:
02:21 <@evan> we've got very different ideas about how to deal with
contribution, i suspect.
02:21 < zedas> i also anticipate that there won't be so many people
contributing directly on the main utu server, but
more contributing by writing clients or tools that
use it
02:21 < kevinclark> evan: I'd say you're polar opposites
02:22 < zedas> how's that kevinclark?
02:22 < kevinclark> zedas: I thought you weren't talking to me
02:22 < boyscout> kev * [1003] /rubinius/trunk (8 files) add
rb_hash_delete
02:24 < zedas> kevinclark: well i'm gonna talk to you if you're
making passive aggressive little comments
02:24 < kevinclark> zedas: they aren't passive aggressive. You don't
want anyone to check in to your repo. Evan's
repo is open to anyone who's gotten a patch in.
polar opposites
02:24 < kevinclark> and you're still a dick
02:25 < kevinclark> and I'm enjoying the vacation
02:25 < kevinclark> so, keep it up
02:27 < zedas> kevinclark: you just called me a dick?
02:27 < kevinclark> you can still read too
02:27 < kevinclark> awesome
02:27 < zedas> hmmm
02:27 < zedas> well, i'll just leave this alone for now.
02:27 < zedas> sorry about that evan.
02:28 <@evan> no problem.
And then kevin demonstrates why I’m trying to limit people’s access to the main repository:
02:47 < brixen> evan: lighting is using autoconf?
02:47 < brixen> er lightning
02:48 <@evan> yeah
02:48 <@evan> well, crap.
02:48 <@evan> lightning is faulting on i386
02:48 < kevinclark> hmm?
02:48 < brixen> yeah r1003 deleted configure
02:48 < kevinclark> working on mine now
02:48 < kevinclark> oh, crap
02:48 < kevinclark> I thought configure was generated
02:48 < kevinclark> from autoconf
02:48 <@evan> really?
02:48 < kevinclark> all my build tools do it ;)
02:48 < kevinclark> sorry
02:48 < brixen> well, not from our .configure
02:48 <@evan> brixen: it should be there.
02:49 < brixen> I'll restore from r1002
02:49 < kevinclark> brixen: cool. sorry about that.
02:49 < brixen> just wasn't sure if the build steps had changed
02:49 < brixen> kevinclark: np
02:50 <@evan> brixen: wtf.
02:50 <@evan> why did it get deleted....
02:50 <@evan> kevinclark: did you delete it?
02:51 < kevinclark> evan: I did. Too much time with buildtools that
were generating configure for me, and I got
confused.
02:51 < kevinclark> evan: It got caught with the docs that got
modified
02:51 < kevinclark> and I didn't think twice about it
02:52 <@evan> yeah, just restore it plz, kthxomgwtfbbq
02:52 < kevinclark> evan: working on it ;)
02:52 < kevinclark> brixen: you're doing the restore, yeah?
02:52 < brixen> yeah, one sec
02:52 < brixen> was just checking it would build
02:52 < brixen> and it's building :)
02:53 < kevinclark> sweet
02:53 < boyscout> brixen * [1004]
/rubinius/trunk/shotgun/external_libs/lightning/configure restore
Wow, rails is a ghetto. The little prick calls me a dick (and in private chat said he’d find me at the next conference but of course never did), then he
deletes the fucking configure file for the project! Remember he was working on GNU lightning when I started chatting, so this means that it took an hour for everyone to figure out that his dumb fuck ass deleted it.
Why is this ghetto? Any experienced developer knows that autoconf configure files are a
PAIN IN THE ASS to recreate. They almost always require special reconfigure calls, special m4 macros, or just time. You usually get them right, generate them once, and then leave them in your repository for all to use. To make it worse, Kevin actually wrote a supposed alternative to
autoconf[5], and yet
he doesn’t know the most basic thing about autoconf.
Only a fucking tool bag piece of shit would:
• spend 10-20 minutes calling me names over IRC,
• not have the balls to say any of that to my face,
• say I’m a dick for wanting to use a different (established) publish/review model,
• and then demolish such an important file for a project,
• keeping everyone stumped and pissed for an hour,
• therefore proving me right.
This is exactly what makes Rails a ghetto. A bunch of half-trained former PHP morons who never bother to sit down and really learn the computer science they were too good to study in college. BTW, this is true about Kevin as he’s an English major or something stupid (and it shows).
Hats off to you Kevin, you fucking prick. I’m enjoying my vacation too.
After this, I started thinking, since it was the first realization that I picked the absolute last wrong community to make my living in. They were all pricks, morons, assholes, and arrogant fucks who didn’t care about the art or the craft.
They were all a bunch of little ghetto fabulous princesses trying to make it in this tiny little Rails world and not enough brains between them all to make it happen.