I really sympathize with the author on this one. I used to fear publicly releasing code because it might not be ‘good enough’. It was the attitude displayed in these tweets that I caused this fear.
I was a bit surprised to see Steve being the one bashing on this, especially being someone that teaches programming. She even asked Steve for feedback and just got this snarky reply.
I’ve specifically been staying out of ALL of these threads, but what I will say is that when I wrote that tweet, I did not know she was the author. They’re different usernames.
I see nothing snarky about that reply. At all. One person’s snark is another person’s matter-of-fact directness. But it helps make my point.
I feel bad for Steve. He made a mistake. But now, for at least some, he’s just an asshole, regardless of everything else he has done so far. This is what I find so amazing.
There’s a thread about this over on HN (of course) and the level of vitriol is staggering. Suddenly he’s completely defined by a mistake. He’s pigeonholed with invective worse than what he said about someone’s code and coding skills.
This is “someone’s wrong on the Internet”, with venom. If you choose the wrong words to criticize something (and I guarantee you that no matter how you phrase it someone will think you’ve been too harsh) you are become a target for the self-righteous to dump on you in ways far worse than whatever it was they think you did.
I’d like more professionals to accept that often, their lauded “matter-of-fact directness” is as effective a communication tool as “no-nonsense single-character variable names”.
On the whole, humans prefer criticism to be couched in sympathetic language, and there is not one thing wrong with that.
He’s pigeonholed with invective worse than what he said about someone’s code and coding skills.
It’s worse than that – by my reading Steve didn’t say anything about her code or coding skills.
The individual tweets linked here read differently alone than they did in context, but the context is impossible to link to.
Twitter is a bad place to discuss things.
I’ve written and deleted so many comments about this. Against my better judgement:
I think that much of the interest in this story is due to hunger for drama, rather than empathy for Heather or a real interest in encouraging other OSS developers. Compare the reactions to this incident with the virtual high-fives that Linus Torvalds gets when he says something deliberately mean.
all obviously true. it’s not only that the average comment’s value going down. there’s a pronounced selection effect. people with something worth saying know to stay away from the discussion. what’s left isn’t pretty – outrage is very accessible. everyone can contribute.
her sex likely adds more fuel (though i’ve seen little overt focus on it). there’s a lot of teachable-moment potential (as the punishers see an opportunity for heroism).
You know. It’s interesting. I think that all three comments were in bad taste, Steve’s being the least critical due to (and I know him personally so he won’t attest) his inability, just like myself, to say things with any amount of tact. And Corey’s being the absolute worst, most misguided thing you could ever say to anybody in this circumstance, especially considering he does, in fact, know how to speak with a reasonable amount of finesse. And they apologized (except zeeg who must now be honestly considered an asshole.)
Reinvention of things we might otherwise take for granted is very useful. I can never remember how to properly use sed, even in the most common of usecases. Do some of you use something called zsh? Well, you know, bash exists right? csh before that? ksh!!?!
Ok. It’s very proper to rework how we interact with our tools. This is what is important: how we interact with them. Right now, I’d say it is difficult to write new human interfaces to existing code. We generally have this big monoculture that promotes in-house solutions to every problem. Where is that code-reuse our foreparents spoke of?
We really need to separate the functionality of our program by behavior and have the interface be something completely external. sed should have some code that performs the operations and then that code should be easily used by every language in the known world, past present and future. Putting code together should be language agnostic. Rewriting how we interact with machines should be most important. That should be easy. That should be something that is also agnostic to language. The solutions should be easy to use, install, manage. Yet, we only really do this kinda reasonably within a single language. Too many walls around our cultures… exhibited by comments against node such as these.
And this agnosticism of culture is the most important thing we could ever accomplish in this technological era, and we simply don’t do it that well.