4 ms·
How much if any of this is just bike shedding? I'm all for not pulling in useless broken code, but why the public rant?
by jaytaylor 11y ago
How much if any of this is just bike shedding?
I'm all for not pulling in useless broken code, but why the public rant?
- archimedespi 11y agoThis is just Linus being Linus - he's like this quite a bit. He's... very opinionated.
- epistasis 11y agoThere's opinionated, and there's toxic, and I would argue that this is far more of the latter. That said, people in powerful positions will often get away with this, without many larger negative consequences. With that much power and influence comes a lot more slack in the way one behaves. I don't have much tolerance for Linus like behavior in places that I work day-to-day though, without a lot of protective social niceties.
- ciupicri 11y agoToxic?! He's just harsh and with a good reason. I find sugar coating way more toxic than what Linus did.
- gnarbarian 11y agoStrong language and mean words aren't toxic. I'd rather know the boss is pissed off than have him smile to my face while slowly hating my guts more and more. If you don't let people blow off steam and express their honest opinions people bottle it up and you end up with a nasty passive aggressive, underhanded environment where everyone is lying and that's actually toxic.
- vehementi 11y agoAre the only possible options swearing at employees or tricking them into thinking you're happy while you secretly are upset with their code quality?
- gnarbarian 11y agoWhen communication is carried out over text it can be difficult to convey seriousness, intent,tone and emotion behind overly professionally sanitized HR speak. Linus' example here is marvelous in comparison and gets his point across quite well.
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- kawsper 11y agoIf Finns are anything like us Danes, they actually like to swear a lot. DHH has some of it as well, and it seems it isn't meant as bad or as rude as native english speakers understands it. David wrote about it here, https://signalvnoise.com/posts/1214-profanity-works https://signalvnoise.com/posts/1214-profanity-works
- ageofwant 11y agoThe places where you work day-to-day are of very little importance. This is the Linux kernel, it runs the world.
- learning_still 11y agoThat seems like a very sheltered perspective. It is clear that Mr. Torvald used the language he did to express and support his thesis. This was not a personal attack, a lashing out, or any other sort of fit. There was a clear message: stop writing shit code. He began by explaining his definition of 'shit code' with an example. Then, he explained why we don't want it. Finally, he presented a solution. He did all of this while still conveying his conviction. Sure, we could sit around crying about the f word, or we could accept the fact that sometimes when we do shitty things to people it pisses them off. Mr. Torvald was clearly pissed off from people doing shitty things to him. In this case, trying to taint a project he's spent the last decade working on. Should he have hidden this frustration just to appeal to your PC upbringing? Absolutely not. It was refreshing to read something sincere. Toxic? That code was toxic. That code would have had real world consequences that affect millions of people. A few harsh words mean nothing in comparison.
- devnonymous 11y agoI personally also do not like bullying and if something like this were to come from someone_I_did_not_respect , then I too would not have much tolerance for the behaviour. On the lkml however, people respect linus, and that's the reason why he gets away with it. Not because of some 'slack in the way one behaves' as you put it. Take a look at the response: http://lkml.iu.edu/hypermail/linux/kernel/1510.3/02919.html http://lkml.iu.edu/hypermail/linux/kernel/1510.3/02919.html I would imagine that if you're is being flamed by linus on lkml, it is most likely because you messed up big-time. Don't expect to be reprimanded with sugar coating. More so if you are an adult/mature/experienced (in terms of contributions) person who should've known better.
- chris_wot 11y agoYeah, nothing at all personal about: ...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.
- gnarbarian 11y agoBecause if we're here talking about it, there's a chance people will remember to not do it next time. Also it's cathartic.
- deleted 11y ago[deleted]
- NhanH 11y agoIt's not bike shredding. Development project almost always die by a thousand cuts that needs to be avoided one LOC at a time.
- jmpeax 11y ago"Out to lunch", "bike shedding". Ironic how colloquialisms are used so freely in an industry that despises counter-productive complications.
- jaytaylor 11y agoTo be clear: I wasn't immediately sure if it's Linus doing the bike shedding- In fact it appears to me more like the PR is the culprit.
- jmpeax 11y agowtf does "bike shedding" even mean?!
- fnordfnordfnord 11y agohttp://catb.org/~esr/jargon/html/B/bikeshedding.html http://catb.org/~esr/jargon/html/B/bikeshedding.html https://en.wikipedia.org/wiki/Parkinson's_law_of_triviality https://en.wikipedia.org/wiki/Parkinson's_law_of_triviality Or: http://www.urbandictionary.com/define.php?term=bikeshedding http://www.urbandictionary.com/define.php?term=bikeshedding
- jmpeax 11y agoYeah, I can google too, just kernel developers can find what the function overflow_usub does. That's not the point.
- Sanddancer 11y agoThe rant is about being overly fancy with the code and making it hard to read. If one scans the line, the thing that stands out first is the function being used. Not only is it a gccism that has never been used before, but it's a gccism that is used in a poor manner. By copying the "safe" subtraction to the same variable, you've now changed the behavior of the function. Before, if the mtu was too small, it would goto the error handler and not alter the mtu. The new function, if the resulting value is between 0 and 7, will overwrite mtu, match the second conditional, and be shipped off to the error handler with a new, invalid, value. The second part of cleverness is in fact even more damning than that. The conditional || mtu <= 7 is a siren's call for anyone looking for a cheap optimization. To someone not paying attention, this looks like it could be a nice patch -- take out an or that couldn't possibly be true under any circumstance, and save a few ops on every incoming packet. Bundle it in with other optimizations, and you've got an overflow just waiting to go off. So no, it's not bikeshedding, it's being too clever for one's own good, and in one line adds a new function call that's just barely been proposed for a standardized version of C, and has a pair of logic errors to boot. In short, ticking off pretty much everything you don't want to do in a line of code.
- heavenlyhash 11y agoThank you: the most comprehensive (and damn near only) comment on the page that talks about the technical decision being represented here.