One factor that I think contributes to the Asshole Ethos common among programmers is this idea that great men of genius cannot be held to the same moral standards as mere mortals. This idea, combined with an inflated sense of self-worth, makes for a host of Steve Jobs and Linus Torvalds wannabes, convinced that their special nature absolves them from social norms and responsibility.
The Raskolnikov-ian egoists ought to read Crime and Punishment...
I can fortunately say that in my experience, few programmers are assholes in person. Online forums are another matter. :)
Who knows how that meeting with Marissa Mayer actually went down but there are plenty of people who have been lectured, scolded and demeaned by Dave who have probably wanted to walk out on him so its entirely beleivable that she did and he probably provoked at least some of it.
You would think Dave would, after all these years, realize that if you post stuff on the Internets people are going to flame you for it because A. They disagree B. They troll for fun C. Dave has ticked off so many people over the years they flame him because they are perma-tired of his holier than thou attitude.
No people shouldn't be rude, ever, but they are. Dave is rude all of the time too. Yea you can just like, you know, block the entire Internet and that will stop it, but at what price. I think Dave is mostly pushing for the latter, or at least he wants anyone who doesn't agree with Dave on everything to be blocked permenently from everything.
Dave, if you want, to block everyone on the Internet who disagrees with you, fine, go for it, write your own tools to do it, but don't expect everyone else to do it for you.
Now let me be brutally honest about Torvalds: Tanenbaum was correct. He is not a great coder or a great thinker, Linux as he wrote it was indeed as Tanenbaum said, a giant step backwards. Torvalds just happened to be at the right place at the right time to be at the nucleus of a nascent social movement (what we now call Open Source). What has he done lately - Transmeta? And he is well aware of this himself I suspect: the abrasive personality is his insecurity showing.
Two out of three isn't that bad.
Is it that they feel this way inherently (maybe) or that there are a large percentage of people that surround them, and/or stand to gain from them, that tolerate and allow that behavior?
My feeling is that people act the way they do because they can get away with it with little repercussions.
If you've ever dealt with a person with an anger problem you will see that many times when they deal with someone close to them they act one way (abusive) but with complete strangers they can be as sweet as pie because that person is the unknown and they aren't going to take a chance with a stranger who might react in a way to deny them what they want (of course yes there are those who act like total loose canons with everyone but most that I have observed tend to differentiate between degree of closeness).
- People get initiated into programmer culture pretty young, before they learn to stop being pretentious. They really like how meritocratic programmer culture is, but they get carried away with it the same way that people who say "gays should go to hell" or "the weak have no place in society" get carried away. And maybe some people never grow out of it because we've reached asshole critical mass and they find themselves surrounded by like-minded people; and because they're rewarded for technical merit even when they behave badly. The result is your typical Dickensian villainy.
- The meanest IRC channel that I know of, #C, is full of people who are honestly not very smart. Every time that I've patiently and kindly tried to teach someone - while the rest of the channel was busy being huge dicks to that person - I've regretted it because the person just wasn't able to absorb and synthesize information. I'd argue that you can't give a $5 dollars to every beggar, and some people should be firmly kept out of the community until they get better, so as to avoid harming the community in the long run. It's a tough situation, and handling it well is tough even for mature people. Being rude isn't an unreasonable tool if your goal is specifically to scare people away (and hopefully towards a more productive endeavor for them).
The point is that there are imperfect people on both sides of our social boundaries. But note that this is a very specific point, and rarely justifies the vitriol that comes out of people in #C.
As it stands, I code mostly as a fun thing I like to do (I work it into my day job where I can). It's something I really enjoy. I've got a shelf full of books and an interest in the esoteric. I'll like casually reading about lambda calculus and taking long walks on the beach, but when I run into something I can't figure out, I have a problem.
It's painful to even think about going to some irc channels or forums to ask for advice on something I'm writing, even when it's the most sensible thing to do. I just think about how exhausting it'll probably be to cut through the vitriolic responses and get to some useful information.
I'm typically not looking for a dissertation, even. What I'm usually looking for is "Here's what I'm writing. What am I doing wrong, and what resource/book/article could I read to best get a grip on this problem?"
I don't want to face the prospect of mental exhaustion for something I do for enjoyment.
I think language/framework evangelists usually know about this kind of thing. You never see them say "Yeah, the community is great and if you have any questions head on over to our IRC channel. They're super abrasive in there, but if you really slam your head against them, you'll probably get an answer!"
A fair number of the people in these communities that offer help are doing so to help those of us who have questions.
They can be annoying, abrasive and downright rude. If you are polite and persist most of the time you will get your answer. I went through this in the late '80s on the C/C++ forums on FIDOnet and RIME/RelayNet. I managed to persist (and get pissed off a number of times) and get most of my answers. To this day I see people from FIDOnet and RIME/RelayNet still answering questions on web forums, StackOverflow etc. Jerry Coffin is one of them and the man is a saint. Bob Stout of Snippets fame has been around forever as well. The advice I read from Joseph Carnage on RIME was some of the most valuable ever and has a lot to do with how well I turned out as a developer.
I guess what I'm getting to here is to grow some thicker skin and try not to take it all so personally. A fair number of the guys answering the questions have seen the same questions a million times and gone to the trouble to write the FAQs for C and C++ and are presumably tired of answering the same old questions. Put yourself in their place and see if your perspective changes.
For me, I don't think taking something personally is what is exhausting. I have my own propensity for verbal sparring and for trying to find the psychological upper hand. Once I get into it, I don't care about conversation or communication, just about feeling like I was the most strategic combatant. It turns into drawn out verbal warfare, and it's draining for me to resist the urge to get into those fights when I get a condescending response. I realize that places most (or a lot) of the blame on me, for the exhaustion, but there it is.
It helps a lot that there are places like Stack Overflow and that the web is just so damned big and accessible, these days. I can almost always find an answer on my own, so it's not usually worth investing in a forum to get answers.
The downside is I miss out on community and getting to know prolific figures or interacting with other programmers as much as I could, and that's definitely my loss.
I also miss out on the large number of generally decent folk, which sucks, and it's a big reason I've tried to make a few more comments on HN that I used to, in areas where I think I have something to say. Most of the time it's worth trying to open up the line of communication. I just try to balance risk versus reward.
Basically, I think I'm pretty capable of tolerating the negative responses that can pop up, but is it worth enduring them for what I would get out of it? In my current context, I'm not sure.
I personally think that I've picked up very useful "learning skills" because I have my own social reasons for answering technical questions without outside help. So maybe your exhaustion might also be a benefit for this reason.
I can get away with it because I don't have any deadlines or anything like that, really. I can just hammer away until I figure it out.
It's definitely been useful, though. And you're right; learning skills are still skills for sure.
I joined #C to ask for some help, but people were trying to get me to discover the solution on my own, which is well and fine if you want to learn, but at that point I just wanted the trivial fix (it was something about an incorrect type, it was a 1-line fix and anyone with C experience could see it).
I asked them if they could just tell me how to fix it, because it was late and it wasn't really a good time for me to learn C, but they said something about them not being my personal tutors or something, and then just refused to help and treated me like an idiot for not knowing C.
In the end I just left the channel with very high blood pressure and asked a friend on IM who told me the correct line, and that was it.
#C: not even once.
It sounds like #C has chosen as its mission to teach people the C programming language. To that end, they see it as a derailment of their existential purpose to help people who "just want the trivial fix." To them, it's rather like going to a math tutor with your homework and saying "I don't want to know how to do it, I just want the answer." Correctly or incorrectly, they think that helping you in the way that you ask won't teach you anything, and that it will ultimately hurt you on the final.
Even among communities whose mission is to help people with specific questions, like StackOverflow, the folks answering questions still require a certain amount of buy-in: evidence that you've thought about the question enough to understand precisely what the problem is, and evidence that the problem doesn't have an easily found solution on Google. Without that buy-in, the social environment they've set up will inevitably devolve until it's really difficult to separate the genuine difficulties that can be solved from the white noise of people asking the same question over and over.
So while I wouldn't defend the people in #C wholesale, and there may be plenty of vitriol there, a refusal to help when someone just wants a quick answer doesn't sound unreasonable, and in fact may be all that holds their community together.
Sure, but they didn't have to be dicks about it. They could have said "we don't want to tell you if it won't teach you anything" and I'd have left. Berating me wasn't very productive.
> fact probably could not do so without sacrificing a great deal.
It was a "you're using sprintf("%d") when you need sprintf("%u")" sort of thing. Not exactly that, but very easy.
> it's rather like going to a math tutor with your homework
Not really, given that I don't ever work with C. It's more like asking for help with a flat tire and having the person say "I will ask you questions until you figure out how to do it". Thanks, but I just want to get to my job interview on time.
> the folks answering questions still require a certain amount of buy-in
I had done all the debugging I could and narrowed it down to that specific line, but doing anything more would require reading a large amount of material (which I didn't know where to find) on the intricacies of the C standard/compiler/etc, so it wasn't like I just went in saying "help me I don't remember the for loop syntax".
> a refusal to help when someone just wants a quick answer doesn't sound unreasonable, and in fact may be all that holds their community together.
I doubt that's what holds a community together, and I agree that it's not unreasonable. However, the way they treated me was.
A lot of people show up in programming communities asking for help with their intro programming homework. Once you see a few dozen of those, it's understandable if your knee-jerk reaction is at least somewhat insulting.
I'm almost certain that this anecdote arises purely due to the structure of the forum in which the question was asked, and has very little bearing on the vitriol and malice (or lack thereof) present in the denizens of #C.
Refusing to provide direct answers is #programminglanguage in general, otherwise you can just be helping a stream of beggars.
Or maybe it's our biggest asset. In a world filled with bullshit (how many people you think really empathize with you - vs. just going through the motions?), it's refreshing to have a little corner where they honestly tell you why your ideas suck and your background is deficient. It kind of comes with the profession, yes. Only a relentlessly critical kind of person can effectively hunt down bugs and deal with dozens of other frustrating problems everyday.
You can tell someone “you suck, go back to the corner of the Internet you came from, I don't have time for this”, or you can tell them “your skills don't seem to be quite at the level where we can accept your contributions; in particular, you don't understand X, Y, and Z very well and it shows in your code. I'm short on time, but if someone else has time to explain why that would be great.”
The difference is almost immeasurable between those two interactions, even though they are saying the same thing.
I've made this point before regarding derision, which I think is the true issue. I'll quote myself, since I've already written the thing[1]:
“Derision is not curtness. It is not impatience. It is explicit, intentional putting-down of someone because they aren't as good at something as you are or think they should be. And it is a poison. Unfortunately, if you take it frequently enough, it becomes habit. It becomes second nature. And you stop noticing it's poisonous. And so, unfortunately, it is an oft-enjoyed poison in intellectual circles. It doesn't help anything. It doesn't help you understand the world or other people. It doesn't really save you that much time. It simply makes you feel better about yourself.”
A specific example: I was looking for some help with a bash script a while ago. I am no bash expert. I got heaps of abuse for my terrible script. At first I got emotional, and a good 75% of the time I would have stopped there, feeling grumpy and hating assholes on the internet. This time I took a deep breath, posted my whole script as a gist, and said to one of the most abusive but seemingly knowledgable IRC citizens, "Ok, I see it's not as robust as it could be, so I would appreciate some help. What am I doing wrong? How can I improve this?" The script was much improved in robustness and readability.
I got a good script but I was drained by the effort. If I had gotten your second response instead of the first, think of how much time and good will would have been saved.
Being respectful and understanding is not a waste of time, and being rude is not cutting through the bullshit. Your point regarding derision is spot on, except I don't think it makes the derider feel better either.
'Moving parts in rubbing contact require lubrication to avoid excessive wear. Honorifics and formal politeness provide lubrication where people rub together. Often the very young, the untraveled, the naïve, the unsophisticated deplore these formalities as "empty," "meaningless," or "dishonest," and scorn to use them. No matter how "pure" their motives, they thereby throw sand into machinery that does not work too well at best.'
I suspect anyone who's ever written an inter-company email will know the value of having a formal way of speaking that is unlikely to give offence though.
You don't have to be a fluffy bunny about everything.
You stop and realize that your momentary investment in sincerity and tact reap rewards for your personal image, which people want to work with you, who is going to feel like taking a bit of extra time to help you out when you need it, and the general good will and atmosphere of the community, which inspires growth and adaption while lubricating the flow of ideas (as another response said; I'm stealing that).
"You're useless. For god's sake stop contributing until you get your sht together"
rather than:
“your skills don't seem to be quite at the level where we can accept your contributions; in particular, you don't understand X, Y, and Z very well and it shows in your code. I'm short on time, but if someone else has time to explain why that would be great.”
I don't have a good explanation why that is. Maybe it's because I feel some condescension in the second while the first one is just plain raw "I don't have time to deal with your sht. You're an adult: fix it and come back later".
e.g., if I were to post some patch that used bubble sort, one could easily say "This is total crap. Don't come back until you fix your shit". If I were a noob, that wouldn't help me contribute better. If one were to rather say something like, "This is very inefficient," and then mention something about O notation or efficient sorting, and point out that this is a performance-critical section of the code, I might be more likely to actually take the time to learn enough to be able to fix it.
Consider also the effect on newer programmers. They start, they commit crap, you tell them to die in a fire. They get better, and years later decide that they're not going to bother fixing bugs in your project because "that guy's a jerk". Constructive criticism, or at the very least politeness, helps prevent poisoning the well of talent that is interested in working with you.
Is it best, in a controlled environment with both low signal and noise, to take your time and explain things in detail in a "civil" manner? Sure. That works great in (small) classrooms for example. In a public kernel dev mailing lists though? No, a fuck off should suffice. If the recipient of the fuck off wants more, they can seek it in a more appropriate place.
IRC is somewhere in the middle; usually civility or ignoring the person works best. This is particularly true since most IRC channels are fairly explicitly there for people who want to give or receive advice. I've only told someone who was seeking help from me on IRC to fuck off once, and that is when he demanded I talk with him on skype instead of IRC, and pressed the issue.
Edit: I suppose I shouldn't expect a civil response if I explain in a civil manner why I don't think civility is always necessary. Hoisted by my own petard perhaps?
Also you can still give a franker response without being blatantly derisive: "Thanks for your contributions, but I'm afraid they do not meet the quality standards of our project. I think you might need to learn a little more about X, Y and Z, before you do any more work."
I'd be interested, would you find something like this to be as patronising:
"Thanks for your submission. Could you improve X, Y, Z and resubmit?"
vs.
SHUT UP. Your analogy is awful and I never want to hear that kind of drivel from another HN poster EVER again. Go rtfm on English lol
Being an asshole also doesn't inherently cut out bullshit.
I'd say that they're just not as correlated they seem to be at times.
I'm always suspect of any solution that goes to any extreme.
I also think there are enough micro-cultures in the programming space, themselves crossing a myriad of geocultural contexts, to defy broad generalizations.
I think it's most constructive and useful to approach it as a way of generally dealing with people and not a specific group. We haven't developed in such a way to easily and rationally react to abrasive responses in conversation. I don't think it creates a social atmosphere that optimally takes advantage of our modern context.
That's what the Linus defenders are usually standing up for, at least. Maybe in his case it's an effective way to run his project, I don't know. He's the boss and it's up to his contributors whether or not they want to deal with that kind of thing.
I don't think that's the phenomenon that's being discussed here though. You say it's refreshing to be told when your ideas suck by someone who knows better, but in my experience that's not the case in most programming communities. Most of the time, the people who are going to tell you that you that your ideas suck are not actually that much more experienced and may not even have better ideas.
When I first got on Usenet in the early '90s, I was just starting to learn programming. I thought the people on comp.lang.c and elsewhere were just the smartest people in the world (some of them were, of course). I loved it when they skewered people asking dumb questions or proposing dumb ideas, and I felt like I learned a lot from reading their posts. In hindsight, they only seemed to be so smart because I knew so little. Looking back on it now, many of them just seem like bitter and pedantic people that knew a lot of technical minutiae but didn't necessarily know or care about creating software that actually did things, that other people could use. They were smart and knew a lot of useful things, but just as often they would make very personal and subjective observations about things, but mask those observations as bold, objective proclamations about This Is How Software Should Be Written. Unfortunately, in my larval hacker stage I couldn't tell the difference.
Anyway, what I was getting at was that it's good to learn things from people who know more than you do, but just because they're assholes about it doesn't mean they're right (it frequently means the opposite). Programming communities tend to be dominated by the assholes though, because they're the most motivated post comments and get into arguments with people about technical minutiae. It's the way it is, but it's not necessarily a good thing.
The elitism isn't shocking anymore, but it is sad and limiting. I want to hang out with / work with a programmer like this as much as I want to hang out with a religious zealot. Which is to say not at all.
On the other hand, dogmatism is frequently a way to relieve insecurity.
The difference between: "You cannot use a pointer without previous initialization becuase it may lead to corrupt memory, or some other error".
and
"Nobody with a fking idea of C would dereference a pointer as you have done"
is politeness. And the first one helps, the second one just offends. Both are right, but one is more useful than the other.
Especially in public discussions.
Being polite requires, as any other virtue, habit. And usually, acquiring it requires effort. But we, all of we, expect it from all of us.
It's tough to distinguish between someone dismissing an idea because he sees the inevitable problems that make it unworkable, and someone dismissing an idea that falls outside his comfort zone.
It's tough to distinguish between someone giving an abrupt answer because her time is too valuable to spend on a detailed one, and someone giving an abrupt answer because she doesn't have the understanding to formulate an actual rebuttal.
And of course it's impossible to tell any of the above from a nice guy having a shitty day.
There's a lot of gripe about our shitty community, and I often wonder whether the griping is just a byproduct of having so many conversations in permanently archived public fora, or whether there really is some force at work that makes impolite people choose programming or makes programmers impolite.
A) They politely provide reasons, citations or rational for their opinion and may ask you to address those concerns.
B) If their time is too valuable and mine isn't there had better be a significant actual differential in our importance in the world. I'd take it from my CEO, but I expect explanations from anyone under him. Otherwise the "brusque" answer is like someone who doesn't bother capitalizing and using proper punctuation: a mark of disrespect for my time.
C) The nice guy having a shitty day feels bad when you call him on acting like an asshole.
Also I find it disturbing that you connect bug fixes to a world view, the two couldn't be more separate.
The comment itself is completely in contrary to the relentlessly critical attitude that believes every detail is important.
I don't know that I prefer people going through the motions of hating on each other. It's not necessarily honest and genuine just because it's unpleasant.
And if you hit your spouse like boxers do in the ring then that would be abuse too. It's almost as if there are different rules for different situations.
(No, I'm not saying that kernel development is like boxing)
Now, of course, that sparks off a question about whether submitting your post or your startup to HN is de facto consenting to be verbally abused. But I think that's a pretty useful conversation to have.
I like to think of HN as one big subset of focus group users. Get another subset of people with a similar psychographic/demographic trait and you're likely to face just as much criticism, just of a different bent than you would receive here.
I think you'd agree that feedback does not equal verbal abuse. So, to go back to the original question, do you feel that by asking for feedback you're consenting to be verbally abused, or do you feel that's not the case?
I can't load up the article again (squid error) but IIRC the guy was posted to HN by someone else,d then received a bunch of abuse on his site and via email etc. Perhaps better to keep the verbal abuse here rather than there?
When I first started using HN, only a little over a year ago really, it did seem different to now. A lot less criticism (yay, no mudslinging or fanboi fights!) and a lot more bootstrappy startup speak (though that can get just as annoying).
Oh well.
So if a person decides to post a picture of themselves on their blog, they're consenting to having that picture photomanipulated onto hardcore pornography then emailed to their family and co-workers, for example?
Otherwise, include a license with your work, state that it is copyrighted, and still expect people to say whatever they want about you or it... Or, put it on your own private network, known as Not-The-Internet.
http://www.law.cornell.edu/wex/fixed_in_a_tangible_medium_of...
Remember, intellectual property rights are all thought-crime laws. They don't have to make sense.
Shocking, I know, that maybe oversharing is a bad idea without some permissions mechanisms in place.
I agree with this. I've noticed it in myself. The more involved I've got in the tech community the more argumentative I've been with non-tech friends. Spending time debating with other programmers on HN and in comment threads and mailing lists has lead to me trying to debate even small points my friends make. It's something I'm trying to tone down but it's definitely been a big change in my personality over the last few years.
It depends. I generally try to be reasonably civil online, but I also think there are valid reasons to be less so. A good example is when people are giving advice to newcomers that has a good chance of putting them in imminent danger. E.g. someone goes to an online mushroom identification forum and posts a picture of some random mushroom they found and asks if it's edible, and someone else replies with something along the lines of, "Don't worry, anything you find in your back yard is edible," especially when the mushroom in question is a destroying angel or something. You see similar things happening all the time, with medical advice or otherwise.
Another less extreme example is when people know they're wrong, but they keep repeating whatever they're wrong about because they're being intellectually dishonest to promote whatever agenda they have. A good example of this is my comment the other day on the 'class of 2013: you've been scammed' story, where I tell the guy and his editors he's wrong but he still doesn't correct the article:
https://news.ycombinator.com/item?id=5728788
In these cases a lot of times I find that I correct someone once, but then they actually try to use my civility against me in one way or another, so sooner or later you kind of have to drop the hammer.
If someone is wrong about something because they're just unaware of some fact then by all means be civil. But sometimes there can be underlying issues that are fairly toxic and in order to preserve the community you need to find some sort of way to quash them, whether that's through a technological solution or through some form of social condemnation. In the real world when someone commits a crime like rape we generally don't just gently tell them it was wrong, because we accept that civility is a tool that allows reasonable people to have productive conversations, but at some point people forfeit their right to civility if they're being blatantly unreasonable. The same should apply online.
Amazing.
The written equivalent of spittle-flecked screaming is neither professional nor constructive. Unless, of course, the goal is to hound someone out of the community and make others less likely to participate, in which case that was an excellent comment.
Take action (remove commit rights), message Mauro in private, call him and let him know you are disappointed and why, ... but having an ASCII-based temper just makes Linux and/or programming look silly. Kernel dev is rough but there is plenty of time to let things cool down and let rational criticism sink in.
I remember reading once an author who refused to e-mail or respond to e-mails, because he was concerned that every piece of text committed to a private commentary between him and another person would never have been published in a book, and will potentially even become a privileged (private) conversation, that nobody else can benefit from, ever.
There is an obvious difference in tone between the 'polite disappointment private note of passive-aggressivity' and the 'verbal ass-chewing' that you issue when someone 'breaks one of the rules'.
What happens when this person gets chewed out on a forum on the internet?
People talk about it. Word spreads. Now I know that linux kernel devs are not meant to introduce breaking changes into userland, because of the power of his words.
Would I have heard if he had chosen other routes? Isn't it possible that he can keep a (potentially) helpful developer on the staff (we try to keep them, especially when they are unpaid, since they are harder to come by) without permanently or temporarily revoking his commit access? I don't know if he still works on kernel, but don't you think he would have been more alienated by forcible removal from the working group, for any period of time?
If my boss tells me to take a vacation, I would get worried.
And I also know that Linus isn't a person with whom I'll never interact on purpose.
Some things are important enough to flame over. I grew up on IRC, so I have a thick skin to that, and I've been flamed on my fair share of mailing lists too. Know what I learned there? I'm often wrong.
To an outsider, a thread where nobody gets flamed is usually pretty inconsequential. Coarse or colorful language makes it stand out more.
We can do better than this.
I honestly haven't read the thread, I'm not defending his particular flame, I'm defending the idea of flames in general. I would assume from all the commentary I've seen though that (the target... Mario?) was defending his breaking change, "it's actually the userland software that's broken" and Linus wanted everyone to know that he was wrong, and there's no defense for breaking changes that affect userland stuff that "used to work."
Have you ever joined Exherbo community? I think it's more like what you want.
It's anything but User Hostile, but there's a mountain of documentation to read when you arrive, you're expected to have read every word _before_ you come to start asking questions, and when I say 'anything but user hostile', I'm not sure I am using the term correctly. It's not user friendly for noobs. It's almost hostile. They don't really curse at you like Linus, but you have to read, and you have to read lots.
I haven't used it in a while, but every time I've gone back after some months, I've found breaking changes or a brand new puzzle to get to first boot, that I couldn't work through without somebody's help. My rating, -1 would not ask for help again, better to live with a broken system that doesn't work until you can know what's wrong for yourself.
Anyway enough about Exherbo. Back to Linux, I was compiling kernels when I was 16 years old, I never joined the mailing list, and it was a good experience. Good old, reliable, make menuconfig. I attribute this to Linus, and Alan Cox, whose kernel patches I often tracked.
I haven't done that in a while, and I stopped keeping up. It didn't take long googling Alan Cox's name to find the words "castigate" and "quits linux development" in the same article. That makes me sad. So I'll concede that maybe you're right.
Verbally abuse him, obviously.
I would venture to guess that most online assholes are socially dysfunctional people.
Misrepresenting your sources to make your point is FAR worse than 'shut the fuck up' in my opinion.
Honestly though, looking at the discussion, I have to admit that some of these userland apps did do wildly ridiculous stuff that sorta almost relied on certain kernel "flaws" -- so IMO they deserve to be broken (perhaps?)
Side thought - this happens in many communities as an indoctrination ritual (people laughing making fun of the newbie). So I'm wonder what the basis of it is (rooted in survival or human nature?) because there must be one.
If you're curious about questions like this, Pinker's "How the Mind Works" is a very reasonable and readable take on evolutionary psychology.
Thanks for the book suggestion I've been looking for something along those lines..
That could either be that the community is creating norms that make all programmers more polite, or, just that programmers as a group tend to get more polite as they get older.
Disagree. Fluffy unicorn social hour, when discussed by a programming community, resulted in flamewar behavior.
Let me pick the most recent three "real programming" type articles. Phantom.py the headless webkit engine, Arduino Yun, and Nimrod the static typed language release. Behavior in the articles, by programmer types while discussing programmer type things, was fairly civilized.
Well, OK. The Arduino Yun is yet another product that is not terribly well differentiated from a zillion other products in an extremely crowded market. And there was a smoldering birthday candle sized flame in the nimrod comments about unicode, but not that bad. Phantom.py had some minor war story about a competitor being a nightmare but Mostly on topic and interesting discussions.
This is very true. I don't know what it is about it, I'm pretty sure it's the lack of social skills that is prevalent with us nerd-types, but it could also be the anonimity of the internet.
But yeah, programming forums can get WAY too snarky for their own good.
http://www.muktware.com/5276/linus-torvalds-secure-boot-supp...
"Guys, this is not a dick-sucking contest. If you want to parse PE binaries, go right ahead.
If Red Hat wants to deep-throat Microsoft, that's your issue..."
What if that email was to a female kernel dev? What if a whizkid reads the kernel dev mailing list and goes asks their parents what deepthroating means?
So it is okay to swear at men but not at women? Why in this context?
Really, this is ridiculous. Why would something become acceptable/inacceptable simply because of the gender/religion/haircolour/height/taste in music of the recipient?
As I said, ridiculous.
No, probably not. I painted in broad strokes, but the situation is more murky. I don't know of any situations where legal action for this kind of behavior has come from men doing it to men.
> But if I sent it back to Linus, it’s sexual harassment?
Possibly. That may depend on the state? I'm not terribly familiar with same-sex sexual harassment issues, I'm afraid. Need to re-read up on it, I guess.
If one employee repeatedly causes offense or discomfort to another, especially on the basis of protected categories like race, religion, or sexual preference, and the management is aware of the offense but doesn't do anything about it, the company is opening itself to a lawsuit.
If management became aware of the remarks above, and they were within a workplace context (the above ones were out of the workplace), management would have to do something. They are making crude sexual references and could reasonably be regarded as offensive.
It does not matter if you think it is ridiculous, although it would be smart to reflect that the reason we have these laws is because, historically, there has been real and pervasive harassment.
There are some things that might (for instance, a reference that had a widely accepted meaning in general usage but also a specific use in the context of a particular group might be less appropriate to use to a member of that group where the context might be ambiguous enough to support both the group-specific and the more general use, while being perfectly fine otherwise), but I don't really see that being the case for the particular email in question.
Are you saying men can't suck dick?
Go ahead and repeat that quote to the nearest woman and see if they share your view.
"What if that email was to a female kernel dev?" What if it was man? A martian? A lickle putty tat? I'm really not sure what you're trying to say here saying here.
"What if a whizkid reads ... deepthroating means?" Whizkid? Doesn't know what deepthroating means? Were you home-schooled?
That everyone must be over socialized to be overly concerned about what everyone else thinks and not be concerned about the objectivity of what we're trying to achieve. In political questions this is overly dangerous.
A healthy level of tolerance of criticism is necessary for any sort of critical culture. Without it disasters like the nuclear disaster in Japan occur. Where everyone is trying to be so polite and get along that obvious problems go unsolved because criticism is not brought to bear on the right people at the right time.
Yes there are limits to what is acceptable and not overdoing it. But then there is also a need for tolerance of criticism to an extent and perhaps if there is enough confidence a rebuttal to criticism.
If, on the other hand, you want an intelligent conversation about tech and startups with the largest number of intelligent people, I suggest that we should all talk a bit more like Paul Graham and a bit less like a 14-year old playing Call of Duty (or, for that matter, Linus Torvalds)
I have no problem with the idea that in this community, Paul Graham is the best role model for communication. But let's not pretend that the place is flawed purely because of it's demographic.
The 14-year old CoD player is, however, not just a stereotype, but pretty much the archetype of what happens in online communities that don't self-police behaviour. The standard of discourse engages in a race to the bottom, where shouting beats listening.
This isn't necessary, even in Shooters: I used to play Unreal in an online community back in the day, and the chat was friendly ("played", or "well played" was one of the standard things you said when you got shot). Even the taunts were actually funny (often Monkey Island references). However, that's a long time ago: I don't find online shooters a fun place to hang out anymore.
"Anti-social" behavior according to whom and to what extent and for what purpose? For the purpose of feminizing men so that they are more passive and they fit better into your ideals of who people should be? So to fit men who want to be themselves into your little cult of civility?
> I still see people confusing the two.
There is no confusion. People want to be themselves and want a culture to cater to that. Instead you want a culture that caters to your needs. Which is fine, but that is no global definition of what that is and how to implement it. The idea that everyone and every community should conform to these feminizing norms is highly flawed. And is totally arbitrary.
> Both behaviours will leave adults concluding
Massive generalization. Adults, eh? Fuck you for calling any ideals that don't conform to your to be childish.
> mates establish a norm of anti-social behaviour, you will neatly exclude large portions of the population including most women, most children and most men over 30.
The point is to appeal to your group, not to appeal to all of society. That's what religions attempt to do, and fail all the time doing. There are no ideals that fit every community or even all of society. To attempt to create such ideals is essentially social engineering. It's the purview of totalitarians.
> intelligent conversation about tech and startups
Fuck you for calling people who don't conform to your norms unintelligent.
>feminizing men
The thing with edgy, weird opinions like that is that it's unlikely that you hold them because you're wiser than prevailing wisdom. Apparently, Real Men antagonise strangers over the internet.
We're all so good at not telling people to STFU and what-not, but we still have enumerable troubles with entire discussions not being derailed into hate-fests, albeit with some uncharacteristically (for an internet discussion) polite language.
Something to think about.
Grow up.
> The point is to appeal to your group, not to appeal to all of society.
The point is your group is flawed, and that flaw legitimately keeps newcomers out and cause well-intentioned contributors to leave. There's absolutely no reason why the community should have the stance "if you can't stand the heat, get out of the kitchen."
Competition is only going to make you better. Taking the time to help someone will also help you. Having the support of your peers for being courteous does far more for you in the long-run than intimidating them into submission does. But I guess that's "feminizing men" vs. holding them accountable as not only adults but as advocates and respectable members of the community.
I am not saying you are obviously wrong. I complain about the 'arbitrary'.
In Western cultures, educated criticism is always enveloped in smoothness, and language is an important part of this envelope. This is not evolutionary, it is cultural and we do it because, in the long term, society has noticed that this is useful.
Academia is the classical example of this: one may hate his colleague in the same Department, and also his ideas, but one is not going to bully him linguistically in a paper. Because the time spent in explaining the insults is not worth it.
Unless one is a simple bully, obviously. But this is not the usual state of affairs.
Criticism means something in particular though, namely being critical of something.
Being critical of an idea does not mean insulting the person who proposed the idea, rather it means replying to the idea with intelligent commentary and feedback. There is rarely cause to be uncivil in providing criticism, and indeed doing such frequently closes doors to communication.
> A healthy level of tolerance of criticism is necessary for any sort of critical culture. Without it disasters like the nuclear disaster in Japan occur. Where everyone is trying to be so polite and get along that obvious problems go unsolved because criticism is not brought to bear on the right people at the right time.
Indeed this is true, but I think the overall feel in this thread is that the technical community frequently confuses criticism with outright personal attacks. In the very least, legitimate criticism is frequently mixed with verbal abuse, which adds nothing to the discourse.
> Yes there are limits to what is acceptable and not overdoing it. But then there is also a need for tolerance of criticism to an extent and perhaps if there is enough confidence a rebuttal to criticism.
A good engineer is one who accepts criticism, for that is how one improves. But if I am doing a code review, I would not tolerate someone questioning my history of career decisions when judging if my software architecture is correct.
I would not tolerate it because it is not on task, nor does it have a point or purpose.
There are times when bringing up the topic of someone's credentials or personal history is relevant, but even then there is no need to be disrespectful about it.
Now there are of course sometimes when more forceful language is called for, such as when personal or public safety is at stake, or when the future of a company is on the line. I would say that under those conditions, one should still do their best to communicate in a civil fashion, and then slowly escalate language used as is appropriate.
There's plenty of examples of programming communities that are the exact opposite, haskell being an oft cited example. The haskell community is very patient, calm, and avoids fighting/drama. Is it because haskell has some magic power that soothes the savage "programmer-type"? Or is it because the community standards are set by emulating the behaviour of the leaders? Compare how SPJ behaves to how Linus behaves. I think the only negative things I've ever heard from SPJ have been mild criticisms of his own work. Even in his role as an advocate for not just a language, but for entire fields (functional programming, static typing) he is consistently calm, respectful and pleasant.
"Here, be fair to everyone by limiting what you say so that women can participate."
If you want to participate in a community, do so, otherwise don't. A community is an emergent whole comprised of the free will of its constituents, not some inorganic machine that should be influenced by special interest groups (e.g., <XYZ group>'s Rights Advocacy).TL;DR - If you don't like our community, go the fuck away or make your own "community" wherein your dogma can be enforced.
Alt TL;DR - If you love something let it go...
On the one hand, being argued about is a problem a lot of people would like to have. I spent two years making a large canvas diagramming library and I would have loved for it to have frontpage'd on HN, even if everyone just told me it was terrible.
On the other hand, I do think the meanness of programming communities is a the biggest problem we have. Programmer-types are just not as supportive/empathetic as nearly everyone else I know. And I'm not talking about criticism, I'm talking about needless mean, shitty behavior that gets repeated and defended all too often. When the Linus/"Mauro, SHUT THE FUCK UP!"[2] was posted to HN every single top comment was defending Linus' behavior.
Linus' mission and position do not excuse his language. In defending users, he's still attacking a person.
It upsets the hell out of me, and I think its a big part of why many women (and I'm sure men) prefer not to engage in programming communities. Even on StackOverflow I see people being horrible to confused newcomers, instead of steering them in the right direction.
I think rooting out this kind of shitty behavior is the most important thing we can do to advance programming communities and make others feel welcome. By miles. Especially if we want to alleviate gender and general newcomer disparities.
This article reminds me of one from 117 days ago, "What It's Like To Be Ridiculed For Open Sourcing A Project".[3]
~~~~~
[1] There were some remarks in the article that just left me confused, such as:
> They said I thought JavaScript was a bad language. How funny, because I'm writing almost all my code these days in JavaScript. They say I'm old and out of date. Funny. They're the ones who are out of date! :-)
???
~~~~~
[2] https://lkml.org/lkml/2012/12/23/75
Some excerpts:
> Mauro, SHUT THE FUCK UP!
> It's a bug alright - in the kernel. How long have you been a maintainer? And you still haven't learnt the first rule of kernel maintenance?
> If a change results in user programs breaking, it's a bug in the kernel. We never EVER blame the user programs. How hard can this be to understand?
> Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious garbage and idiocy from a kernel maintainer again. Seriously.
If you talked to your spouse like that it would be called abuse.
I was horrified by the HN reactions. You can read some of them here: http://news.ycombinator.com/item?id=4962912
~~~~~
[3] https://news.ycombinator.com/item?id=5106767