On Fri, Mar 18, 2011 at 07:18:23PM +0900, Andrea D. wrote:
her code by trying to make him or her feel stupid and unworthy. I
only try to make people feel stupid and unworthy when they
demonstrate a relentless desire to ignore any and all good advice.
I probably expressed myself badly. Certainly, being an asshole is not a
necessary requirement for being a good programmer. Also, I didn’t mean
to say that behaving the way Ryan (and many others in the field)
usually does is a good thing.
Thanks for clarifying that. I was uncertain how you meant what you
so I just went with the literal grammatical meaning; apparently, that
not representative of your intention, and I apologize for my error of
I believe that when somebody behaves the way Ryan did is usually out of
personal insecurity (i.e. I’m afraid I don’t know enough so I shoot
down to anyone I can to make myself feel a little more secure). Let me
also tell you Ryan is very good, I’ve read the code, but if he’s the
way I am no amount of positive feedback is going to soothe that need to
get better: I was like that in my younger years, I want to believe I’ve
grown out of it at least for what concerns the attitude towards other
people… but I know where that’s coming from. So I’m telling you to
avoid taking it personally, because it’s not.
I’m not sure that’s the case, at least for me, given his follow-up
response to me. He claims to recall some past exchange with me (though
wonder if he’s confusing me with some other Chad) as being unpleasant,
and uses that to make some claims about my character, et cetera. Still,
it only bothers me in that:
it obscures the positive content he contributes
it makes Rubyists in general look bad
He hasn’t yet said anything that actually bothers me for the effect it
has on me, though I reserve the right to change my opinion on that if
he starts claiming some kind of criminal behavior on my part or
equally prone to damaging my reputation. Mere insulting treatment from
Internet strangers is no big deal.
Ryan may be knowledgeable, and he did give me some good advice. On
the other hand, he made unwarranted assumptions about the needs of my
code, conflates his own personal desire to write Perl in Ruby with a
One True Coding Style, and acted like a grade A shitheel. I know
programmers who are probably twice the programmer he is (at minimum)
who give better advice and are much nicer about it, proving that
being an asshole is not a prerequisite for being good.
Here’s a nice test of whether he’s also a hypocrit:
When I’m saying that this kind of behaviour is what “keeps our craft
afloat and alive”, I refer to the attitude, not to the socially
inappropriate behaviour. Okay, it’s annoying, but I think that this “I
don’t give a fuck if you take it personally” attitude is great to have
and I’m happy to pay the little price of having someone offend me
personally every now and then. I’ve worked in fields where it’s the
other way around (so, content doesn’t matter as long as you present it
in a “politically correct” fashion) and, let me tell you, it’s much
much better this way.
Oh, yeah, I’m a big believer in “tell it like it is, and if you take it
personally that’s your problem”. He goes well beyond that, though, at
least in his responses to me.
Also, again, it’s really nothing personal. Don’t feel bad because it’s
not really towards you. I know it sucks and it’s annoying but I think
it’s very important that the community keeps focused on code and on
ideas and not on who writes them… and I think that “enforcing”
politeness doesn’t help in that matter.
I think that peppering his response with distracting personal jabs (and
he really does seem to be targeting me personally; see above) is
doing us a disservice. If he says “Oh, damn, you have some big problems
in this code,” then points them out, fine. If he says “You’re an idiot,
fuck off, and let me tell you why you’re an idiot,” that actually serves
to obscure the positive value he might provide – not only to readers,
but to him as well. He was so invested in pointing out I’m inferior to
him that he made unwarranted and incorrect assumptions about the needs
my code, and thus “corrected” things that were not incorrect.
If he had laid off the laser focus on being an asshole, he might have
provided better advice. My taking exception to his approach was
predicated upon agreement with your idea that “it’s very important that
the community keeps focused on code”.
In short: you don’t have to be polite, but don’t let an overzealous
desire to be rude distract you from being correct.
. . . and like I pointed out, I don’t feel bad. It was actually kind of
gratifying to see him step on his own dick in the mad rush to ridicule
me, so I’m feeling pretty good; I got an answer to my question and I
saw an asshole make an ass of himself in the process.
I guess next time I should just avoid trying to give advice about how to
give better advice and avoid looking like an asshole, though.