> > Please don't be offended by this kind of behaviour, it's what keeps our
> > craft afloat and alive.
> 
> No, it's not.  I have pretty thick skin; I can take it.  I do not think
> that being an asshole helps keep "our craft afloat and alive", though.  I
> think being right does not necessitate being an asshole.  Even when I
> come off as arrogant and self-righteous, I am not an *asshole*; I do not
> start out in a response to someone who is geinuinely asking for help and
> willing to admit the faults in his or 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.

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.
 
> 
> 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:
> 
> Will he take good advice (stop being an asshole) after I took his own
> good advice (without taking his bad advice)?
> 
> In any case, it's worth noting that my thanks were genuine.  I'm glad he
> responded with some good advice buried amidst his eagerness to behave
> badly, and made use of that advice.  I'd be happier getting more asshole
> attitude coupled with good advice from him than getting a good attitude
> with no good advice.  I don't see why that would mean I shouldn't point
> out when he's being an asshole, though.

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.

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.

--

Andrea Dallera
http://github.com/bolthar
http://usingimho.wordpress.com