It's refreshing how humble Carmack always sounds in his Twitter feed. I've found that old school game programmers tend to be hardline and a bit belligerent about their code; Carmack, on the other hand, often tweets about going against his better instincts and exploring new technologies. Not a lot of sarcasm or negativity at all. If only more people had Twitter streams as pleasant and informative as his!
I second this. Its something we can all take a lesson from. Unfortunately I see too FAR many programmers who model their persona's after Kanye West.
I had the great fortune of meeting Steve Bourne, inventor of /bin/sh. If ever there was a guy who could accept any and all accolades it would be him. Instead he was most gracious and humble and spent all his time showing interest in our work as well as answering our questions about the invention of the shell and Unix.
Speaking of; did you know he was the first alpha tester of Unix? When Ken Thompson and Dennis Richie were writing it they would hand the magnetic tapes over to Steve Bourne and have him test it.
Less Kanye West and more Linus. And I'm of the opinion that an attitude and approach like Linus' is fine - if you're Linus.
I think it's sort of made its way around as the way to act if you know what you're doing and that's a shame. I know a lot of great devs who are lost in the shuffle for not being boisterous enough.
Linus is a technical genius with a very abrasive personality. People tolerate the abrasive personality because he is an excellent programmer and steward for the kernel.
What's intolerable is when untalented people cargo-cult Jobs or Linus and pretend that their personality is what caused them to succeed. There is nothing more scary than an untalented manager reading one of the many 'inspirational' leadership books about Steve Jobs - they are likely to pick up every single wrong lesson.
Has anyone ever complained that Terence Tao is apparently a genuinely really nice person? People would still work with Tao if he was a misanthropic asshole because he is probably the smartest person in the world, but it's not like being a kind and generous human being detracts from his genius.
I've found that I inherently think that I've screwed up majorly in my code. Evidence shows though that's not the case, but that doesn't change how I feel. As my own strongest critic I write some pretty strong test cases, because I'm sure I did something wrong. Of course I can't test my own test plan, so I'm always worried that I missed something stupid where I should have known better.
I also don't like strong emotional confrontation.
Can you see why I wouldn't want to work with someone abrasive like Torvalds? Part of me will always be on edge expecting to be chastised, even if that were never directed to me. So it isn't only the targets of his abrasion which are affected, but also those who think they might be targets, even if that belief is wrongly held.
I genuinely have no special insight into what Linus is like as a human being.
I just think that his abrasiveness (even if it only manifests itself in a few circumstances) is a negative that people tolerate because he is such an exceptional project manager and programmer. The keyword is 'tolerate'.
Too often, people think that his success comes not from his technical mastery (which is very difficult to imitate) but from aggressive rants and call outs - and try to imitate those and justify it as 'well that's how Linus runs the kernel'. It's even more prevalent with people cargo culting Steve Jobs' personality flaws thinking it will make their company the next apple.
People don't just tolerate him for being negative, because he's really not all that negative. He's helpful if people actually need help. However, if he trusts you to not be stupid, and you break his trust, he's going to get mad.
He needs to be able to trust people because he needs to merge thousands of patches and make sure nothing bad gets in.
This is the only reason you should ever do what Jobs or Torvalds have done: trust.
> What's intolerable is when untalented people cargo-cult Jobs or Linus and pretend that their personality is what caused them to succeed.
Yes, some other, less talented developers are being jerks and decide that they should try to hide their deficiencies by imitating Linus Torvalds. That does happen. But I'm sure that to a far larger extent, imitating the style of the great leader is just something that happens subconsciously.
That is really the reason why I disagree with nkozyra's grandparent comment. Even somebody who really knows their stuff must be conscious of how they communicate, because of the potential problems that arise when their style is inevitably adopted by those who don't really know their stuff.
More like the way they think Linus acts. Yes, sometimes Linus has outbursts, and I think it's fair to criticize him for that. But 99% of the time he's listening to ideas from all sides and deferring to other people on the things he doesn't know. I think a big reason for Linux's success is Linus' skill as a mediator, and that's something these imitators don't seem to grasp.
Right - it's like all modern news reporting - it's incredibly distorted in favour of the dramatic and attention grabbing parts which are usually exaggerated beyond belief. The other 95-99% just doesn't get any attention because it's not news-worthy.
Seriously, there's no productivity benchmark beyond which you shouldn't treat people with respect. There are broken cultures where you can get away with it, but you'll still be an asshole.
Linus is an asshole not because it's some deep essential part of his nature, he's an asshole because people give him a free pass.
Parent post was asking whether your knowledge of how much of an "asshole" Linus is comes from only reading the publicized outbursts, and not interacting on a day to day basis.
While it's not preferable, I think that we can be understanding of the fact that people can sometimes have outbursts due to stressors in their life. That said, whenever I've seen people bashing a Linus outburst, I've gone and read said outburst. It's never as bad as the "tech press" make it out to be.
>While it's not preferable, I think that we can be understanding of the fact that people can sometimes have outbursts due to stressors in their life.
Sure. The question is, do the rest of us treat those incidents as mistakes where somebody went over the line and behaved poorly, or do we defend the behaviour and even try to argue that it's a sign of good project management that should be emulated because it 'tells it like it is' and keeps away the 'idiots'? Sadly the latter is a common attitude, as seen in other comments in this thread.
I understand and have experienced what you're talking about, but I don't think it gets to the meat of what people dislike about the way Linus (occasionally) communicates with people. Being more straightforward as in "no that's a dumb idea because X" may put people off, but can be chalked up to "cultural differences in communication". This doesn't really apply to the kinda stuff Linus has said that people complain about:
"Mauro SHUT THE FUCK UP"
"I don't _ever_ want to hear that kind of obvious garbage and idiocy from a kernel maintainer again. "
"fix your approach to kernel programming."
"There aren't enough swear-words in the English language, so now I'll have to call you perkeleen vittupää just to express my disgust and frustration with this crap."
It's ridiculous to claim that that's just avoiding unnecessary civility. Those statements aren't "blunt", they're just him being a dick.
I agree - and in fact, Linus does also - that some of those are crossing the limit.
What I find remarkable is that people always talk about the same half-dozen remarks - from an history of 20 years of kernel development completely in the open.
Linus is a fucking remarkable example of civility. He just doesn't have an office where he can shit all over people in private, like so many managers.
The reason people keep talking about those incidents is that a lot of people defend that behaviour (see other posts in this thread) or even promote it as the best way to manage a project and deal with 'inferior' programmers.
If everybody was just saying that those were unfortunate incidents where he lost his temper and agreed they were inappropriate then this debate wouldn't keep happening. Some people aren't prepared to admit that Linus is ever at fault in any way during these episodes. There is even a group of people who think that those episodes are examples of 'telling it like it is' and 'sticking it to the PC crowd' and thus should be replicated as much as possible to make sure your project isn't 'swamped by idiots'. Unfortunately some of the people with that attitude maintain open source projects (and have downvote powers on HN).
I have found buffer overflow bugs in widely used open source projects that I have not informed the developers about, because when I've made previous bug reports they acted like assholes. I don't feel inclined to open myself up for public humiliation just to contribute to their project.
Except the people he usually deals with in a harsh manner are not inferior, rather, from the examples, it is usually the top collaborators
> I have found buffer overflow bugs in widely used open source projects that I have not informed the developers about, because when I've made previous bug reports they acted like assholes
I understand, but did you follow the bug reporting procedure?
Also, some projects may act polite towards outsiders then direct criticism (and bugs) to /dev/null
No, he's not a remarkable example of civility. He's just a realistic example of a person who manages others. The thing is, like you pointed out, he does it in public.
> What I find remarkable is that people always talk about the same half-dozen remarks - from an history of 20 years of kernel development completely in the open.
Your commend would be relevant if my comment was the top of a thread or something. Take a look at the context of the conversation. I wasn't popping in out of context out of nowhere and saying "Linus is an asshole, look at these comments!". I was responding to the specific assertion that these asshole-ish statements can be attributed to cultural differences. I in no way disagree with the idea that "Linus was being a dick in these cases" is very very different from "Linus is a dick".
While they are blunt and I don't disagree about "him being a dick" written communication is very different from spoken ones, I can imagine someone using such words in a certain context and they sound less harsh.
But in the written medium it really come across is the most harsh way.
But while maintaining the kernel sometimes he needs to get the point across and saying "this is unacceptable, I am disappointed" will not work.
For those examples, when reading the context I (usually) agree with Linus (and with his attitude), and this usually happens when the situation has been building up and people keep repeating those mistakes.
Also, there are people much worse than Linus on the LKML (and subsystem lists), also some people are very polite and helpful.
"Europeans"? Grumble. There is no "European" culture.
Also, Linus isn't representative of Finnish or Swedish culture (none of which put a lot of stock in assholishness) as much as he is representative of early 90's hacker culture and he never had to grow out of it. It doesn't work as well for a guy with a lot of power though, it isn't cool when he kicks downwards.
He's right and throwing up "Continental Western European" as an answer really emphasizes that your picture of Europe isn't in line with reality. You are saying the cultures of Spain, France, Germany (and many others) is all the same? That doesn't make sense. And then you lump up the Balkans and others as if somehow that's another group with a single culture?
kryptiskt is right and not nitpicking. You are trying to take widely diverse people groups and lump them all together based on a general ignorance of the places you are talking about.
It makes less sense if you've lived here. Then you ought to know "European Culture", "Continental Western European Culture" and so on are nonsense labels. It would be like talking about North American Culture.
I have no clue what you mean, other European OSS contributors don't have that reputation, and they're legion. It's a just-so story made up to excuse Linus behavior. It has nothing to do with Europe. Or your imagined "European" culture that doesn't exist.
Dane here. The stereotype here is that Swedish people, much like the British, never say directly what they mean, are very polite, politically correct and generally much more orderly and conflict averse than us. My own experience with interacting with Swedes confirms this, as much as such things can be confirmed.
Linus is of course from the Swedish-speaking minority in Finland, and I don't know if it translates. But anyways, like others I find it a little weird that you speak of a singular European stereotype. It's not something I can understand at all, really, but I suppose yours is an outsider's perspective.
Linus has a sense of humour that is often misunderstood, especially by the PC crowd. Abrasiveness is an innate Finnish quality. Just think you're in a Monty Python sketch.
What are you proposing? Because if it involves preventing him posting to mailing lists or restricting his contributions to kernel development I'm against, and on pretty fundamental ethical principles: you appear to think there's a deontological injunction against permitting someone to do harm by disrespecting others, whereas I think that harm should be weighed against the benefits that would be lost thereby.
I also think that your opinion on why Linus behaves as he does is wishful thinking, sorry. There's a decent chance he'd take his ball and go home if the above were done. That would be bad.
Let me first point out that pretty much every single programmer I have met in person has been pretty easy to get along with, and that I try myself to be as accomodating and friendly to other people as I can. (My day job as a sysadmin includes what is essentially helpdesk work, so this attitude comes in rather handy.)
But it seems there is a kind of tradition among hackers of people that are exceedingly smart but also jerks.
They get away with it if they are sufficiently smart, because many hackers tend to value a certain kind of cleverness above most other things. And honestly, I would rather deal with a smart jerk, as long as he/she was not trying to feed me bullshit than a friendly but ignorant buzzword-slinger.
Having said that, let me repeat that I would prefer a friendly smart guy over both of these extremes, and so far, I have been lucky.
Linus is nice ... I have not seen him being jerk just for jerkness.
But if you cannot take having a new one teared when you do something stupid - you are in the wrong field. Bullshit, stupidity and thin-skinniness should not be tolerated.
Just my €0.02, but i think it's precisely the "new ones" that should be treated carefully. The kernel (or whatever other FOSS project) won't develop itself, so it's purely economically bad strategy to scare off newcomers who might well turn out to be very talented devs. Aside from the economics, it's also simple civility to not shout at people if (you believe) they're idiots.
Right, i totally didn't parse that sentence correctly on account of not being familiar with the (arguably distasteful) idiom. Thanks for the clarification, though.
I feel absolutely idiotic to not have known that the Bourne shell was actually named after a Mr. Bourne. I just assumed it was an acronym or something.
That's because they need to raise money before starting on building their game. Hip startup people have similar traits, and inflate their idea in order to get more funding. That's how marketing works, basically.
Carmack is constantly challenging himself. A trait common among masters. Louis CK is so good at comedy because he throws away all his material each year. Carmack used to practically write a new game engine every year. Now he's doing even more challenging work than that.
Arthur Whitney, author of A+,k and kdb/q always starts from scratch when he develops a new version of his db. From scratch means throwing away even the lowest-level routines like basic string operations and low-level file i/o.
If what you do over and over again is throw away your work with the goal of writing a better thing, then you can get really good at writing new things. It’s a clever way to think about practice.
Man i'd love to do that. Explore game dev with different languages. Try and code a fresh web game engine purely using webgl. Naturally i get busy with other things :)
I think this has been a theme with him the past couple of years. He's gone into Haskell territory, and has recently been an extremely vocal proponent of immutable structures (coming from the man behind some pretttty fast programs, that's a nice cold shower for a lot of people), and generally higher-level thinking.
I think this is a consequence of a lot of these languages getting a lot nicer tooling recently, as well as other FP ideas being pulled into newer languages.
Exactly, and he takes time to consider your replies and reply himself. No hard feeeling, no shitty internet trolling, just peacefull argument. Refreshing !
Technically he's at Oculus at Facebook. I think if the Oculus team was to go away he would probably walk. Not sure how this is any worse than Google X or Apple unless you think Google/Apple is intrinsically better than Facebook somehow.
I don't view it that way. If anything, finally some of Facebook's money is going towards an end I like. Remember that he is not working on Facebook, they just gave his company lots of cash and get to say they own it.