Honestly, I maybe get why some people are too sensitive to work in such conditions, but from my professional experience, I’d much rather prefer getting angry mail explaining why my actions are stupid, than everyone being nice to one another but the codebase is utter garbage and everything falls apart, which happens a lot in private companies.
It’s all fun and games till the baby blows up when it really really shouldn’t blow up. And I personally, would rather have people learn that pain an email than learn that a million people are in pain because of their ignorance/bad work.
you seem to have created a false dichotomy where it’s impossible to fix bad code without being abusive. would you like me to call you “dumb motherfucker” or is this explanation enough?
I think you’ve missed what the sin was, as well as the context of the players.
The sin was not the bad code. Let me say it one more time for clarity: the issue was not the code
The issue was that, when presented with the defect (inevitable outcome of any software project: not intrinsically sinful) Mauro started blaming other people on a public mailing list
Mauro, being a maintainer, was in a position of authority. Like a police officer, their bad behaviour reflected poorly on the organization*as a whole.
If a cop was abusing their power (publicly or not), I expect the chief of police to come down on that abuser; to make clear that this abuse is absolutely unacceptable, not only within the accute instance, but within the greater context of the expectation of the behaviour of the whole organization.
Mauro chose the context of his abusive behaviour as the public mailing list.
Him getting slapped down in that same forum is the direct result of his own choices.
In the same way that I would be upset with the chief of police not publicly and harshy denouncing an abusive police officer, so would I be upset with the absence of such a response in this situation
I didn’t miss the sin. The sin isn’t relevant to me. You don’t treat people like that. Whatever you hope to accomplish, you can accomplish without treating people like that. If someone else is being abusive, that’s not license for you to be abusive in response. If a cop was abusing their power would you expect the chief of police to publicly berate and insult him, or would you expect the standards to be enforced without resorting to that?
When you abuse someone for being abusive you don’t make it clear that abuse is unacceptable. In fact, you do the opposite. You establish that abuse is a part of your culture. If I was considering contributing to the kernel and saw this exchange, I’d walk away. I don’t need that shit, not from Mauro, not from Linus, not from the Lord hisownself. It damages the organization long-term.
It was a hash admonishment for the specific choices and actions that the person did that were wrong , and that the person, based on their position of authority should absolutely know to be wrong.
The confluence of factors here are what differentiates this from abuse. By calling this abuse, you’re actually diminishing what actual abuse is.
Or nice in person, then all the toxic bakstabbing behind the scenes.
This reads like the Sh*t My Dad says book. The author said it seemed harsh to some people, but the bonus was there was never any passive agressiveness, and you always knew exactly where you stood.
Yeah, that’s a hard pass on passive aggressiveness, constructive criticism isn’t either of those things nor rude and angry ranting. Love Linus, but he really did need to chill out a bit more with these things. He could have gotten the same point across without coming across as yelling at the guy, just firmly pointing out that it was caused by the patch, the patch did things it shouldn’t ever do, and don’t break userspace or blame userspace programs
Yeah this kind of attitude is never a productive strategy unless you want to surround yourself only with assholes. It also demonstrates a complete lack of ability to manage humans and keep your values straight when you become upset and stressed out, which is a massive red flag to hold up as someone running a project.
In general it seems like a lot of people get into computers because they think it is a magic fantasy land where you don’t have to practice people skills and interact with other humans… when like every other industry after a certain seniority in a project it always, always, always comes down to managing humans and human interaction skills. The idea of the tech wizard programmer who can be an asshole because they are a genius at coding is just so tired at this point.
No, not at all. I appreciate that of her. She doesn’t even look scary when I’m being told off. Which is why I put the word angry in quotation marks. She tries to sound angry and look scary but we kind of brush it off. Not that I didn’t respect her authority.
Exactly. I’ve worked under terrible managers and some great ones. Great ones get pissed off but they never, ever try and let emotions out. They were all to the point and knew what worked for every guy.
I hate passive-aggressiveness, because I want to know what people really think of me. How can you feel secure if you know that somebody might secretly hate you and is just waiting for the right time to put a knife in your back?
Being polite doesn’t mean being passive-aggressive. I can tell you that I completely disagree with your opinion without calling you “a brainless ape that should’ve fucking stayed in school because your dumb ass cannot comprehend the simplest matters”.
You don’t need to tell each other to shut the fuck up in all caps and call each other idiots to get the point across. It’s possible to instruct your peers in a much more professional manner.
I don’t know the full context, but that message doesn’t sound like it was his first reaction to a first patch he got from that guy. I’m not implying anything, but I’m also no stranger to people resilient to reasoning. I’m not a fan of this tone or language, but I don’t think it’s that big of a deal either
I would tell you that you haven’t worked with enough people. I don’t disagree but occasionally you find people that need a really really good reminder that they not only suck but you’ve tried to be nice multiple times and it didn’t penetrate.
I agree that some people need harder tones, but I don’t think anyone needs the abusive language that Linus used. If that feels like the only option, I think it probably means the person has gaps in their social toolbox.
And also if you are a manager and one of the team members perform poorly and you cannot help the person improve, you should rather let that person go before you get to a state, in which you write such mails.
You can be polite or just straightforward and still get your message across.
“We don’t blame bugs on user programs”, “This is not an error code that should be used here”, “Your coding standards may have relaxed over your tenure, be sure to maintain quality code.”, etc. I get the annoyance, but you can be firm without yelling, especially in a professional environment.
Edit: Seeing the full context of Mauro’s message (posted below), I can see why Linus took this tone. Mauro was being pretty condescending to a dev.
Programmers are sensitive enough. All you have to do is raise your voice slightly, and they’ll think you’re yelling. You could probably make one cry just by saying their patch isn’t good, without having to resort to aggressive language.*
I don’t know the whole history, but this seems highly unnecessary, and typical Linus. Didn’t he resolve to be better a few years ago?
The 23rd is the day before Christmas. We celebrate the eve here in the Nordics. The 25th is the relaxing day after Christmas when you eat leftovers and do fuck all all day.
Actually one day before Christmas in Finland and other Nordic countries. I don’t know if Linus still celebrates Christmas like that, having resided in the US for a long time already, but the big celebration is here always the 24th of December, and 25th–26th is mostly just resting after it.
6 years ago, I was using a USB wifi adapter with my desktop (my friends next door paid for internet and we paid them half the bill to share).
I had picked this wifi adapter specifically because it had linux support, even though I used windows (I had an inkling I’d switch). So, I tried to switch but upon boot I couldn’t wifi because the adapters module wasn’t bundled by my distro so I had to instal ‘dkms’, but I couldn’t do that without an internet connection…
I had a similar experience trying to install a m.2 drive in my win7 PC. It needed a hotfix to work but Microsoft had taken down the downloads so I ended up finding out it was in an update pack from I think Lenovo’s website and pulled it out of that.
To get it to work in Windows I literally had to go to a website that was only Chinese, download a zip file, and extract a dll that would then work when pointed to.
It’s called manual driver install in Windows… pretty common with older hardware.
Most of those just go over Windows Update now or work with a generic driver that comes with Windows. Only really obscure drivers need manual installation.
I know this is a meme /c, but for real, I bought this exact same product a while back. If this is your photo, just be careful about what you put on it. Mine lasted 2 months with a grape vine on it before it collapsed.
Just wanted to say we have one in our yard that has been there for almost 20-years. Previous owner left it to rot. I moved it close to some wild hops and they are covering it completely after two years. Still standing!
Lol. The wife wanted something decorative and liked how it looked. Caveat Emptor, and all that I suppose. I knew I was buying from a less-than-quality source
One definitely should use solid structures, metal or wooden. The damned thing cost ~10$ and I didn’t have time to build a proper support structure at the moment. I meant to use it only as a temporary solution, which I forgot when everything was fine.
The design of the arch itself wasn’t the problem. The interconnecting pipes were only 1-2mm thick, so there was no way it could possibly support the weight of a flourishing grape vine.
It was marketed as a “rose arch”. I guess it could’ve handled this purpose without any problems.
I agree, it’s completely unacceptable to introduce a bug and then to instead of taking responsibility for introducing such a bug, you start pointing fingers at everybody else.
It’s like when a car hits a cyclist following all the rules and then tries to blame the cyclist for not following some made up rules that only exist in the drivers head “Cyclists should be on the SIDEWALK if they don’t wanna get hit!”
Not only were they wrong to hit them, they’re DOUBLE wrong for trying to blame them after the fact.
You’re agreeing with something I didn’t state. I’m not defending the idea of introducing bugs through bad code and then blaming others. I think the way Linus responded to that was the issue.
After I saw the car hit the cyclist, I rushed to his aid.
The driver came out of the car, yelling at the cyclist for being on the street.
“Shut the fuck up. Get back in your car. You are the problem. It was wrong of you to hit him and wrong of you to blame him you fucking idiot. You can help, or you can fuck off, but you’re not going to stand here and blame the man you just injured with your own incompetence”, I screamed at the driver.
I don’t think I am missing the forest. There’s not an issue with the idea of correcting a developer, but there is an issue in the way the correction was carried out. Just because something behaves “better” after punishment doesn’t mean the punishment was good. Ends justifying means and all.
That’s very “ends justify the means” of you. No, that’s not the question here. Linus could have gotten the same results without the yelling and insults. You do not need either of those to be direct, assertive, and clear on what the issue is, something that Linus has since learned
Both Mauro and Linus are human. I trust them to be so. I don’t get the point of endlessly pontificating about human quirks & behavior, we are all not assembled from the same factory. And we all grow and we learn. No one’s perfect.
Plus, your argument fails to address the main issue here, Mauro needing to realize that he needs to improve in order to continue contributing to a project shared among many people and one passionately guarded by Linus as his baby.
Nah it’s completely fine. I vastly prefer an angry-sounding takedown over a passive aggressive takedown and a takedown Mauro definitely deserved because his code was, in fact, utter shite, and that as a maintainer. This isn’t “oh he’s a noob he doesn’t know how the kernel works” type of territory. Also note that this happened after he had been told what’s up in a neutral and factual way: Linus, even in his most management by perkele days, never made those things the first reply to anything. So Mauro got his chance to spot that he fucked up and correct his approach, he didn’t, therefore, it has to be said loudly. Simple as that.
Also, no “you should be aborted retroactively” in sight anywhere. Yeah that stuff wasn’t necessary even though everyone with an ounce of social intelligence should readily spot that those insults were always so over the top as to be obviously humorous.
It’s possible to be assertive and assign responsibility for a screwup without being a dick. “Being a dick” is the nothing else has worked option, not step one.
“being a dick” and “assertive” are weasel terms which do a hell a lot of lifting in your argument there. I have no idea where your line for behaviour to be deemed acceptable actually is.
IMO, no, Linus wasn’t a dick. He called out a specific attitude and behaviour which Mauro is not supposed to show in his role as maintainer. What about Mauro being a dick because he went in all self-righteous like “this is a bug in pulseaudio”?
If you were a restaurant manager, and a server told a customer that he’s not going to serve beer with steak but only wine because “drinking beer with steak is obviously wrong”, what would you do? Chew them out, of course. It’s way out of line. This isn’t Linus exploding over nothing just to bully someone, that’s a thing he has never done.
If you want someone toxic to complain about in the FOSS space pick Lennart Poettering, the kind of guy who replies to “We’d like to be able to disable various features to keep things small” with “why do you hate disabled people they need accessibility”. More generally speaking: Focussing on tone never ends up well. You can be incredibly toxic in the most flowery of idioms.
Your example is from one of this industries notorious for being toxic – that doesn’t make it right.
“Why would you think that’s even remotely acceptable? Now I have to go apologize and possible comp a meal.” Depending on the circumstance: take them off that table, send them home, or fire them. Being in control of themselves is one of the defining aspects of leadership, and being abusive is the sign a “leader” that isn’t.
If they start being a dick: sure, game on – so long as you’re not demeaning yourself doing it. But most people are capable of a degree of self reflection and accountability once you make the situation clear to them, and they deserve that chance. Sometimes people don’t even realize they’re the ones that screwed up, even when it’s obvious to everyone else.
There’s it again. What, precisely, is it that makes Linus’ comment “abusive”? Is he gaslighting? Is he attacking Mauro over what he is? All I see is calling out, harshly, what Mauro did, behaviour that actually occurred and that is not acceptable and that Mauro knows is not acceptable. “We do not break userspace” is the rule #1 of Linux development, Mauro ignored it and was a dick about it.
Or do you disagree with the tone of the whole thing. Things like “Shut up” instead of “This is not up for discussion”. If so, then please for the love of the gods please shut up.
Maybe fair in a typical setting, but getting iffy around programmers, especially kernel maintainers. I’m convinced linux and foss in general would not exist without the autism spectrum, and who knows maybe even borderline personality disorders
linuxmemes
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.