Plenty of people claim that they're scared to contribute because Linus might yell at them. That's unfounded for a lot of reasons.
TL;DR: Test your code before you submit it. Don't accept or acknowledge patches from others that haven't been reviewed or tested. And if you make a mistake, own up quick and he's not going to yell at you. It's pretty simple.
He will occasionally jump in and yell when people aren't accepting responsibility for problems they caused. Especially when they won't accept nicer, less authoritative criticism from their peers.
That's what happened in this case. Check the follow-up message in the thread where Linus explains his dissatisfaction (http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02507.html). The contributor who caused the regression was caught denying that there was even a regression. His patch had already long been identified as the culprit and reverted. But over the course of three weeks he was insisting that it was not a kernel regression. Essentially he dug in for 22 days saying that it wasn't his problem. And he wasted tons of valuable contributor time where people were nicely telling him that, yes, it was indeed a regression.
Multiple people were telling him about the "don't break userspace" policy and how it was a regression. And yet that contributor was still deflecting responsibility for the problems caused. But the problem is that this patch would leave the distros in the lurch - scrambling to update their configuration before the kernel breaks behavior. And that's without any ETA on their "long term ... flexible solution" (http://lkml.iu.edu/hypermail/linux/kernel/1710.3/00380.html). Thousands of people with varying levels of technical competency would have had their systems break in unexpected ways.
Quite frankly, he earned the dressing down. And plenty of people tried to be nice to him about it. It just didn't take hold in his mind until Linus dropped in to rudely remind him that even "correct" behavior is a regression if it breaks userspace. Also note that Linus said the issue had been escalated to him. Someone explicitly brought this to his attention because there was a distinct lack of progress due to CYA responsibility deflection.
> It's not a regression unless something was broken first, then fixed, then the SAME ISSUE comes back in a later code change.
No, it's when a change results in unintentional behavior that breaks previously supported scenarios. You might want to double-check your definition. I think you're actually referring to a recurring issue.
It might not be about commercializing so much as including it in some of the *BSDs which don't allow for GPL code in the core. Otherwise, they'll probably have to write a new implementation. But yes, there is that risk.
> The OpenVPN Windows kernel TUN/TAP driver is really super scary.
I believe you. Everything about OpenVPN code scares me. Not sure if it helps, but I checked out an article by Dmitri Varsanofiev on using the TUN/TAP driver (http://www.varsanofiev.com/inside/using_tuntap_under_windows...) and it seems he was able to work with the driver from managed (C#) code without actually modifying the driver source at all. It seems he was just invoking two Win32 API call methods from Kernel32.dll: CreateFile and DeviceIoControl. If he can do it from C#, it should be doable from rust.
From his sample, it seems you could work with the tunnel device without modifying the source code at all. Although that means you've still got a major code wart from OpenVPN haunting you. And even if it works, I'm not sure if that's the recommended approach. But if you're insistent on supporting Wireguard on Windows versions before 10, the TUN/TAP driver might be the only route available. I don't think those VPN APIs existed in Windows 7 and I think they were private in 8/8.1, if memory serves.
The good news about the UWP APIs is that you once you confirm that it works, you could potentially get it up on the Windows store and make it easy for people to install and update. Though there's tons of notes that the VPN APIs are restricted, and you can only publish apps that use them after you get reviewed and your account gets those permissions. You can still sideload, (locally install) though. Honestly, I don't think the review would be a huge obstacle, though. I think Wireguard has some fans in MS.
> By the way, if you're into Windows programming and want to help out, don't hesitate to email [email protected].
I mostly work on the managed side of things, but I try to keep fresh on APIs and platform features. I'm not sure my workload really allows me to be a major part of the project, but if you've got a public portal that tracks your tasks, I might be able to subscribe and pop in and do some legwork from time to time. Especially if someone's writing the core functionality in some DLL that's easy to call. Do you have a public issue tracker? Or is it mostly IRC and mailing lists?
First of all, love the project. Thanks for tackling it and sticking to it.
I know that talking about a windows client is really early at this point, but is your team considering implementing it in a way that actually uses the UWP VPN provider interfaces (https://docs.microsoft.com/en-us/uwp/api/Windows.Networking....) instead of (or in addition to) the OpenVPN-style system tray app? I know there's been some strides towards using UWP from rust. And if you're thinking about it, early consideration might give extra time for any necessary interactions with MS.
It would be really nice to have an open-source VPN implementation actually integrate with the OS, and I think it might provide the impetus people need to ditch OpenVPN. So even if you don't plan on directly working to integrate with the OS interfaces, please consider referencing the APIs when working on userspace libraries. Keeping the needs in mind could at least simplify any future efforts in that regard.
Yeah, it's possible. And it will probably happen at some point or another, now that it's open source. But that won't stop the momentum of the core product.
> Also historically, is /var/log any different from telemetry? I can easily figure out which applications were installed, what the hardware on the system is, which cron jobs were executed etc.
Telemetry by definition includes the transmission of logged data. System logs may be collected and transmitted internally by an organization, though by default it is not. But pretty much everyone would be up in arms if a software vendor collected logs of not only what their own software is doing, but what other software on a user's system is doing. And that's the main problem with Windows telemetry - it's too invasive, resource intensive, opaque, and integrated for people to stomach. So they turn it off wherever they can, and thus starts this disgusting game of whack-a-mole with Microsoft.
The dotnet cli isn't as bad, but Microsoft has earned some black eyes from the behavior of their other departments. So everyone's going to feel the heat until they learn too control their greed for data.
> There's also a warning the first time you use it
If you'd actually read the issue before commenting, you'd realize that this behavior was added after people complained about the telemetry not being obvious. It's the sixth comment on the issue (by guardrex) - not even that far down. The very next comment is an MS contributor saying that he makes a good point that it wasn't obvious, and that they'd improve it in a future release. Which is why there's now a warning when using it. I mean, the link is old, but it should be understood that an issue on preview tooling from over a year ago might not represent the current state of the tooling. But yeah, on first release, all the notice you got was a blog post, if you even bothered to look for it.
It's also a fair point that it's still not made very clear that what information is collected under what circumstances. It's a huge problem with Windows, so you can understand why people have their jimmies rustled even over something small. Especially since windows 10 makes it impossible to completely opt-out of telemetry. Even after disabling the visual options, it's still regularly calling out to Microsoft servers. Even if you disable the services, updates will turn them back on and other services will start it up. And then it chews through your system's CPU like it's starving. Which means it's probably collecting far more data than it needs.
Finally, sometimes it's not even about what's collected or that there's an opt-out procedure. Sometimes just having a mechanism for transferring data can cause problems. 'sushihangover' comments on that issue that someone failed their HIPAA audit based on this behavior. I've no idea if it's an accurate example, but there are government, medical and enterprise environments where any non-sanctioned traffic is strictly prohibited and can cause liabilities.
Telemetry needs to be easy, simple, and thorough in its opt-out mechanisms. Microsoft has failed its users on this frequently and recently. I don't think this particular instance is that bad, but they should be doing damage control in all products based on the public perception that they're spying on users.
SQL Server Management Studio, on the other hand, is much better about its analytics opt-in request. Microsoft is a big company with varied practices. Not every division deserves a high-five about their privacy practices.
> It's definitely nothing out of the ordinary and is common practice among many tools and apps you already use. Your smartphone sends back way more data if you're that concerned.
Let MS take their knocks when they earn them. And it's totally fine if people point out that Microsoft has a problem with opting users into unwanted telemetry. Even if it's not important data, it's data that someone didn't volunteer to give up. It's a horrible, common-place practice that needs to end.
Honestly, they might not need automatic telemetry if they just made volunteering information during a bug or slowdown significantly easier. If it was easy to, for example, enable telemetry for a Visual Studio session to track down why it runs like a whale, and then to review the information sent before it was sent, people would use it all the time to better the software. Instead, people turn off everything they can and don't bother to enable it (required for some MS feedback apps) to report issues because they don't know what'll sneak across.
When your telemetry is easy, open, and transparent, people will gladly opt-in when they think it's needed. Or they can hide the data they care about and share the rest.
If crimes were easily trackable and prosecutable, we probably wouldn't have such a hard time keeping criminals in jail. We still have crimes committed in jail that don't get properly solved, much less sentenced.
Also, this isn't necessarily about dumb kids being busted for drugs or stealing, but organized crime members. The possibility of them ordering hits from inside prison walls or tracking down people in witness protection kind of makes people nervous about letting them talk with anyone and everyone. That's not to say it's the most effective means, since smuggling, messengers, visitors and other means still exist for passing information. But that's not really an excuse to not try at all.
> academics provide such an incredible amount to the world we live in.
This is true, but it's not terribly efficient about doing so. Much of it provides little to no useful return, and some of it actively harms the world we live in. If we wish to talk about the value of academics, we must honestly look at the whole balance sheet. Value isn't just about revenue, but costs, as well. And with rising tuitions and falling class quality, the ROI of a college education isn't as high as it used to be. For students and for society in general.
> the academic discipline with its rigor, criticalness, and policing against self-promotion is a kind of last-bastion for intellect in the West.
I'm really struggling to word this in a polite way without discarding facts (sorry if I'm rude), but, what kind of fantasy led you to believe this is or has been the standard for academia?
- Academic discipline is more about knowing how to file papers and abuse TAs and post-grad students for free work, rather than about following scientific processes. There's been truckloads of articles lately about insufficient scientific rigor on published papers - especially in the social sciences. The glut of students, professors and information has lead to more noise than signal. Self-referential theories get presented as fact, where papers reference other papers still in peer review. Student thesis subjects are encouraged to focus on the professors' work in order to increase citations and prestige. Controversial papers are encouraged instead of scientific papers, which has caused all sorts of problems in academic journals and the parasitic journalists who write clickbait from them. And then there's the ever-present massaging of data and discarding of any contradictory samples.
- Self-promotion is absolutely huge in academia and has been that way for decades. That's how "publish or perish" came to be a staple of the industry. Not to mention the prestige factor in selecting mentors and advisors, politics in academia between people at the professor level can get extremely vicious. Elite oligarchies are as fixed in academia as anywhere else. And if they can't teach, they just move into administration and promote themselves there. Administration is probably the worst part of a modern educational institution - full of waste and corruption. Like how Katehi got rehired at her chancellor-level salary after a year's vacation after that pepper spray incident at UC Davis. Academia is literally infested with bad actors. Not to say there aren't good ones, but the bad ones are especially well connected and hard to evict. There's no policing against it except against the people who get caught before they're successful at entrenching themselves.
- Critical thinking isn't even remotely a curriculum requirement anymore. Many classes actively discourage critical thinking, and instead encourage rote memorization or directed analysis instead. In some classes, if you dare to challenge the narrative presented, you might receive Title IX sanctions for your oppressive actions from students and professor. After which you'll then be brought before a panel, denied representation and judged by a biased group more focused on maintaining image and federal funding than on the truth. And this might be from something as small as questioning the statistics or the sample set from a study. Students are encouraged with safe spaces and other policies that prevent them from processing or even seeing opposing viewpoints. That is not "criticalness". It's pandering.
- Deceiving students in academia is also a thing. Once again, there's the whole problem with scientifically bad papers being encouraged, published and referenced without peer review. These things make it in to curriculum and don't get pulled out after a retraction. Some classes will teach you that you shouldn't critique at all. Class books are often written by the professor to supplement their income, and contain their own pet theories. They put out a new edition every year with minor changes just so you can't buy a used book. And you've obviously never sat through a lecture rant on the professor's pet grievances. Lecture after lecture on the evils of western civilization from a person who literally couldn't survive outside of it can really tire you out. And honesty about career applicability for degrees is at an all-time low. Partly because some of the people teaching you have limited career aspects themselves and don't like to stare the facts in the face. Dishonesty about the value of the information presented and its critical reception is kind of the worst kind of dishonesty when you're charging someone a year's salary to listen to it.
There are good things about a university education. And not every situation is this bad. But it is not the ivory tower you're perceiving, and likely hasn't been that way for the majority of your lifetime, if not all of it. The honest, naked pursuit of science and truth always been the ideal, but rarely the reality. We don't want to throw the baby out with the bath water. But we've got to be more honest and objective about problems in academia if we have any hope of fixing them.
There's also Google's terrible reputation of poor and unreachable support, as well as the unappealable terminations of service. And they're not limited to consumers - some companies have had service terminated leaving them with no recourse.
Google's offerings are as much software as hardware, and having Google drop your account over a misunderstanding and thereby disabling all your laptops for several weeks would be a nightmare. Many of the people in charge of making purchasing decisions will have this type of concern in mind.
Whether they can turn that around and make a strong enterprise support channel is a valid question. But it's going to take some strong sales and tech to get people to risk trying it out. Google's a great company as long as you don't have to actually talk to anyone. Which makes them wholly undesirable for companies that obsess over the number of nines in their reliability.
5. Many authors on the papers don't want to share the data from their papers - even if it's a condition of publication. (from a previous article about the GRIM test that I can't find) This doesn't directly equate to maliciousness or deceit, but it illustrates incorrect attitudes in the field. Some authors consider it undignified to have someone "check their work". Others are concerned of fallout if their data contains errors. (Generic mainstream blog/press article on reproducibility https://www.vox.com/2016/3/14/11219446/psychology-replicatio...)
6. Ridiculously small sample sizes are often used in experiments. Often this doesn't seem to affect how the results are received, though it should. (briefly discussed in article and comments)
7. Papers and studies are cited in articles and future papers before they've been peer reviewed, replicated, or proven sufficiently to justify their inclusion into the field. Thus the results are "baked in" to social psychology as fact at an uncomfortably early stage. (http://blogs.plos.org/mindthebrain/2015/12/30/should-have-se...) This kind of feeds into the hype machine where people focus on significant results - even if the data needs massaging to get there. Even after being refuted (if refuted) the field and its fans never seem to fully recover and back away from bad science. By then it's already made its rounds on Facebook and it's even referenced in the worst of the college intro to psych/sociology courses.
8. Journals in general need to be more open with their data. Especially with publicly-funded research. Paywalls don't help progress.
9. Corporate/politically funded white papers publish studies without making the connections clear.
The field needs a massive overhaul in the sense that its participants need to stop chasing controversial results in the press and instead focus on reproducible results and methods. All fields need some of this, but psychology needs it more than others.
I've got something that listens to other devices (ACPI buttons, etc), but nothing that touches the touchpad. It's also a driver that's specific to the model (the main driver won't handle 3 button devices), so it's not like it shouldn't have undergone testing on the laptop.
I'd still suspect synaptics, as it's probably not checking its input properly. As no other device has problems with this.
> UDF supported by all three OSes natively and openly
Wasn't there a major problem in that all the operating systems supported different versions of the UDF standard? And most of them treat it as an optical disk format, so I wouldn't be surprised if some of them acted like it was read-only.
Synaptics drivers are horrendous. In addition to the terrible performance, mine has given me 10+ bluescreens on Win10. I'd love to remove them, but they're needed for some of the basic functionality. And they also seem to randomly make my mouse laggy (when I'm at a desk and plugged in).
Honestly, a generic trackpad driver that suppliers 2-finger scrolling, 2/3 finger mouse button emulation, and _maybe_ pinch-to-zoom would be all I want. If someone put in some plugin interface with an API so everyone could add the additional magic, it would help people with more complex needs. I'd love to kick synaptics to the curb. They've had decades to write a driver for the only thing they're known for, and yet still can't seem to handle it.
I don't think he's advocating that he should be setting the rules or self-evaluating.
He just wants the rules to be sensible and sensibly enforced. He has justification to complain if the modifications they requested violated safety policies, risked patient well-being or defeated the purpose of the study. Policy that doesn't add any benefit deserves to be questioned.
Not to mention that the questions were already being asked. He just wanted to ask them earlier to compare against the eventual diagnosis. It's not the kind of study that should have been abandoned in frustration after two years, as happened here.
They explicitly don't support that. From the article:
> Linux distro's [sic] running atop WSL are for interactive user scenarios, NOT for running production workloads on Apache/nginx/MySQL/MongoDB/etc.
And the last time I checked, it's not suitable for services. The moment I closed the bash terminal, all the processes I had running through WSL terminated - including nginx and tomcat.
IBM has a huge problem with misrepresentation. It goes all the way to the top, with a CEO that promises major growth without a clear plan forward. The employees themselves seem to doubt whether they'll have a job in the near future, given the near-annual mass layoffs and the unclear market strategy.
Talking about market strategy, no one knows what IBM does anymore other than garner support contracts and land body-shop jobs. Everyone knows Watson because it's won Jeopardy and a few other games. But that's not because Watson is ground-breaking or anything, but because IBM hasn't done anything else new in 5-10 years. So Watson seems less like a crowning achievement, and more like debris from the Titanic. The company's treading water, and barely, at that.
Sales, however, swears that Watson can do everything from getting the best tax return to curing hair-loss and replacing 80% of the work force. But anyone who's not a fool knows that current AI still has to be tailored towards an industry to be useful. And that's still going to take a huge amount T&M investment. Which you can see from the well-known failed (and expensive) Watson projects.
Usually the only companies who fall for it are the ones where management is less about technical skills and more about kickbacks and favor trading. Or national/international-level contracts where the most important thing required is someone to blame or sue when things inevitably go wrong. Everyone else either understands the technology is more complicated than the presentation, or they have enough insight into IBM to discount the powerpoints.
I mean, IBM still isn't as bad as Oracle. But, if I had to pick a metaphor for IBM's reputation... I'd go with "IBM is as much an innovator as Steven Seagal is an action star."
> This feeds directly into the popular narrative that the working poor somehow lack moral fortitude.
Not really. Not every bad job is held by an oppressed proletariat. Many times they're held by mischievous PFYs who still think they're immortal and that $20 is a lot of money. Youthful indiscretions are one the most common sources of this type of behavior. It's extremely common to not have a professional attitude in your "first real job", or to not even consider most minimum wage jobs as a "real job". There's an entire genre of movies that relies on this culture. Slacker culture has been part of pop culture for decades, now. When you don't have any actual responsibilities it's pretty common to treat any new ones like a big joke, or as "suggestions".
And it doesn't just happen at work - there are people with extremely cavalier attitudes towards education. I had a conversation with my kid about other kids getting around attendance rules in high school by showing up to class and then "going to the bathroom" and not returning to class again. Skipping class to go smoke, race, shop, etc has been a thing for at least 50 years. It's kind of telling, though, that most slacker movies were about college-age (or younger) kids. Ones for adults (e.g. Office Space) are pretty rare and rather niche.
It's important that we recognize that professionalism is not a natural (or an exclusive) trait. Babies don't pop out of the womb screaming "Please advise." The teenage years are full of people pushing boundaries to learn how they fit into society. We expect mistakes at that age, and those expectations are frequently met.
I've literally met hundreds of people who blew off classes because they weren't the ones paying for it, or who called in sick after a hangover or because they didn't like their job. I've stood around at parties listening to people tell stories of how they ditched work. I had a co-worker call in sick because he "couldn't get his car out of the garage." And having six dead grandmothers in a year is a trope now. It's not everyone, for sure, but it happens. It's just that people do it less with the jobs that they value in the careers they've invested into.
That said, we do need a lot of labor reforms around hours worked, employee rights and privacy, cost of living adjustments, etc. And we need better safety nets for citizens. But those will always extend far more slowly to a job that can be filled by 90% of the population. The supply of entry-level workers far outstrips the demand.
TL;DR: Test your code before you submit it. Don't accept or acknowledge patches from others that haven't been reviewed or tested. And if you make a mistake, own up quick and he's not going to yell at you. It's pretty simple.
He will occasionally jump in and yell when people aren't accepting responsibility for problems they caused. Especially when they won't accept nicer, less authoritative criticism from their peers.
That's what happened in this case. Check the follow-up message in the thread where Linus explains his dissatisfaction (http://lkml.iu.edu/hypermail/linux/kernel/1710.3/02507.html). The contributor who caused the regression was caught denying that there was even a regression. His patch had already long been identified as the culprit and reverted. But over the course of three weeks he was insisting that it was not a kernel regression. Essentially he dug in for 22 days saying that it wasn't his problem. And he wasted tons of valuable contributor time where people were nicely telling him that, yes, it was indeed a regression.
Multiple people were telling him about the "don't break userspace" policy and how it was a regression. And yet that contributor was still deflecting responsibility for the problems caused. But the problem is that this patch would leave the distros in the lurch - scrambling to update their configuration before the kernel breaks behavior. And that's without any ETA on their "long term ... flexible solution" (http://lkml.iu.edu/hypermail/linux/kernel/1710.3/00380.html). Thousands of people with varying levels of technical competency would have had their systems break in unexpected ways.
Quite frankly, he earned the dressing down. And plenty of people tried to be nice to him about it. It just didn't take hold in his mind until Linus dropped in to rudely remind him that even "correct" behavior is a regression if it breaks userspace. Also note that Linus said the issue had been escalated to him. Someone explicitly brought this to his attention because there was a distinct lack of progress due to CYA responsibility deflection.