Stop Calling People Morons.
mahdiyusuf.com
mahdiyusuf.com
Attention!
The following comment is never meant personally.
You are not your code. I most likely do not even know you
personally, and don't make presumptions about your
character or habits based on a single posting.
I'm only commenting on the ability
for the code you posted to do its stated task,
with particular attention being paid to:
* Security
* Maintainability
* Avoiding needless reimplementation
* Contribution to the community
If I sound like I'm flaming, please re-read the message
a few more times until you see that it's about the code
and the Perl community, and not about you personally.
That is all. Thank you.
http://www.perlmonks.org/?node_id=205373Of course you are correct in the absolute that Crockford doesn't think the author has an actual mental deficiency, but that's not what calling someone stupid means, either.
One day I found I was sick of it -- I stopped calling them idiots. I told my immediate cow-orkers, "I'm tired of calling them shitty names. I'm just not going to do that any more."
The embarrassing thing that people around me said was, "Good!"
In a few weeks, interesting things began to happen. First, they started listening to my team and me. With a little guidance they stopped making decisions that made life tough for everyone. Now they're not doing /great/, but it's sure a lot better.
There is another team I'm going to tackle next. This one is harder, it's been entrenched for years, and it's costing us money. But I have to turn things around, and the easiest thing to start doing is to stop calling people fucking morons.
Calling someone a moron is the first step down a slippery path, even if you /know/ they're a moron.
Actually, it makes sense in context to most native English speakers. "To reply in kind," is an oft used idiom. In this phrase "kind" is a synonym for type. It is to say, "to reply in the same way." (Usually in a way which is not kind in the kindness sense.)
http://dictionary.reference.com/browse/retort
I would agree, however, that one, "has no obligation to react to idiotic comments in kind." I hope I've succeeded.
sure, that's absolutist and not always the best response, but not feeding trolls is a tenet of most successful online communities.
I have a ton of respect for Linus Torvalds' technical abilities, and for his way of succinctly and clearly explaining what can often be difficult concepts. However, his off-the-bat lack of civility -- hell, active hostility -- disgusts me sometimes. I'm sure he doesn't care, though: as he said, he's managed to accomplish his goals on the internet just fine how he is. So that's fine, I suppose. I just find it disappointing.
There's also another attribute of the smartest people I know: they tend to interpret other's responses given the most intelligent interpretation possible.
In the case of some, though, complete neutrality is the best one can do.
At any rate, there are plenty of examples (no links offhand, but I imagine they're fairly easily googlable if you're curious) of lkmk exchanges where Torvalds is flat out rude to people who are clearly wrong, but, from what I can tell, at least behaving civilly up to the point Torvalds blasts them.
Regardless, though, I still would argue that even in the face of an idiot slinging insults for no reason, "you're an idiot" is a waste of energy and not particularly respect-worthy. Don't feed the trolls.
It'll be interesting to see whether kinder, gentler open source communities start obviously outproducing ones operating on the Torvalds/Drepper model.
While Drepper is pure asshole, Linus just uses insults in the same situations the rest of us would use bold text. I wouldn't like to be on the receiving end of one such email, of course, but most of his tirades are actually very constructive.
Besides, I'm sure Torvalds doesn't throw around insults to people who have clearly articulated a point and demonstrated an understanding of the topic discussed, and were willing to listen.
There is a very big difference between telling 'This is where you are wrong, you may need to do x and y to correct it' and 'Your work is stupid, and you are stupid to have worked on it'. Sure you might have achieved something in life, what makes you believe somebody else can't? Using your fame to make others look like idiots just to prove your point is never good behavior, no matter who you are. Your fame is no free pass to ridicule, belittle and abuse other. Whoever you might be.
Another thing you must never do is humiliate and ridicule other just because he looks weak at the moment. Never ever ever underestimate any one. That guy can work his way out of the problem and may be even beat you, while you day dream how weak he is.
Also when you work hard, win and become famous you must be content and be happy that your efforts were well rewarded, instead of assuming that somehow you are special and have godly powers. And nobody can ever reach your level of fame and success. This is hubris.
I hate to break it to you, but everything counts.
If you saw [1] Hawkins strolling down in his electric wheelchair you would not even think they guy is one of the smartest minds to ever challenge the world.
Everyone is capable of amazing things. There are no morons.
[1] Thank you eblade for pointing out that I wrote Dawkins (the biologist), instead of Hawkins.
Also, thank you for not calling me a moron.
Recently I have been seeing leaders in software communities regardless of being correct or not, basically blowing up on other software developers on the internet because of something _stupid_ they have done or said.
That's only because you've started paying attention recently and that is only because you, like so many people (myself included), get your dose of interesting news from places like Hacker News, instead of participating directly in, say, kernel development.
Let's face it, it has become trendy to criticize outstanding people with outstanding accomplishments for being rude. Yeah, okay, I get it: nobody likes being humiliated. Plus, everyone has been humiliated at some point in their life and isn't it just incredible how, after all that time, it still smarts to remember it?
It's easy to jump to conclusions and on the bandwagon, easy and righteous to join the mob with pitchforks and torches. It's a lot harder to put yourself in the shoes of "the rude dude" and wonder whether you have all the context you need in order to judge him or her.
REALLY?! Just because you were fortunate to work on something that is widely used and appreciated does that give you the right to openly belittle people's efforts and work.
The short answer? Yes. The long answer is a bit more complicated, but since you and so many others seem to like simplifying things, I thought I would offer the short answer first.
The long answer is that I've seen that kind of reaction firsthand from people who have built something incredibly complex from scratch, know it inside out and get the same well-intentioned but poorly thought-out suggestions all the freaking time. It doesn't stop there, unfortunately. Those kinds of things tend to get debated to death, because bikeshedding is so alluring. More often than not, the person who offered the suggestion in the first place will get offended when their suggestion gets tossed out summarily, without realizing that they're far from first to come up with that idea. And some of those who get offended will react badly and even abusively. So in the end, the guy who built the damn thing decides that maybe they don't have to take that shit anymore.
Yeah, I know, Mom and Dad taught me to be polite to everyone and never be rude and say "please" and "thank you" and two wrongs don't make a right and I shouldn't sink down to "their" level and all that. You know what? I can't imagine being as accomplished as Linus or Crockford and turning the other cheek all the time, not when there are people who will write stuff like "Just because you were fortunate to work on something that is widely used and appreciated". Nope, they were not fortunate. If you think that's luck, you should spend your time playing lottery.
And then there's the assumption that every time we see the kind of reaction Linus is famous for, it's because someone feels entitled to "belittle people's efforts and work". Never mind that it might be a situation in which no effort or actual work took place. Never mind that it might have been something truly dumb and a little research would have revealed it to be a staggeringly bad idea. Hell, never mind that it could have been a troll and that seeing a reply for which there is no original message should have indicated to you, as a reader, that there's a missing piece and that you simply don't have enough information.
No, let's all be self-righteous instead, because -- to paraphrase xkcd -- someone was rude on the Internet.
"Sometimes" is the key word here. But people tend to take it too far - they start thinking if you yell "this is a fucking spade!!!" loud enough, that magically makes everything into a spade. Most of the times it's not. You can afford being blunt if you're genius, but if you want to emulate a rude genius, don't start with rudeness. Start with developing a new OS and making it worldwide success, then you can proceed to rudeness. Though I would rather you didn't, but after the OS part who cares what I think. But please don't start with the rudeness part. Actually, it would be nice if rude geniuses would be a bit less rude too, just to provide an example. But OK, nobody's perfect. I just feel there's a lot of rudeness out there in open source world, and after years of doing it - it starts to get old.
What I'm seeing is that 99.9% percent of people "calling spade a spade" do not contribute much by it and scare off people. And in open source people is the only capital the project has, so it's pretty much like business owner making a daily cash bonfire in the backyard. Yes, people make dumb suggestions, especially people that are new to the area. But it's not hard to treat them respectfully - or if one doesn't have time for it, just not respond and let others who have more time do it. Maybe the geniuses should get themselves a good PR person? :)
The point is in 99.9% of cases rudeness carries no value (most frequently negative value). The content of rude answer may carry one, but that would be preserved without the rudeness. Of course, in case of geniuses, their positive value is so immense that the negative part is completely overwhelmed by the positive one. But it still is a negative.
It's one thing to say "Your idea is a bad one", "What you say doesn't make sense", "Your reasoning is flawed"....etc. It's lazy and offensive to just dismiss someone by suggesting they are disabled in some way.
I also don't understand why people feel the need to take these conversations into the realm of absolutes.
If someone stands up and suggests "Hey maybe we shouldn't call eachother morons and try to be nicer in our conversations"...all of a sudden they're a pitchfork-wielding PC crusader?
This is just a reminder. A suggestion.
(almost) Nobody is saying:
"Linus is a horrible person because he made an off the cuff remark that perhaps was slightly misguided"
"Let's destroy anyone who uses the word 'moron'"
"Hey we're all such better people than Linus right?"
"If someone called me a moron, I wouldn't know what to do...I'd just cry and break down like a baby...it'd be the end of the world"
Humans are fickle and changing creatures. Every now and then we need to take personal inventory as individuals and as a culture. Every now and then we need to say "Hey, maybe we should be nicer to each other"; especially when we are starting to develop a culture of being offensive, rude, and unproductive.
There's no excuse for calling someone a moron as far as I'm concerned. It will always be a lazy and wrong thing; it's just a question of to what extent. Being lazy and wrong is a part of being human, so yes...there are many situations where I saw one person calling another a moron I would be understanding and wouldn't make a big deal out of it. That doesn't mean it's not something that shouldn't have happened...
We as programmers should have an intuitive understanding that when something goes wrong you don't start pointing fingers, assigning blame, and insulting eachother.... No, we talk about what happened; why it happened and how we can try to make it not happen again.
Here we have one person calling another a moron. This is something that, ideally, should never happen ever. It's also something that is occurring in our community often enough that we as a community could use some talking about it to start trying to work our way back towards the ideal, regardless of whether we will ever reach it or not.
I am proud that I still feel a bit of shame when I catch myself doing that, and glad that I haven't been able to rationalize it as a excess that I deserve because I am so awesome.
Instead, I try not to talk to idiots, unless they're in my way or about to get in my way, and then I sprinkle sugar all over what I'm about to say as if I was talking to a child. It's important for me to remember that I'm trying to advance my own goals, rather than make someone feel stupid. This applies even when I am speaking to the stupid.
Everybody who succeeds is fortunate. They were fortunate to be born into a well-to-do family(if they were) in, perhaps, a developed country, or at the very least fortunate not to have starved in an undeveloped one, fortunate to attend school and be educated, most of all, fortunate enough to be endowed with a highly intelligent brain that was shaped and molded and cultivated by the people around them. If you think you did anything alone in your entire life, you are sorely mistaken.
Nobody succeeds alone. Everybody around you deserves respect because they co-authored your life
fortunate enough to be endowed with a highly intelligent brain
That's just taking it too far. By that same logic they were fortunate that, about 2 billion years, certain bacteria and algae began to appear and thus we have life on Earth today.
If you think did anything alone in your entire life, you are sorely mistaken.
We're all standing on the shoulders of the giants. That doesn't mean we should spend our time looking down and exclaiming "Wow, these guys sure are tall!" We should be aware of where we are, grateful that we're there and make the best of it. And that means look forward and up, not down.
Everybody around you deserves respect because they are the co-authors of your life.
That's where you're wrong. It's true that everything in my life factors into my personality and my measure of success. That doesn't automatically mean that everything and everyone around me deserves my respect.
Like it or not, certain levels of respect have to be earned. Likewise, respect can be easily squandered.
I agree that you can grade respect based on how much people have earned it. What I'm criticizing here isn't levels of respect but disrespect.
Why should the "successful" people be grateful any more?
And, furthermore, what if you define success in a different way? Perhaps all that Linus has forever wished in his live was for a specific girl to love him, and he just wasn't that "fortunate"?
While "nobody succeeds alone" is true, the conclusion you draw is not.
Some of those "co-authors of your life" write the _bad_ chapters.
Also, that nobody succeeds alone, does not mean that you succeed BECAUSE OF everyone of the other people. Some people you succeed DESPITE OF (and even despite their best efforts to bring you down).
Even if somebody writes a bad chapter in your life, it doesn't mean you should be out to write bad chapters in theirs.
Everybody deserves at least a basic level of respect. It's a fundamental component to being moral.
You'd be surprised. Live by the sword, die by the sword, I say. And eye for an eyelid. I will strike down upon thee with great vengeance and furious anger those who attempt to poison and destroy my brothers. And you will know my name is the Lord when I lay my vengeance upon thee...
/s
Besides which, he's just about always right. That helps. So often the insulter merely doesn't understand the insultee's question or position or perspective.
Could you not say "black" instead? I think "spade" carries unnecessarily derogatory baggage.
This only matters if you want or need friends.
While most people do, there are some that don't.
Some might argue that they don't need to be concerned about that.
There is nothing quite as motivational as deciding that you're going to prove naysayers wrong. If they say that what you did sucks, you work really hard to make them liars. Anger is good for this. Hearing nothing but praise just keeps you from trying to do better, and sugar-coated problems never seem severe enough to invest time in.
It's also a clue (albeit one lacking social graces) when people speak strongly about something: the topic is important to them. Don't allow bad language to keep you from parsing a good point out of an argument; you might not hear that same argument from anyone else.
As a human being you should be as nice as possible to others. However that does not mean you have an entitlement to be treated nicely. It is your duty as an individual to take appropriate action when you perceive injustice.
Why are so many more jobs posted for Java than functional languages? Why do software engineers get little respect in most organizations? Because the average programmer just isn't very competent, and those of us who are a lot better (and over 10 times as effective, if given the right tools and environment) get held back by the culture the average ones create.
The problem is that most of these mediocre developers aren't "morons". They're people of reasonable talent who, for whatever reason, did not improve as programmers but who remained in the industry. We suffer a lot because of them, but calling them idiots isn't going to make the situation better. It's just being a dickhead. It'd be much better to actually solve the problem, but that's a lot harder than calling people stupid.
They don't need to be done with huge flourish or be terribly forward looking. They just need to be designed and built competently, not fall over and not have a leaky roof. There's nothing wrong with this state of affairs. Civilizations are largely built out of boring run-of-the-mill stuff.
Likewise, average developers don't need to build operating systems, or complex thread schedulers. They need to build the 30 foot boring overpass or utility box of the software world. And in many ways that's more important.
That, I think, is the hardest thing about managing programmers, in which I include the increasingly important long-term job of managing one's own career. There are very few macroscopic indicators of what work is actually interesting (and more importantly, what projects fit which individuals).
If you asked me, at age 19 when I knew very little about software, whether it'd be more interesting to work on a game or work on an OS or a compiler, I'd have said the game based on the project's macroscopic attractiveness. Of course, most experienced programmers would prefer to work on the OS. If you're trying to hammer some C++ legacy garbage from another project into usefulness, the fact that it's "for a game" doesn't mean very much.
What I actually find is that there's only a very slight correlation between macroscopic and day-to-day "interestingness" in work (which is why it's so hard for managers to tell which projects are interesting). More important is the work environment-- whether you have the autonomy and creative control to solve problems in a decent way and make the work interesting.
However, there is still a tremendous class of software that can't (or hasn't yet been) automated e.g. boring enterprise integration mush, or accounting software, or whatever CRUD app the company needs to meet xyz goal for the year.
Sure there have been some efforts to automate or semi-automate some of this but the solutions are often more cumbersome or boring than the original. There are probably tens of millions or lines of code written for this kind of stuff every year.
Sure if you look at a high-enough-level most of these look like the same thing (and thus easy to automate) -- CRUD apps basically. But the truth is that this just hasn't happened yet because the devil is in the often excruciating details.
The developers who end up doing this kind of work do critical stuff, it's the equivalent of building a working sewage system in a growing city, not sexy but utterly critical. No amount of programmer astronauts are going to keep the poop flowing away form the population.
http://boingboing.net/2011/11/08/what-happens-when-you-flush...
Still, if anybody could solve that kind of boring software development (something that can't be done with sewage systems), it'd be a multi-billion dollar company almost overnight.