Slashdot Mirror


Linus Rants About C Programming Semantics (iu.edu)

jones_supa writes: "Christ people. This is just sh*t," begins Linus Torvalds in his message on the Linux Kernel Mailing List. Torvalds is grumpy because some new code added to the IPv6 subsystem has created conflicts. "The conflict I get is due to stupid new gcc header file crap," he writes. "But what makes me upset is that the crap is for completely bogus reasons." The new improved code uses fancy stuff that wants magical built-in compiler support and has silly wrapper functions for when it doesn't exist. Linus provides an alternative that contains a single and understandable conditional, which looks cleaner and generates better code.

576 comments

  1. Linus rants about EVERYTHING by NotDrWho · · Score: 2, Insightful

    Film at eleven

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
    1. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 2, Funny

      ...except systemd, which will soon become linuxd.

    2. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 1

      I just got a funny image in my head of him walking up and down the aisles at a grocery store, cursing and ranting about what Kraft has done to macaroni and cheese and why Charmin should have never added extra quilting to their toilet paper.

    3. Re:Linus rants about EVERYTHING by keko · · Score: 2

      If you follow the thread to the end, it's poor David Miller begging for someone to review any changes.

    4. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 1, Funny

      Hopefully systemd will absorb Poettering soon, and the whole sorry mess will vanish up its own backside.

    5. Re:Linus rants about EVERYTHING by gstoddart · · Score: 5, Insightful

      "But what makes me upset is that the crap is for completely bogus reasons." The new improved code uses fancy stuff that wants magical built-in compiler support and has silly wrapper functions for when it doesn't exist.

      You know, ranting about pointless language additions which add to complexity for no real purpose is something Linus should be ranting about.

      Shiny code for the sake of shiny code produces bloat, and frequently quit bad code.

      His post goes on to describe the code that angered him as "A shiny function that we have never ever needed anywhere else, and that is just compiler-masturbation." complete idiotic crap "anm [sic] idiotic unreadable mess." "a f*cking bad excuse for that braindamage."

      I'm sure most coders have known someone who always put in 'clever' code which was far less good than the author thought it was.

      This looks distinctly like code which is too clever for its own good.

      --
      Lost at C:>. Found at C.
    6. Re:Linus rants about EVERYTHING by AmiMoJo · · Score: 1

      This looks distinctly like code which is too clever for its own good.

      Not at all. It looks like someone who isn't confident that they can write good, reasonably secure code so tries to rely on a macro to do security for them. Or perhaps they feel that using a framework of macros is better in principal, e.g. because it is known secure code, which again seems naive.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    7. Re:Linus rants about EVERYTHING by Big+Hairy+Ian · · Score: 1

      I'd rather have somebody adding shiny code than somebody endlessly copying and pasting bits of code they don't fully understand. Or even worse the "can you just show me how to do that again" programmers who don't actually write a bean of code themselves because they don't know how to do it themselves but always seem to convince the upper management that they are some kind of expert

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    8. Re:Linus rants about EVERYTHING by Grishnakh · · Score: 0

      Kraft mac-n-cheese is crap these days. But there's no point in griping about it, if you want boxed mac-n-cheese just grab a box of Annie's. It's pretty cheap and it's far better quality than Kraft ever was, and it comes in several varieties (regular mac-n-cheese, and shells-and-cheese in both dark yellow and white cheddars).

      This is the nice thing about having choices and alternatives. If something sucks or turns to crap, just vote with your feet.

    9. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      He seems to have a temper tantrum at the littlest of things. Difficult childhood by the sounds of it.

    10. Re:Linus rants about EVERYTHING by bobbied · · Score: 0

      Film at eleven

      Why? Haven't we seen this before many times?

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    11. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      Linus uses some not so shiny words in that rant that are completely unnecessary and damage the communication. For instance, removing the word idiotic doesn't change the meaning, but makes it easier to parse. Same for any word containing an asterisk. Same for 2/3 of the four-syllable words. This rant could be written with few words that are easier to parse and less offensive. That way, it would be more cross-compiler friendly.

      Linus is a great coder. It is awesome to have him in the chain of code editors. Linus can be a less skillful communicator. It would be nice to have one more social editor in the chain there.

    12. Re:Linus rants about EVERYTHING by mysidia · · Score: 3, Informative

      ...except systemd, which will soon become linuxd.

      He already ranted about SystemD code.

      "Key, [sic] I'm f*cking tired of the fact that you don't fix problems in the code *you* write, so that the kernel then has to work around the problems you cause," Torvalds fumed
      ....
      ....

      For his part, Sievers appeared unmoved by Torvalds' outburst. After posting a tongue-in-cheek status update to Google+, he reposted a missive by Lennart Poettering explaining that the systemd developers would address the issue with a software patch.

    13. Re:Linus rants about EVERYTHING by ArmoredDragon · · Score: 2

      So systemd is insidiously taking over the world while the majority are unaware?

    14. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      I think that it is a mistake to add 'shiny code' that is not in keeping with the existing styles and methodologies. Even if has been discussed and agreed on, it's still not a good idea to implement this on an existing, active project. It's a different matter if it fits with the existing conventions of a project.

    15. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      What? A guy that's certain that he is right believes that everyone that disagrees with him is ignorant?

      Or we deliberately chose to install a distro with systemd knowing full well that it was in there, because we actually appreciate the added features over antiquated init systems. But whatever, I'm just a sheeple.

    16. Re:Linus rants about EVERYTHING by Rob+Y. · · Score: 1

      What makes you think coders don't copy/paste the shiny bits too without understanding them? In fact, if they're hard to understand, it's more likely that they will be blindly copy/pasted.

      My rule of thumb is that no structure to solve a problem should be more complex than the original problem itself. I used to see coders devising these complex Rube Goldberg mechanisms of table driven functions that let you 'code something in a few lines'. That's potentially a good idea if it's well implemented, well documented and gonna be used over and over again - but all too often these things were used exactly once and ultimately supported forever.

      --
      Posted from my Android phone. Oh, I can change this? There, that's better...
    17. Re:Linus rants about EVERYTHING by TechyImmigrant · · Score: 1, Offtopic

      He seems to have a temper tantrum at the littlest of things. Difficult childhood by the sounds of it.

      No he had a temper tantrum at the biggest of things.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    18. Re: Linus rants about EVERYTHING by chaboud · · Score: 4, Informative

      I have to agree. I was ready to read a melodramatic rant over slightly new semantics, but I instead found a completely justified and reasonable criticism of horribly unreadable (and kind of broken) code. With some extra swearing thrown in for Linusness.

      Remember, coders, if you're doing anything with code that will be used by others or reused by you, readability is crucial. I'm not talking about comments unless the code itself needs to be less readable (e.g. Performance in a hot spot). I mean the code itself.

      And, by code that others may use or you may re-use, I mean all code.

    19. Re: Linus rants about EVERYTHING by rickb928 · · Score: 0

      No, just Linux.

      That is not the same as the world.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    20. Re: Linus rants about EVERYTHING by rickb928 · · Score: 2

      "if you want boxed mac-n-cheese"

      You're doing it wrong.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    21. Re:Linus rants about EVERYTHING by Tran · · Score: 1

      For better or worse, Annie's always come out flavorless and watery as opposed to Kraft. Kind of a Pita.
      So i find it better and easier just to get mac-n-cheese pre-made, home-style, in our local grocery store. Competitively priced to the boxed versions.
      When I want really good Mac-n-cheese I make it myself, but more often than not the store made version is more than good enough and saves time.

    22. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      Annie's is nasty, flavourless shit.

      If you're too lazy to make proper mac and cheese, Marie Callendar's or Bob Evan's is much better.

    23. Re:Linus rants about EVERYTHING by fahrbot-bot · · Score: 2

      ...except systemd, which will soon become linuxd.

      ... and will also include a C compiler.

      --
      It must have been something you assimilated. . . .
    24. Re:Linus rants about EVERYTHING by GrahamCox · · Score: 1

      Shiny code for the sake of shiny code produces bloat

      Like C++ templates? *cough, cough*

    25. Re:Linus rants about EVERYTHING by interval1066 · · Score: 2

      Macro or C script; known secure is known secure, if Torvalds produced a more elegant solution for the problem at hand, well, just because rants a lot doesn't mean he's wrong. He's annoying, but not wrong.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    26. Re:Linus rants about EVERYTHING by Grishnakh · · Score: 1

      Those brands are full of nasty artificial ingredients and hydrogenated oils. You've got to be kidding. Trans fats are proven to be extremely unhealthy, which is why the FDA is banning them.

    27. Re:Linus rants about EVERYTHING by Grishnakh · · Score: 1

      Try making it with olive oil, and less milk. As for watery, it sounds like you added way too much milk.

      I hate the "home-style" mac-n-cheese at grocery stores. The macaroni is terribly overcooked to the point of being mush, and the cheese is tasteless and tastes like processed cheese. Nasty.

    28. Re:Linus rants about EVERYTHING by Tran · · Score: 1

      Hard to mess up 3 Tablespoons of milk... I made it again tonight as part of dinner (I have a couple of boxes left from a 6 pack) I dunno, still came out watery. And flavorless (as usual). So we added some crispy breadcrumbs and parmesan to make it more palatable.

      Never have the problem with Kraft. Not sure why the difference. Never watery, never tasteless - probably more flavorful xxx (cheese?) (and sodium).

      Our grocery store's Mac-n-Cheese - yeah, macaroni is a bit overcooked, but the cheddar cheese they use is pretty good, plus they crisp the top a bit with cheese as I would at home. True, overall it can get a bit mushy sitting in the case all that time - but like at home left over mac-n cheese, just needs to be warmed up correctly. I guess we are just lucky here, though their rotisserie chicken is awful - not sure how one messes that up.

    29. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      They are more healthy and infinitely more tasty than that disgusting Annie's shit.

    30. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      Yes, because that powdered cheese substitute that Annie's uses is so much better for you.

    31. Re: Linus rants about EVERYTHING by Lumpy · · Score: 1

      Just linux based on redhat and Debian. Slackware has said, FUCK YOU to systemd.

      --
      Do not look at laser with remaining good eye.
    32. Re:Linus rants about EVERYTHING by Grishnakh · · Score: 1

      This is probably coming down to a difference in taste. I can't imagine putting crispy breadcrumbs and parmesan in mac-and-cheese. In fact, I would instead add some cheddar. I also hate having the cheese crisped on top.

      Also, I usually don't even eat the actual mac-and-cheese from Annie's, I normally eat the yellow cheddar shells-and-cheese (in an orange box). Try that if you've never had it; I like it a lot more than the blue-box mac-and-cheese. I'll also have the purple-box white cheddar shells-and-cheese sometimes.

      As for 3 tablespoons of milk, that doesn't sound like much. Are you straining all the water out completely? Are you putting in too much butter? Also, don't be afraid to deviate from instructions. I normally use a small pat of butter, probably around 2 tablespoons of extra virgin olive oil, maybe a tablespoon or two of milk.

      That's really weird about the chicken: that's something that most grocery stores have which is consistently good. Someone in their kitchen doesn't know what they're doing.

    33. Re: Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      Posting smart assed bullshit like you just did is also bad for your health

    34. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      Yeah Linus may sound strange in the era of cowboy coding and post-Agile "Instant" world.

    35. Re:Linus rants about EVERYTHING by Z00L00K · · Score: 2

      What's worse - he's often right in his rants.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    36. Re:Linus rants about EVERYTHING by barbariccow · · Score: 1

      For better or worse, Annie's always come out flavorless and watery as opposed to Kraft. Kind of a Pita.

      If you like the taste of Kraft but want the "organic", cut your cheese with about 40% flour.

    37. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      And he's also always right. So there's that.

    38. Re:Linus rants about EVERYTHING by lsatenstein · · Score: 1

      Film at eleven

      The man is certainly not a happy person. Imagine living with a @#\±@€ character. One can always correct things that are broken, and one can simplify things without @#\±@€ words

      --
      Leslie Satenstein Montreal Quebec Canada
    39. Re:Linus rants about EVERYTHING by Anonymous Coward · · Score: 0

      I have a weakness for Boston Market mac + cheese, it's an occasional guilty pleasure!

      Too bad their quality went down the shitter, they used to be really good. And you could get actual vegetables with your lunch instead of just a "side salad."

  2. Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

    that the patch should be pulled, but geez he rants and rants.

    This is someone you wouldn't want to work for.

    1. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 5, Informative

      It's literally just a few rants out of thousands of friendly messages per year - and Linus only rants if crappy code comes from someone who is trusted by Linus (such as the networking maintainer here) and who should really know better.

    2. Re: Not saying I disagree with Torvalds by AmiMoJo · · Score: 0, Flamebait

      "It's literally one punch in the balls out of thousands of friendly hand-shakes per year."

      Yeah, I wouldn't submit patches to him either. The GP is right, if your boss came in to the office and started ranting about a couple of admittedly bad lines in your code in front of everyone now and then, he would be fired pretty quickly. People say Linus needs to be like that when controlling a large open source project like the Linux kernel, but plenty of other large open source projects get by without public shaming rants. Major sub-systems in Linux, for example.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    3. Re:Not saying I disagree with Torvalds by GuB-42 · · Score: 3, Interesting

      This is someone you wouldn't want to work for.

      Actually, I don't mind working with people who rant often, as long as they have good reason to do so.
      In fact I'd rather work with people yelling at me about how shitty my code is and telling me why than a whole pasture of cows mooing about how good I am no matter what I do.

    4. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      Yes, take Hurd as a prime example. It's running on less than a dozen machines .

      Dave cutler is a jerk too, but window's not, vms and rsx are quite popular.

      Sjw feel gooders ship nothing of any lasting consequences.

    5. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 1

      but geez he rants and rants.
      This is someone you wouldn't want to work for.

      Why? Because you're a delicate little flower with easily offended sensibilities?
      I've worked for all types, and with all types. A little bit of "colorful" language doesn't bother me, and in many cases I'd prefer someone who can come to me and say "Hey, you fucked up, this is a pile of shit" than someone who smiles, gives me calm reassurances about my efforts, and then drives a knife into my back.
      Yes, sometimes he goes a bit over the top. But in many cases, it's more a matter of the receiving party needing to grow a thicker skin.

    6. Re:Not saying I disagree with Torvalds by CheapEngineer · · Score: 3, Insightful

      To each his own, but all in all I'd rather not work for a douchebag. Even if he's a really talented douchebag, he's still a douchebag. Real managers supervise without being an asshole.

    7. Re:Not saying I disagree with Torvalds by oh_my_080980980 · · Score: 1

      Yes you do. He points out why it's crap and why it should happen. Considering this is kernel level stuff, you want that.

    8. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 2, Insightful

      get by without public shaming rants

      If you fuck up publicly, then the public criticism is appropriate and well deserved.

      if your boss came in to the office and started ranting about a couple of admittedly bad lines in your code in front of everyone now and then, he would be fired pretty quickly

      That's just flat out not true. I've worked for bosses who have done, and continue to do, far worse than anything I've seen Linus do. And guess what? They not only still have jobs, they get promoted.

    9. Re:Not saying I disagree with Torvalds by oh_my_080980980 · · Score: 1

      Then you haven't worked long.

    10. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      Of he's skilled enough that he doesn't have to work for assholes. Don't assume everyone is as trapped by poor skills as you are.

    11. Re:Not saying I disagree with Torvalds by verbatim · · Score: 4, Insightful

      Why? Because you're a delicate little flower with easily offended sensibilities?
      I've worked for all types, and with all types. A little bit of "colorful" language doesn't bother me, and in many cases I'd prefer someone who can come to me and say "Hey, you fucked up, this is a pile of shit" than someone who smiles, gives me calm reassurances about my efforts, and then drives a knife into my back.
      Yes, sometimes he goes a bit over the top. But in many cases, it's more a matter of the receiving party needing to grow a thicker skin.

      A-fucking-men.

      In my career, my skills in direct proportion to the speed at which I was criticized multiplied by directness and the skill of the other party.

      As a lead, I really struggle with the special little snowflakes that need to be told how great of a job they're doing and how much they are appreciated and ... makes me want to vomit. I make sure that they either don't last long or learn to break their emotional attachment to "their" code.

      --
      Price, Quality, Time. Pick none. What, you thought you had a choice?
    12. Re:Not saying I disagree with Torvalds by CheapEngineer · · Score: 1

      Then you haven't worked long.

      I never said I haven't worked for assholes. I said I'd rather not work for assholes, and I have left jobs for a lower paying one to get away from abusive assholes. Life's too short. And Linux coding is an unpaid job, is it not? Even less reason to put up with assholes.

    13. Re:Not saying I disagree with Torvalds by sunderland56 · · Score: 1

      This is someone you wouldn't want to work for.

      Good boss: rants when he has a good point, is 100% correct, and you screwed up.

      Bad boss: rants when he's wrong.

    14. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      Frankly, i sometimes reply to mails or code this way (with a few less idiotic though) at work. If people shall care about the code base, then you should also show when somebody is pissing on the code.

    15. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 2, Insightful

      he GP is right, if your boss came in to the office and started ranting about a couple of admittedly bad lines in your code in front of everyone now and then, he would be fired pretty quickly.

      Why should our standards be what goes on in polite office culture? (This is a quite serious question). Cultures vary and change. In the 60s it was OK to be openly sexist and racist in offices. Your argument seems to be simply that we should look at Corporate America, and that should just be our standard with no further thought.

      People say Linus needs to be like that when controlling a large open source project like the Linux kernel, but plenty of other large open source projects get by without public shaming rants. Major sub-systems in Linux, for example.
      Yup, and there's nothing wrong with that. Why is it you feel the need to impose YOUR standards on the world? Nobody is saying everyone else should be pricks to control open source projects if what they're doing works.

      Linus isn't rascist, sexist, or anything else that's personal. He is kind of a prick when it comes to shitty code, So what?

    16. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      His name is on the product. Shitty code makes his product look bad.

    17. Re:Not saying I disagree with Torvalds by CodeArtisan · · Score: 1

      This is someone you wouldn't want to work for.

      Good boss: rants when he has a good point, is 100% correct, and you screwed up. Bad boss: rants when he's wrong.

      Excellent boss treats you like an adult when he has a point, and communicates the problem clearly, and without resorting to childish abuse.

    18. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      This isn't your boss coming into your office and yelling at you. This is your boss calling an "encouraged" meeting then saying "this isn't acceptable folks, don't do this".

      He did not explicitly point the finger at someone or start with the name-calling. He was merely calling out bad code for what it is, bad code.

    19. Re:Not saying I disagree with Torvalds by JaredOfEuropa · · Score: 1

      Good boss: politely points out flaws in your code in public, and suggests improvements, or privately rants at you when you've really screwed up.
      Bad boss: doesn't point out shortcomings, or rants in public about them.
      Worse boss: needs to swear in order to get their point across.

      We shouldn't be too afraid to hurt "delicate little flowers" and censor our language all the time, but such swearing is just as unprofessional as it is unnecessary.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    20. Re:Not saying I disagree with Torvalds by Grishnakh · · Score: 1

      Excellent boss...

      Good luck finding one of those anywhere.

      That's like asking for countries to have governments that are not corrupt at all, are run efficiently and effectively, and work for the good of all their citizens.

      Sometimes you just have to take what you can get.

    21. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      plenty of other large open source projects get by without public shaming rants

      I have recently started digging thru a fairly large and well known open source project. Someone at some point should have been pissed off. I mean WTF yelling pissed off. Scope of control is all over the place and threads are thrown around like 'magic fix it' candy. Which leads to thousands of locks all over the place for code that really should not be locked. I will not name the code because I am taking a lash at a bit of refactoring to make it flow out simpler. But there was no one in this code saying 'hey this is bad'. It was 'well we just kinda have been kicking it along for 15 years'. It took me 2 months just to figure out where in the code was the main loop for the piece I wanted to look at. The original bug that got me into it I am still not sure I properly fixed. As there is years of bandaids on bandaids with massive side effects and very few comments and 1000 line functions. If I told you the name people would come out of the woodwork dumping on me about how I am being pedantic. This code has clearly never had a proper code review.

      This sort of junk is in there because someone found a new 'toy' and wanted to use it. The *idea* of overflow check is a good one but I can see why he got mad. He probably had to stop whatever he was doing and upgrade his compiler to make it work. Then to make sure it actually worked he had to stop and lookup yet another function then check to see if it was working properly. Then pick apart the code and he saw a simpler way to do it. All because 1 module would no longer compile. That would piss me off too. In my younger days I would have reacted like him. In my older age I try to be a bit more nice about it and make the person learn 'here is why you dont do that' and make them come to that conclusion by themselves. It is tiring though and yelling is easier to tell to 'just fix it and stop doing that'.

    22. Re:Not saying I disagree with Torvalds by verbatim · · Score: 3, Insightful

      Linux development is done on public mailing lists. Everyone knows this going in. If Linus rants about "your" code in public, he's sending a clear message.

      He has passion. Snowflakes don't understand passion.

      --
      Price, Quality, Time. Pick none. What, you thought you had a choice?
    23. Re:Not saying I disagree with Torvalds by bobbied · · Score: 5, Insightful

      To each his own, but all in all I'd rather not work for a douchebag. Even if he's a really talented douchebag, he's still a douchebag. Real managers supervise without being an asshole.

      I don't mind working for a professional who holds to high standards and doesn't mind telling me when my code is crap, but I'm not going to work for a douchebag that reprimands me in front of everybody.

      Professional and effective managers always reprimand in private, and praise in public. DON'T work for someone who doesn't follow that rule, life is too short.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    24. Re:Not saying I disagree with Torvalds by PRMan · · Score: 1

      In my career, my skills in direct proportion to the speed at which I was criticized multiplied by directness and the skill of the other party.

      Your English in this sentence is unintelligible. You might want to work on it.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    25. Re:Not saying I disagree with Torvalds by Altus · · Score: 2

      No no. You have to do it like Linus to be effective. These gentle criticisms aren't going to cut it. Let me demonstrate

      What the f$&@ is this sentence even supposed to mean? This is clearly written by a total idiot. What kind of total sh!&head would ever submit a sentence like this. Get your sh!& together and f$&@ing learn to write you worthless piece of crap.

      See. That's the only way anyone learns

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    26. Re:Not saying I disagree with Torvalds by verbatim · · Score: 2

      Yep, you are right. I accidentally the word "grows".

      I have a phantom word problem where, if I think the word in my head as I write, then as I read it back, the word "appears" there, even when it isn't.

      But I'm not ashamed to admit I fucked it up :P

      --
      Price, Quality, Time. Pick none. What, you thought you had a choice?
    27. Re:Not saying I disagree with Torvalds by CheapEngineer · · Score: 1

      The only way to change anything, Oh Jaded One, is to not put up with the assholes. Let those managers constantly have to replace their staff until only the truly desperate and un-hireable elsewhere will work for them. Or you can just kick the dog everyday when you get home - it's your choice.

    28. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      It wouldn't last long.

      I'd kick his fucking head in, he'd get me charged with assault and I would be in jail.

      Or I'd swear holy fucking hell and he'd kick me out for being unprofessional.

      Which eventuated first would depend on whether he was more or less than 50% right. But one would happen.

      Linus probably deals it out well, but doesn't take it back too well, especially if someone points out an error in his "logic". His messages indicate that type.

    29. Re:Not saying I disagree with Torvalds by tnk1 · · Score: 1

      If I end up belittling a member of my team's efforts publicly, whether they deserve it or not, then I've failed as a supervisor. Unless you're working in a shark tank, that shit just drives down morale. Even *if* you're working in a shark tank, it's unnecessary.

      If there is an issue that needs to be addressed publicly, you tell the team to not do that thing directly, but calmly. If they haven't been heeding your instructions purposely, or they are failing to measure up for some other reason, you pull them in and explain to them what is wrong and what needs to be done about it. If they continue to fail, you fire them after explaining that the team needs to work in a certain way.

      Being professional doesn't mean being a pussy. It just means understanding the big picture. Drama doesn't help teams. If one person is causing it with their shitty code, then you spend the time with them to see what is happening. If they don't catch up, then perhaps they need to work somewhere else.

      Honestly, Linus has blow ups because he *can*, not because it is good a idea. People will continue to contribute to Linux in spite of that, not because of that.

      Even shit code like this only requires a private talking-to about it to the maintainer, and a public email about how it should be done. If the maintainer doesn't meet standards, he gets replaced. None of that requires a public fit.

    30. Re:Not saying I disagree with Torvalds by tnk1 · · Score: 1

      I've only rarely had a boss who does have to rant. And most of those bosses who do rant were CEOs, and it really didn't help much even then.

      I do know that bosses like that exist. I have had the good fortune of not having to work in a field where I have to tolerate that shit.

      Mind you, I've been chewed out before, but it was always done privately and based directly on what it was perceived that I did wrong. I didn't always agree, but I never felt like I had a bad boss of the sort that would pull a Linus. If I had, I'd be looking for a new job.

    31. Re: Not saying I disagree with Torvalds by Cederic · · Score: 1

      I save it for voice comms.

      Emails are polite, constructively worded and easily forwarded to very senior managers if escalation is needed.

      Phone calls involving swear words as a follow-up usually avoid escalation being needed.

    32. Re:Not saying I disagree with Torvalds by iMadeGhostzilla · · Score: 1

      No - Linus doesn't say a *person* is an idiot, but that a person's *behavior* in a particular instance or their snippet of *code* is idiotic. There's a world of difference.

    33. Re: Not saying I disagree with Torvalds by Dcnjoe60 · · Score: 2

      "It's literally one punch in the balls out of thousands of friendly hand-shakes per year."

      Yeah, I wouldn't submit patches to him either. The GP is right, if your boss came in to the office and started ranting about a couple of admittedly bad lines in your code in front of everyone now and then, he would be fired pretty quickly. People say Linus needs to be like that when controlling a large open source project like the Linux kernel, but plenty of other large open source projects get by without public shaming rants. Major sub-systems in Linux, for example.

      So the complaint is that the kernel development does everything in the open, including airing dirty laundry, while other projects keep disagreements quiet behind the scenes (at least until something is forked). Personally, I don't like to be yelled at any more than the next person, but I would prefer open and transparent.

    34. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      This requires a second Linus rant for also being incomprehensible.

      Just quit, buddy. You are an idiot.

    35. Re:Not saying I disagree with Torvalds by dmpot · · Score: 1

      Professional and effective managers always reprimand in private, and praise in public. DON'T work for someone who doesn't follow that rule, life is too short.

      First of all, Linus does not do any hiring and does not pay anyone's salaries. So anyone is free to choose whether to work with him or not. Many top developers started to work with him because it's fun, and only later they were able to find a job related to the kernel development.

      Second, I do not see anything wrong with public reprimand if the person is clearly wrong, because it is a matter of honesty and trust. This can be a problem only if the person cannot respond to the criticism, because he is afraid to lose his job or something like that. Clearly this is not the case with Linux development. I have never seen Linus harshly criticizing anyone who would be afraid to respond.

      The only thing that I do not like is that he uses profanities a bit too much, but if it helps to keep crybabies away then it is not too high price to pay...

    36. Re:Not saying I disagree with Torvalds by Locke2005 · · Score: 1

      I've worked with people that argued very loudly about technical issues, and as long as they did it in a good-natured way with a smile on their face, it was kind of an enjoyable experience. As far as Linus's complaint, which is essentially "Why use an ultra-secret poorly supported subroutine call when using simple explicit logic is much more clear and readable", I consider that a valid complaint. Sucks to be the person whose code triggered this rant, but it needed to be said. Agreed, it is very easy to misinterpret email or text because the tone of the person "ranting" isn't apparent, but I see no way to personally broadcast this message to the entire developer community.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    37. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      Then feel free to use an alternative design structure for your own massive success. However, sitting on the sidelines and critising not the product, but the process that has worked, for two decades and change, and is significantly built upon volunteer efforts, is inane.

    38. Re: Not saying I disagree with Torvalds by Bengie · · Score: 1

      There is a difference between doing it in person and doing it as a faceless person on the Internet. Linus has pointed out in the past that if you nicely ask someone to not do something again, they completely ignore you. He solution is to make a BIG stink about it so you don't forget.

    39. Re:Not saying I disagree with Torvalds by Barsteward · · Score: 1

      seems like you'd better try doing the first line your latest post again. :o) its catching

      --
      "The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
    40. Re: Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      You have nothing to prove that. Please provide a citation or your just making shit up.

    41. Re:Not saying I disagree with Torvalds by bobbied · · Score: 3, Insightful

      Oh young one.. There is a basic level of human decency and professionalism which we all do well to maintain. Unfortunately this is a rare quality in many organizations these days.

      I suspect that if your boss called your efforts crap in full ear shot of your peers, even if he was correct, you'd be a bit miffed at him/her for embarrassing you in public. It may change your behavior, but it also will change your attitude to them due to being rudely treated. Most folks have issues when they "loose face" in public and a wise professional manager avoids creating issues when possible. It only makes sense to go out of your way to avoid offending others, even in circumstances where you don't think you should have to bother. Wise people bend over backwards to avoid creating problems, trust me.

      For instance, as a software developer in a large organization, I ALWAYS assume that any software problem I find, or get's reported to me is MY FAULT, even when it's not. I will either *fix* the problem, or if I cannot do that, I will enlist others to "help me" figure out how to fix it. I never say "See, it's your problem to fix." but keep showing them the evidence and asking them how I can fix it. When it is their problem, they will eventually realize this but because I've not been rubbing their nose in it I don't have to fix the relationship the next time something rolls around. The other option is to just shoot your coworkers full of holes, and the first time you are wrong about who's at fault it was, you are the hard nosed worker looking to get out of responsibly.

      Do I have to do this? No, but it establishes you as the guy that knows your stuff, who is willing to work with others on stuff that's not his responsibility and exposes you to details from the larger picture. You are the nice hard worker that everybody trusts.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    42. Re:Not saying I disagree with Torvalds by JaredOfEuropa · · Score: 1

      Sure, if you step up to work on the Linux core, you know what you're in for. For me, it would be a reason not to. I have made myself a promise not to work for asshole bosses, and I'm keeping it. Wouldn't hire the guy either, for the same reason.

      I understand passion. I also understand the difference between being passionate and being an abusive asshole. Being passionate doesn't mean losing your inhibitions and social skills. And that has nothing to do with being a snowflake either.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    43. Re:Not saying I disagree with Torvalds by Coren22 · · Score: 1

      Do you often forget to put "then" in your if then loops?

      --
      APK likes to ask for responses to the same things over and over. Maybe he just likes the responses?
    44. Re:Not saying I disagree with Torvalds by thegarbz · · Score: 1

      Professional and effective managers always reprimand in private, and praise in public. DON'T work for someone who doesn't follow that rule, life is too short.

      A very apt summary of what is wrong with the world today and why mediocrity rules supreme.

    45. Re: Not saying I disagree with Torvalds by HiThere · · Score: 1

      I don't know who "Dave cutler" is, but MSWindows has an EULA that, as far as I am concerned, makes it unusable.

      Currently I use Linux, and I've considered various BSDs. Actually, I still consider them every time there's a new update, but I require that I be able to use my current file system, ext4, with them, and so far that's been a deal breaker. If BSD had gotten to me first, I'd be requiring that Linux read the native BSD file system before I considered it. MSWindows got to me first, and I required that Linux have read/write access to the MSWindows file system. Fortunately it was VAT. NT would have taken a few more years...and the MSWind EULA became unusable with MSWindows2000.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    46. Re:Not saying I disagree with Torvalds by HiThere · · Score: 1

      It has been reported previously that Linux first asks politely and only if this is ignored does he ask impolitely. This has been said often enough, in enough contexts, that I believe it.

      Also, we do not know what private communication has gone on. Why do you assume that he hasn't asked privately? But if there is no private communication, then what is the alternative to asking noisily and publicly?

      Whatever, this is an approach that works. It's not the one that Guido uses for Python, but Guido's approach also works. It's not the one that Walter Bright uses for D, but that approach also works. You've got lots of choices for a project to work on, if that's your choice.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    47. Re:Not saying I disagree with Torvalds by HiThere · · Score: 1

      It's a style that I don't particularly like, but it works. It's one of several that work. If you decide to contribute to a project, pick one that's not only important to you, but whose management style you find acceptable. There are many to choose between. But check and be sure that not only do you like it, but that they style works.

      If you're thinking about kernel development, follow the development list for awhile before committing yourself. (You'll probably find that it's a pretty reasonable style, even if it's occasionally newsworthy.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    48. Re:Not saying I disagree with Torvalds by HiThere · · Score: 1

      So pick a different project to work on.

      When something's not broken, don't try to fix it. You may not want to work there, but there are lots of projects with different management styles. Many of them work...and working is important.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    49. Re:Not saying I disagree with Torvalds by verbatim · · Score: 1

      That's why I love programming and computers.. I can't fuck it up in grammar...

      It works or it doesn't work... If it's elegant or not... that's where I hope to have criticism... even in basic grammar... you're making my point for me ;)

      --
      Price, Quality, Time. Pick none. What, you thought you had a choice?
    50. Re:Not saying I disagree with Torvalds by verbatim · · Score: 1

      You're right;

      In private companies, Linus would come off as a total asshole...

      In my comment, I tried to make a joke where I left off some grammar and... well... people did pounce...

      It's the same thing in software... people will pounce...

      I've always been scared, and I'm at a very senior level now, that if I didn't deliver then my boss would pounce...

      And then I learned that my bosses have always been on my side... and that they *need* me to produce good shit... since that realization, I haven't been afraid, and I want n00bs to understand the same thing... if they need coddling, well... sorry, I've forgotten how to do that.

      --
      Price, Quality, Time. Pick none. What, you thought you had a choice?
    51. Re: Not saying I disagree with Torvalds by verbatim · · Score: 1

      I think my point is being made for me ;)

      --
      Price, Quality, Time. Pick none. What, you thought you had a choice?
    52. Re:Not saying I disagree with Torvalds by verbatim · · Score: 1

      No - Linus doesn't say a *person* is an idiot, but that a person's *behavior* in a particular instance or their snippet of *code* is idiotic. There's a world of difference.

      YES. THANK YOU.

      --
      Price, Quality, Time. Pick none. What, you thought you had a choice?
    53. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      To each his own, but all in all I'd rather not work for a douchebag. Even if he's a really talented douchebag, he's still a douchebag. Real managers supervise without being an asshole.

      Here's the problem: You would never work for Linus, or a person who has the skill and importance equivalent to Linus. We already know this by virtue of the fact that you made that statement in the first place.

      If you were actually working for Linus, then you'd have the skill and intelligence to handle harsh criticism.

      The only individuals whom I've seen complain about harsh language from Linus are (a) journalists, (b) people who think how they might react if they actually were of the caliber to work on the Linux kernel, (c) a handful of people who have left the project, where it was later revealed that the people were more problematic than it's worth.

      The people who are Actually Doing The Work don't have an issue with this kind of harsh criticism.

      And finally... Linus was not "being a douchebag". The criticism is pointed and valid.

    54. Re:Not saying I disagree with Torvalds by Rakarra · · Score: 1

      And Linux coding is an unpaid job, is it not?

      It is not! I mean, entry level, casual coder getting his feet week, the home tinkerer, etc. They don't get paid.

      But these days there's a lot of corporate investment in Linux, and I think most of the code that does into the Linux kernel (including Linus's) comes from people who are paid for it.

    55. Re:Not saying I disagree with Torvalds by Rakarra · · Score: 1

      When it is their problem, they will eventually realize this but because I've not been rubbing their nose in it I don't have to fix the relationship the next time something rolls around. The other option is to just shoot your coworkers full of holes, and the first time you are wrong about who's at fault it was, you are the hard nosed worker looking to get out of responsibly.

      And the next time there's a problem:
      Gentle approach: Your calls get returned, people don't avoid you, and they're not hostile to you when you approach them. They're willing to help you out when you actually get into a problem yourself.
      Nasty approach: Pretty much the opposite of the above.

      Everyone makes mistakes. EVERYONE. But when you make people really pay for them, they'll not want to work with you anymore. Maybe they don't cut you any slack. Maybe they just become unhelpful. Maybe they leave to find work in a different division. Maybe they badmouth bad (and you'd deserve it, but hey, if brutal honesty is the best policy, then truthful badmouthing should fit right into that philosophy).

      Sometimes I wonder if this is just another "nerd/geek/etc not understanding the importance of social mannerisms, even among other nerds and geeks," or if there's something more complex going on.

    56. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      You may get what you want *this* time. However you yell someone down like that do you think they will be back?

      They screwed up. Sure. But now you have hurt that relationship with them. They will look at you sideways. They will take *every* opportunity to sabotage you. Leaving you with people who do not know how to get along with others. Those people create turf wars and get their feelings hurt when others 'break their code'. People become afraid to ask for help because none is give other than abuse. Or help is given with a heaping plate of 'look how cool I am'.

      I like this quote from the movie Hoffa "If a guy's close to you, you can't slight 'im. You can't slight that guy. A real grievance can be resolved; differences can be resolved. But an imaginary hurt, a slight - that motherfucker gonna hate you 'til the day he dies"

      You are playing a short term game if you treat the people around you like crap. You get what you need now but long term you get nothing.

      break their emotional attachment to "their" code
      You are treating the code and the people as the same thing. This is why they attach. Treat the code as a '3rd' person. "the code is doing this, I need *you* to find out why". "the code is x, you need...". Instead you may be doing things like 'your code is..." If you do that you will see people take possession of it. That way you as a boss show them you think of the code as the invisible employee that needs help you are delegating the work to them to fix/improve.

    57. Re:Not saying I disagree with Torvalds by KGIII · · Score: 1

      I'm pretty sure that everyone involved in this mix-up is paid quite well. Gone are the days of the major contributers wiling away time in their basement, coding for love and living on Ramen. The good, spare time hackers, are now employed and making good salaries.

      That said, I never was one for ranting. I get quiet and speak softly but I tend to enunciate carefully and metered. My kids have a saying about it. "When Daddy gets quiet, you've done something wrong."

      --
      "So long and thanks for all the fish."
    58. Re:Not saying I disagree with Torvalds by bobbied · · Score: 1

      Look, Torvalds does the final code merge and it's up to him to refuse the update if the developer isn't listening to his direction. He has absolute control over the code base and NOTHING gets in that HE doesn't approve and merge it. Torvalds doesn't need to resort to sending profanity laced E-mail to stop this, he can stop it other ways.

      Torvalds doesn't need to be nice I suppose, but to me it smacks of lack of professionalism and perhaps a bit of narcissism when people do this kind of thing to others. But let's face it, it's easy to chew out somebody on the web you don't know, won't ever meet, and have no real relationship with. But IMHO it's a really small world and more than once I've seen where what goes around really does come around sometimes so this is one character trait of Torvalds I would strongly recommend nobody emulate.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    59. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      Most folks have issues when they "loose face" in public

      Jesus christ it's LOSE

      LOSE FACE

      If you got a loose face in public you might wanna see a doctor.

    60. Re:Not saying I disagree with Torvalds by bobbied · · Score: 1

      No, there is something going on...

      Because this country largely lacked any real serious economic problems for a couple of generations, children have been raised more and more selfishly. It's more "I'm entitled!" than it used to be. We see this on Facebook, Twitter et all, where folks are posting "Look at Me!" and getting "liked" or "followed" by their friends. We have selfie sticks to take pictures of ourselves with our $800 phones and wine when the credit card gets maxed out and we cannot make the payments on our student loans. So this leads to "I don't care about YOU" and we forget the simple truths that made society safe at home as well as work. It's not being a nerd or geek, it's about not being raised to care about others.

      The sad part though is we are loosing the skills that smooth out interpersonal relationships, that make cohesive teams and friendly work environments where people are motivated, fulfilled and efficient. Yea it takes effort, but I can assure you it is worth the price to think of others.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    61. Re:Not saying I disagree with Torvalds by bingoUV · · Score: 1

      So people never report problems to you which are not really problems but they didn't take the time to learn how to use the software so they think it is a problem with the software?

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
    62. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      Then you've been working at the wrong companies.

    63. Re:Not saying I disagree with Torvalds by strikethree · · Score: 1

      It is a shame that I ran out of mod points yesterday. +1 Insightful.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    64. Re: Not saying I disagree with Torvalds by Z00L00K · · Score: 1

      The level of rant is important too. It's better to hang out small issues to dry than to wait until you are flooded by them.

      The rants are more for everyone else to realize what's bad practice than for the one that made the mistake.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    65. Re: Not saying I disagree with Torvalds by Z00L00K · · Score: 1

      Not to mention that it will also make everyone else also pay attention.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    66. Re:Not saying I disagree with Torvalds by Z00L00K · · Score: 1

      The worst assholes aren't the ranters, it's those that don't care about any quality at all and keep others in the dark for their own purpose.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    67. Re:Not saying I disagree with Torvalds by bobbied · · Score: 1

      So people never report problems to you which are not really problems but they didn't take the time to learn how to use the software so they think it is a problem with the software?

      Of course they do. If my coworker is unaware of how the software is supposed to work and shows up with a "problem" for me to solve, my approach is to enlist them to "help" me fix it. What happens though, is they learn how the software is supposed to work because they get some OJT from ME the author. I get a reputation for being helpful and the company is better off because they then know their jobs better. Plus, understanding the perspectives of the users is ALWAYS a good idea. It helps me build the product in ways they want it to work and makes any UI's I produce more intuitive and user friendly.

      If I just told them to get lost and go learn their job, I'd get a reputation for being rude and unhelpful and neither of us would learn anything.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    68. Re:Not saying I disagree with Torvalds by bingoUV · · Score: 1

      Ok, that is good. But doesn't it happen very frequently that his problem can indeed be solved only making it worse for others? Because others have a whole different way of using that part, reasons of which belong in history, which take hours to explain? And this particular problem finder's ability and willingness to learn about other people's use cases is low in the first place?

      And one fake problem finder's opinion is frequently diametrically opposite to another's?

      How much time per fake problem finder can you spend, and how many such people do you encounter?

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
    69. Re:Not saying I disagree with Torvalds by bobbied · · Score: 1

      I actually have an "out" with users in a case where they are insisting on some feature that we've already rejected. If after showing them how they can do their job, they insist it "should not be this way" I have them put in a bug report because "I cannot fix this right now and you have a work around". I just explain to them that the company policy is that if there is a way to work around the issue for the user, we take a bug report so we can schedule the work.

      If their bug report doesn't make it past the review process or never gets high enough priority to be worked, so be it. Again, I'm as helpful as I can be, showed them how to do their jobs and by being friendly and helpful have not caused a problem.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    70. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      Kernel development isn't as complicated and hard as you think. It's a bunch of device initialization, a ton of cut and paste type shit.

      It really is very basic indeed. That's why a college kid could clone minix inside of a few months and get something demonstrable. Linux', as an OS, successes beyond science project are due to a lot of effort put in by a lot of people to build a usable operating system on top of his kernel.

      Linus *IS* the snowflake, and will find out one day he was replaceable the whole time.

    71. Re:Not saying I disagree with Torvalds by bingoUV · · Score: 1

      That makes sense, thanks.

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
    72. Re:Not saying I disagree with Torvalds by Druegan · · Score: 1

      Personally, I'd love to work for somebody like Linus.

      I'd much prefer working for somebody with a severe allergic reaction to stupid shit, even my own, who demands competence and isn't afraid to hurt somebody's feelings, even my own, if they do something completely boneheaded, than somebody who tolerates braindead behavior that yields sloppy results because they're trying to manage with kid gloves.

      It may just be that I share some of those traits, and don't get bent out of shape if somebody rips me a new asshole publicly when I do something dumb... And it also may be that I've had far too many bosses that took the opposite approach and turned the entire organization into a barely functioning clusterf*ck because they didn't want to be a "bad guy".

      In my experience, the "ideal medium" between the two extremes is so rare anymore as to be up there with winning a lottery or finding an honest politician who is also sane.

    73. Re:Not saying I disagree with Torvalds by dl_sledding · · Score: 1

      I accidentally the word "grows".

      Ummmm....

    74. Re:Not saying I disagree with Torvalds by bobbied · · Score: 1

      You know, I don't care what folks think about me and I'm willing to accept that MY code is crap at times. I've been publicly reprimanded on a number of occasions by people I really respect, so I understand your position.

      However, I've also observed that there is only so much I can do alone and the bulk of people I've worked with DO care about such nonsense. So where you and I might not care, we are in a distinct minority. Part of being effective as a manager is understanding how to best relate to the members of your team, so if you want to be good at this management job, you adjust YOUR behavior. You do this to assemble and keep the best people.

      Please understand what I'm saying. If I'm having a problem relating to somebody, I seriously consider how I can change my behavior/approach and restore the relationship. This means I go out of my way to avoid offending others by what I say or do. I understand you cannot win them all, that there just are people who for what ever reason don't like me. I also realize that some may think that bending over backwards for others is not worth it or fair, but I realize that it is to my advantage to be as accommodating to other's faults as possible. I suggest you might consider doing that too.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    75. Re:Not saying I disagree with Torvalds by Anonymous Coward · · Score: 0

      Its LOSE face not loose face, Christ people the English code is shit, fix it!

    76. Re:Not saying I disagree with Torvalds by dmpot · · Score: 1

      Apparently, you have never managed any software project for many years. Because if you did, you would realize that people are different, and some far more sensitive to criticism than others. Also a lot depends on the overall culture in your organization. So without any specific context, all those generalizations about what "a wise manager" is supposed to do is UTTER nonsense.

      Now if we speak about the Linux kernel, the fact is the success of the Linux kernel is largely due to Linus ability to keep many talented people involved, and he works with same people for many years. So whatever words he chooses to express himself, it does not seem to affect his working relationship with those people. Also I do not remember that he has ever criticized newbies, who are still learning, or anyone like that. Practically, all his harsh words were directed at his lieutenants, who were entrusted to keep the source code to a certain standard, but failed to do so.

      Finally, I will never trust you (or anyone else) just because you are willing to work on some stuff. I can trust you only if I know that you can deliver the result that meets certain requirements. I had a developer who tried to be nice and willing to work on almost anything, but his code was nearly always crappy, so giving him nearly any task (aside the most trivial stuff) was completely useless. So we had to part with him. So the question is not what you are willing to do, but what you can deliver in practical terms.

  3. Not programming semantics, but the coder by QuietLagoon · · Score: 4, Insightful
    Gawd, that code was ooogly.

    .
    Such code is the result of coders who rely on the compiler too much, and their brains too little.

    .

    "You and I learned C when it was programmers, not compilers, which had to be intelligent."

    - - - Terry Lambert

    1. Re:Not programming semantics, but the coder by thedonger · · Score: 1, Interesting

      .Such code is the result of coders who rely on the compiler too much, and their brains too little.

      I work in .Net -- *ducks* -- and it happens quite often that people rely on Intellisense and the fact that their code compiles as validation it is correct. We don't have to allocate memory, so we don't think about how we use objects that require database calls; we don't think about scope; there's a plug-in that will refactor code for you, so there's another crutch to give us more time to think about what we will be doing when we get off work.

      Also, get off my lawn.

      --
      Help fight poverty: Punch a poor person.
    2. Re:Not programming semantics, but the coder by Damouze · · Score: 3, Funny

      Reminds me of a friend of mine who used to check if a pointer was NULL, then if it was not and finally for other cases:

      if(!p)
      { ...
      }
      else if(p)
      { ...
      }
      else
      { ...
      }

      His reasoning: the compiler could have a bug and this way you would catch that bug.

      --
      And on the Eighth Day, Man created God.
    3. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      Oh, of course. The third block runs when the pointer is Not NULL and when it is Not Not NULL. Simple enough! Right? Oh, wait, this isn't a quantum computer?

    4. Re: Not programming semantics, but the coder by O('_')O_Bush · · Score: 1

      When you start getting creative with where you are stomping on memory, you can end up in that else. That is a bug between the ears, not with the compiler, though.

      --
      while(1) attack(People.Sandy);
    5. Re: Not programming semantics, but the coder by John+Allsup · · Score: 1

      C for intuitionists who reject the law of the excluded middle.

      --
      John_Chalisque
    6. Re:Not programming semantics, but the coder by DrXym · · Score: 1
      Well it could happen if there was a race condition (e.g. p is shared with another thread) and p changed from not-NULL to NULL between the first test & else jump. But if that were the case then there is something seriously screwed up with code, starting with the person who wrote it.

      More ordinarily you have assume that the compiler generates correct code and if it doesn't, particularly on something as trivial as an if-else then really you shouldn't be using that compiler.

    7. Re:Not programming semantics, but the coder by wonkey_monkey · · Score: 4, Funny

      His reasoning: the compiler could have a bug and this way you would catch that bug.

      That's why all my variables are upper case and only use vowels. One day there might be a bug with lower case consonants, and then all you suckers will be laughing on the other side of your faces!

      --
      systemd is Roko's Basilisk.
    8. Re:Not programming semantics, but the coder by cdrudge · · Score: 1

      If only Slashdot had some type of crutch to tell you when you didn't properly close your <blockquote>.

      I've done it too so I'm not innocent either, but sometimes even people who do use their brains can benefit from relying on tools to help them out from time to time.

    9. Re:Not programming semantics, but the coder by swillden · · Score: 2

      His reasoning: the compiler could have a bug and this way you would catch that bug.

      Well, I'll give him one thing: Any compiler that accepts this code without at least giving a warning about dead code does have a bug (unless p is volatile). So it does detect buggy compilers.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    10. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      Interesting. Compiles do have bugs of course, though second guessing them and trying to predict what bugs they're going to have is very odd thinking.

      Any theories why your friend thought that the compile could have this particular bug, but never thought that his far more complex (and weird corner case) wouldn't have a bug?

      Things like this seem to stem from developers thinking they're far more clever than they actually are.

    11. Re:Not programming semantics, but the coder by Sigma+7 · · Score: 2

      Modern compilers won't notice the pointer changing between those two conditionals, with it being loaded into a register that won't be modified in another thread. Some compilers may realize that it's impossible to enter the third block, and simply purge the code. In either case, the third block is pure fluff that should be removed.

      If you're in the rare situation where said pointer can change suddenly, then you should:

      • Declare the pointer as volatile.
      • Copy the pointer to a non-volatile variable
      • Use synchronization to ensure that you have exclusive access to the pointer
      • and/or, not play around with data types without knowing how they work.

      Also, the person writing the code mentioned that the compiler had a bug - but if such a trivial bug did exist, it would either be fixed by now, or the company making the compiler would be laughed out of existence. besides, paranoid individuals can use a debugger to disassemble a compiled executable and verify that the write code is generated.

    12. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      You code to avoid compiler errors once you confirm that the compiler is doing something wrong, not because you think it might be wrong. I once ran into an issue where the code was ok, but the compiler screwed up and because I was stuck with the compiler, I had to code my way out of it. Long story short the code calculated a 16 bit number and stored it in memory as 16 bit. The compiler figured it could optimize on the 8 bit system and stored the number in an 8 bit register before writing it to memory. I rewrote the line to do the very same math with different C code and then the compiler produced working code. Luckily I avoided mixing C and ASM as I have no idea how that untrustworthy compiler would react to that. Luckily we managed to get rid of it the following year as it caused way too many issues.

      If you assume the compiler to be wrong without proof that it is, then you would be lost unless you code everything in ASM. Writing code where you can check what goes on and verify that it behaves correctly is good as such code can also be used to find programming errors and not just compiler bugs. Just don't expect all bugs to be due to the compiler without proof.

    13. Re:Not programming semantics, but the coder by thedonger · · Score: 2

      They do -- it's called the "preview" button. But it only works when the user looks at the preview prior to pressing "submit."

      --
      Help fight poverty: Punch a poor person.
    14. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      His reasoning: the compiler could have a bug and this way you would catch that bug.

      Well, I'll give him one thing: Any compiler that accepts this code without at least giving a warning about dead code does have a bug (unless p is volatile). So it does detect buggy compilers.

      C & V, please :)

      No compiler needs to warn about silly code, IIRC, according to the C standard.

    15. Re:Not programming semantics, but the coder by T.E.D. · · Score: 1

      His reasoning: the compiler could have a bug and this way you would catch that bug.

      Back when I was coding for a NASA job, we used to jokingly refer to code like this as a "cosmic ray check". I think there were memory tests purposely doing stuff like that which got carried out at idle. But if you did it yourself, its ridicule time...

    16. Re:Not programming semantics, but the coder by Grishnakh · · Score: 1

      Even better is having an "Undo" button (or in the case of a forum like this, an "Edit" button).

      Computers have had "undo" functionality for decades now, because even the smartest people make hasty mistakes all the time. There's zero technical reason why an "undo" function can't be added to almost any software system, except for purely idiotic ideological reasons.

    17. Re:Not programming semantics, but the coder by geantvert · · Score: 2

      To be honest, this is something I would also do on slightly more complex sequence of if-then-else-if that are supposed to try all possibilities. Similarly, I always try to enforce the 'default:' on switch statement even if I know that all possible values are tested.

      That may be unnecessary at the time I write the code but that can save my ass if someone decides to make a small 'harmless' change in a few months or years.

      The funny thing is that in C++, it is actually possible to reach the final 'else' assuming that 'p' is not a pointer but of a type that overloads 'operator bool' and 'operator !'.

    18. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      Again, brain vs compiler.... It's so meta.

    19. Re: Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      Please give an example.

      Only way I can think this if/not/else construct could work is:

      #define p ( k = foo( k ) )

      But that's not a memory stomp.

    20. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      Reminds me of tri-state logic.

    21. Re:Not programming semantics, but the coder by c · · Score: 1

      His reasoning: the compiler could have a bug and this way you would catch that bug.

      Compiler bugs have a way of making you question your sanity, and you never completely regain the trust; I can only imagine the sort of nasty bug that led to him adopting that behaviour.

      --
      Log in or piss off.
    22. Re:Not programming semantics, but the coder by tnk1 · · Score: 1

      I believe there is a wooosh sound I just heard.

    23. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      For clarity (and because some virtual memory layouts can store data at virtual memory location 0 such as function pointers), p should be compared against NULL and not just tested as a non-zero value. Some programming standards even require the constant term to be compared against the variable to avoid unintended assignments eg. if (NULL != p)

    24. Re:Not programming semantics, but the coder by Cederic · · Score: 1

      No, just the good ones.

    25. Re:Not programming semantics, but the coder by luis_a_espinal · · Score: 1

      Reminds me of a friend of mine who used to check if a pointer was NULL, then if it was not and finally for other cases:

      if(!p) { ... } else if(p) { ... } else { ... }

      His reasoning: the compiler could have a bug and this way you would catch that bug.

      Holy mother of Baal. How would a reasonable compiler would had a bug on that???? I've seen compiler bugs (mostly on floating point arithmetic), A very, very, very rare type of thing. Someone who think there is a reasonable expectation that the compiler would fuck up something so basic, I would put that person in the same category as the "Jade Helm" conspiracy nuts!

    26. Re:Not programming semantics, but the coder by Tablizer · · Score: 1

      His reasoning [for the long way]: the compiler could have a bug and this way you would catch that bug.

      I had a somewhat similar experience where the chief coder forbid comments in database query code because the compiler allows certain optimization hints in comments, and once a comment was mistaken for such by the compiler and created a really slow query that took a while to troubleshoot. Therefore, he forbade ALL query comments.

      I tried to argue that the cost of no comments was greater in general than an occasional optimization mistake, and that if the small set of query coders simply learns what not to put in comments, the risk is small.

      But, he accused me of being argumentative so I gave in and did it the stupid way. Debate on something as important as comments shouldn't be dismissed. He came from the military and believed hierarchical yes-manning was the "proper way". That's probably why they order $500 hammers.

    27. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      I do that too, especially if you're not going to put the else on the same line as the brackets. When someone deadline pressed comes along and modifies the code they aren't paying attention to any side effects, only their specific bug. Commenting out the else if section will trigger your error message in the else. Changing one of the conditions will trigger your error message on some state they hadn't through of. Failing fast right away is very useful and saves money.

      However, I normally write code this way so such things simply aren't possible:
      if(!p) { ...
      return
      } ...
      return

      Just like I do checks for = 0 instead of == 0. Such comparisons wipe out a whole class of potential (yet unlikely) bugs and reduces testing requirements (only two classes to write tests for instead of three).

    28. Re:Not programming semantics, but the coder by edtice1559 · · Score: 1

      If the value of the pointer could change in the first block, it's actually possible to execute the third one.

    29. Re:Not programming semantics, but the coder by edtice1559 · · Score: 1

      p doesn't have to be volatile here, only the possibility of it changing in the first block!

    30. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      Very simple: I read replies to my comments in my e-mail. How do you undo my mail?

    31. Re:Not programming semantics, but the coder by wwalker · · Score: 1

      That's why I never write C code. The compiler could have a bug. Assembler all the way!

    32. Re:Not programming semantics, but the coder by HiThere · · Score: 1

      I frequently wish there were some decent way to do tri-state logic. Possibly because my original language was FortranIV which didn't have a logical if, only the tri-state arithmetic if. But there's no variable type that's good for storing tri-state variables. (Yeah, I could code it for byte, but that always feels like such a waste.) And what I really want is a suite of tri-state operations.

      As a compromise I usually substitute "yes, no, maybe, error", (in some order), but often either "maybe" or "error" is unreasonable.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    33. Re:Not programming semantics, but the coder by HiThere · · Score: 1

      Compiler bugs are one thing, but I once ran on a computer that had occasional transient memory errors. Just *TRY* to track that one down. The only thing I could do was try running the program multiple times...and we paid for time by the second.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    34. Re:Not programming semantics, but the coder by HiThere · · Score: 1

      No. The $500 hammer was because the vendor didn't want to do the paperwork to sell just one hammer, and the purchaser wasn't footing the bill. So the vendor charged enough to make it worth his while to do the paperwork.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    35. Re:Not programming semantics, but the coder by Garfong · · Score: 1

      I used to think that too, but then I learned assemblers and even machine code can have bugs. Now I write all my software on the cloud!

    36. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      False.
      C *requires* a NULL pointer to evaluate to false, and any non-NULL pointer to evaluate to true. RTFSpec.

    37. Re:Not programming semantics, but the coder by grcumb · · Score: 4, Funny

      Even better is having an "Undo" button (or in the case of a forum like this, an "Edit" button).

      The reason for not having UNDO should be obvious:

      Someone writes a post saying, 'Bieber is such a dick! Post below if you agree.' Hundreds do.

      Then the OP edits the post to read, 'Dick tastes great! Post below if you agree.'

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    38. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      Your two example are / have identical outcome.

      CAP === 'passed'

    39. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      Ya know, you (inadvertently?) bought out an interesting point in that the keyword volatile guarantees every reference is
      an access for its variable (because we're telling the compiler that this variable may change its value between its references),
      but C offers no such way to specify that a variable will not change between its references.

      While const may imply to achieve this, we're only telling the compiler that each reference to that variable will yield the same
      result as previous references, the compile is still free to reference that variable as often as it is needed.

      So really, the only alternative is to snapshot the variable into a temp variable and use that.

      CAP === 'debase'

    40. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      No compiler will generate code that will ever do that.
      That's a common misconception...

      CAP === 'harsher'

    41. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      And nobody has to look both ways before crossing the street.

      But TRWTF with compiler warnings is the people who ignore them when the compiler spews them out all over the place.

    42. Re:Not programming semantics, but the coder by Khashishi · · Score: 1

      That's why a reasonable forum will show:
      'Dick tastes great! Post below if you agree.'
      Edited 1 time on 2 Nov 2015 at 15:20 UTC

    43. Re:Not programming semantics, but the coder by swillden · · Score: 1

      p doesn't have to be volatile here, only the possibility of it changing in the first block!

      No, if the first block is executed, neither of the others will be, regardless of what happens in that block.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    44. Re:Not programming semantics, but the coder by Grishnakh · · Score: 1

      Every well-designed forum, as another poster noted here, shows explicitly when a most was modified.

      In addition, if the first poster can edit their post, the responders can also edit theirs to match, or delete theirs.

      Also, there's always the compromise position, which is to only allow editing within a certain time period after posting. Even if it's only a few minutes, that would be sufficient for most cases where someone posted too hastily.

    45. Re:Not programming semantics, but the coder by Grishnakh · · Score: 1

      You must be talking about another forum. Slashdot doesn't send replies to your comments to your email. It sends a notification that you got a reply, but not the text of the reply.

    46. Re:Not programming semantics, but the coder by gweihir · · Score: 1

      Indeed. Completely unreadable. That is an accident waiting to happen. Or an opportunity to slide in a backdoor. In fact, the code is so bad I consider it a real possibility it was a test for the second thing. (I do not know the involved people though, it may also just have been stupidity.)

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    47. Re:Not programming semantics, but the coder by goose-incarnated · · Score: 1

      That's why a reasonable forum will show: 'Dick tastes great! Post below if you agree.' Edited 1 time on 2 Nov 2015 at 15:20 UTC

      Doesn't help. No one reads in chronological order, everyone reads in the order it is presented.

      --
      I'm a minority race. Save your vitriol for white people.
    48. Re:Not programming semantics, but the coder by serviscope_minor · · Score: 1

      The funny thing is that in C++, it is actually possible to reach the final 'else' assuming that 'p' is not a pointer but of a type that overloads 'operator bool' and 'operator !'.

      Try writing it in C with p as a float and p=NaN. You'll get the same result you're complaining about from C++.

      --
      SJW n. One who posts facts.
    49. Re: Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      I read your comment, and I think "this guy must have a very low UID" - indeed!

      Paraconsistent C programs should also check if p is both null and not null.

    50. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      The reason for not having UNDO should be obvious:

      Someone writes a post saying, 'Bieber is such a dick! Post below if you agree.' Hundreds do.

      Then the OP edits the post to read, 'Dick tastes great! Post below if you agree.'

      I've done this on Facebook!! :D

    51. Re:Not programming semantics, but the coder by cdrudge · · Score: 1

      Doesn't seem to be a problem on most forum software out there, Facebook, Discus, etc. Even if it only let you edit your post for 5-15 minutes would go a extremely long way of fixing one major missing feature.

    52. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      You sound like an intelligent fellow. Did you check your spelling and grammar before pressing "submit? (sic)"

    53. Re:Not programming semantics, but the coder by toddestan · · Score: 1

      With C99, there is something kind of like that with the 'restrict' keyword. But it's only for pointers, and really just tells the compiler that the pointer won't be aliased.

    54. Re:Not programming semantics, but the coder by Anonymous Coward · · Score: 0

      It wouldn't be unreasonable to allow editing a post as long as that post has not yet received any mods or responses, and no editing allowed for AC posts, of course. If you're in the process of editing a mistake ("Oops, how did I typo 'Dick tastes great' so badly?") and the post has a response or mod before you submit the edit is rejected. If you're applying the initial mod or response, and the post has changed, your mod/response is rejected, ideally with a chance to re-mod/re-respond to the changed content. Reasonable limits on the number of edits allowed for a post and a reasonable delay imposed for the second (and subsequent) edits would keep feature abuse at bay.

      Given that fundamental problems, such as the inaccurate preview representation, hardly ever get fixed here, this will likely never happen. If it does, the implementation will likely make the "beta" rollout seem like a golden time of perfect harmony in comparison.

      - T

  4. The poor women by Anonymous Coward · · Score: 0, Troll

    How will the poor women of open source cope?

    1. Re:The poor women by Anonymous Coward · · Score: 0

      Some SJW censor modded you down, but don't worry the normal people enjoyed your comment ( while we still can ).

    2. Re:The poor women by Anonymous Coward · · Score: 0, Troll

      How will the poor women of open source cope?

      Well, if history is any indicator, then AmiMoJo (196126) will spend most of the day shitposting her SJW agenda on slashdot.

    3. Re:The poor women by Anonymous Coward · · Score: 0

      His.

      Like every other SJW, AmiMoJo is a white male saddled with white male guilt at being a white male.

      Don't forget, SJWs both believe that women are strong independent people and that they're extremely weak and need constant protection from the evil penis-havers.

  5. Title of his biography? by willworkforbeer · · Score: 1

    Linus Rants.

    --
    Pretending this is my office full of bitter coworkers..
    1. Re:Title of his biography? by Anonymous Coward · · Score: 0

      Linus Rants.

      I would honestly love to see a biography that was based around his rants. It'd be an awesome read, I'm sure.

    2. Re:Title of his biography? by willworkforbeer · · Score: 1

      Linus Rants.

      I would honestly love to see a biography that was based around his rants. It'd be an awesome read, I'm sure.

      I would honestly love to see a biography that was based around his rants. It'd be an awesome read, I'm sure.

      True enough. Besides, there's not enough material for a book, "Linus Calmly & Respectfully Discusses."

      --
      Pretending this is my office full of bitter coworkers..
    3. Re:Title of his biography? by fisted · · Score: 1

      Stop repeating shit you overhear elsewhere and maybe actually read the LKML for a while. It would make you appear much less stupid.

    4. Re:Title of his biography? by Zaiff+Urgulbunger · · Score: 1

      Linus Rants.

      I would honestly love to see a biography that was based around his rants. It'd be an awesome read, I'm sure.

      "A Torrent of Tirades" surely?

    5. Re:Title of his biography? by Anonymous Coward · · Score: 0

      Where's your sourcecode or a program you've done others say is good fisted? Non-existence is where it is. It just isn't.

    6. Re:Title of his biography? by willworkforbeer · · Score: 1

      Stop repeating shit you overhear elsewhere and maybe actually read the LKML for a while. It would make you appear much less stupid.

      I'm comfortable in my moron status. Feel all better now?
      But that doesn't change the negative effect on project contributors caused by treating them like human garbage. Some may disagree, and perhaps they suffer from a similar rage-based egocentric personality disorder. Life's too short to work with them on purpose.

      There are other ways to lead, and better ways to promote excellence in a group. "Asshole-centric Leadership-by-Insult" is a non-starter, possibly a non-sequitur, for many.

      --
      Pretending this is my office full of bitter coworkers..
    7. Re:Title of his biography? by fisted · · Score: 1

      Good grief.

    8. Re:Title of his biography? by Anonymous Coward · · Score: 0

      Where's your sourcecode or a program you've done others say is good fisted? Non-existence is where it is. It just isn't.

      You asked it of apk as you trolled him all last week and he told you it's not available for abuse as Chrome's was in that very article for making malware out of it as well as the fact malwarebytes' people have it as well as recommending and hosting his program which slashdotters even said is good also http://it.slashdot.org/comment... and today on that too http://slashdot.org/comments.p...

      This all shows you're butthurt over your multiple fails to apk and that you're a talker not a doer and a troll.

      Then you called his ware a malware and he shut you up quickly with 60 proofs to the contrary http://slashdot.org/comments.p...

      You're a butthurt little troll like the rest of your kind which is why you live in the deserts driven out by good people of the world.

  6. Gosh Linux is so cool.... by Anonymous Coward · · Score: 0, Troll

    But does he have to be such a dick about it?

    1. Re:Gosh Linux is so cool.... by bobbied · · Score: 1

      But does he have to be such a dick about it?

      Apparently he does. I don't know why, but he does this from time to time, launching into some tirade laced with explicatives.

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    2. Re:Gosh Linux is so cool.... by Anonymous Coward · · Score: 0

      Because some people are so wrapped up in their own little world that they can't see what a mess they make. They fully believe that they are right and that they can not make a bad choice under any circumstances. The only thing that seems to get through to those kinds of people is threats of violence and obscenities.

    3. Re:Gosh Linux is so cool.... by Anonymous Coward · · Score: 0

      Okay noob programmer here, with a lot of life experience doing other things.
      Here's the deal.
      Anywhere that Excellence is demanded, the leader/manager/coach/commander is pretty much guaranteed to lose his or her mind when mediocre efforts are put forth or sloppy shortcuts, or avoidable inefficiencies, etc. are introduced into any part of the effort. Do you think that in great Football Clubs, or in the NFL in the US, or in elite military units, or on the trading floor of successful hedge funds, or world beating manufacturing companies, Language WAY worse than this isn't used? For a volunteer good enough to be working on something as globally important as the linux kernel, I can see that yeah from Linus’s perspective, unnecessary compiler masturbation code is probably yes, legitimately, un-fucking-forgivable. I have received dressing downs like this and given them out. I'll keep saying "elite teams" instead of "global leaders", or "champions", or "winners", or "victors" so as not to alienate anyone who has never been on a real world class team. On an elite team, the recipient of such speech is probably beating his/herself up internally more than anything the boss might say because they are trying to be the best at all costs. Others on the team are making huge sacrifices to be the best at what they do, so for someone to jeopardize the win for something stupid is truly fucking maddening, and frustrating, and VERY unfair to the others who are focused enough not to make stupid mistakes or try to showboat, or be too cute, or too macho, or too whatever... And *especially* if that team has been a world beater over a long period of time? EVERYONE WHO JOINS THAT TEAM HAS TO GIVE 100% to respect the "winning record" or the "consistency of innovation" or the quality of the series, or the run on Broadway, or whatever is considered consistently winning.

      If I understand this correctly Linus didn't even call the individual out by name, or FIRE them publicly. And as for “praise in public, scold in private” 1. For some ppl that doesn't work, and 2. That is “rule” does NOT apply during periods of intense effort. Watch any football sideline during a close game... I'm not saying be an asshat all the time.. for no reason.. (that actually works against the ability to tighten up the team when needed) but sometimes.. blunt hot frustration *should* be vented through the kettle whistle.. Someone above said that email was for experts at his level.. I agree. The rest of us may have the luxury of gentility when counselling team members, At times Linus doesn't feel he does... and that's a legitimate part of consistent excellence. Coaches yell at players and call them fuck-ups and whatnot. –usually when they *know* the person can/has performed better than that. A good coach will harness a Significant Emotional Events (SEE) to carry a lesson that sticks. In essence: “Don’t lose focus. This is important – too important for any bullsh--.”

      I mean, I don’t want hear him talk to his team that way because I have too much empathy for the target of that barrage. I know if I was on that team he’d have to do that to me every 2 hours, so I don’t volunteer for teams I’m not good enough (or even just not focused enough) to play on. But if I found myself on the kernel development team and Linus (and I’m sure it would be many, many, MANY) others screamed at me constantly (and I was tough enough to take it, and they were patient enough to be constructive about it), I’m sure I’d get a lot better, a lot faster that I would without that environment. (Let me restate this is NOT an application for such)

      So lay off Linus for his outbursts He’s trying to keep a great thing great. That requires breaking ppl’s ball every so often. That’s life Can we move on now?

  7. Not many people could get away with saying that... by Anonymous Coward · · Score: 1

    Having read his rant (I know, I know) and agreeing with the points he is making, what struck me is that many programmers on the receiving side of that would have tried to imply that Linus isn't smart enough to understand their work of art.

    Obviously, that doesn't work directed at Linus.

  8. Probably done by a C++ programmer. by Anonymous Coward · · Score: 1, Funny

    They tend to write unreadable code.

    1. Re:Probably done by a C++ programmer. by Anonymous Coward · · Score: 0

      No, that's just called C++.

  9. Lol by Anonymous Coward · · Score: 0

    What a twat

  10. sounds like Linus needs a code of conduct by Anonymous Coward · · Score: 0

    How can Go language support such an abusive environment? They should drop Linux support until he agrees to be Nice. /sarcasm

    1. Re:sounds like Linus needs a code of conduct by Anonymous Coward · · Score: 0

      My Grandmother tells me that its disrespectful people like Linus Torvalds that keep her from taking up linux kernal programming

  11. GOOD. He's doing his job by Anonymous Coward · · Score: 3, Insightful

    Linus is doing his job, making sure that the Linux kernel code continues to maintain quality and supportability. I read the thread, the code is shit, and Linus called it out. I don't care about his language or the tone of his message. He's right. Linus could stomp kittens flat and I wouldn't care, as long as that kitten-stomping was in the pursuit of making the Linux kernel better. Enough of this fake controversy about Linus and his communication style, already.

    1. Re:GOOD. He's doing his job by plover · · Score: 2

      Linus could stomp kittens flat and I wouldn't care, as long as that kitten-stomping was in the pursuit of making the Linux kernel better.

      To be fair, next Thursday is Finland's national Kitten Stomping Day, so it might not be purely in pursuit of improving the kernel.

      --
      John
    2. Re:GOOD. He's doing his job by Anonymous Coward · · Score: 0

      Linus is doing his job, making sure that the Linux kernel code continues to maintain quality and supportability.

      continues?

    3. Re:GOOD. He's doing his job by AmiMoJo · · Score: 0

      If Linus has simply said "do it this way, it's clearer, and the custom stuff caused build problems", wouldn't that have had the same effect?

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    4. Re:GOOD. He's doing his job by mrchaotica · · Score: 1

      Put your Viking helmet on! Spread that mayonnaise on the lawn!

      Oh wait, you said kittens, not weasels...

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    5. Re:GOOD. He's doing his job by Anonymous Coward · · Score: 0

      No.

    6. Re:GOOD. He's doing his job by jcochran · · Score: 5, Insightful

      Nope.

      Frankly, the purpose of the rant was to cause that piece of excrement to be replaced with something reasonable AND to give notice to other programmers that that kind of sloppy shit is not acceptable. As for those who complain that his rant was unnecessary and hurt someone's feelings, I have to ask you "Who submitted the sloppy code?" I don't see any names in the rant. Yes, I know that one could take a look at the commit logs to determine who it was, but in all honestly, I seriously doubt that anyone will. So the idiot who committed that piece of shit wasn't called out by name or publically humiliated.

    7. Re:GOOD. He's doing his job by AmiMoJo · · Score: 0

      Considering that he has been ranting for years, two decades in fact, the claim that he needs to do it to give notice to others that such code isn't acceptable doesn't seem to stand up to scrutiny. Clearly the last two decades of ranting did not prevent this submission being made.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    8. Re:GOOD. He's doing his job by TuringTest · · Score: 1

      I'm pretty sure much less people would have heard about the incident.

      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
    9. Re:GOOD. He's doing his job by DNS-and-BIND · · Score: 1

      No it wouldn't. I've heard this referred to as a "precision F-strike" and it refers to an ordinarily mild-mannered man losing his shit and screaming for a moment in order to make his point crystal-clear for everyone. When all you do is say fuck/shit/bitch all day long, you can't make an impression this way, but when you do it once or twice a year, people remember why you did it.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    10. Re:GOOD. He's doing his job by Austerity+Empowers · · Score: 1

      Kitten stomping sounds unnecessarily cruel. However exploding kittens has a beat we can dance to.

    11. Re:GOOD. He's doing his job by radarskiy · · Score: 1

      As you note, that requires an ordinarily mild-mannered man. However, you fail to note that in this context all we have is Linus.

    12. Re:GOOD. He's doing his job by plover · · Score: 1

      OFF TOPIC: I was thinking weasels, too!

      It was also kind of weird typing "kitten stomping day" into google (fearing there might already be one) and guessing at which kinds of watch lists I've no doubt been added to as a result.

      --
      John
    13. Re:GOOD. He's doing his job by Marginal+Coward · · Score: 1

      I once heard that a sudden change of personality is taken by mental health professionals as a strong sign of mental illness. In that vein, any sudden use of polite constructive criticism in place of his usual ranting and cursing could be construed as a strong indication that he had really gone off his nut. So that would actually be the most unkindest cut of all.

    14. Re:GOOD. He's doing his job by gweihir · · Score: 1

      Many people have completely lost sight of what is important these days. It is pathetic. Linus is entrusted with keeping the most used OS kernel working. Any way he manages to do this is acceptable.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    15. Re:GOOD. He's doing his job by bingoUV · · Score: 1

      If he suddenly stops ranting, people wouldn't think such code is unacceptable.

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
    16. Re:GOOD. He's doing his job by goose-incarnated · · Score: 1

      If Linus has simply said "do it this way, it's clearer, and the custom stuff caused build problems", wouldn't that have had the same effect?

      No. That sends the message "I'm willing to fix your fuckups". The message he (apparently) wanted to send was "You fucked up and now I shall spread that pain around."

      The most people-efficient places (armed forces, ER's, etc) have a chain of command such that a superior can call you out in almost any way and in any language that they feel like, and you have no recourse but to suck it up and try to fuck up less next time. It's a proven method :-)

      --
      I'm a minority race. Save your vitriol for white people.
    17. Re:GOOD. He's doing his job by goose-incarnated · · Score: 1

      Considering that he has been ranting for years, two decades in fact, the claim that he needs to do it to give notice to others that such code isn't acceptable doesn't seem to stand up to scrutiny. Clearly the last two decades of ranting did not prevent this submission being made.

      It is precisely because he hardly ever does it that it makes news when he does. If he threw verbal abuse regularly it wouldn't be news when he does it the next time. It's news because roughly 1 in every thousand of his "corrections" is a rant.

      --
      I'm a minority race. Save your vitriol for white people.
  12. yet he allowed systemd..... by Anonymous Coward · · Score: 0

    I understand his rant and why....

    but yet he allowed the crap that is systemd in the house from a programmer that gave us the steaming shit pile that was pulseaudio.

    1. Re:yet he allowed systemd..... by Junta · · Score: 4, Insightful

      but yet he allowed the crap that is systemd in the house

      Linus doesn't have control over places that systemd are 'in the house'. The biggest notable chunk that would be even remotely perceived as letting systemd into the kernel is kdbus, and that hasn't been merged. Even then, I have heard arguments that it isn't particularly systemd specific. Knowing about dbus, makes me shudder about the concept of kdbus, but folks assure me I don't understand kdbus, which I confess could be true.

      Linus basically doesn't have much to say about systemd today, it's beyond the scope of his attention. He has mentioned he is at least not horribly opposed to it, but neither has he gave it a huge endorsement either. He has ranted about code that came to the kernel from at least one of systemd's notable contributors, but not about the concept/project as a whole.

      But all that aside, no one should treat Linus' word as the one true word of the whole ecosystem. If he loves it, hates it, or does not care, either way the larger community has to decide.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    2. Re:yet he allowed systemd..... by phantomfive · · Score: 1

      Knowing about dbus, makes me shudder about the concept of kdbus, but folks assure me I don't understand kdbus, which I confess could be true.

      Interprocess communication has been an area of research for a long, long time. I don't understand why the kdbus people want to re-invent the wheel, instead of using a method that's been tried and tested.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:yet he allowed systemd..... by Anonymous Coward · · Score: 0

      Because you will be assimilated, that's why.

    4. Re:yet he allowed systemd..... by thegarbz · · Score: 1

      He has mentioned he is at least not horribly opposed to it, but neither has he gave it a huge endorsement either.

      Not horribly opposed to it and not giving it a huge endorsement is not correct. I'll quote and highlight relevant bits:

      "Linus: You can say the word "systemd", It's not a four-letter word. Seven letters. Count them.

      I have to say, I don't really get the hatred of systemd. I think it improves a lot on the state of init, and no, I don't see myself getting into that whole area.

      Yeah, it may have a few odd corners here and there, and I'm sure you'll find things to despise. That happens in every project. I'm not a huge fan of the binary logging, for example. But that's just an example. I much prefer systemd's infrastructure for starting services over traditional init, and I think that's a much bigger design decision.

      Yeah, I've had some personality issues with some of the maintainers, but that's about how you handle bug reports and accept blame (or not) for when things go wrong. If people thought that meant that I dislike systemd, I will have to disappoint you guys."

      Yep, he's definitely NOT horribly opposed to it, and it sounds like quite an endorsement to me. Hell calling it a shiny turd would be an endorsement in the typical cesspool of hate that systemd gets.

    5. Re:yet he allowed systemd..... by HiThere · · Score: 1

      That's a selection of quotes, however, and occasionally he's been quite a bit more negative.

      Still, the ones I almost remember were about how unresponsive the systemd maintainers were when an error was reported rather than about the basic idea.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    6. Re:yet he allowed systemd..... by Anonymous Coward · · Score: 0

      I don't understand why the kdbus people want to re-invent the wheel, instead of using a method that's been tried and tested.

      kdbus has some genuinely new features.

      The one that is most interesting to me is the zero-copy "sealed" message system. If a process needs to send a large message to another process, a shared-memory buffer is the best way to do it, but there is a class of security attacks where the sender starts rewriting the message after sending it. The receiver looks at the headers or whatever of the message, and validates the message, and then suddenly the message changes after validation. With kdbus, the receiver will know that the message cannot possibly change, as the sender "sealed" the message and the kernel revoked the sender's access to the message.

    7. Re:yet he allowed systemd..... by thegarbz · · Score: 1

      That was his respond to a direct question on systemd from the Ask Slashdot crowd. It was also a very recent quote (not selection of quotes), so I'm sticking with it.

  13. Linus rants about (xyz) by U2xhc2hkb3QgU3Vja3M · · Score: 0

    He may have a good reason to rant about xyz but do we really need to read about it?

    Fight for your bitcoins!

    1. Re:Linus rants about (xyz) by Anonymous Coward · · Score: 0

      It's a complete non-event. Torvalds didn't like it, gave a better example, the code was reverted. That's it. No arguments, no slagging each other off, no women taking it personally saying LKML is sexist etc. Just one pull request, rejected with an explanation, then a revised patch issues. Whoopy do.

    2. Re:Linus rants about (xyz) by Junta · · Score: 1

      At least without context, the tone seems a bit severe for the rejection, and could bolster the case of those that argue that a violent shaming is a risk of submitting code, even if it would be your first 'mistake'.

      I personally prefer this over some other projects that would merge functional, but ugly code for the sake of not scaring folks away from contributing and not having 'it doesn't work' argument to respond with, but there could be a happy medium.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    3. Re:Linus rants about (xyz) by Anonymous Coward · · Score: 0

      Note this wasn't Joe Random Coder, this was submitted by a subsystem maintainer aka Someone That Should Know Better(tm).

    4. Re:Linus rants about (xyz) by Junta · · Score: 1

      Yes, but the question is whether this has been a pattern or a first offence. If this was the first time the person did something like this, it's arguably even worse. Usually if you are a maintainer in good standing, a single questionable design choice in a pull request wouldn't be met with that much vitriol. You have proven yourself to put out generally good work, but you mucked up once. A rejection with a counter-proposal saying 'this is not readable, I counter propose' would be enough to get the picture...

      Knowing that no matter my reputation, I do one thing that Linus doesn't like and it could result in insta-rant I could see as discouraging for those used to more level headed discourse.

      However, I restate that if I had to choose between passionate, rant-ready maintainer enforcing a consistent design versus all-welcoming maintainer that allows things to point of chaos, I'd pick the rants.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    5. Re:Linus rants about (xyz) by Anonymous Coward · · Score: 0

      Naw, respectfully disagree.

      I write the most boring (C) code in the world. Because I've learned over
      the years to stick with habits and technologies that are proven and that
      I know inside and out and that they work. And I still don't write bug free
      code - but I can find the issues very quickly when they do appear. If I'm
      tempted to use a new wiz-bang feature, I make sure I beat the hell out of
      it and that I know how it works as though I wrote it myself. You have to
      do this for production code. There is so much good-intention code out
      there that's 80% complete, you really have to be careful what you decide
      to support in your writing...

      CAP === 'mooned'

  14. Not the case. by Anonymous Coward · · Score: 0

    It is easy to tell why. They both argue about a function, while ignoring that ugly "goto".

    1. Re:Not the case. by halivar · · Score: 1

      I bet assembly gives you an aneurysm.

    2. Re: Not the case. by Anonymous Coward · · Score: 0

      Lol, I thought the same thing. WTF, he didn't say anything about the GOTO?

    3. Re: Not the case. by Dog-Cow · · Score: 2

      Unlike you, Linus is not a drooling moron. He knows when goto is the best tool for the job. He doesn't have irrational fears like fucked-up retards such as yourself.

    4. Re:Not the case. by DrXym · · Score: 5, Informative

      Goto is a perfectly valid instruction providing you know when to use it. The typical use would be to jump into some teardown code at the bottom of a function or to escape out of some nested loop. Either way provdes more succinct and involves less code than the alternative. I assume every single kernel developer is capable of knowing when best to use it and they wouldn't have to worry about issues with c++ constructors either.

    5. Re: Not the case. by gnupun · · Score: 1

      Goto is good in this case since it avoids nasty 'if's in many places. You complain because you're a noob.

    6. Re: Not the case. by CheapEngineer · · Score: 0

      Don't forget he's also an abusive asshole. So much talent there.

    7. Re: Not the case. by Anonymous Coward · · Score: 0

      Amen. Incidentally, I do think Linus is a drooling moron, but yes, that use of goto is perfectly appropriate.

    8. Re:Not the case. by Anonymous Coward · · Score: 0

      Yup, in c++ we just use RAII. But I suppose such concepts are too complicated for the much vaunted "compiler developers" to understand. But then we'll hear about how "c++ is no good for writing operating systems" because BeOS never existed and clearly isn't a real life demonstrable case of Linus being full of shit when he says that c++ is no good for os development. Linux just likes to talk shit about anything outside his domain knowledge because it makes him feel more secure even though he's a very insecure little man.

      In reality Linux was a noob when he started writing Linux and noob's tend to stick with the language they already understand, throwing away perhaps decades of academic research out the window, and in result regurgitating a 30 year old design (unix) that had already been improved upon (plan 9) by the original authors of said design.

      In reality Linus came along with Linux at the right time and the right place. It was never a very good OS and the only reason it's used now over the BSD's is because of the lawsuits surround 4.4BSD back in the day.

    9. Re:Not the case. by Anonymous Coward · · Score: 0

      LOL, you're like the dumbass kids that look at my code and start loudly shouting, "OMFG! Look how crappy this code is! It has goto!"

      Mostly college morons with very little actual experience.

      I always ask: "OK, rewrite it the proper way." They return with some unreadable spaghetti mess that has twice as many lines of code, is more difficult to debug, often contains bugs, creates compiler cruft, and runs slower. "Good jorb!" I say. Morons.

    10. Re: Not the case. by Anonymous Coward · · Score: 0

      You can do RAII in C. And the typical pattern is to handle initialization errors by jumping to an error handling block.

      RAII is an object management discipline, not a synonym for automatic destructors.

    11. Re: Not the case. by Anonymous Coward · · Score: 0

      They already have the fucking 'if'. That 'goto' is just ugly spaghetti crap.

    12. Re: Not the case. by cfalcon · · Score: 1

      The goto is used correctly.

    13. Re:Not the case. by cfalcon · · Score: 1

      You wouldn't want to model everything as an object, nor incur the overhead of dynamic allocation in all cases. If your code involves doing ten things, each of which can fail, and all prior ones need to be undone at the end of it, does it really make sense to have that as 10 objects that each nest the succeeding? That would be all manner of memory grinding as each one is created too. It would also involve header file overhead in most cases, whereas the code with the goto is all in one place, smaller, faster, and more readable. A lot of hardware interface stuff ends up looking like this, and you would not want object oriented code for that.

    14. Re:Not the case. by HiThere · · Score: 1

      I've got a bit of a memory about the state of C++ when kernel development was started, and it wasn't good. Or standardized. And IIRC it depended upon cfront, when translated the C++ code into C.

      Years later C++ code was considerably bulky after being compiled and linked, and not at all suitable for many of the uses of the kernel.

      It's my understanding that currently C++ code can be equally good, and the source more compact...but I'm not really certain this is true, and in any case that's not enough to justify a conversion effort.

      Yah, Linux was a noob when he started the project, and he started it in C because that was what he knew. But it happened to be the best available choice, and may still be the best choice.

      You are, of course, correct about why Linux was successful. But you need to remember that BCD Unix was not the only Unix around, so it's not as if there weren't competitors. But they wanted to charge exorbitant prices, and weren't interested in the microcomputer market anyway. So the lawsuits weren't the only reason, greed played a major role.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    15. Re: Not the case. by Anonymous Coward · · Score: 0

      Goto is good in this case since it avoids nasty 'if's in many places. You complain because you're a noob.

      Yeap. Read & write some kernel code & you'll get a feel for when to use goto again.

      FWIW, I very rarely end up using it in userspace code, but pretty much always in kernel code.

    16. Re:Not the case. by Anonymous Coward · · Score: 0

      You seem to hold a few misconceptions about the RAII idiom in C++. First, the RAII objects don't usually need to be nested (though could be, of course), because the language guarantees the order of destruction within a function. Second, the RAII objects themselves are typically created on the stack, often taking up no more stack space than the raw variable(s) involved, even without compiler optimizations. Third, the RAII objects don't necessarily have anything to do with heap resources, e.g. one might deal exclusively with releasing a database handle or some other non-heap resource, or simply execute general cleanup code. Fourth, the header file overhead is often either avoided by using local classes for the rare (within the given codebase) RAII cases, or no overhead at all (or a net benefit) when compared to the maintenance cost of repetitive code in goto-style cleanup branches for common RAII cases.

      Alexandrescu, Meyers, et. al. covered such scenarios quite thoroughly years ago. Presumably, you're not a C++ developer, but it's worth a look to see how things are done with idioms in languages we don't use just to broaden our horizons.

      - T

  15. It's Justified by MagickalMyst · · Score: 1, Troll

    So he rants and raves and bitches and moans... It shows that he is passionate and serious about what he does.

    Now, if only Bill Gates would learn to rant and rave passionately about the quality of his product - instead of counting his coins and pretending to be a philanthropist.

    --
    Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
  16. I wonder if... by m.alessandrini · · Score: 2

    ... all the other people over there could use such a language, even for "legitimate" reasons, and get away with it.

    1. Re:I wonder if... by Anonymous Coward · · Score: 0

      Well, someone quit because they saw his language as misogyny. Also, if this code was submitted by a minority they might have something to say about that too.

    2. Re:I wonder if... by Anonymous Coward · · Score: 0

      One those who wrote a kernel.

  17. Have a Snickers Linus by CMOS4081 · · Score: 5, Funny

    You turn into Steve Jobs when you are hungry.

    1. Re:Have a Snickers Linus by Marginal+Coward · · Score: 1

      Looks like The Great Pumpkin never showed up - again...

  18. Linus is right. by Anonymous Coward · · Score: 5, Insightful

    It's horrible, horrible code.

    I'm not a C developer, but I know C and have been developing for 20+ years in various other C like languages. The thing Linus is ranting against is absolutely true. The first example is very clear what it does. Assign a variable. The second (new) code is fucked up, and completely unclear what's going on. Check some kind of boundary condition, then some weird shit going on that I don't understand?

    The 3rd example is back to clarity. Check some boundary conditions, then assign the variable. I'd have never guessed the 2nd example does that without reading the 3rd.

    I also happen to agree with Linus about not "toning it down". There's other ways to manage the kind of stupid bullshit that goes on in software development, but one effective way is going apeshit over shit like this. Linus's way isn't the ONLY way, but it does work. Developers tend to be filled with prima-donnas that think everything they produce is gods gift to coding. Sometimes the only way to get through is just yelling at the top of your lungs about shitty fucking code.

    We live in an increasingly hyper-sensitive society where some people want to control speech in a fascist way. I'm so tired of all this bullshit about how it's "disrespectful to women", or other such crap. That seems to be the garbage dump reason for everything someone doesn't like that doesn't fit somewhere else. Just claim rascism, sexism, etc, even when it totally doesn't fit.

    Oh, and please stop with the "The LEFT is trying to silence us.. blah blah blah" nonsense. This isn't "The Left" any more than the westboro babtist church are christians, or the nutjobs that open carry guns into Starbucks is "The Right". All of those are just radical elements of the political divide that have inserted themseves where they get the least criticism for their crazy ideas.

    1. Re:Linus is right. by Anonymous Coward · · Score: 0

      Well said, all of it.

    2. Re:Linus is right. by RobinH · · Score: 2

      ...also, I'm not saying that Linus was out of line here. He didn't specifically attack the programmer, just the code, which is great. The fact that he used a few swear words is not a big deal. It was fucking terrible code.

      --
      "I have never let my schooling interfere with my education." - Mark Twain
    3. Re:Linus is right. by Anonymous Coward · · Score: 0

      This is why it is so complicated: it is because Linus DOESN'T HAVE TIME to review crappy code that is crappy to that level of incompetence. Stop wasting his time submitting code which sucks THAT badly. Do some sort of internal code review first. People need to be called out for their incompetence. It affects the rest of everyone who is working on the project. It wastes our most precious resource: time.

    4. Re:Linus is right. by Anonymous Coward · · Score: 0

      I don't see why being professional is so complicated

      It's not complicated. Professional simply means "being paid for what you do". If that's what you want, just start paying the thousands of Linux kernel developers.

    5. Re:Linus is right. by Dog-Cow · · Score: 1

      When did acting "professionally" come to mean acting against ones nature? Why is it "professional" for Linus not to swear?

    6. Re:Linus is right. by Anonymous Coward · · Score: 0

      This is why it is so complicated: it is because Linus DOESN'T HAVE TIME to review crappy code that is crappy to that level of incompetence.

      Or you could see this as proof that Linus is incapable of delegating (either because he is a bad judge of whom to delegate to or because he is incapable/unwilling to train suitable delegates). In which case it is reasonable to conclude that Linux is going to start to die when Linus does and start making plans accordingly.

    7. Re:Linus is right. by Anonymous Coward · · Score: 0

      When did acting "professionally" come to mean acting against ones nature? Why is it "professional" for Linus not to swear?

      When did acting "professionally" come to mean acting against ones nature? Why is it "professional" for [*] not to [throw staplers|overturn tables|piss on your desk]?

    8. Re:Linus is right. by Anonymous Coward · · Score: 0

      The two things are not mutually exclusive. Linus DOESN'T HAVE TIME for such nonsense like this code, AND it is possible there are delegation issues. However, people just need to STOP submitting crappy code. Linus, or his delegates, don't have time for it. You are wasting THEIR time. So just stop. Just fucking stop. Do some internal code review first.

    9. Re:Linus is right. by Anonymous Coward · · Score: 0

      It's hard to understand because it gets in the way of their lizard brain imperatives. Must rage, attack, kill. Can't slow down, can't think, can't breath.

      The sad thing is you can't get rid of it because the aggression attack works better in a lot of situations than the polite persuasion due to other people's reaction systems.

    10. Re:Linus is right. by Polizei · · Score: 4, Informative

      Not to state the obvious, but here's the definition of `overflow_ubus`

      static inline bool overflow_usub(unsigned int a, unsigned int b,
      unsigned int *res)
      {
      *res = a - b;
      return *res > a ? true : false;
      }


      So the 2 conditionals from the patch are completely idiotic and wrong.
      `overflow_ubus` not only makes an unnecessary assignment to `mtu`, but does a check after that assignment, and then you need another check for it outside of `overflow_ubus`.

      In general, the proposed patch conditionals could be rewritten as

      unsigned int oldmtu = mtu;
      mtu -= hlen + sizeof(struct frag_hdr);
      if (mtu > oldmtu || mtu <= 7)
      goto fail_toobig;


      Now that's ugly!

    11. Re:Linus is right. by Anonymous Coward · · Score: 0

      >We live in an increasingly hyper-sensitive society where some people want to control speech in a fascist way.

      We live in an increasingly hyper-sensitive society where disagreeing with someone somehow means we want to control speech.

    12. Re:Linus is right. by Anonymous Coward · · Score: 0

      I don't see why being professional is so complicated:
      It's not about complex or non-complex. It's a tool to manage people who don't want to listen and will just argue with you incessantly.

      I'm also quite suspicious (much like Linus) about the word "professional". It just seems to be a way to couch what you're really talking about, politeness. That's great if that works for you and you have some means to get the same job done. It doesn't work for Linus, so why should he be forced into someone else's mold?

      There's plenty of very successful people who've used this same management technique to great ends. Behind closed doors Steve Jobs was supposed to have been a total prick sometimes. So is Linus.

    13. Re:Linus is right. by 91degrees · · Score: 1

      I've often wished that languages other than assembler would support an overflow flag.

      I guess the probable is working out semantics for something that does have very limited use.

    14. Re:Linus is right. by AmiMoJo · · Score: 1, Insightful

      Why is that so hard to understand?

      Screw it, I've got karma to burn.

      Some people feel that they should be able to say anything, and as long as it is basically correct everyone else should be fine with it. The language used is irrelevant, or nearly so. People should not be offended by words, and someone else's offence is no reason not to say something, and any consequences are a violation of freedom of speech. Even worse, anyone who does complain is a weakling pussy who should just get the hell out, because this is real men being real men here.

      Of course, they are more diplomatic in the office, or maybe they are just unemployed. But this must be resisted, it's the slow creep of feminism and pussification into everything, our children will grow up to be sissies... Won't somebody think of the children?!

      For me it's really simple. Freedom of speech is not freedom from consequences. If you are not willing to be civil, face the consequences. In the case of Linus, it means fewer people will contribute to the kernel he maintains. Clearly he judges the benefits of being extremely harsh with contributors to be greater than the benefits of being a bit nicer (but still firm). Of course, that's up to him.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    15. Re:Linus is right. by Anonymous Coward · · Score: 0

      Always if your nature is unprofessional. It's unfortunate that Linus is a megalomaniac. It dooms Linux to die with him.

    16. Re:Linus is right. by ArsonSmith · · Score: 3, Interesting

      Much more understandable, ignored and forgotten about. Fuck that, at least his way is getting some attention which may get the shit fixed.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    17. Re:Linus is right. by Procrasti · · Score: 2

      > I don't see why being professional is so complicated:

      Why is everyone trying to change linus? He's the god that gave us this fucking kernel, but everyone thinks they have the right to change how he communicates with the people he works with on his kernel?

      If you don't like linus, or the way he communicates, fine... don't listen to him, ignore him, don't work with him, go make your own kernel and mailing lists etc... why does every PC idiot out there think they have the right to tell others how to communicate... especially someone who's communication and technical style and ability have created one of free softwares best examples.

    18. Re:Linus is right. by Anonymous Coward · · Score: 0

      You seem to have inserted a whole bunch of things that nobody else has even mentioned. I believe this is called a "strawman argument". I don't really have anything else to say other than to point out you seem to be arguing with yourself about some pre-conceived ideas about the discussion and the people on the "other side". I don't believe sissies, pussification, or feminism was raised here. But it's interesting that you chose those targets to take down.

    19. Re:Linus is right. by CrashNBrn · · Score: 1
      What you are talking about has nothing to do with sic "professional", perhaps you meant polite and politically correct.

      but "you're a fucking moron and my gramma is smarter than you" is not OK (for several reasons).

      What reasons? You're a cow and if someone doesn't massage your feelings it wont be nice? How about just replying back, to Linus, "I know right! I AAAAM a fucking moron, but I'm pretty sure I'm smarter than your grandma..." No best not to do that, best cry about someone being so mean, and complain to HR. Don't stand up for yourself though, we wouldn't want that.

      professional [prfeSH()n()l/]
      adjective: professional
      1. of, relating to, or connected with a profession.
      2.(of a person) engaged in a specified activity as one's main paid occupation rather than as a pastime.
      having or showing the skill appropriate to a professional person; competent or skillful.
      noun: professional; plural noun: professionals
      1. a person engaged or qualified in a profession.

    20. Re: Linus is right. by Bing+Tsher+E · · Score: 1

      Not hardly. Linux might possibly fork after Linus passes away. But open source code is convergent: it keeps getting better as the code base grows. So the root code base at the point of any fork will be broad based and well designed, so it won't die as an effect of being forked.

    21. Re:Linus is right. by jeremyp · · Score: 1

      Some languages do. The standard arithmetic operators in Swift, for example throw fatal errors if they overflow (there are "overflow allowed" versions of the operators too).

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    22. Re: Linus is right. by Anonymous Coward · · Score: 0

      Linux after Linus will be ugly code filled with bugs by snowflake programmers.

    23. Re: Linus is right. by Anonymous Coward · · Score: 0

      Now that nice people forked the kernel we will be able to know what works best.

    24. Re:Linus is right. by Anonymous Coward · · Score: 0

      Linus is known for using very strong language. It is also well known that this is not something to worry about. He is your friend again soon enough, if you stop doing wrong. And if not, what more can he do to you anyway? It is not as if he can fire you . . .

    25. Re:Linus is right. by PRMan · · Score: 1

      Given Linus' experience, which I can assume none of us share, what if the nice way gets you 200 bad submissions a week but Linus' way gets you 2. You'd start doing it yourself to cut down all the nonsense check-ins.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    26. Re:Linus is right. by PRMan · · Score: 1

      Because professional businesses take everyone's contributions without tearing people down, but instead they build them up. This results in the best, most skilled workforce.

      But Linus has only volunteers and the only way to keep the inmates from overrunning the asylum is to act this way.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    27. Re:Linus is right. by Pinky's+Brain · · Score: 1

      It's perfectly possible that his brash attitude attracts people, or at least people that matter.

    28. Re:Linus is right. by Anonymous Coward · · Score: 0

      The audience for the message would be much smaller. See: http://developers.slashdot.org/story/15/11/02/1313221/linus-rants-about-c-programming-semantics

    29. Re:Linus is right. by Anonymous Coward · · Score: 0

      Maybe it was meant in another sense? (Of course you know it was...)

      http://www.merriam-webster.com/dictionary/professional

      1.c (1) : characterized by or conforming to the technical or ethical standards of a profession (2) : exhibiting a courteous, conscientious, and generally businesslike manner in the workplace

    30. Re:Linus is right. by RobinH · · Score: 1

      I'm hardly trying to change Linus (as I said, I don't think he did anything wrong), but the GP seems to think this is about the right to call someone names when they make a mistake (something Linus specifically did *not* do).

      --
      "I have never let my schooling interfere with my education." - Mark Twain
    31. Re:Linus is right. by Rinikusu · · Score: 1

      I don't give a fuck what you think.

      --
      If you were me, you'd be good lookin'. - six string samurai
    32. Re:Linus is right. by Anonymous Coward · · Score: 0

      > I don't see why being professional is so complicated

      Because more often than not, it doesn't work in this context. Deal with it

    33. Re:Linus is right. by cfalcon · · Score: 1

      Throwing an error is likely going to be handled different from checking an overflow flag, because you have to "catch" it, right?

      On most (all these days?) processors, you get a carry flag and an overflow flag to reflect the state of the thing you just did. There's a lot of cases where the correct thing is to check the overflow flag, which you can't do in most high level languages, C included. The options are to inline assembler it if it matters that much, or to go through hoops, and the latter option is almost always chosen in practice.

    34. Re:Linus is right. by 0xdeadbeef · · Score: 1

      Stupidity has to hurt, or people don't learn. Better it happen this way then with a bug that compromises billions of devices.

      As the article points out, he didn't call out the author of that code, so they weren't publicly shamed (which, ironically, is the preferred tactic of his critics), but you know they were ashamed, and rightly so.

      Fear of becoming the cause of a Linus rant is part of the quality control of Linux, and it is highly effective.

    35. Re:Linus is right. by jdavidb · · Score: 1

      I'm decidedly not fascist, and I believe in freedom of speech. I don't believe government should regulate it in any way, and I think you should be able to use your press to print what you want.

      But I also believe that an angry outburst is temporary insanity, and in my experience there are very few problems in life that are made better by going temporarily insane. I became a much better problem solver when I took effective anger management and learned to stop having angry outbursts in response to my problems. By learning to avoid the habit of angry outbursts, my brain literally grew new connections for new problem solving habits instead of putting its energy into the temporary insanity habit. People started to like me a lot better, too.

      I enjoy a rageful, disrespectful rant as much as the next guy, and I support your right to have one. But I don't ever stick around to listen when they are directed at me any more, and my life is so much better since I learned to stop having them myself.

    36. Re:Linus is right. by 91degrees · · Score: 1

      Useful, but a fatal error feels a bit heavy handed.

      An obvious application to me would be a bigint library where, when you have an overflow, you simply want to add one to the next element.

    37. Re:Linus is right. by squiggleslash · · Score: 1

      Absolutely, some people pay big money to professional dominatrices for those kinds of services.

      --
      You are not alone. This is not normal. None of this is normal.
    38. Re:Linus is right. by dinfinity · · Score: 1

      If you are not willing to be civil, face the consequences.

      The discussion is about the consequences, not whether people are ready to face them.

      I've seen first hand that telling somebody things in a 'professional' way allows them to dismiss it and fuck up almost identically the next time. Get angry at them and they sure as hell will remember. Now if you get angry without good reason, they will remember you for being an unreasonable asshole. If you get angry with good reason, they tend to get their shit together because they will try to prevent people from being angry at them when it is demonstrably their fault and something they can reasonably change.

      Anger and strong wording conveys importance very primitively and directly. It is up to the speaker to decide what amount of power should be put into his/her message. I believe this is the thing that most often goes wrong. Things that aren't that important are too often brought as if they are, with the associated amount of verbal and emotional power. In addition to that, the speaker and listener have different associations of how powerful certain words and phrasings are. Fuck is a word that means little to me (dare I say fuck-all), but some people get really offended by it. This is more of a shared responsibility, as both speaker and listener need to garner an understanding of what certain words mean for the other.

      Alternatively, you could approach this from the 'real men' (I prefer 'confident adults') side: in my experience, the people who don't throw a hissyfit about being talked to strongly are definitely the most reliable and capable people, willing to change their ways. These are people who care about the reasoning, not the words. About the function and not the form. The extreme ones are almost completely impervious to and unmoved by any swearing whatsoever. I see that as a huge asset.

    39. Re:Linus is right. by HiThere · · Score: 1

      Even more to the point, if you have just reason and get mad at someone, and they do the same thing again, and you get mad again, they are likely to leave of their own free will. As long as you have more people trying to join your group than you can handle, this will lead to an increasingly skilled group, as the ones who remain will be skilled, and able to learn to avoid repeating stupidities.

      But for best results you've got to be good enough to not get wrong incorrectly, and if (when) you do to be willing to apologize in public.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    40. Re:Linus is right. by Anonymous Coward · · Score: 0

      Linus is technically right. His solution makes sense, but isn't the only solution.

      But the level of professionalism is zero. It's like we're living in a college classroom. Really.

      Back in the 1800's people were way more professional/courteous and didn't yell at things like this. And the world functioned just as normal, maybe better in some respects (history is a good basis of judgement vs rants, folks)..The world still functioned just fine in the 1900's. Sure does say something. Heck even saloons we're gun free zones (you checked your piece in...). Nowadays....

    41. Re:Linus is right. by GrahamCox · · Score: 1

      So I call:

      if( overflow_usub( a, b, NULL )){...

      whoops.

    42. Re:Linus is right. by Anonymous Coward · · Score: 0

      I'm sure glad that overflow_usub was so well commented! It's always nice to have the code explain exactly what the fuck it's doing for anything more complicated than min or max.

    43. Re:Linus is right. by Anonymous Coward · · Score: 0

      For me it's really simple. Freedom of speech is not freedom from consequences. If you are not willing to be civil, face the consequences. In the case of Linus, it means fewer people will contribute to the kernel he maintains. Clearly he judges the benefits of being extremely harsh with contributors to be greater than the benefits of being a bit nicer (but still firm). Of course, that's up to him.

      a thousand times this!

    44. Re:Linus is right. by SharpFang · · Score: 1

      So we have two typical team development models:

      - A developer of a complex project can, and does use abusive language in case of bad screw-up. If you fucked up, you may expect some bad tongue-lashing. It's clear who screwed up. If they don't improve nevertheless, they are expunged.

      - Nobody on the team is allowed to use abusive language no matter what the situation and how badly the other party fails, and keeps failing; only mild and sensitive criticism is allowed and can be ignored without consequences. Violation of the good behaviour rules regardless of the situation results in disciplinary consequences including expulsion. Blame for project failure is shared equally between members of the team; nobody gets singled out and called out on specific reason for failure; everyone suffers the same consequences, usually related to finances and promotions.

      Are you claiming the former situation will drive more developers away than the latter?

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    45. Re:Linus is right. by SharpFang · · Score: 1

      Some people are willing to cope with co-workers using strong language if it means they don't need to watch their own language every turn and feel safe to joke about forking someone's repository or using dongles, without fear of being fired, their technical merit notwithstanding.

      The "friendly, gentle and safe" environment envisioned by the feminists and the likes turns out to be quite oppressive to a number of professionals, with need to think twice before you choose to speak your mind, lest you offend some sensitive ears and face disciplinary action for violation of code of conduct.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    46. Re:Linus is right. by SharpFang · · Score: 1

      Oh, but what about consequences? If the other party felt offended by your assertions, they can file a complaint and regardless of merit of the argument, the side that (allegedly) offended the other is facing consequences.

      Just try to publish performance comparison at specific technical jobs between male and female employees. No matter how much scientific scrutiny you have applied to accuracy of the comparison, your career has just ended, you sexist swine.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    47. Re:Linus is right. by SharpFang · · Score: 1

      Back in the 1800's people were way more professional/courteous. Then it appeared that common workers want to be considered "people" too (look! How funny, he thinks he's people!) and the 1800's ended with some more or less bloody revolutions.

      Your politeness is not a measure of your professionalism.
      Your politeness is not a measure of your humanity.
      Your politeness is not a measure of your value comparing to other people.

      Your politeness only affects the superficial aesthetic impression you cause. And people, who value others by the superficial aesthetic expression are definitely not professional.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    48. Re:Linus is right. by Anonymous Coward · · Score: 0

      > When did acting "professionally" come to mean acting against ones nature?

      When someone realized that having a toxic workplace is counterproductive?

      The kernel mailing list is not your typical office environment, but there's a certain decorum to working with others that anyone who's spent any time in a real workplace knows is necessary.

      I'd be interested in knowing whether Linus used the same kind of language with his coworkers in the Transmeta offices...

  19. Incorrect headline by Dog-Cow · · Score: 4, Informative

    Not that this will surprise much of anyone, but the headline is wrong. Linus did not rant about C programming semantics. He ranted about a specific C function and the style used to perform a sanity check.

  20. You have to give L.T. one thing... apk by Anonymous Coward · · Score: 0

    See subject: At least he's honest & forthright about things - in my book that goes a long ways as it's better than being a "politically correct" snake...

    APK

    P.S.=> Keep it up Mr. Torvalds: This person, & I'm sure I'm not alone, respect you for it (and your accomplishments along with it)... apk

    1. Re:You have to give L.T. one thing... apk by fisted · · Score: 1

      Yes, but where is the source code?

  21. Why is this newsworthy? by Anonymous Coward · · Score: 0

    Seriously slashdot?

  22. When create the most used operating system by duckintheface · · Score: 1

    on the planet you have, criticize Linus can you.

    --
    "He took a duck in the face at 250 knots." -- William Gibson, Pattern Recognition
    1. Re:When create the most used operating system by Anonymous Coward · · Score: 1

      When create the most used operating system on the planet you have, criticize Linus can you.

      Or, you know, just hit Reply and criticize it. Your choice.

      * And for the love of fuck, please all stop starting posts in the Subject line..

    2. Re:When create the most used operating system by Provocateur · · Score: 0

      you're responding to the wrong post.

      --
      WARNING: Smartphones have side effects--most of them undocumented.
    3. Re:When create the most used operating system by SQLGuru · · Score: 3, Funny

      * And for the love of fuck, please all stop starting posts in the Subject line..

      I never understood why people do that. It's the equivalent of having the first line of your letter be on the outside of the envelope.....or the first line of your e-mail be in the subject line......

      Oh wait --- car analogy required.....
      It's like having the ignition switch located on the hood of your car.

    4. Re:When create the most used operating system by gstoddart · · Score: 4, Interesting

      What the hell do you expect, "Dear Sir"?

      Look, in emails, and all the way through Usenet and frigging dial up BBS systems ... the start of a thread IS the subject line.

      I don't get this bitching about actually using the damned subject line for exactly what they've been used for 30+ years.

      Do you expect some random salutation or other piece of text completely unrelated to the body?

      We don't need a damned car analogy, we need to stop having a bunch of whiny idiots trying to redefine WTF the subject line is there for, and how it's been used for decades.

      --
      Lost at C:>. Found at C.
    5. Re: When create the most used operating system by Anonymous Coward · · Score: 0

      I don't recall getting an email in 20+ years where first sentence is started in Subject and continues in body. I've had completed sentences that equate to a summary, but never a start that was continued into the body.

      I'm young enough not to use usenet beyond warez where its a full file description in the subject, so I can't speak against that, but I'm still thinking you're full of shit and stupid for bastardizing the subject line.

    6. Re:When create the most used operating system by tepples · · Score: 1

      The problem comes when the comment cannot be understood or <quote>d without its subject. Try to read a comment started in the subject line out loud: "When create the most used operating system, score one by duckintheface on November second at 9:17, on the planet you have, criticize Linus can you."

      A comment subject should summarize the comment to give the reader an idea of whether to expand a comment whose score is between the "abbreviated" and "full" threshold.

      Subject: How popular is your OS?

      When create the most used operating system on the planet you have, criticize Linus can you.

    7. Re:When create the most used operating system by Barsteward · · Score: 1

      i think its about changing the subject line part of the way down the thread instead of starting a new thread

      --
      "The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
    8. Re: When create the most used operating system by rickb928 · · Score: 3, Informative

      Do or not do. There is no criticize.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    9. Re:When create the most used operating system by Rakarra · · Score: 1

      Look, in emails, and all the way through Usenet and frigging dial up BBS systems ... the start of a thread IS the subject line.

      Eh, in emails, Usenet, BBS, pretty much every place with separate subject and message, the subject line is the subject. A topic. Not the first half of the first sentence of the message. Those are two different things. Hell "When create the most used operating system" isn't even a full thought. It's almost meaningless without the punchline in the message.

      I personally don't care as much because I read most things on Slashdot in collapsed form, but if I didn't, it'd probably get annoying and old, really fast.

    10. Re:When create the most used operating system by Everything+Else+Was · · Score: 1

      Bingo! Damn right... it's just laziness. The author can't be bothered coming up with a proper subject line. If that's the case, just leave the default "Re: ..." subject.

      --
      My other account has mod points!
    11. Re:When create the most used operating system by msauve · · Score: 1

      "* And for the love of fuck, please all stop starting posts in the Subject line.."

      Linus, is that you?

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
  23. HolyC Compiler by Anonymous Coward · · Score: 0

    I wrote a new language from God:
    http://www.templeos.org/Wb/Doc/HolyC.html

    This is about my 20,000 line of code x86_64 compiler/assembler/unassembler that works JIT and AOT:
    https://www.youtube.com/watch?v=v9yctup6bIw

    1. Re: HolyC Compiler by Anonymous Coward · · Score: 0

      Yes, then you called us pascal users niggers and faggots.

      I've seen your vax work, and your shitty udp telnet. They sucked. Your use of dod addresses as security is laughable.

      You are just another nutter.

  24. Microaggressions by Anonymous Coward · · Score: 2, Funny

    I have NO IDEA who this Linus guy is, but his microaggressive behavior will not be tolerated in the Open Source community. I doubt he was much of a contributor to Open Source, but we need to ban him as he is creating a toxic environment in my safe space. No big loss.

    1. Re:Microaggressions by mazevedo · · Score: 1

      Bravo! Still laughing!

      --
      mazevedo
  25. Is there a use for overflow_usub? by 91degrees · · Score: 4, Insightful

    Seems that overflow_usub() will always be less readable than a condition then a subtraction. It's a pretty obscure function - searching for it reveals most of the discussion is about this specific patch. It will save an instruction or two with appropriate compilers, by using the JC instruction rather than a CMP/JZ and in really performance critical code this will matter, but most code benefits more from readability than that extra instruction.

    1. Re:Is there a use for overflow_usub? by Anonymous Coward · · Score: 0

      In this case it would not even safe the branch, notice that the patch has an additional || mtu = 7 compared to Linus solution. It is effectively harder to read, harder to maintain and less efficient than the straight forward portable C version.

    2. Re:Is there a use for overflow_usub? by T.E.D. · · Score: 1

      instruction or two with appropriate compilers, by using the JC instruction rather than a CMP/JZ and in really performance critical code this will matter, but most code benefits more from readability than that extra instruction.

      More to the point, if that single instruction is so all-fired important, fix the dang compiler to recognize that case! Don't uglify the source code.

    3. Re:Is there a use for overflow_usub? by Anonymous Coward · · Score: 3, Informative

      http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0103r0.html

      I guess the compiler developers and the IETC are all just idiots.

      We use these functions in HFT all the time. Too bad it's too "complicated" for kernel developers to understand...

    4. Re:Is there a use for overflow_usub? by PRMan · · Score: 1

      So the guy is trying to save a single opcode on CPUs that typically run billions of opcodes a second? Talk about premature optimization...

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    5. Re:Is there a use for overflow_usub? by 91degrees · · Score: 1

      Ah yes, of course. Because HFT is so broadly useful to society that programming languages should be specifically designed to accommodate it.

      And it's not that it's too complicated. It's that outside of some very specific niches, counting individual instructions just isn't worth the extra complexity for less readable code. Quite frankly I'm surprised it is worth it even for HFT.

    6. Re:Is there a use for overflow_usub? by GabeGhearing · · Score: 1

      instruction or two with appropriate compilers, by using the JC instruction rather than a CMP/JZ and in really performance critical code this will matter, but most code benefits more from readability than that extra instruction.

      More to the point, if that single instruction is so all-fired important, fix the dang compiler to recognize that case! Don't uglify the source code.

      This builtin IS the fix. Most architectures have a register that flips when overflow happens and this builtin is how you can agnostically access it. http://stackoverflow.com/quest...

      The only real problem with the original code is that it's hard to read and the performance benefits better be worth making the code more cumbersome. If the code is in a loop that runs millions of times, then Linus may be wrong here(I didn't look deep into this).

    7. Re:Is there a use for overflow_usub? by shutdown+-p+now · · Score: 1

      HFT may not be useful to society, but it's irrelevant here. HFT is very useful for the people who do it, and who therefore hire developers to write code to do it better. And those people don't look kindly at overflow bugs that might cost them a fortune.

      The fact is, integer overflow is a constant source of bugs, eclipsed only by buffer overflow. Adding things to programming languages that encourage safe handling of overflow is a good thing.

    8. Re:Is there a use for overflow_usub? by 91degrees · · Score: 1

      The only real problem with the original code is that it's hard to read and the performance benefits better be worth making the code more cumbersome. If the code is in a loop that runs millions of times, then Linus may be wrong here(I didn't look deep into this).

      It's network code. I presume "mtu" is maximum transfer unit and "hlen" is header length. So this is something that will be done at most for every packet (this is the maximum. It's possible that it's only called once). Either way, while you may want to be pretty efficient here, we're not really at a cycle counting levels of speed requirements.

    9. Re:Is there a use for overflow_usub? by rcase5 · · Score: 1

      It will save an instruction or two with appropriate compilers, by using the JC instruction rather than a CMP/JZ and in really performance critical code this will matter...

      Not necessarily. Just because a snippet of machine code contains fewer instructions doesn't mean it will be faster. Case in point, (and I apologize in advance because this was 25 years ago and it's been a while since I've delved into Assembly code, so I may not remember the fine details exactly) the 80486 (I think) introduced an instruction which handled hand-off of a function call. This meant that what used to have to be done with 5 instructions could be done with just one. The problem was that the new instruction took 35 clock ticks to perform it's magic while the 5 instructions took 10. This is why Microsoft compilers at the time stayed with the old way of passing off to a function call, but Borland (the other big player in compilers at the time) went to the new way. No surprise, Microsoft-generated code was faster than Borland-generated code.

  26. "C programming semantics" - you mean "C code" ? by Anonymous Coward · · Score: 0

    Are you paid per character ?

  27. BREAKING NEWS by Anonymous Coward · · Score: 0

    Linus Torvalds is angry about something! Also, a strange, glowing sphere of fire was sighted rising in the sky this morning!

  28. Re:Linux is for Cows by frup · · Score: 1, Funny

    apt-get moo
                     (__)
                     (oo)
               /------\/
              / |    ||
             *  /\---/\
                ~~   ~~
    ..."Have you mooed today?"...

  29. Anyone have a link to source code? by trout007 · · Score: 1

    Just curious what it looks like in context.

    --
    I love Jesus, except for his foreign policy.
    1. Re:Anyone have a link to source code? by Anonymous Coward · · Score: 1
      Here's the commit where they revert the change, and the commit comment for your reading pleasure:

      Revert "Merge branch 'ipv6-overflow-arith'"
      Linus dislikes these changes. To not hold up the net-merge let's revert
      it for now and fix the bug like Linus suggested.

      This reverts commit ec3661b, reversing
      changes made to c80dbe0.

      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: David S. Miller <davem@davemloft.net>

      -- Walking The Walk (posting anon so I can keep moderating this story)

    2. Re:Anyone have a link to source code? by Dog-Cow · · Score: 1

      Here. There's lots of source code available.

  30. Re:Linux is for Cows by Schmorgluck · · Score: 3, Funny

    Oooh, good! That joke was getting old. Nice way to milk it.

    --
    There's nothing like $HOME
  31. Wow, that does look terrible. by Ihlosi · · Score: 1
    Cramming a simple conditional into a weird, side-effect-producing function is just horrible.

    And next thing, someone who doesn't know about short circuit evaluation in C will swap the two conditionals.

    1. Re:Wow, that does look terrible. by fisted · · Score: 1

      someone who doesn't know about short circuit evaluation in C will

      be unlikely to write kernel code, much less submit upstream

    2. Re:Wow, that does look terrible. by Anonymous Coward · · Score: 0

      Yes, but where is the source code you committed? It's not. There's no linux kernel code submitter named fisted.

    3. Re:Wow, that does look terrible. by Anonymous Coward · · Score: 0

      Where's your sourcecode or a program you've done others say is good fisted? Non-existence is where it is. It just isn't. Where's your sourcecode and linux patches. I don't see any from anyone named fisted either.

      You asked it of apk as you trolled him all last week and he told you it's not available for abuse as Chrome's was in that very article for making malware out of it as well as the fact malwarebytes' people have it as well as recommending and hosting his program which slashdotters even said is good also http://it.slashdot.org/comment... and today on that too http://slashdot.org/comments.p...

      This all shows you're butthurt over your multiple fails to apk and that you're a talker not a doer and a troll.

      Then you libeled apk calling his ware others like a malware and he shut you up quickly with 60 proofs to the contrary http://slashdot.org/comments.p...

      You're trolling sandscum fisted. This is why you and yours ended up in deserts. Good people drove your kind out of the good lands.

    4. Re:Wow, that does look terrible. by fisted · · Score: 1

      your meds, apk, your meds.

    5. Re:Wow, that does look terrible. by Anonymous Coward · · Score: 0

      Fisted you trolled apk on that today (again). Apk shut both Coren22 and you right up easily here http://slashdot.org/comments.p...

    6. Re:Wow, that does look terrible. by Anonymous Coward · · Score: 0

      fisted wonders why apk speaks about itself in 3rd person form.

    7. Re:Wow, that does look terrible. by Ihlosi · · Score: 1
      be unlikely to write kernel code, much less submit upstream

      The ignorance can be temporary, caused by simple things like lack of caffeine or lack of sleep.

  32. isnt this what broke OpenSSL by Anonymous Coward · · Score: 0

    Endlessly crosslinked ifdef header crap?

    1. Re: isnt this what broke OpenSSL by Anonymous Coward · · Score: 0

      No, they thought they knew libc better than the os.

  33. goto is perfectly fine here. by Ihlosi · · Score: 1
    ... while ignoring that ugly "goto".

    It's not ugly if it's used in this context (usually involving breaking out of several levels of loops/conditionals, and/or go to one specific error handling code snippet from several points in the function).

    1. Re:goto is perfectly fine here. by Anonymous Coward · · Score: 0

      In 20 years of c/c++ programming, I've never once used goto.

    2. Re:goto is perfectly fine here. by Ihlosi · · Score: 1
      In 20 years of c/c++ programming, I've never once used goto.

      Neither have I, but I haven't needed lots of error-handling code or breaking out of deeply-nested loops/conditionals. I can see the usefulness and simplicity of a goto there, though.

      Also, in C++ you'd probably use try/catch blocks for a similar purpose.

    3. Re:goto is perfectly fine here. by Anonymous Coward · · Score: 0

      RAII is more likely.

    4. Re:goto is perfectly fine here. by david_thornley · · Score: 1

      In C++, ideally the cleanup is in the destructors, In most cases, I'd use exceptions for error handling, but in something like the kernel that may well not be a good idea.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:goto is perfectly fine here. by coats · · Score: 3, Informative
      Donald Knuth agrees with you, by the way.

      Part of the reason is this: while it's provable that you can use ifs and whiles to eliminate all gotos, the proof also demonstrates that code-length may grow exponentially in the number of gotos eliminated.

      --
      "My opinions are my own, and I've got *lots* of them!"
    6. Re:goto is perfectly fine here. by cfalcon · · Score: 1

      > In 20 years of c/c++ programming, I've never once used goto.

      It's possible you've never run into a situation where it's the better way to code it. It's also possible that you have and did it in a lesser fashion.

    7. Re:goto is perfectly fine here. by cfalcon · · Score: 1

      It also depends on how often you expect the failure case to occur. If catch fires a reasonable amount in code where performance matters, that can be bad. You can still use goto in C++, of course.

    8. Re:goto is perfectly fine here. by Anonymous Coward · · Score: 0

      Well, but doing some

      for (;;)
          {
              switch (...)
              {
              }
              break;
          }

      number so that one can break out from inside a switch or restart from the top by using either `break;` or `continue;` is not really all that much prettier than a `goto reswitch;`.

    9. Re:goto is perfectly fine here. by Anonymous Coward · · Score: 0

      In C++, ideally the cleanup is in the destructors, In most cases, I'd use exceptions for error handling, but in something like the kernel that may well not be a good idea.

      Read Linus's explanation on why he wrote the kernel in C and not C++.

    10. Re:goto is perfectly fine here. by gweihir · · Score: 1

      Very, very true. Also, the original statements by Djikstra have to be seen in context: Back then people used "goto" and "if" for all looping constructs, creating horrible messes.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  34. Disagree with the language used... by mseeger · · Score: 2, Insightful

    Two points:

    a) I agree with him on the code, but I am not a competent coder myself.

    b) I disagree with the form of communication and that is an area where I am competent.

    As Linus expects others to write proper code, I expect people to conduct proper communication.

    Same rules apply: If it does not improve the flow of information, it does not belong in the email. Some swearwords don't bring any points across that could not be covered by "professional english" subset ;-). I think "sh*t" and "crap" may be considered validly applied here. But beyond that, it generates an unnecessary conflict at rc7 time. ï

    1. Re:Disagree with the language used... by mseeger · · Score: 1

      Look in the mail Linus wrote ;-).

    2. Re:Disagree with the language used... by mseeger · · Score: 1

      As I wrote, i don't complain about "sh*t" or "crap".

      But he writes the author is "incompetent and out to lunch" and accuses him to do things for "compiler-masturbation".

      My main point is: this serves no purpose. It does not make anything clearer or help the discussion (rather to the contrary).

      I don't want to have every sentence corrected by ten people and checked for gluten ;-). I just think, even a genius can afford a bare minimum of civility.

    3. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      I don't agree, and here's why.

      Wanting to put your own coding standards on something because of shared values is fine, as long as the values are shared. Most people these days agree that coding clairty is very important, since ultimately code needs to be maintained.

      Putting YOUR standards of behavior on other people is an entirely different matter however. That smacks of fascism. Behave this way, or else.

      Do you not see the difference between trying to control human behavior, and trying to control code quality? You personally are offended by swear words. Many people aren't. That means it's incumbent upon you to just avoid situations where you're offended by things, not incumbent upon everyone else to "watch their language around you", lest you be offended.

      Personally I'm not offended by swear words. I am offended by Rush Limbaugh, Dick Cheney, gun nuts, and radical feminism. I just try to avoid those people rather than try to silence them. Perhaps you should do the same.

    4. Re:Disagree with the language used... by phantomfive · · Score: 1

      b) I disagree with the form of communication and that is an area where I am competent

      OK, so here's a serious question. The reason Linus communicated in such a rude way was to prevent people from using those functions ever again in his codebase, and I think it will probably work. What would you have done to reach that same goal?

      --
      "First they came for the slanderers and i said nothing."
    5. Re:Disagree with the language used... by mseeger · · Score: 1

      What I would have written (example):

      "and nobody will think that the above is (a) legible (b) efficient (even with the magical compiler support) or (c) particularly safe."

      "A shiny function that we have never ever needed anywhere else, and that is just used as showcase for a compiler feature."

      The sentence "And itâ(TM)s a f*cking bad excuse for that braindamage" would have been scratched completely by me, as it does not contain any message.

    6. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      You can't divide the subject matter up into "programming language used on a project" vs. "human language used on a project." As a corollary, people who aren't qualified coders also aren't qualified to comment on the human language used.

      To explain this to you only a tiny bit, part of the purpose of the human language used is to maintain the purity of the project. Unfit personality types are repelled by the abrasive leader, keeping the ranks of the workers strong.

      People who have overdeveloped interpersonal skills tend to be terrible with math and programming, much less computer science. They also tend to take offense at insults. Linus is a genius who puts these two things together: as he highlights the lack of programming skill, he offends with insult.

      The ultimate result is that losers leave the Linux project and the project as a whole stays a winner.

    7. Re:Disagree with the language used... by Puff_Of_Hot_Air · · Score: 1

      Your response fails to communicate two emotions Linus is trying to get across. Anger and shame. Now, you may disagree that Linus should be communicating that he is angry, or that the other person should feel shame, but this is clearly what he is doing and your translation misses this content.

    8. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      Or maybe he uses that style because the people he usually deals with are sufficiently dense or argumentative that either the message won't get through at all or he will be subject to endless arguing about the matter?

    9. Re:Disagree with the language used... by mseeger · · Score: 1

      If he wishes to convey that, he can write "I am angry." But I would advise against that.

      Because there is another point, that one should be aware of. There is a huge "power differential" between the sender and the recipient of the mail.

      If I were to say "Puff_Of_Hot_Air posts a lot of cr*p online" this might not be nice, but it would not impact his life much (but perhaps our relationship). Our levels of "power" are roughly same.

      Should I write the same about an employee of my company, this might make that person fear for his job. That is because in that context, I wield a lot of power. The effect is there, even if I do not intend to do any harm.

      Linus is a very powerful person. Not formalized power, but probably more powerful than the average politician. Others may socially or otherwise harm the person dissed in that post. Not because Linus wants it to be done, but just because those persons admire Linus. There are probably a lot of admirers in the area the recipient is working in.

      The excessive use of such explicit language will lower the barrier that prevents others from taking a negative action.ï

    10. Re:Disagree with the language used... by T.E.D. · · Score: 1

      As a moderator on a StackExchange stack, I spend an inordinate amount of my free time deleting posts very much like Linus'. Regardless of whether there was a legit point in there, or nothing beyond being insulting, we have a "Be Nice" imperative, and content that can't manage to flop itself over that eensy little bar of civility will get toasted.

      All this defense of the insults, well I see more of my free time flashing before my eyes.

    11. Re:Disagree with the language used... by nomadic · · Score: 1

      "The reason Linus communicated in such a rude way was to prevent people from using those functions ever again in his codebase, and I think it will probably work."

      Why do you think it would probably work? Over-the-top insults and tantrums typically don't work; it creates resistance and anger, and is a very unproductive way to deal with things. It kills loyalty, it saps motivation, and it causes resentment. More importantly in terms of whether the mistake is going to be made again, it makes it more likely that it will happen again than if a softer approach had been taken, due to cognitive dissonance. The recipient of this kind of attack is more likely to think that the attacker is wrong in some way; the brain looks for a reason, and will probably find one. If the complaint had been conveyed more gently, in an explanatory rather than an accusatory claim, the coder would be far more likely to realize the error and not make it again.

      Also just as a practical matter, it's not a great survival trait; one of these days Linus might very well mouth off to the wrong person and get a broken jaw in return.

    12. Re:Disagree with the language used... by mjr167 · · Score: 1

      The whole argument that it is acceptable for Linus to convey his anger and shame seems to boil down to developers should "suck it up" and detach emotionally from their code. If that is true, should not Linus also detach emotionally? Or is he the only one who gets emotions?

      Can I talk to my kids the way Linus talks to developers? Can your kids talk to you that way? If you don't want your kids talking that way, why is it ok for you or Linus? Anytime you find a situation where there are different standards for different groups, you should ask yourself why. Sometimes the double standard is appropriate. Sometimes it's not. We should still take a moment to ask ourselves which standard is right and is the difference valid.

    13. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      Why the hell should those functions never be used again? Because FAR easier than swearing and hoping that people "take the hint" (why not ACTUALLY SAY, hmm? Or is English far too common for Linus?) would be REMOVE THE FRIGGING FUNCTIONS.

      What has Linus done by swearing other than show no self control and a Jobs-sized egomaniacal streak?

    14. Re:Disagree with the language used... by nine-times · · Score: 1

      Same rules apply: If it does not improve the flow of information, it does not belong in the email. Some swearwords don't bring any points across that could not be covered by "professional english" subset ;-).

      I do think there's a little complexity here, and I'm not sure exactly how it works in this situation. What I have in mind is that, honestly, I might swear and say "unprofessional" things when communicating with coworkers. If I'm talking to someone who I work closely with on a daily basis, it's possible that I'd see something I thought was stupid and say, "Oh my god, that's so f#*^king stupid. What the hell was that guy thinking. If he does that again, I'm going to put my foot up his a$%." But that's in speaking to a guy that I know well, that I work with every day. I wouldn't say that on my company's twitter account.

      So I do wonder, is there some disconnect in understanding what this mailing list is? I don't know, just putting the idea out there. Maybe Torvalds thinks he's talking to coworkers, and the rest of us are reading it as though it's a professional public communication.

    15. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      Out of curiosity, do you feel that drill sergeants should be polite to recruits?

      As a learning experience, it's much easier to shrug off "Gee, that wasn't a very good idea, I wish you wouldn't do that again", as opposed to "you *expletive* *expletive* moron, don't ever *expletive* do that again or I'll rip your *expletive* head off and *expletive* it!".

      I guarantee you that 5 years from now, someone will remember the second example before the first.

      Because of the way he writes his rants, they get far more coverage than they would if he wrote to the professional standard you espouse-- or to put it in easier language for you, he's leveraging the downside of his reputation to ensure more return-on-investment in peer-to-peer communications.

    16. Re:Disagree with the language used... by Cederic · · Score: 1

      What the fuck is wrong with swearing?

      It's just words. Shit, it's not even targeted - unlike your personal attack on Torvalds.

      I'd rather employ someone competent with a full range of vocabulary than some fuckwit that thinks swearing is somehow a bad thing.

    17. Re:Disagree with the language used... by mseeger · · Score: 1

      If you do this and say "You moron" to your coworker, you both are on the same power level. But probably nobody except him will ever hear it and he might not even take it serious (because he knows you).

      But now imagine that the boss of your boss of your boss says the same about you on an official company meeting in front of all other employees. Even if meant as joke, as most people don't know him personally, it will be taken seriously.

      Linus is a very powerful person. Though he did not try to achieve that, he wields an incredible amount of power. He must be very careful wielding it.

      There is a reasons that medieval kings usually spoke most polite. Because when Henry II once uttered "Who will rid me of this troublesome priest?", Thomas Beckett died. Probably Henry did not intend to command murder (historians are divided about that), but it happened nonetheless.

      Luckily we live in better times and probably (and I am sorry to have to include that qualifier) nobody will kill anyone else due to a diss by Linus. But if Linus shows anger, this may cost people their job and career.

    18. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      It serves a purpose: the developer IS incompetent. The code is even wrong! The developer should know that he is incompetent so that he does what is necessary to be become competent. What people like you don't understand is: time is finite. If you are busy, you don't have time for incompetence. If you are incompetent you should not be submitting code to the kernel. You are wasting other peoples time, which is extremely rude.

      I guarantee the schmuck who wrote this code won't submit crappy code again.

    19. Re:Disagree with the language used... by bsolar · · Score: 2

      As Linus expects others to write proper code, I expect people to conduct proper communication.

      Linus expects proper code from those who contribute to his project: what you do in your own project is your business. Similarly, you are free to expect people to conduct "proper communication" within the communities *you* control, but not to force your expectations to communities *other people* control.

    20. Re:Disagree with the language used... by mseeger · · Score: 1

      If I wish to scare a recruit sufficiently to obey me and charge into near certain death at some point in the future, I may chose that approach. And it works only with a certain type.

      Should I rely on the recruits intellectual work, that approach would be very counter-productive. Believe me, pointing out a stupid mistake in a very discrete manner can achieve a much better effect.

      P.S. Went through army training (15 months) and really can't remember a single thing of what was yelled at me back then.

      P.P.S. If you want people to change their ways, exposure or coverage actually damages the cause. Because people remember the shaming much stronger than the cause. It may have an effect on others as well then, but such is called "making an example of" and I truly hope Linus is above that.

    21. Re:Disagree with the language used... by phantomfive · · Score: 1

      Why do you think it would probably work?

      Mainly because of the empirical evidence of it having worked for Linux in the past.

      --
      "First they came for the slanderers and i said nothing."
    22. Re:Disagree with the language used... by nine-times · · Score: 1

      But now imagine that the boss of your boss of your boss says the same about you on an official company meeting in front of all other employees. Even if meant as joke, as most people don't know him personally, it will be taken seriously.

      Yeah, but this is part of what I was thinking. And I'm stressing that I don't follow these things and I don't know, but it sounds plausible that it'd be sort of like if the boss of your boss of your boss did that at a company meeting in front of other employees, and then was like, "What? That was just a friendly meeting and we're all friends here." Like maybe it's not as much about being completely antisocial, and more about horrifically misreading the situation.

    23. Re:Disagree with the language used... by Puff_Of_Hot_Air · · Score: 1

      But this what it really boils down to isn't it? It's not how Linus is communicating, it is what he is communicating. When people say he should be more "professional", what they are asking for is that the emotion be removed from the communication. Linus doesn't want to remove the emotion, he wants it to be plain and clear. I'm not sure which side of the fence I fall on this one; I don't think there is a clear right or wrong answer, but it hits people in that "belief" area, hence the emotion in response! Forthwrite communication is absolutely essential to a successful technical enterprise, so I think some emotion needs to be there. I'm just glad I work in an environment where most of my communication is verbal and not scrutinised by huge numbers of people.

    24. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      Why? Because Linus has decades of experience wrangling thousands of developers, unpaid and corporate-backed alike, to cooperate and create something resembling a functioning kernel. Given the success toward that end, I'm going to assume that Torvalds is correct, that sugarcoating doesn't work in that situation.

    25. Re:Disagree with the language used... by Puff_Of_Hot_Air · · Score: 1

      Well, I'm not sure people can detach emotionally, and I'm not sure the fact that a brutal attack on their code will be taken as an attack on them means that you can't attack the code. Linus is very suspicious of the word "professional", I am very suspicious of the word professional. The outcome that we seek in a technical environment is that the best technical solution is found and used. But individuals always invest part of themselves into any creative work, and will not be able to unbiasedly evaluate it, especially after it has been written. It is much easier to move away from a bad idea while it is still just an idea, than it is to admit that a function, feature, or product is simply bad or a bad fit. You still need to do it though. In normal work, I think how this should translate is that every idea should be savaged, attacked, (or if you prefer, refined) so that the problems are rectified before people have invested too much time or "self" into it. But getting back to your point; it's a war, it's always a war, and you can't always be nice when you're in a war.

    26. Re:Disagree with the language used... by TsuruchiBrian · · Score: 1

      What about a competent person who said the n-word all the time?

    27. Re:Disagree with the language used... by mseeger · · Score: 1

      30+ years in the business, been there, seen that :-(

    28. Re:Disagree with the language used... by mjr167 · · Score: 1

      Why are we at war? What are we destroying? Bad code? Why is the elimination of bad code so violent?

      There is a difference between attacking a person and critiquing their work. There is an art to constructive criticism. As soon as you start swearing you turn it from a critique into an attack. By making personal attacks, you make it personal. I frequently tell my coding minions that their code is bad and they need to rewrite it, but I don't call them names or swear at them. Instead I tell them "this is unacceptable and why." Either they defend themselves (sometimes they have a reason) or they fix it, but we don't get emotional. I don't call them stupid. I don't swear. I don't take them out back and beat them.

      "Professional" does not mean we sit around a campfire singing songs and telling each other how much we love each other. It means we treat each other with respect. Everyone has bad ideas and everyone writes bad code. We don't need to get emotional about it and attack each other.

    29. Re:Disagree with the language used... by Cederic · · Score: 1

      It's important to be able to say 'no' in a professional environment.

      Or did you mean 'nigger'? That's a very emotive term heavily laden with racial meanings, and generally deemed inappropriate for work use.

      Definitely one for HR to deal with.

    30. Re:Disagree with the language used... by Puff_Of_Hot_Air · · Score: 1

      It's always a war, because we are always competing. As soon as we stop, we die. As to your other point, if you tell your minions that their code is "bad" and they need to rewrite it, what difference if you swear or not? You seem to think that the harm is in the words used rather than the act. I'd suggest that there is no difference at all.

    31. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      Bad code handed to him wastes his time at best and destroys a world full of Linux users data at worst. I'm ok with him yelling about that. I'm also ok with people who get their panties in a bunch over it not contributing code to the kernel. I doubt any of their "contributions" will be missed.

    32. Re:Disagree with the language used... by TsuruchiBrian · · Score: 1

      I meant "nigger". It does have a lot of baggage. Which is why I am curious if your "it's just words" statement still holds, or whether there are some exceptions to this rule. "Fuck" is generally deemed inappropriate for work use as well.

    33. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      And here we have a person that lives in a complete fantasy-world where bosses and higher-up staff aren't dicks and won't shit in your cereal because you did something stupid.

      I've yet to meet these supposed "professional" bosses.

    34. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      Linus' job is not masturbatory writing, but getting shit done in one of, if not the, largest software projects on the planet. He has been doing that for years, while his critics bitch and whine nonstop that someone they never met writes in a style they don't like to people they never heard of who have no problem reading it.

    35. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      same rules don't apply... no one wants to have their ideas included in mseeger's manifesto of morals... lots of people want to be included in linus' project. he can talk to people who WANT to engage him all he wants. you are free to tell me an idiot... but you can't and you won't... 1) because you are a pussy, and 2) because i am not.

      now, shut up, lady.

    36. Re:Disagree with the language used... by Cederic · · Score: 1

      I hear 'fuck' a lot. 'Fuck off' or 'fuck you' is aggressive and personal, and that's no better than 'you incompetent disgrace', you try and avoid it.

      'Fuck it', 'fuck me' or 'lets fix this fucking thing' however.. that's pretty commonplace.

    37. Re:Disagree with the language used... by elgatozorbas · · Score: 1

      As Linus expects others to write proper code, I expect people to conduct proper communication.

      While I agree completely with what you say, Linus may be more important that you are and therefore his expectations may be more important than yours as well (in internet-slang: may be given more fucks about than yours).
      Mozart. McEnroe. Maria Callas... Their game, their terms.

    38. Re:Disagree with the language used... by mseeger · · Score: 1

      I don't expect him to read it here... ;-)

    39. Re:Disagree with the language used... by mjr167 · · Score: 1

      Are you telling me there is no difference between "Please pass the salt" and "Give me the fucking salt, dumb-ass!"? In the end, I'm just asking for salt. It's just words and words don't matter...

    40. Re:Disagree with the language used... by Puff_Of_Hot_Air · · Score: 1

      Well, if said dumb-ass had just submitted some obviously shit code and shoulda known better ;) My point was that for many a programmer (me!), being told your code needs to be re-worked is about the most abusive thing you could ever do, the language you choose to use being rather immaterial. Still, if I had fucked up in a lazy obvious way; well I'd feel the sting as a well deserved sting. The code is much more important than people's feelings, and most (good!) programmers I have worked with feel the same way. Constructive confrontation I think it's called. Swearing is not about respect, unless the sweared at would view it that way; in fact I only swear at colleagues that I both respect and trust. I think a great deal of this is cultural, and that culture will vary from group to group. Still, if you come from the outside, you should respect the culture your entering, even if you disagree with it. (I once worked in another country where swearing at each other was simply not done, don't you know, and I managed to adapt).

    41. Re:Disagree with the language used... by TsuruchiBrian · · Score: 1

      I guess it depends on your culture. I was just trying to find out whether all words are "just words", or whether some words go beyond being "just words" for you.

    42. Re:Disagree with the language used... by gnasher719 · · Score: 1

      Why do you think it would probably work? Over-the-top insults and tantrums typically don't work; it creates resistance and anger, and is a very unproductive way to deal with things.

      To repeat that kind of code, you would have to argue that it was anywhere near acceptable. And you can't. I looked at the three versions of the code on theregister, and the first version is a serious bug which needed fixing, the second that the rant was about is an absolute WTF, and the third is absolutely clean and obvious and what I would expect any sane programmer to write.

      Ok, this is a serious rant. If it gets you upset and you are so upset that you insist on continuing to write that kind of code, you are not only incompetent, but also childish.

    43. Re:Disagree with the language used... by mjr167 · · Score: 1

      I grew up in the US and was raised to not swear, does that mean that I do not belong in the american coding culture? What does that say about our culture? Are you then going to complain about the lack of respect today's youth shows towards authority as well?

      If you are willing to acknowledge that different cultures have different methods of dealing with conflict, then why do we settle on an obviously hostile culture and then say "adapt! It's my culture!" when challenged on it? Are you telling me that someone from that other country would not be welcome where you work?

    44. Re:Disagree with the language used... by nomadic · · Score: 1

      What empirical evidence is that? Most people don't understand the idea of the regression to the mean (check out the Kahneman quote here at a href="https://en.wikipedia.org/wiki/Regression_toward_the_mean#Regression_fallacies">here if you want a good example of why punishment seems to improve performance, but doesn't really). Also, as a long-time Linux user (since 1994) I have to say that as much as I like the OS, its success has been largely based on the fact that it was mostly the only game in town in terms of free UNIX systems at the time it came out, and was able to capitalize on that momentum since. The free BSD variants were having legal issues that a lot of people thought would sink them, Minix wasn't really a full OS, and everything else that would run on x86 software (and there weren't many) cost money. But at the end of the day Linux isn't uniquely well-designed or superior as compared to say, OS X. If other modern OSes can get by without a tantrum-throwing diva like Linus, I think it's safe to say it's not a necessary part of the development cycle.

    45. Re:Disagree with the language used... by Puff_Of_Hot_Air · · Score: 1

      Well, I am not American and have never worked in the states; but I imagine if I did I'd adapt to your culture as necessary. But yes, if you came and worked with me I'd expect you to adapt to the culture of my group (which is very different, but influenced by the culture of the country it may be in). Also I would point out that my current company is extremely international with less than about 1/3 being from the country in which it is hosted. Nobody seems to mind the swearing, but I think you are wrongly associating swearing with hostility; it is never used in such a way (and if it is, it's clearly perceived as crossing the line). Not to say that people do not vent their frustrations using interesting language; in this workplace it's not considered an issue to swear and curse when passions are high. I have worked in groups where it was worse (swearing wise) and much more restrained. I come from an engineering background and am a little older, so perhaps norms are changing.

    46. Re:Disagree with the language used... by Puff_Of_Hot_Air · · Score: 1

      Actually, just to add, I have worked with American and Canadian groups at various times (in fact I am right at the moment), so I'm not oblivious to the fact that american's (particularly from the south I think?) are much more sensitive to issues of courteous speech. Intra-group communication is invariably formal and courteous at any rate, but it's not a huge surprise to learn that this might be desired within a team as well. It's also my view that many Americans are blinkered in their understanding of the huge amount of variation in cultural norms; if you work in a French team or a Russian team, you will see very different dynamics to a British team for example. I try to take it all in my stride when I've worked in these teams (although it can take time to adapt), but I expect the same from others joining our team.

    47. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      Not trolling, but I personally think "compiler-masturbation" was clear and succinct, and caught my eye where I may have glanced over "unnecessary" or other equally bland description.

    48. Re:Disagree with the language used... by phantomfive · · Score: 1

      Seriously? That's your point? That I don't understand the "Regression to the mean?" You need to get a few more hours of sleep.

      --
      "First they came for the slanderers and i said nothing."
    49. Re:Disagree with the language used... by gnupun · · Score: 1


      if (overflow_usub(mtu, hlen + sizeof(struct frag_hdr), ...
      goto fail_toobig;

      and anybody who thinks that the above is

      (a) legible
      (b) efficient (even with the magical compiler support)
      (c) particularly safe

      is just incompetent and out to lunch.

      Your quote:

      I frequently tell my coding minions that their code is bad and they need to rewrite it, but I don't call them names or swear at them. Instead I tell them "this is unacceptable and why."

      Other than the "incompetent and out to lunch," Linus does explain the "unacceptable code and why."

      There is a difference between attacking a person and critiquing their work.

      He's mainly criticizing the code, but people are too thin-skinned to take good advice and instead think of it as an attack on their character. If he didn't criticize this code in a public forum, there's a good chance this same type of code will be repeated by other coders slowly weakening the code base, by making it hard for other devs to read or modify the code.

    50. Re:Disagree with the language used... by mjr167 · · Score: 1

      The point everyone is trying to make is that he could have criticized the code without the "incompetent and out to lunch" comment. If he had said "The above code is illegible, inefficient, unsafe, and unacceptable", it would not have been an attack on the coder, but the code itself and served the same point of making sure everyone knew that kind of code is bad and should never be repeated. You can reject the code without attacking the coder.

      The additional commentary he adds further attacking the coder is unnecessary and hostile. It creates a hostile environment full of vitriol and fear which many talented individuals do not want to participate in. It creates an environment where one mistake gets you publicly humiliated and lets face it, everyone has a bad idea every now and then. It also creates an environment where no one can question Linus or suggest new ideas. If you have an idea and Linus disagrees you get ripped apart. End of story. In this environment, Linus is infallible and he better like your initial suggestion or else. There is no back and forth. There is no "here's an idea", "that's not going to work", "what if we do it this way...". There is only "Here's an idea", "Your idea sucks and you are a god damn moron, get the fuck out of here."

      Large red type and all caps has been shown to discourage people from contributing to discussions. What do you think swearing and personal attacks will do?

    51. Re:Disagree with the language used... by mjr167 · · Score: 1

      You sound like a reasonable person who would probably recognize that a team member was uncomfortable and take steps to correct the situation.

      I still don't buy "Linus only hits people when he loves them."

    52. Re:Disagree with the language used... by gnupun · · Score: 1

      The additional commentary he adds further attacking the coder is unnecessary and hostile.

      I don't agree with you that it's hostile, but let's say it is.

      Also, let's say you're in charge, instead of Linus. Now replace the sentence shown below with something that is not supposedly hostile but also warns the developer and others not to repeat the same mistake.

      and anybody who thinks that the above is ... is just incompetent and out to lunch.

    53. Re:Disagree with the language used... by mjr167 · · Score: 1

      the above code is unacceptable.

      Why do you need anything more? Reject the change. Say why you rejected it and what can be done to make acceptable. End of story. Now we may have actually taught someone something.

    54. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      Your opinions are stupid and your sentence is a piece of shit. Your opinions are worthless and you are a fuck head. Please dont post to slashdot until you learn to make posts that are to my standard, you fucking worthless goober.

      Hey, if it reaches my goal of not having to read your shit posts then it is all good. +5 karma

    55. Re:Disagree with the language used... by phantomfive · · Score: 1

      I'll fucking try to reach your shitty standards, oh master

      --
      "First they came for the slanderers and i said nothing."
    56. Re:Disagree with the language used... by Anonymous Coward · · Score: 0

      The point was to publicly shame the developer to prevent other people from doing the same thing. It's a very effective manipulation strategy when you have a lot of developers and can afford to sacrifice one to teach the rest a memorable lesson.

  35. L Programming Language? by Anonymous Coward · · Score: 0

    After creating git, maybe the next step is creating his own programming language?
    Let's call it L.
    And no, this is no joke. I would really like to see how it would turn out.

    1. Re:L Programming Language? by Anonymous Coward · · Score: 0

      So Lunix, the Losers' Unix could then be written in the Losers' Programming Language?
      Sounds about right.

      Seriously though, you seem to be forgetting that someone would have to rewrite the kernel in L. Not going to happen.

  36. Oh shit! It's a c / linux community violation by Anonymous Coward · · Score: 0

    My microagressions have been triggered! !!!!!

    Force Linus to use github +go for a week!

  37. Shiny loses out again by smooth+wombat · · Score: 2

    The new improved code uses fancy stuff that wants magical built-in compiler support

    Imagine that. Someone thinking, "Ohhh, shiny! Let's try this because it's new and cool."

    Instead of, "I need something to get the job done in the simplest fashion."

    There's a reason analog light switches are still around. They just work. No bullshit about having to talk to a computer to decide what to do. Clean and simple. Just like code should be.

    --
    We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
    1. Re:Shiny loses out again by Anonymous Coward · · Score: 0

      "Ohhh, shiny! Let's try this because it's new and cool."

      I am so glad Linus responds harshly to this attitude. I say we give him a whip!

    2. Re:Shiny loses out again by Anonymous Coward · · Score: 0

      Analog light switches?

    3. Re:Shiny loses out again by PPH · · Score: 1

      Imagine that. Someone thinking, "Ohhh, shiny! Let's try this because it's new and cool."

      It's also a method where some self-important developer can shoehorn their crap into the kernel. Now we've got to include the header and/or library into the build. And who knows what crap might get into it by the next version.

      I'm not sure if this is an example of that problem. I can't find overflow_usub docs online. All I get is adverts for drain cleaners. But it is a practice to be avoided on principle.

      --
      Have gnu, will travel.
    4. Re:Shiny loses out again by Anonymous Coward · · Score: 0

      Whether it's crap or not isn't really the issue. It's the 'shoehorn' part that is the problem...even if the change wasn't crap, these type of stylisting changes shouldn't be made on the sly.

    5. Re:Shiny loses out again by Anonymous Coward · · Score: 0

      these type of stylisting changes shouldn't be made on the sly.

      What's inside systemd?

    6. Re:Shiny loses out again by Cederic · · Score: 1
    7. Re:Shiny loses out again by TsuruchiBrian · · Score: 1

      We should even use header files. We should just have all your code in a single file. All this fancy modularity bullshit just complicates things. I should just be able to compile a single source file into a single executable.

    8. Re:Shiny loses out again by Anonymous Coward · · Score: 0

      I've actually worked installing fancy automated lighting with touch panels and such. Seriously, working on systems that combine Netlinx, dynet interfacing, raspberry pi web servers and freaking iPads just to turn on the freaking *lights* really, really makes you appreciate the simplicity and it-just-works nature of an old-fashioned light switch.

    9. Re:Shiny loses out again by Anonymous Coward · · Score: 0

      We should even use header files. We should just have all your code in a single file. All this fancy modularity bullshit just complicates things. I should just be able to compile a single source file into a single executable.

      I have an excellent idea for a fridge/dishwasher/gas stove/oven/microwave all in one unit, that also is a furnace & A/C to heat/cool your home. What could possibly be wrong with that?

    10. Re:Shiny loses out again by Anonymous Coward · · Score: 0

      There's a reason analog light switches are still around.

      They aren't. Any light switch by definition is digital. "analog" has never meant "without a computer".

    11. Re:Shiny loses out again by Anonymous Coward · · Score: 0

      Well, if you want to play semantics... the word analog originally referred to an electrical signal that was "analogous to" a physical thing (like a sound wave) - hence an analog. The switch state is "analogous to" the the physical light signal coming from the bulb, so you could argue that analog in this context is very much in keeping with the original usage.

  38. Unfair to Torvalds. really bad headline/summary by Anonymous Coward · · Score: 0

    Torvalds is making a simple workmanlike point here, wanting to keep obtuse and overwrought code out of Linux as a general principle. And if he has a bit of a pet peeve over this, it is because he has encountered it so many iterations of this problem over the years.

    I'm not sure why this rates a headline of "Linus rants" instead of, say, a headline like "Linus smacks down well-intentioned but incompetent coders obfuscating his clean code base with inferior code".

    I guess "Linus rants" is just a more flamebaity title.

  39. Didn't your mom teach you... by Anonymous Coward · · Score: 0

    Didn't your mom teach you never to use goto statements?

    1. Re:Didn't your mom teach you... by Anonymous Coward · · Score: 0

      no stupid. and go read up on assembly language. now get off my lawn.

    2. Re:Didn't your mom teach you... by mazevedo · · Score: 1

      And yours to keep your mouth shut when you don't know what you're talking about?

      --
      mazevedo
  40. Best Line Ever by oh_my_080980980 · · Score: 1

    "A shiny function that we have never ever needed anywhere else, and that is just compiler-masturbation."

    1. Re:Best Line Ever by quintus_horatius · · Score: 2

      that is just compiler-masturbation.

      Compilers have needs and desires, too.

  41. .....and by Anonymous Coward · · Score: 0

    I fucking agree with him.

  42. Clue me in, please. by Anonymous Coward · · Score: 0

    So, did he like the code or not?

  43. Blame GCC by slashdice · · Score: 1

    GCC developers are some of the worst language lawyers you'll ever find. Code that used to work correctly will break (optimizations, yo) if they decide it's undefined or implementation defined behavior. Like overflow. They have to add those shitty builtin "safe" overflow math functions because MAX_INT + 1 is undefined. GCC will never generate code for an architecture where that is undefined, but when give the chance to "do the right thing" or "save a couple cycles and break code", GCC will fuck you over.

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    1. Re:Blame GCC by 0xdeaddead · · Score: 1

      they fucked up Qemu, Basilisk, and just about anyone doing JIT a few years back. It's too bad EGCS couldn't break the GNU/Cygwin GCC monopoly.

    2. Re:Blame GCC by david_thornley · · Score: 2

      If the code relies on undefined or unspecified behavior, it was working correctly only by chance, and could easily break on another platform, or another version of the compiler. It can freely use implementation-defined behavior on a given implementation.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    3. Re:Blame GCC by TsuruchiBrian · · Score: 1

      agreed

    4. Re:Blame GCC by Anonymous Coward · · Score: 0

      It's too bad EGCS couldn't break the GNU/Cygwin GCC monopoly.

      Uh what? They most certainly could, but wouldn't. They painstakingly kept collecting copyright assignments and keeping track of contributors exactly in order to avoid another schism like with XEmacs.

    5. Re:Blame GCC by gnasher719 · · Score: 1

      There were the very widespread Motorola 68k processors, used in Macs, Atari and Amiga computers for many years, where a signed integer addition overflow definitely invoked undefined behaviour.

      Take "if (a + b > 0) { ... }". You seem to be someone who thinks nothing could go wrong. On these processors, an integer addition set the condition flags according to the mathematical result of the operation, ignoring overflow. So "if (MAX_INT + 1 > 0)" would produce a true condition. But store the result of MAX_INT + 1 and compare the stored result with 0, and it's false because there was an overflow, giving a negative result.

  44. Obsfucation by Anonymous Coward · · Score: 0

    Not clever, grouping of two things, an 'if' and a 'subtract'. It hides the subtract from the coder and puts it in the function name ('sub').

    He presumably has implement a whole bunch of these functions for ever possible combination of inputs possible in C e.g. (unsigned short, unsigned int, plus), (signed int, unsigned int, plus), (signed int, unsigned int, minus), (signed int, unsigned long, plus),....

    (2 (signed/unsigned) * 5) ^3 = 1000 functions?

    No? So basically just bad code to group 2 lines of code together in a obtuse way.

  45. He's right, and I'm sorry for it all. by Anonymous Coward · · Score: 0

    It's hard to be smart the way Linus is, in our world of mediocrity. Frankly, I'm sorry for him and I wish he could have a better life, detach his nerves from his own "nerdiness". But his brain needs to be all-time busy at high levels, it's like the lungs needing air and it's common for people of a certain geniality. That can of course be very exhausting for a physical body and can make it in turn very frustrating when one can't connect at his brainwave level with all the others he has to deal with. Think Steve Jobs, too.

    Unlike certain genial people, who have been lucky enough to thrive either alone (Leonardo) or within the academia (Einstein), the open source sector (and thank goodness for that) has been thriving because anybody could help. It couldn't happen as a one-man job. There's been a lot of nerds, geniuses and well intended average people in the last decades that have made a brave new world possible.

    The truth is, we (=whoever is professionally involved with Linux) owe Linus a big deal: we should just be thankful to him and stop mocking his rants. But nobody can deny that the more the world he contributed to create and is part of grows, the more mediocre and bad-intended people will be part of it. Unfortunately, there's nothing to do about it and there's little to get angry about: whenever anything becomes mainstream, it inevitably will lose its "purity" and will go the way of a slow and painful decadence. Jobs knew that, and that's why he pretended to control and steer everything, as much as Linus goes for a decent programming semantics, but of course no-one can get an hold on everything, forever. And IT and academia are far away nowadays (who can explain the term "programming semantics"?).

    On day Linus may decide to let it go even more and we'll sorely miss him and a decently working kernel; Linux and everything revolving around it will start to crumble into anarchy like it's already happening. I watch every day the world I've grown into being tainted (a word I saw originally used in Debian circles) by new startups or big corporates steering technical matters towards sh*t, by going against any well-established standards and rules of educated cooperation set in the 1980s and onwards, for the sake of easy money or just laziness and convenience. Oh those millenials. From big public clouds providers that reinvent the wheel, violating basic network concepts, to containers engines or microservices providers that would deserve oh-my how many rants for the messy way they're coded together with duct tape, to the huge self-referential mess of Android (I don't care how successful it is), to the utterly immature and arrogant way certain bad people pretend to impose "their dictatorial way or no way", literally destroying an entire ecosystem of trust and cooperation just to show how cute they are. Yes, I'm talking about systemd. Pathetic, isn't it.

    But who the hell am I to pretend to analyze Linus and the world around him? Just an Anonymous Coward.

    In this context what I see for myself is to try to make the best of the remnants of the hopes of a better (open-source, rfc-based) world, until it lasts, trying to dodge the b*llsh*t, the marketing departments and the smarta**es, in at least what I deliver. And never take it personally.

    1. Re:He's right, and I'm sorry for it all. by Anonymous Coward · · Score: 0

      Great post.

      I'll take one straight talking bastard reaming me out when I've done something stupid over 10 polite snakes any day of the week. The people who have mastered polite and kind conversations publicly seem to be the most horrible behind the scenes.

      I think the way Linus communicates is part of the reason for his success. You don't have to guess what he is thinking through double speak.

      No one ever criticized Elvis once he made it and look where that got him.

    2. Re:He's right, and I'm sorry for it all. by tnk1 · · Score: 1

      Not using doublespeak doesn't mean you have to be an ass about it. You can be perfectly civil, and at the same time, blunt and honest.

      Linus' rant is an emotional response. He's human, so he gets to have those happen, just like everyone else does. I'm less concerned about that than I am about the people who I see who seem to thinks that is how developers should operate in general.

      Linus gets away with that because he's Linus. Anyone else who hasn't got his level of notoriety needs to think about it and then not do it. Consider the complaints about Linus to be a warning to those who think they get to act like the creator of the Linux kernel and justify it by thinking that they are "un-PC" and avoiding "doublespeak". Not even Linus is doing that, he's simply getting away with it because he can, just like every other celebrity or person with power.

  46. I've got a question by Anonymous Coward · · Score: 0

    I'm trying to figure out what "overflow_usub" does, but when I google it, all I get are links to this story. Anyone know?

    1. Re:I've got a question by Anonymous Coward · · Score: 0

      It is a sneaky google function to generate links to this story.

    2. Re:I've got a question by PPH · · Score: 1

      I just get links about unclogging drains.

      --
      Have gnu, will travel.
  47. But ... but ... no rant against GOTO???? by 140Mandak262Jamuna · · Score: 0

    What! he rails against something but not at the GOTO statement!

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:But ... but ... no rant against GOTO???? by TsuruchiBrian · · Score: 1

      kernel development has a different set of values and priorities.

    2. Re:But ... but ... no rant against GOTO???? by gweihir · · Score: 1

      Sometimes it is the only sane way out. Even Djikstra did acknowledge that. His "goto considered harmful" was for when goto was used instead of the (newly available) tools of structured programming. It was not for cases where the goto is simpler and clearer. Also note that a "break" or "continue" is basically a disguised "goto".

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:But ... but ... no rant against GOTO???? by TsuruchiBrian · · Score: 1

      At our work we have a rule of "don't use goto unless it is for a good reason" (e.g. breaking out of multiple nested loops). Although often times there are still more elegant ways of solving the problem than goto.

    4. Re:But ... but ... no rant against GOTO???? by gweihir · · Score: 1

      That is a good rule. While I agree that most of the time other things are better, sometimes they are not and then you should be allowed to use it.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  48. So is he anti-semantic? by Anonymous Coward · · Score: 0

    Is his ranting for or against semantics?

  49. The code involved is in the article involved by Anonymous Coward · · Score: 0

    See subject: What Linus bitched about is in the source article for this - "RTFA" fisted.

    APK

    P.S.=> You wouldn't understand it anyway I suspect. Where's your sourcecode for anything you've ever done (that others say is good)? I suspect it doesn't exist. I've never seen it (let alone anyone saying anything good about it which makes sense - as again, it's non-existent)... apk

  50. reality by colfer · · Score: 3, Interesting

    Hannes seems to have a valid point that boundary checking should be standardized in some way. Rasmus backs him up and mentions the result of the rant is they'll end up discarding his more comprehensive work on the issue: http://lkml.iu.edu/hypermail/l...

    Linus seems to be saying all boundary checks should be ad-hoc because the new syntax is to hard to GET OFF OF HIS LAWN. Because it is dog poop.

    1. Re:reality by ledow · · Score: 3, Informative

      The new syntax only works on certain versions of the GNU compilers. It's also more convoluted, just as easy to get wrong (i.e. the guy himself admits there's a possibility of the same kinds of mistakes as without it), non-standard, and harder to read - especially if you are unfamiliar with a GNU-only syntax.

      Read the rant, then look at the code.

    2. Re:reality by colfer · · Score: 1

      Agree it's hard to read. Comments above here seemed to be missing the point that maybe something is needed to safeguard other trickier arithmetic operations.

    3. Re:reality by gnasher719 · · Score: 1

      And Linus is right, while Hannes and Rasmus are dead wrong.

      One of these clever guys says that checking whether a + b
      Then they say that these macros allow to fix problems without any thinking. Dead wrong. Without thinking, every time you use these macros there is a 50% or greater chance to introduce a bug. On the other hand, if you check on theregister for Linus' replacement code, it is simple, trivial, and obviously correct.

      An obvious sign of the brain damage involved is someone figuring out that they need a result of at least 8, and instead of checking "if (x 8)" they check "if (x = 7)".

    4. Re:reality by gnasher719 · · Score: 1

      If that post above does't make sense, it's Slashdot rubbish treatmen of ordinary text.

      So one of these clever guys says that checking whether a + b lessthan a does not correctly find all unsigned integer overflows, because of integer promotions. Dead wrong. If there are integer promotions, then there is no overflow. So a + b lessthan a is pointless because it is always false, but it _does_ correctly find all overflows. Even when there aren't any.

      And fuck slashdot with its stupid ass "slow down cowboy" shit that doesn't let you post of correction of a post that was messed up by slashdot.

    5. Re:reality by Anonymous Coward · · Score: 0

      The new syntax only works on certain versions of the GNU compilers.

      Which is what started this off - Linus tries to compile it, it throws errors, and he finds out it's because someone's trying out the new hotness instead of, y'know, just doing what works.

  51. clever morons by iggymanz · · Score: 4, Insightful

    open source world is getting overrun by high IQ morons, that put in bloat, hyped fads, and needless complexity. they indulge in mental masturbation rather than good design

    1. Re:clever morons by PRMan · · Score: 3, Insightful

      The closed source world has the same problem.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    2. Re:clever morons by Anonymous Coward · · Score: 0

      more like NSA and CIA agents obscuring anything they can in order to eventually provide an attackable vector.

    3. Re:clever morons by HiThere · · Score: 1

      Would you prefer he'd used a macro? Having looked at the code I think he could have. That would eliminate the function call, but it would be just as unintelligible and ugly. (Actually, if the compiler respects inline in this case it could even generate the same code.)

      FWIW, the very code used in the accepted handler could be implemented as a macro, and I think the only gain would be unintelligibility. And the danger that sometime in the future someone might change the macro with undetected side effects.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    4. Re:clever morons by gweihir · · Score: 1

      Very, very true. High IQ, no wisdom at all. That kills any coding project in the long run because everything gets more and more complicated and eventually no measure of IQ is enough to keep control of it. Smart coders always write the most obviously simple code for a problem, unless it turns out optimization is critically needed. Then they comment so clearly that things are still easy to understand.

      It is fascinating how utterly dumb some high IQ people can be. All wanting to impress others and completely missing the point of what they are doing at the same time.

      Incidentally, just like writing compact and clear text, writing compact and clear code is much harder than writing complex code.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  52. Wish he'd have rnated more about systemd by Anonymous Coward · · Score: 0

    I wish Linus would have directed his ranting energies against systemd.

    He's very protective of the kernel, but I think he should defend the platform as a whole a bit more.

  53. Linus rants by Vlijmen+Fileer · · Score: 1

    Nothing new, just walk on. He rants because that's his natural state. Can not wait for the fool to disappear.

  54. Some censorship by Anonymous Coward · · Score: 0

    The cute thing about Linus' rants is that he always censors the swearwords with asterisks. :)

  55. Does kernel have numeric overflow vulnerabilities? by ljw1004 · · Score: 2

    Like Linus, I also write the simpler form of this kind of code when writing in C/C++.

    Unlike Linus, I feel bad about it! My colleagues point out places where arithmetic overflows might lead to crashes. Honestly I find it really difficult to think through the overflow issues for *every single* plus, minus and multiply operator in my code. I think it's like cryptography in that sense -- most regular programmers, including good programmers, don't look at arithmetic operators from the perspective of attackers.

    In this case, does Linus' code have the exact same behavior on all possible inputs including overflow-causing inputs? If not, which of the two behaviors is the desired one?

    Are there places (maybe including this one) where the kernel code doesn't guard properly against arithmetic overflow? Will the newfound attention bring hackers scrutinizing it for overflow flaws?

  56. snprintf by Anonymous Coward · · Score: 0

    Linux probably also ranted about unnecessary substitutions of snprintf for sprintf.

  57. Linus should be glad he doesn't program in Go by Anonymous Coward · · Score: 0

    Under the new CoC he'd be permabanned in a heatbeat.

  58. And there it is by Anonymous Coward · · Score: 0

    Kids these days, they just can't code like we used to. They've never heard of k.i.s.s., they don't think analytically, and they just want to make things flashier or cooler, because they read a blog post from joe cool programmer that they follow on insta-twitter.

  59. Linus is right only for people of his caliber.... by Wrath0fb0b · · Score: 5, Interesting

    Both in the technical sense and in the human sense.

    Technical: People at Linus' caliber understand exactly the rules for signed/unsigned integer promotion and where underflow is defined (as wrap) and where it's undefined[1]. Consequently he wrote perfectly-correct code for detecting the underflow and bailing out safely. Programmers at mere mortal levels of skill, however, routinely mess this up, often causing exploitable security bugs (believe me, I do code security audits as part of a real honest living). My advice for everyone (contra Linus!) is always always always use the compiler intrinsics for integer math. Feel free to decline this advice if you are a Linus level wizard (if you were, of course, you would already feel free to decline it) but if you have to wonder if you are, you probably aren't.

    Linus seems to think that the kernel should only be written by folks that don't need that kind of help -- and for that I won't argue with him. It's his baby and he can chose whether to have a small number of über-developers or a larger number of mortals. Which goes straight to the second point:

    Human: People at Linus' caliber thrive on negative feedback. At their level, positive feedback means nothing because there's nothing he can learn from someone praising his work. He wrote a kernel, he knows he's good. Meanwhile negative feedback is useful (unless trivially discountable): if the complaint is right, he'll correct something he was doing wrong; if the complaint is wrong, he'll be forced to think through why. In any event, he could never imagine why someone would sugar-coat their opinion on any matter.

    So it seems like his mode of communication is meant to answer that question for the former: he wants people of his caliber that don't write ugly code using arithmetic crutches and don't care about strongly worded criticism. There's nothing invalid about that either -- maybe it's true that the best model is that Linuses work in the kernel and the rest of us go up into userland where we use crutches like memory protection and higher-level constructs :-)

    [1] And when behavior is undefined, a smarter compiler can remove the code-path entirely -- the kernel itself was hit by such a bug where GCC legally removed a NULL check because the pointer was dereferenced before the check. See also this reference. Then there's the sad fact that people still argue against the clear language rules that say that assert( 100 + some_int > some_int ); can always be optimized away.

  60. Better title by Anonymous Coward · · Score: 0

    Linus Rants about Someone Else's C Code

    or simply

    Linus Rants

  61. overflow_usub is seriously bogus by coats · · Score: 2

    Not to mention that sizeof forces hlen+sizeof(struct frag_hdr) into size_t, which very probably is not unsigned int (it is not, on any of the systems I've owned for the last decade at least). Therefore overflow_usub is seriously bogus in and of itself.

    --
    "My opinions are my own, and I've got *lots* of them!"
    1. Re:overflow_usub is seriously bogus by Polizei · · Score: 1

      size_t is unsigned. ssize_t is signed.

    2. Re:overflow_usub is seriously bogus by erapert · · Score: 1

      Considering that size_t is a synonym of unsigned int then in order for this to actually be a problem hlen + sizeof(struct frag_hdr) would have to be bigger than 4,294,967,295 bytes... which, if true, indicates that there's much bigger problems to worry about in that piece of code.

  62. Make Linus Mad by Anonymous Coward · · Score: 0

    Someone should make a script that goes through the Linux code and checks for all the bad code things that Linus hates, then after going through all of it, will email him a detailed report of where, what and why. Maybe seeing Linus explode is feasible in our lifetime!!

  63. Sorry you find C so hard to understand, Linus. by Anonymous Coward · · Score: 0

    Of course, it's *easier* to blame someone else for the problem, since you don't then have to change, but it's a well substantiated aphorism that a bad workman blames his tools, and it holds with programmers and their language constructs.

    Learn more, expect less superior knowledge from yourself, and cut out the fucking swearing you cocksucker.

    1. Re:Sorry you find C so hard to understand, Linus. by ledow · · Score: 4, Insightful

      Shame that the function used in the patch is NOT C, but instead a compiler-supplied and thus compiler-dependent feature that was put into the code in the kernel without any kind of fallback for those who don't have that compiler (e.g. an equivalent header that defines it if it's not already defined).

      And Linus' equivalent alternative is valid C99 that works on all compilers, and does EXACTLY THE SAME while being slightly more readable.

      Otherwise you might indeed have had a point to make.

    2. Re:Sorry you find C so hard to understand, Linus. by etinin · · Score: 2

      I'm, not defending the code, but you're missing the point:
      The compiler fallback had been added:
      http://git.kernel.org/cgit/lin...

      The problem was the inherent unreadability of the code. Using little known compiler-specific functions makes the code much harder to read.

      --
      "I decided I could write something better than everything out there in two weeks. And I was right." - Linus Torvalds
  64. I never understood why by Anonymous Coward · · Score: 0

    I never understood why people like you don't understand it. It's like a headline for a newspaper column. Do you know why they exist?

    Just in case you don't, they advertise what they want you to understand as the message in the topic. You know, like the subject of the topic. Notice what that text entry bit at the top you complain about having the subject of the post in is called? That's right: the subject.

    So someone puts the opener there and intend you to know before reading something about what the content of the post is, so if you think it pointless, you can skip it early, without reading the content.

    It can also be used (again, same as with headlines on newspaper print) to sucker you in to reading it.

    So I never understood why "Stop putting the post in the starting line".

    If for no other reason than you aren't the one writing the fucking thing. If such a minor thing that you don't like makes you not read, WHAT THE FUCK ARE YOU DOING HERE???? The intent of a blog with user submitted content BTL is so you will read what other people think. If you are going to refuse for such petty reasons, what OTHER pettyfogging pissant little niggles will you refuse to read for? So why not just stop reading here at all, saving yourself a huge amount of time.

    And what do you think you're doing with the complaint? Why should anyone else care whether you like it or not? Unless they're forcing you to do the same, what the hell does it have to do with you, and why should anyone change? Because you don't like it?

    Welcome to the real world, buddy, where it doesn't give a shit about pleasing you at every turn.

    So STFU about it and save EVERYONE a pointless effort.

    1. Re:I never understood why by SQLGuru · · Score: 1, Informative

      If they used it like a headline, it would be fine. But they don't. They use it as the location for the beginning of their first sentence.

      Subject: Anonymous Cowards don't know how to
      Body: use the Internet.

      Newspapers don't write their articles that way......they write them like this --

      Subject: Anonymous Cowards don't know how to do this....
      Body: Anonymous Cowards are apparently clueless Trolls because they don't know how to use the Internet. They think that Subjects are where you start the first sentence of your article and then you just continue the sentence in the body as if that is just an inconvenience to spewing their diatribe.

      See.....a real Subject (akin to a headline) that conveys an idea of what the body will discuss but it's followed by a full concept that can also stand alone if the subject is hard to read (for instance on a site like Slashdot where it gets lost in the green bar).

  65. The purose of comment subjects by driblio · · Score: 4, Insightful

    the start of a thread IS the subject line.

    No. The subject is a summary, or 'subject' if you will, of the post/email/missive.

    That way, you can dismiss a thread based on it's subject, and not have to descend into a thread to see what it's actually about.

    Get a clue before ranting, low-id.

    1. Re:The purose of comment subjects by Anonymous Coward · · Score: 0

      It's ITS not IT'S.

  66. Because it doesn't demean the other. by Anonymous Coward · · Score: 0

    And it doesn't cement his primacy as lord of the manor.

    So, yeah, he could (and should) have said it much differently.

    But this way strokes his ego. Ergo it's the only way he's going to do until someone who can beat him in coding can turn the tables outside his own little fiefdom.

    At which point he'll probably huffily point out that he was SOMEWHAT right in what he did, and that it wasn't recognised in the raving against him.

    1. Re:Because it doesn't demean the other. by Anonymous Coward · · Score: 0

      But this way strokes his ego.

      You have no idea what you're talking about.

      Really.

      I mean it.

      Hint: This has nothing to do with his ego, or anything remotely like it.

      Yes, he is blunt at times. He is fully aware of it and has explained on numerous occasions why. In the vast majority of cases he's not blunt at all. Have you noticed that fact? Have you ever wondered why that is?

  67. +1 Insightful by mccrew · · Score: 1

    Wish I had some mod points for you today.

    --
    Hey, Windows users, there is no such thing as "forward" slash, there is only slash and backslash.
  68. Re:Does kernel have numeric overflow vulnerabiliti by russotto · · Score: 1

    The language's inability to check for overflow is a problem. Putting that sort of obtuse and unreadable compiler-specific code everywhere you want to do arithmetic is a a cure worse than the disease.

  69. I don't want to point fingers but... by Anonymous Coward · · Score: 0
    The guilty people are:
    Reported-by: Dmitry Vyukov
    Cc: Dmitry Vyukov
    Signed-off-by: Hannes Frederic Sowa
    ---
    net/ipv6/ip6_output.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
    index 61d403e..00aa538 100644
    --- a/net/ipv6/ip6_output.c
    +++ b/net/ipv6/ip6_output.c
    @@ -28,6 +28,7 @@

    #include #include +#include #include #include #include @@ -584,7 +585,10 @@ int ip6_fragment(struct sock *sk, struct sk_buff *skb, if (np->frag_size) mtu = np->frag_size; } - mtu -= hlen + sizeof(struct frag_hdr); + + if (overflow_usub(mtu, hlen + sizeof(struct frag_hdr), &mtu) || + mtu daddr, &ipv6_hdr(skb)->saddr);

  70. Moderation of replies to edits would need history by tepples · · Score: 2

    There's zero technical reason why an "undo" function can't be added to almost any software system

    I can think of a couple. It's harder to remove elements from some kinds of full-text index, especially a probabilistic index, than it is to add them. And each comment would then need revision history so that moderators can tell to what text each comment was actually replying. Do we want individual revisions to be searchable?

  71. Why do you get to decide what a real subject is by Anonymous Coward · · Score: 0

    and why does your proclamation make it true?

    Does your decision mean you're forced to write against your will and put the message in the subject line?

    Or is none of that the case and you're just wasting your time ranting, indicating that you really don't mind the waste of time you put into it, therefore the problem really doesn't make any difference to your day that isn't entirely self inflicted?

    1. Re:Why do you get to decide what a real subject is by alva_edison · · Score: 0

      The problem really isn't the subject line, it's the amount of posts that seem to lack a first sentence. For example, the entirety of your post reads as:

      and why does your proclamation make it true?

      Does your decision mean you're forced to write against your will and put the message in the subject line?

      Or is none of that the case and you're just wasting your time ranting, indicating that you really don't mind the waste of time you put into it, therefore the problem really doesn't make any difference to your day that isn't entirely self inflicted?

      But I don't think that was your intention. As simple way to avoid this is to put the intended first line of the post in the actual post. Whether that's also the subject line is irrelevant.

      --
      He effected a bored affect.
  72. Nobody's as stupid as you fisted by Anonymous Coward · · Score: 0

    Nagging apk on his source repeatedly last week and today too (your post history shows it) you admit he had no obligation to show you and resorting to libel http://slashdot.org/comments.p... and that malwarebytes people have as well as host and recommend for him. A program others say is good and yet you produce nothing of your own we can see. Lot of trolling but no action from fisted the blowhard hahahahahahahaha.

  73. Complaining is the easy part by Tablizer · · Score: 1

    I've debated programming language syntax many times, and have come to the following conclusions:

    1. The C-style switch/break syntax is archaic and error prone, and should be replaced by a modern version based on sets rather than "break". We even devised a way to support both the old and new forms for backward compatibility. I'd roughly estimate less than 15% of the debaters agreed to keep (only) the existing style.

    2. There's no free lunch. Syntax design creates trade-offs, and not all the trade-offs are immediately recognizable. All languages will probably have warts somewhere under certain conditions or usage patterns. If any language eventually gets it all right, it'll probably be a lucky accident, not pre-planning.

    3. Personal preference varies widely. What bothers me may not bother others. Our brains each process syntax very differently. Consensuses are hard to reach.

  74. You can by Anonymous Coward · · Score: 0

    go fuck yourself.

  75. Correction (Re:Complaining is the easy part) by Tablizer · · Score: 1

    Correction,

    I should have said "language design", and not (just) "syntax". We generally considered semantics also. What we excluded was compiler design and machine efficiency, unless it became a clear bottleneck.

    (A secondary debate then broke out on whether such "chip" bottlenecks are merely a reflection of current chip technology and whether a new language should cater to current chips or "do it right" and not focus on chips. The answer often depended on one's domain perspective, for those who work closer to the hardware, such as embedded, thought tailoring design around common or current chip architecture mattered more.)

  76. No the subject is the subject. by Anonymous Coward · · Score: 0

    Therefore if the subject is contained IN the subject line and spills over into the comment, it's still the subject.

    And in no way, shape, or form, does it cause you any anguish you aren't placing there for yourself to feel.

    1. Re:No the subject is the subject. by Anonymous Coward · · Score: 1

      Therefore if the subject is contained IN the subject line and spills over into the comment, it's still the subject.

      Very true, if one is so incompetent at summarizing that it overflows.

      However, the nominal subject of this thread is "When create the most used operating system," which in no way indicates the subject of the comment. It is an introductory clause, after which actual content will appear. "Subjects" of this form are just as useful as a salutation. If every thread is titled "Dear sir," "Hello," or "I was thinking," then there is fuck all reason to provide a subject.

      "Subject" is not the first line of your comment.

    2. Re:No the subject is the subject. by driblio · · Score: 1

      ^ this.

      Cheers, AC

    3. Re: No the subject is the subject. by Anonymous Coward · · Score: 0

      +1

  77. Linus is... by sentiblue · · Score: 1

    A very intelligent dude... but at the same time is a pain in the ass son of a bitch

  78. Developers following the KICC principle by bradley13 · · Score: 3, Insightful

    KICC = Keep it Complicated and Crappy

    I recently ran into a similar example in Java, where Java 8 has introduce the class java.util.Optional. This is used by certain other Java 8 classes as a return type.

    What does Optional do? It provides an object that contains an object. If that inner object is null, the method isPresent() returns fall. So now, instead of:

              if (widget != null) { widget.doSomething()) ... }

    You can write

              if (optional.isPresent()) { widget = optional.get(); widget.doSomething()) ... }

    Of course, if you don't quite trust the class giving you the Optional, you get to write

              if (optional != null && optional.isPresent()) { widget = optional.get(); widget.doSomething()) ... }

    This serves no useful purpose, except to make code more complex. Stupid, stupid, stupid...

    The claim, of course, is that this marvelous class is designed to work with lambdas. The thing is, lambdas themselves are an idiocy in Java. Lambda expressions are inherent in purely functional languages, but they are semantically out of place in a declarative language.

    --
    Enjoy life! This is not a dress rehearsal.
    1. Re:Developers following the KICC principle by TsuruchiBrian · · Score: 1

      I was intrigued by your post, and tried to find out if there were any good uses for optional that I could understand. I found one that it provides a way to distinguish types returned from hash.get() style methods (null that indicates key doesn't exist, or null that means the key maps to a null value).

      I'm not really a java guru, and probably would not have arrived at this solution myself, but do you have any thoughts on this usage of Optional?

    2. Re:Developers following the KICC principle by bradley13 · · Score: 1

      Haven't heard of that, but I might take a look if you have a link.

      Without seeing a specific implementation, I have trouble imagining what the advantage could be. Determining whether a key exists, or whether a stored value is null are both simple conditions to write. Why clutter it up with an unnecessary class?

      --
      Enjoy life! This is not a dress rehearsal.
    3. Re:Developers following the KICC principle by TsuruchiBrian · · Score: 1

      Haven't heard of that, but I might take a look if you have a link.

      This is the article I read: https://developer.atlassian.co... which goes over this usage of optional in the first paragraph.

      Without seeing a specific implementation, I have trouble imagining what the advantage could be. Determining whether a key exists, or whether a stored value is null are both simple conditions to write. Why clutter it up with an unnecessary class?

      I don't know why you would clutter it up with a class. But for thread safety, you would want to get the answer immediately. If you did something like this it could lead to a false result:
      if (hash.contains(key)) {
      __// the key is in the hash
      __//some other thread removes the key
      __value = hash.get(key);
      __// this returns null, implying that the value mapped to key was null which it may not have been.
      }

      you could sycnhronize access to the hash, but you would still need to get answers to both conditions in a single access, and an Optional object is capable of containing both answers in a single object returns by a single function call.

    4. Re:Developers following the KICC principle by psychonaut · · Score: 1

      The arguments for using Optional (or its equivalents in other languages) as an alternative to bare nulls are covered in a recent article, The worst mistake of computer science. It quotes Tony Hoare, the inventor of the null reference, saying that null was a "billion-dollar mistake":

      I call it my billion-dollar mistake... At that time, I was designing the first comprehensive type system for references in an object-oriented language. My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn’t resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

    5. Re:Developers following the KICC principle by Anonymous Coward · · Score: 1

      if (optional != null && optional.isPresent()) { widget = optional.get(); widget.doSomething()) ... }

      Over use of null checks or isNullOrEmpty() methods should be a fire able offence. Both of these are caused by trust issues of inexperienced developers or issues with API design. An API returning Optional should never return null, if it does you have a bug and similarly if you expect a String you should not have to check for null. Null checks in these cases tend to hide bugs and complicate every bit of logic that has to interact with possibly flawed values.

      Lambda expressions are inherent in purely functional languages, but they are semantically out of place in a declarative language.

      Lambda expressions are mostly used write small inline helper functions (or just pass existing functions) and avoid the code bloat involved with creating a class, implementing an interface and instantiating an instance.

  79. Bad ideas all around by WaffleMonster · · Score: 1

    The biggest problem I see is existence of crap like:

    mtu -= hlen + sizeof(struct frag_hdr);

    Where such code exists you can expect bugs to not be far behind.

    What I especially dislike is Linus's proposal:

    if (mtu

    Hey lets just do the same exact operation twice... now that provides no opportunity for mistakes and BTW nice magic number.

    I've learned the hard way over the years when you write a parser to build or consume packets under no circumstance should code to explicitly count bytes like this be allowed to exist. Write or reuse a higher level function to add or consume structures to centralize constraint checking. MUCH less opportunity to screw something up and less code/easier to read in the long run.

    1. Re:Bad ideas all around by Anonymous Coward · · Score: 0

      But you haven't quite learned the hard way over the years to use the preview button and change < symbols to <. Which also had the amusing side-effect of breaking your close quote tag.

  80. Re:Linux is for Cows by Coren22 · · Score: 1

    Error, no action moo

    Perhaps apt-get install moo?

    --
    APK likes to ask for responses to the same things over and over. Maybe he just likes the responses?
  81. Re:Does kernel have numeric overflow vulnerabiliti by TsuruchiBrian · · Score: 1

    I find it weird that Linus is so against the concept of idiot-proofing code, considering he is apparently surrounded by idiots. In C++ land we can use integer wrapper classes that provide checks against overflows in arithmetic operations. And the code just looks the same. For example:

    SafeInt c = a + b;

    It's a bit slower, so maybe it doesn't belong in some very nested loop structure. I understand Linus wants the code to be fast, but in places where you are doing that overflow check anyway, it seems like having a class or function do it for you rather than writing your own check is probably better from a consistency standpoint.

  82. Re: Linus rants ... by Anonymous Coward · · Score: 0

    I'm glad Linus is on our side! :-)

  83. Do people read the subject anyway? by suutar · · Score: 0

    people read the subject? I just get confused when the first sentence of the post is incomplete and downgrade my impression of the poster's ability to write.

    1. Re:Do people read the subject anyway? by neurovish · · Score: 2

      no

  84. willworkforbeer: fisted = a troll by Anonymous Coward · · Score: 0

    See subject: His name's fisted. Want to see additional proof of his stupidity? See here (especially his quote vs. what I put out) http://slashdot.org/comments.p... AND here (for how easy he is to crush with facts after I told him my sourcecode is closed and only malwarebytes has it) http://it.slashdot.org/comment... ...

    He nevertheless trolled me endlessly asking the same question ('where is your sourcecode' & kept it up into today -> http://slashdot.org/comments.p... ) since he's 'butthurt' he screwed up.

    Then he said "there's NOTHING you can do about DDoS" which I proved is NOT TRUE -> http://tech.slashdot.org/comme... and he outright RAN from it then...

    APK

    P.S.=> Don't give that "ne'er-do-well" blowhard talker that ends up eating his words every single time ANY of your time of day man - that is, unless you want to amuse yourself with his antics (that's fun, as it's fairly EASY TO MAKE HIM "eat his words" as I showed in the 4 links above)... apk

  85. What I don't understand as a coder in 2015 is... by Anonymous Coward · · Score: 0

    Why the FUCK we are still bitching about syntax?

    My god, it's a FUCKING machine, it doesn't care about syntax, it just wants instructions to follow. We care about syntax because WE have to read AND understand the shit, so STOP fucking making new god damned languages, and settle on a simple, easy to follow SYNTAX for christ's sake.

    On a secondary note, STOP storing your date/time variables as STRINGS, it pisses me off.

  86. Coren22 "security guru" fails security + code by Anonymous Coward · · Score: 0

    YOU say "hosts=bad" (but they add security, speed, & reliability) & bitch on admin privelege to UPDATE vs. threats:

    "So, have you figured out why privilege escalation is a bad thing yet?" - by Coren22 on Tuesday September 22, 2015 @05:15PM (#50577809)

    Hypocrite - You use admin priv admitting it

    &

    How else can I programmatically update hosts minus it in Windows?

    ---

    "Of course it requires elevation to write to the hosts file" - by Coren22 (1625475) on Wednesday September 23, 2015 @05:35PM (#50585879)

    You FINALLY later admit there's no other way!

    FACT:

    Even MalwareBytes AntiMalware (best one) DEMANDS you use admin privelege (you saying it's "bad" too?) it can't do its job fully otherwise, like many security tools do!

    ---

    Aryeh Goretsky NOD32/ESET says hosts = good security-> http://it.slashdot.org/comment...

    Oliver Day (Symantec) does-> http://www.securityfocus.com/c...

    MalwareBytes' hpHosts hosts & recommends my APK Hosts File Engine 9.0++ SR-2 32/64-bit-> http://hosts-file.net/?s=Downl...

    ---

    * HOW MANY SECURITY PROS DO I NEED TO KNOCK THE CHOCOLATE OUTTA YOU?

    ---

    Those security pros INCLUDE me: I work w/ guys from malwarebytes' hpHosts on a regular basis!

    I've professionally worked for decades as a combined domain-wide network admin & software engineer since 1994 (Even showing you HOW to migrate a hosts across an enterprise-> http://slashdot.org/comments.p... )

    I've also been securing computers + WRITING GUIDES using CIS Tool (who took fixes from me http://slashdot.org/comments.p... - bonus) http://www.bing.com/search?q=%...

    You told me you learn from guides?

    I write good ones that MILLIONS USE & was PAID FOR IT http://pcpitstop.com/news/winn...

    + WARES TO PROTECT USERS that are endorsed & hosted by security pros -> http://hosts-file.net/?s=Downl...

    You did all that? No!

    (& that's ONLY a SMALL part of what I could put out)

    APK

    P.S.=> You're all TALK -> http://slashdot.org/comments.p... & a "ne'er-do-well" as far as security...apk

  87. goto? by GreatDrok · · Score: 1

    Really, a goto? That's the best solution to this issue? I can actually read the crap code and while I don't particularly like it since it is assigning the values inside the if statement, that isn't the problem for me. It is the goto. I haven't used a goto in 35 years since I first discovered structured programming and I've been a C programmer for 25 years and while the statement exists in C there's just no need to use it (I never have), especially in this case. The fail_toobig should be a routine that is called rather than a label and there should be an if then else in there too. Linus' code is ugly too. Better than the first one, but still ugly.

    --
    "I have the attention span of a strobe lit goldfish, please get to the point quickly!"
    1. Re:goto? by Anonymous Coward · · Score: 0

      Seems you never had to break out of deeply nested code or did structured cleanup at the end of a function. The goto statement is considered kind of "best practices" for that special problem in C. Your function is not going to get you out of the loop and jump to the error handling code. I almost never use it myself but i know the practice - something that should be a given with your alleged 25 years of experience. At least I hope that experience does not degrade into stubbornness at a certain point.

  88. BOTH code Snipets have readability Problems by williamyf · · Score: 2

    If you do not know what usub is, is difficult to determine what is is doing. In that, Linus is right. But look inside the Parenthesis:

    " (mtu, hlen + sizeof(struct frag_hdr), &mtu) || mtu = 7) "

    Here is a very Clear OR. The guys are checking for the MTU Being to big OR too small...

    Linus offers this code:

    "if (mtu hlen + sizeof(struct frag_hdr) + 8)"

    Which obfuscates the OR comparison...

    And Both Call the label "fail_toobig" intead of a more readable "fail_MTU_outofbounds"

    Or am I missing Something?

    --
    *** Suerte a todos y Feliz dia!
    1. Re:BOTH code Snipets have readability Problems by Anonymous Coward · · Score: 0

      Guessing... the usub substract without underflow. The smaller mtu then still needs to be at least 8 (that's after the OR). Hence, mtu needs to be as big as the 2 substracted parts plus 8.

      probably, it means something like this, just optimizing out the 2nd check by merging it into the 1st:

      if (mtu < hlen + sizeof(struct frag_hdr)) goto fail_toobig;
      mtu -= hlen + sizeof(struct frag_hdr);
      if (mtu < 8) goto fail_toobig;

    2. Re:BOTH code Snipets have readability Problems by Anonymous Coward · · Score: 0

      I think you are missing something. :-)

      MTU can't be "too big or too small". MTU usually refers to the maximum packet size supported by a network. When the operating system is given a packet to send by a program, the packet can only be sent if it is smaller than the MTU. Therefore, the MTU can really only be too small, not too big. Based on the code snippet, it appears that a packet size is being validated by starting with some initial MTU size and subtracting the size of some necessary headers.

      The function overflow_usub appears to take in a pointer to the value to write the result to. In this case, the "ugly" code writes the result back to mtu before the second check against 7. That's really confusing because mtu is being modified as a side-effect of calling overflow_usb.

      Linus's approach is quite a bit clearer, and has the added benefit of not modifying mtu until after its initial value is validated. The logical or operation wasn't necessary to begin with, and in fact the original implementation could have been written more like this,

      if (overflow_usub(mtu, hlen + sizeof(struct frag_hdr) + 8, &mtu))
          goto fail_toobig;

      That's still less clear than Linus's proposal, but it's at least it's bordering reasonable and Linus probably wouldn't have been so worked up about it.

      Also, the literal 7/8 is rather poor because there is no context as to what it is. Rather, a constant should have been defined or the sizeof() operator used. That would have made the original slip-up less ugly because there wouldn't be any confusion about =7 vs 8.

    3. Re:BOTH code Snipets have readability Problems by Anonymous Coward · · Score: 0

      I actually said "Don't repeat yourself, idiot!" out loud when I read Linus' version.
      Does that make me a bad person?

  89. Coren22 caught as a lying punk by Anonymous Coward · · Score: 0

    "APK doesn't think that DNS servers are worth running and seems to believe that somehow Microsoft Active Directory can run without DNS." - by Coren22 (1625475) on Tuesday October 27, 2015 @12:58PM (#50811615)

    Where'd I say AD will run minus DNS Coren22? I've said AD = internal network DNS dependent back in 2007 http://forums.tweaktown.com/wi...

    (Searching this in BOLD "To warn users who have ActiveDirectory/AD LAN-WAN setups to NOT use external DNS servers!" referring to OpenDNS suggestions for those using AD stupid in the POST BEFORE IT in my security guides for users (geared to stand alone single machines no less), & right there on that page proves it stupid - so even if you posted as myself someplace here on /. "impersonating me", I have your ass NOW, shithead!)

    I've also stated MANY TIMES I use remote DNS in OpenDNS @ home (but not @ work on AD networks since the free model does NOT work with AD specifically you lying little imbecile).

    I also don't hardcode in "every site there is under the sun" is why, so I have to use DNS, but OpenDNS & rarely.

    I also RARELY MISS A LOOKUP since I put where I spend a good 95++% of my time online in my favorite sites into hosts @ the TOP of hosts for utmost LOCAL FASTER RESOLUTION SPEEDS and more reliability vs. Open DNS (not OpenDNS) resolvers being abused, Kaminsky redirect poisoned DNS servers (of which 99.999% of ISP DNS are not proofed against to this very day even though a patch exists which OpenDNS uses), rogue DNS servers, and yes ROUTERS with bushwhacked by malware DNS settings (happening a LOT lately).

    Hardcodes in hosts are faster than remote DNS, waste less resources than local dns in power, cpu cycles, RAM, & other I/O by FAR considering ALL THE PARTS of such a setup in programs, data, I/O, & power (especially if setup as a separate machine). Most people out there don't run a home LAN. They have single systems.

    APK

  90. Coren22 proven a LYING punk by Anonymous Coward · · Score: 0

    "APK doesn't think that DNS servers are worth running and seems to believe that somehow Microsoft Active Directory can run without DNS." - by Coren22 (1625475) on Tuesday October 27, 2015 @12:58PM (#50811615)

    Where'd I say AD will run minus DNS Coren22? I've said AD = internal network DNS dependent as far back as 2007 http://forums.tweaktown.com/wi...

    (Searching this in BOLD "To warn users who have ActiveDirectory/AD LAN-WAN setups to NOT use external DNS servers!" referring to OpenDNS suggestions for those using AD stupid in the POST BEFORE IT in my security guides for users (geared to stand alone single machines no less), & right there on that page proves it stupid - so even if you posted as myself someplace here on /. "impersonating me", I have your ass NOW, shithead!)

    I've also stated MANY TIMES I use remote DNS in OpenDNS @ home (but not @ work on AD networks since the free model does NOT work with AD specifically you lying little imbecile).

    I also don't hardcode in "every site there is under the sun" is why, so I have to use DNS, but OpenDNS & rarely.

    I also RARELY MISS A LOOKUP since I put where I spend a good 95++% of my time online in my favorite sites into hosts @ the TOP of hosts for utmost LOCAL FASTER RESOLUTION SPEEDS and more reliability vs. Open DNS (not OpenDNS) resolvers being abused, Kaminsky redirect poisoned DNS servers (of which 99.999% of ISP DNS are not proofed against to this very day even though a patch exists which OpenDNS uses), rogue DNS servers, and yes ROUTERS with bushwhacked by malware DNS settings (happening a LOT lately).

    Hardcodes in hosts are faster than remote DNS, waste less resources than local dns in power, cpu cycles, RAM, & other I/O by FAR considering ALL THE PARTS of such a setup in programs, data, I/O, & power (especially if setup as a separate machine). Most people out there don't run a home LAN. They have single systems.

    APK

  91. Re:Coren22 "security guru" wannabe fails security by Coren22 · · Score: 2

    http://systemexplorer.net/file...

    I guess we should avoid your crap, it looks like it is marked as malware. Good luck getting that removed.

    --
    APK likes to ask for responses to the same things over and over. Maybe he just likes the responses?
  92. Re:Does kernel have numeric overflow vulnerabiliti by Anonymous Coward · · Score: 0

    How do you choose variable types if you don't think about the operations you use on the variables? Do you just guess, or habitually use int until something breaks?

  93. It's no by konohitowa · · Score: 5, Funny

    three

  94. worse than by konohitowa · · Score: 3, Funny

    comments

  95. chaining by konohitowa · · Score: 5, Funny

    together.

  96. FalsePositive: 60 reputable sources show different by Anonymous Coward · · Score: 0

    I've written 'em long ago & no response vs. what this below that fries you again Coren22 from 60++ REPUTABLE sources (not those shitbrain nobodies!)

    Is that YOUR fake site for MORE LIES Coren?

    Lying again about me LIKE YOU DID HERE punk -> http://slashdot.org/comments.p... ??

    Quite possibly considering you're already caught as a damn liar.

    MalwareBytes' hpHosts Admin (MalwareBytes employee) hosts & recommends it -> http://hosts-file.net/?s=Downl... & MalwareBytes = BEST antivirus per this VERY recent testing of them all http://www.av-test.org/en/news...

    &

    It's safe proven by 57 antivirus programs recently in BOTH its 64-bit model https://www.virustotal.com/en/...

    +

    In its 32-bit model too https://www.virustotal.com/en/...

    For more "SALT IN YOUR WOUNDS"? Another -> http://f.virscan.org/APKHostsF...

    APK

    P.S.=> Then there's slashdotters saying my work is good too:

    "his hosts program is actually pretty good" - by xenotransplant (4179011) on Monday August 10, 2015 @03:34PM (#50287195)

    "I like your host file system." - by Karmashock (2415832) on Wednesday September 09, 2015 @03:57PM (#50489401)

    "APK is kinda right... I've given up on JS based adblocking and gone to blackholing in /etc/hosts, just like it was back in the 90s. The computational load has gotten intolerable for any ad-blocking using JS. I've tried his hosts file generating software. It works." - by bmo (77928) on Thursday October 15, 2015 @11:30AM (#50736071)

    "Actually, APK is totally right on this count. Adblock Plus on Firefox mobile is a dog on older, or lower end, phones. A hostfile based adblocker makes for a much better experience in this context. Of course, your phone has to be rooted" - by chihowa (366380) on Saturday May 16, 2015 @11:40AM (#49705641)

    "his hosts tool is actually useful for those cases in which one does indeed want to locally block stuff outright while consuming minimum system resources" by alexgieg (948359) on Friday September 25, 2015 @09:57AM (#50596461)

  97. Re:Linus is right only for people of his caliber.. by mveloso · · Score: 1

    "People at Linus' caliber understand exactly the rules for signed/unsigned integer promotion and where underflow is defined (as wrap) and where it's undefined[1]. "

    Well, the specific behavior in this types of cases will/may depend on the hardware. Linux targets lots more systems than just x86-64. And in any case using a gnu version-specific intrinsic is probably not the best thing to do in general.

    And what's with the magic number?

  98. Re:Coren22 "security guru" wannabe fails security by Anonymous Coward · · Score: 0

    Coren22 the desperate proven liar fails again against apk http://slashdot.org/comments.p...

  99. There are advantages to having a consistent flavo by Yoik · · Score: 2

    A his strong voice is one of the reasons Linux is so popular. I fear for the day a committee makes thedecisions

  100. Sounds ok by Anonymous Coward · · Score: 0

    I support that code should be readable if possible and such self-purposed constructs avoided. However much ranting over nothing.

  101. Re:Does kernel have numeric overflow vulnerabiliti by Megane · · Score: 1

    I would still prefer "sizeof dest" (yes, without parens!) instead of "sizeof(dest's type)", if only because if the declaration of the destination was somehow changed to a different type, the code would be wrong. I prefer to keep as few separate copies as I can of such information, and let the compiler take it from the symbol table, sort of like the new C++ "auto foo = something".

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  102. Coren22's desperation, lies, & libel by Anonymous Coward · · Score: 0

    "I guess we should avoid your crap, it looks like it is marked as malware. Good luck getting that removed." - by Coren22 (1625475) on Monday November 02, 2015 @03:52PM (#50850445)

    False positive: I've wrote 'em long ago, no response vs. 60++ REPUTABLE sources (not nobodies) below that fries you Coren22!

    Is that YOUR fake site for MORE LIES Coren22?

    Lying about me LIKE YOU DID HERE punk? -> http://slashdot.org/comments.p... ??

    ---

    MalwareBytes' hpHosts Admin (MalwareBytes employee) hosts & recommends it -> http://hosts-file.net/?s=Downl... & MalwareBytes = BEST antivirus per this VERY recent testing of them all http://www.av-test.org/en/news...

    &

    It's safe proven by 57 antivirus programs recently in BOTH its 64-bit model https://www.virustotal.com/en/...

    +

    Its 32-bit model too https://www.virustotal.com/en/...

    More "SALT IN YOUR WOUNDS" -> http://f.virscan.org/APKHostsF...

    APK

    P.S.=> /.'ers say my work is good too:

    "his hosts program is actually pretty good" - by xenotransplant (4179011) on Monday August 10, 2015 @03:34PM (#50287195)

    "I like your host file system." - by Karmashock (2415832) on Wednesday September 09, 2015 @03:57PM (#50489401)

    "APK is kinda right... I've given up on JS based adblocking and gone to blackholing in /etc/hosts, just like it was back in the 90s. The computational load has gotten intolerable for any ad-blocking using JS. I've tried his hosts file generating software. It works." - by bmo (77928) on Thursday October 15, 2015 @11:30AM (#50736071)

    "his hosts tool is actually useful for those cases in which one does indeed want to locally block stuff outright while consuming minimum system resources" by alexgieg (948359) on Friday September 25, 2015 @09:57AM (#50596461)

  103. Re:Linus is right only for people of his caliber.. by Megane · · Score: 1

    Yep, "People at Linus' caliber" also understand that gcc is not the only compiler in the world. gcc-centrism is the vaxocentrism of the 21st century.

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  104. Re:Does kernel have numeric overflow vulnerabiliti by Megane · · Score: 1

    Errrr... except that I now see that this is validating an IP header, so it's not really the same situation.

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  105. Coren22's desperation, lies, & libel by Anonymous Coward · · Score: 0

    "I guess we should avoid your crap, it looks like it is marked as malware. Good luck getting that removed." - by Coren22 (1625475) on Monday November 02, 2015 @03:52PM (#50850445)

    False positive: I've wrote 'em long ago, no response vs. 60++ REPUTABLE sources (not nobodies) below that fries you Coren22!

    Is that your fake site for more lies Coren22?

    Lying about me LIKE YOU DID HERE punk? -> http://slashdot.org/comments.p... ??

    ---

    MalwareBytes' hpHosts Admin (MalwareBytes employee) hosts & recommends it -> http://hosts-file.net/?s=Downl... & MalwareBytes = BEST antivirus per this VERY recent testing of them all http://www.av-test.org/en/news...

    &

    It's safe proven by 57 antivirus programs recently in BOTH its 64-bit model https://www.virustotal.com/en/...

    +

    Its 32-bit model too https://www.virustotal.com/en/...

    More "SALT IN YOUR WOUNDS" -> http://f.virscan.org/APKHostsF...

    APK

    P.S.=> /.'ers say my work is good too:

    "his hosts program is actually pretty good" - by xenotransplant (4179011) on Monday August 10, 2015 @03:34PM (#50287195)

    "I like your host file system." - by Karmashock (2415832) on Wednesday September 09, 2015 @03:57PM (#50489401)

    "APK is kinda right... I've given up on JS based adblocking and gone to blackholing in /etc/hosts, just like it was back in the 90s. The computational load has gotten intolerable for any ad-blocking using JS. I've tried his hosts file generating software. It works." - by bmo (77928) on Thursday October 15, 2015 @11:30AM (#50736071)

    "his hosts tool is actually useful for those cases in which one does indeed want to locally block stuff outright while consuming minimum system resources" by alexgieg (948359) on Friday September 25, 2015 @09:57AM (#50596461)

  106. I looked at the code. He is right. by gweihir · · Score: 1

    If anything, he was too friendly. People submitting stuff like that should be banned from contributing until they have learned how to write readable code.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  107. Re:Not many people could get away with saying that by gweihir · · Score: 1

    Looking at some comments here and in similar stories, it seems there are quite a few people that would indeed try this.

    Relevant quote: "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

    That one is very, very true.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  108. Re:Linus is right only for people of his caliber.. by Wrath0fb0b · · Score: 1

    Well, the specific behavior in this types of cases will/may depend on the hardware.

    Which is exactly why you should use a compiler intrinsic since it's their job to keep track of machine details.

    And in any case using a gnu version-specific intrinsic is probably not the best thing to do in general.

    They didn't use the gnu intrinsic, they macro'd it out into to resolve to an intrinsic where available. That's the best way to do it until all compilers get their act together and provide some form of "perform arithmetic and tell me if it overflows".

    This is the same way that all extensions are handled. Have AES_NI, you get some intrinsic, otherwise you go down a generic code path.

  109. Kernel Fork... by Anonymous Coward · · Score: 0

    Nothing wrong with discussing Linus' "management" style, but perhaps there is a reason there is not a kernel fork called "The Mother Fucking Kernel Fork For Assholes".
     

  110. I never found linux source code readable by Anonymous Coward · · Score: 0

    Well, I want to write my own hobby OS, I never found linux source code readable, no reusable also.

  111. Is anyone surprised? by Anonymous Coward · · Score: 0

    Loonix rants about everything because he's a petulant child.

  112. You go by Anonymous Coward · · Score: 0

    Fuck yourself

  113. An alternate perspective by Anonymous Coward · · Score: 0

    First, I am NOT a huge Linus fan - I think he is a pretentious jerk ... but I am going to defend him here.

    Linus shares a bunch of traits with Steve Jobs, who I always thought was also a jerk. That's both bad (both men had a boorish habit of trashing people with a lower position in their respective pecking orders, i.e. they're not "good people" ) and good (by being so particular, they forced the creation of superior products).

    I do not think of either Jobs or Torvalds as a superior coder, or even a superior intellect - just as a couple of guys who know what they want and are merciless in driving the process to provide it with QUALITY. The world has lots of people in it, and they are happily all different. Guys like these two are probably beastly to know, but they drive excellence and they have a place (probably not around children, kittens, and puppies).

    Would it be nice if Linus was less abusive? Yup. I particularly grow weary of all the anti-Christ rantings. If you are not going to abuse Mohammed or Buddah, etc knock off the Christ references - it's not bold or brave it's just an attack that you know is safe (there are no Christian Jihadi's, and Christ is not associated with any particular ethnicity). There IS a difference though between being offensive (insulting somebody or some belief system) and simply loudly criticizing a bad decision (like this coding issue). It's a little tiring when people who cannot defend their work on a technical basis, latch on to the unpleasant aspects of a Jobs or Torvalds rant and complain about it being "personal" as a distraction for the content of the actual criticism.

    1. Re:An alternate perspective by SharpFang · · Score: 1

      The significant difference is that Linus isn't a pointless jerk - he just reacts aggressively to stupidity or arrogance. But you won't find him parking his car on a disabled people's place, or cheating a co-worker/partner out of a fair share of profits.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
  114. You're wrong by Anonymous Coward · · Score: 0

    and you're a grotesquely ugly freak.

  115. I has acronyms by Anonymous Coward · · Score: 0

    PCC

    Plz do!

    Plz do not require includes to be included all the time
    even when it was included already.

    iki beer

    good

  116. Re:Does kernel have numeric overflow vulnerabiliti by Anonymous Coward · · Score: 0

    Practically the code can only overflow in the one case covered in Linus fix. The hlen value is returned by a method using u16 internally adding the frag_hdr size + 8 wont be enough to make this overflow a 32 bit int and afaik the Linux kernel does not support 16 bit processors. Since the u16 size for hlen is based on the size of a value in the IPv6 header the code is also unlikely to break in the future.

    Basically the original patch is overly defensive and shows a general lack of understanding of the code it fixed by protecting against impossible issues. There have been occasions in the past where such patches introduced new bugs, people "fixed" code following suggestions made by static code analysis tools without knowing what they fixed.

  117. Who cares? by The123king · · Score: 1

    Seriously, who cares?

    --
    If you gave me a choice between a printer and a giraffe with explosive diarrhoea, i'll get my ladder and my raincoat
  118. Re:Linus is right only for people of his caliber.. by Anonymous Coward · · Score: 0

    TBH Linus too falls in the camp of people who isn't happy with GCC being so aggressive with regard to assume-no-UB in optimization.

    Which is a bit of a double standard IMO. I can see why the GCC default for "ordinary" application programmers should default to safe over fast, but for the Linux kernel the default should be fast. If you're smart enough to work on the Linux kernel, you shouldn't fall for such fairly simple pitfalls. You're already capable of overwriting entire harddisks at that point. Quick&dirty is not appropriate. Check your overflows and underflows, make sure your pointers can be trusted. etc.

  119. The code submitted IS CRAP by Anonymous Coward · · Score: 0

    The code submitted IS CRAP. You could argue LT's crap has problems as well but at least it's readable and that's more important. So is portability.

    And anyone who's ever managed people knows that often you can't treat people with kit gloves and get changes in behavior that are required to get the job done. This is especially true with remote workers (IOW all open source developers) because NONE of the standard social cues or pressures are present so there is even less incentive for them to listen/obey/change. It sucks that we are all irresponsible monkeys that don't lock-step in on our own but that's precisely what we are. Often you must be an Alpha Male about these things and that means getting angry (for real or for effect) and tear people a new asshole.

    Sadly I actually understand that many women won't get this. This is NOT how female social groups play. But female social groups generally do not build things like code, buildings, ships, computers, etc. that lives depend on and that must be error free and operate to spec despite how much those creating them tend to rebel or just fuck up things. Men have evolved a system for this kind of project that works. Cooperative, nicey-nicey usually results in substandard compromises that do not work as planned or needed or on schedule. Social harmony is preserved but the project fails. In a traditional woman's world, that's OK (I guess) but in the REAL WORLD, it's NOT OK. The Real World is far more complex than the "home and hearth" where female sensibilities were developed, evolved and are ideal.

    If this offends, well, then reality offends, and if you cross reality, often you die and your people die. That's why being reality-base trumps male or females wishes, biases and desires. Even men have to submit to it and men who don't typically get kill in accidents, in crimes and in poverty. Women want a place doing "the fun stuff men do"? Well, first, it's not always fun - getting torn a new asshole is standard operating procedure and it's necessary to OUR WORLD which has far more history in harsh realities. I have no problem with women "learning the hard way" and even getting killed, imprisoned or socially shunned like we would for fucking up - nothing teaches like that or having examples of "your kind" in your face. But they want it both ways: the privileges of their old world but the privileges of the new as well. Fuck me but men don't even get both - often we don't even get the privilege OUR MALE WORLD!! So fuck you to all those want things "dainty and nice" in the real world.

  120. That code WAS sh*t! by Anonymous Coward · · Score: 0

    I looked at the code in question, and Linus was 110% correct. If one of my engineers wrote that, they would be defecating out of a new asshole which I would happily rip open for them...

  121. Re:Linus rants = tautology by SomeoneFromBelgium · · Score: 1

    ... or even worst: double speak (gniffle)

  122. because you dont.... by ancientmyth · · Score: 1

    The subject of this post pretty much sums it up.

  123. Linus rants by Anonymous Coward · · Score: 0

    There used to be a comment you'd hear around the web many moons ago, "Windows isn't done until Lotus won't run". Sorry for my skepticism but I don't trust anything that's window friendly but gives everyone else grief. I haven't heard if MS i complaining so perhaps I'm just a little paranoid.