That's an innocent example but do recall that circa 1995-2005 or so, Microsoft looked like a dangerous monopolist and could have been in legal jeopardy if a product that competes with office (say WordPerfect) quit working when they went from Win 95 to Win 98 or Win 2k to Win XP.
I'd also add that more than once I've had web pages and applications I've made been used as test cases by Microsoft and been contacted by people from Microsoft about compatibility issues. (... and I've never been an advocate of Microsoft browsers, often I've been quite the opposite.) I haven't heard once from Netscape, Mozilla, Apple, Opera or Google about something like this.
Not least of which is pouring millions into a baseless pump and dump scheme laying hallucinated charges of infringement against the entire Linux ecosystem but there are plenty of other issues.
In short people hated them for being shitty people who do shitty things and present leadership were important folks when these shitty things were done everyone just moved up a few rings.
They aren't better people they just have better aligned incentives where illegality and immorality aren't profitable.
Perhaps, but hate against Microsoft was not the point of the discussion. You are free to see them in whichever light you want, I just don't understand why you have to down-vote me or bring that into completely different discussion.
The question here was about the technical issues and their work on making software tick despite people abusing the API and producing buggy software. That has nothing to do with hate against Microsoft. To me that sounds like a whataboutism.
By the way, I personally don't even use Windows, I have been 100% Linux user since many years and have contributed to a GNU project, I am not some Microsoft fanboy as you might see me. But I see no value in defending a wrong, and I see the same behavior repeated in other communities. People abuse the API or don't read the documentation or just are plain idiots, and than accuse the developers for being malicious or stupid or whatever when things break. That behavior is bad for anyone, regardless if it is against Microsoft or some GNU project.
> In short people hated them for being shitty people who do shitty things and present leadership were important folks when these shitty things were done everyone just moved up a few rings.
I am sure people have many reasons they hate something or someone for, Microsoft included. There are people who passionately hate GNU, Linux, FSF, you name it. If you justify such behavior, it is your choice, but I am not interested in that discussion. I was talking about people abusing API and than blaming Microsoft for incompetence or deliberate evil, while the company obviously went to quite long efforts to make things work, even for buggy software. Microsoft may as well be evil or good for other reasons, but wasn't really the point of discussion.
> They aren't better people they just have better aligned incentives where illegality and immorality aren't profitable.
This is outright dangerous behavior on your part. You are transferring a behavior you have projected on a company over the entire group of people, all the thousands of people who work for Microsoft. To start with, they are all individuals, and as in every group there are good and bad characters among them. Also, history is against you, Microsoft was, and still is very profitable company. In the time we speak about, they were probably too profitable for its own best. For the second there are law and law enforcement officials to decide if they did illegal business or not.
Not to mention, that probably most of those who worked there back in 90's are probably retired or have changed the job by now. Also, to note, with thinking and statements like that one, you are denying people chance to develop as individuals and become better persons.
> You are transferring a behavior you have projected on a company over the entire group of people
I specifically indicted the top leadership who were as now in a position of authority when immoral actions were taken and continued to work for the same org. This is a pretty clear and defensible position whereas you said.
> That has nothing to do with hate against Microsoft. To me that sounds like a whataboutism.
and also
> I remember the hostility in those years 95-2005 towards Microsoft. There is still some cult in some Internet communities where trashing anything developed by Microsoft is seen as some kind of expertise or something by usually self-proclaimed experts.
You compared people with a legitimate ax to grid to cultists and denigrated them to "self proclaimed experts" You are again the party committing the sin you project.
> There are people who passionately hate GNU, Linux,
These things aren't of neutral value. There are people who hate purple and Hitler but nobody thinks these things are the same.
> For the second there are law and law enforcement officials to decide if they did illegal business or not.
They actually were repeatedly found to have engaged in illegal behavior in a court of law and furthermore beyond multiple losses in a court of law ample information is available. Nobody with a brain thinks OJ was innocent or feels bound to disregard for instance the book where he describes the crime called "If I did it".
> Also, history is against you, Microsoft was, and still is very profitable company.
How is history against me? IBM literally helped the Nazis categorize their population so they could exterminate millions of people and the people who helped make those decisions didn't cease to exist in 1945 on indeed in 1955 and they were and are worth of critique even if it would be nonsensical now to impose that judgement on people who born decades after the war. We can both remember AND be reasonable.
History by definition is the things that happened. The fact that it tends to forgot the bad things done by people who later did well for themselves isn't "history" its a collective dementia a mental defect which keeps us making the same mistakes. An actual appreciation for history would suggest a commitment to objective memory not white washing.
> I have been 100% Linux user since many years and have contributed to a GNU project
This is the software equivalent of conspicuously announcing that you have a black friend. You needn't as nobody is suggesting you have insufficient credibility. What's happened is you wrote some fairly inflammatory next to something mundane that is reasonably considered and most people have ignored the mundane thing because you set your apple pie adjacent to a flaming bag of poo and when everyone mentioned the shit you have followed with a bunch of bad explanations for the poo and ill considered arguments so we are still talking about the smell of shit instead of eating pie together.
As opposed to now?
In todays world it looks like a ludicrous solution to the problem. The game vendor needs to HTFU and distribute a patch via steam or whatever and that’s a totally reasonable stance for microsoft or apple to take, because the infrastructure for patch distribution is pervasive and robust now.
We then started hosting some patches on Compuserve, GEnie and Prodigy.
Similarly to how GPU vendors are incentivized to patch their drivers to fix bugs in a popular game release because the bugs might be blamed on the vendor instead of the dev.
The year before Windows 7 came out I was working at a company (DivX ;-) making Windows software. We were getting contacted by different testing groups at Microsoft constantly. Some weeks three different people might contact me. Somehow they found my phone number? It didn't seem very efficient, but it was clear that they were allocating huge resources to this.
They found unbelievably nuanced bugs (their QA was better than ours...). They wanted to know when we were going to have a fix by. They wanted to make sure they didn't have a Vista repeat. Vista SP1 was actually quite stable, but it was too late for the Vista brand already.
With Windows 7 it seemed clear that the thing they cared about was: the software their users actually use still works after the update. Right or wrong, it was very user centric, because what user likes for their software to break? Nobody cares why.
That isn't going to be repeatable for pretty much any other software company other than a FAANG, and certainly not of open source projects, not even Linux. People don't pay enough to open source for that kind of support.
Ben has a Compaq laptop that is Vista capable. It takes upwards of three minutes, I kid you not, of blank screen to get a UAC prompt for elevated access request. And those were very common with Vista.
Randy has a nice (and expensive) desktop and thinks windows Vista is just fine and all computers should upgrade to it (college computers still has Windows XP and there was no plan to upgrade existing computers to visits that I knew of).
They both have wildly different opinions of Windows Vista.
https://arstechnica.com/gadgets/2008/03/the-vista-capable-de...
That’s why that someone is getting paid -it’s their job.
If you want software to power important things in society, like transport and energy, you need to have a certain level of responsibility for reliability.
As this post demonstrates, Right now we have immature children who are used to breaking things for the sake of a new fad, in charge of critical systems.
Typing a dm on discord or talking to people? boom random restart to force update, using firefox nightly? sorry you cannot use it as your main browser because they can decide to brick your browser randomly to force you to restart. for no reason whatsoever, what is the downside of just warning people but not FORCE restarting? none.
Doing critical stuff on your pc that requires long term uptime? sorry Windows will decide for you to restart forcefully (at least these can be turned off, for now, via group policy)
If you run Firefox from its default mechanism, it will update itself and ask to restart before applying the update, and will continue working forever, never updating until you restart it.
You will get what you want out of the regular branch, and even more out of the Extended Support Release branch.
As for Windows rebooting out of nowhere: Get a Professional or Enterprise license and turn autoupdates off via Group Policy and your problems are solved.
Anyways for any sensible people, yes, Nightly is a branch specifically for testing and evaluating, doesn't mean you have to brick peoples browsers after some time when you push an update (again, back when I used it that was the behavior, according to a different comment it might be different now), to force a restart.
"As for Windows rebooting out of nowhere: Get a Professional or Enterprise license and turn autoupdates off via Group Policy and your problems are solved.", yes, I already addressed this and mentioned this solution, but again, that doesn't change the fact that it's wrong in the first place, maybe actually read the comment you are replying to?
This is true for me on both Windows (and my user is part of the Administrator group, thus can write to a global c:\Program Files install) and Linux (and Firefox is installed to a directory in $HOME to simplify the process of non-packaged binary management).
Now, I also have Firefox (stable) installed as a .deb (to fulfill the browser dep). If the .deb gets upgraded by apt, that Firefox suddenly bricks itself until I restart. And this is intentional, btw, given how Firefox interacts with itself to do process isolation.
Everything I say here has been true for roughly the past decade.
I'm on Firefox beta for a year or so and never seen this - it politely shows update notice and that's all. Updates itself once I close all open windows of FF. Wonder why Nighly do different things here. From another side - running nightly is expected to be not the same smooth as stable release.
Discord is a great example, because it's very far from being optimal in so many regards. It could be written in C++ and be so much faster, use so much less memory, it could be more reliable in many aspects… But because most people don't care, what Discord creators do is roughly the most meta-efficient (money efficient?) thing to do.
You’re thinking like an engineer. Microsoft is a business. Backwards compatible is its major core competency.
I have an engineering background and then pivoted into managements science, and the difference in perspectives in the two fields is really obvious.
Microsoft's point of view is that the underlying software doesn't matter. The user's software _has_ to run. The Application Compatibility Database (https://learn.microsoft.com/en-us/windows/win32/devnotes/app...) is, overall, a relatively small component, and all it does is apply some shims if your executable is in that list. Performance issues in Windows do not stem from anywhere near the kernel. The kernel team is absolutely top tier. The kernel itself is of much higher quality than what you'd find on Linux, or MacOS.
Now, the upper layers however...
My concern is that a lot of security issues may have come from this. A clever attacker could grab recently freed memory from one of these programs and inject malicious code to enjoy whatever other weird privileges the original program has, because marketing said it can’t crash.
Have recommended sources for this or learning more? My experience with Windows doesn't match this at all, though from my perspective it's hard to tell if it's kernel as opposed to any of the layers above it.
(That said, the path of WSL 1, which emulated the Linux syscall interface on Windows, takes advantage of the idea Windows NT had from the very beginning which was implementing "personalities" that could pretend to be other OS, such as the original plan for Windows NT to be OS/2 compatible.)
Windows Research Kernel - https://github.com/HighSchoolSoftwareClub/Windows-Research-K... - More or less Windows XP
I/O Completion ports - https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-c... - io_uring, but mostly better, since NT 3.5
General architecture info: https://en.wikipedia.org/wiki/Architecture_of_Windows_NT
A bunch of things you'll find in Windows Internals, which is pretty much the bible for Windows (https://empyreal96.github.io/nt-info-depot/Windows-Internals..., or buy it online. Mark Russinovich is a treasure trove of Windows knowledge)
The various Windows subsystems - Windows is built from the start to be able to impersonate other OSes. While the most obvious one is WSL (despite WSL2 being just a VM), there's an OS/2 Subsystem, a POSIX Subsystem, a Win32 subsystem...
Very few things actually run in kernel mode. There exists a almost-kernel-but-not-quite mode called executive mode, which is a much better option than Linux's all or nothing user-or-kernel (and, as far as I know, Mach has the same problem)
NT is a hybrid kernel: not quite monolithic, not quite micro. This allows Windows to do things like swapping your video drivers live as it's running, unlike Linux and Mach which would miserably crash. Hell, it can even recover from a video driver crash and restart it safely, and all you'll see is a few seconds of black screen.
The breadth of devices it supports is absolutely breathtaking. (well, in part because they very much have a hand in forcing manufacturers to respect the standards that they write)
All of Sysinternals (Mark Russinovich's work, again) is also an amazing resource: https://learn.microsoft.com/en-us/sysinternals/
Now, mind you, this is purely about technical merits: the NT Kernel is a miracle of technology. The APIs it exposes, and that most Microsoft products expose are downright batshit insane sometimes. But that's also what happens when you support 35 years of software. Also, the HANDLE pattern that most Win32 API uses is the superior alternative to dumb pointers (https://floooh.github.io/2018/06/17/handles-vs-pointers.html)
Oh and a bunch of The Old New Things articles, but I can't be arsed to look them up right now, sorry.
Maybe it will open eyes for people who for some reason acted as if Windows internals were some outdated tech mess just because Windows did some questionable choices when it comes to UI/UX
https://bcs.wiley.com/he-bcs/Books?action=resource&itemId=04...
Check out appendix C for details on windows 2000 architecture or this which should link to the pdf.
https://higheredbcs.wiley.com/legacy/college/silberschatz/04...
Windows Vista is part of the Windows NT lineage, specifically NT 6.0.
You're not selling me on the idea that the compatibility layer has no cost by pointing out that the upper layers that reside over it are a mess.
That would actually be my argument.
You could give me the best kernel in the world, if I end up reading a file whenever I push a pixel to the screen, my performance will be dogshit. Windows's performance problems are not due to the kernel (or rather, not due to problems/bugs: some performance issues are just a choice. See NTFS's dreadful performance with Git: NTFS simply wasn't thought out for having thousands of very small files all being touched at the same time.)
I remember Windows uses a O(N^2) scheduler so the system slows down when it has a few thousand processes. Would that count as a performance issue in the kernel?
Could you count it as a performance issue in the kernel ? Maybe. But really, you're mostly hitting an issue in what it's built to do. Windows really likes two things:
* don't spawn subprocesses
* please do your I/O in one huge batch and thank you.
The average Windows machine will barely have 100 processes running. I have 184 right now, and I run a lot of crap. This goes directly contrary to the philosophy of many UNIX programs: create a shitload of processes, fork everywhere, and write tiny files all the time.
I wouldn't complain about a hammer not working well if I'm using the handle to nail things. Sure, it would be nice if it also worked there, but it's not exactly made for that either, and for good reason. POSIX fork() being such a can of worms is half the reason that WSL1 was abandoned. Windows does not have the internal machinery to do that, because it wasn't built for that.
> Why was rustup slow (3m30s to install (not including download time)) in early 2019 on Windows, and why isn't it slow (14s to install) now?
>Early in 2019 I was developing some things in Rustlang on Windows, got frustrated at the performance of rustup (the installer for rust) and looked for bug. I found one which blamed a combination of NTFS, small files and anti-virus software for the problem. This wasn't an entirely satisfactory answer to my mind. Fast forward a bit, and with a combination of changes to rustup and to Windows itself and rustup is now pleasantly usable.... which also improved performance for rustup on NFS mounted home directories.
Not that I think the Google/Blink monopoly is a great thing, especially with their recent moves, but they did stick by some of their "sticking to standards" rhetoric.
It had to be a step forward, not a step back. I mean I don't know what you're using at the moment, but if your favorite application didn't work on the next version, would you upgrade?
This is why Apple spent so much on Rosetta, first when going from PowerPC or whatever to x86/64, then from that to ARM / M1, while in the meantime building a developer and application ecosystem that allows for easier transition between CPU architectures and environments.
This drove me into looking for a vanilla executable that wouldn't have that after-the-fact DRM, and I discovered the 1.13 mod. So, I had one happy experience with Vista.
It's precisely because of that backwards compatibility, insane in both the workings and the result, that keeps most people using Windows.
People use computers to get stuff done, and Windows lets people use the absolutely massive library of Windows programs whether it was written today or over 30 years ago.
Yep, the most popular desktop OS in the world and the 2nd biggest company in the world.
There are business reasons to maintain backwards compatibility, and they were very strong before the easily updated software.
You have been playing your game fine. You installed a new Windows OS and now the game no longer runs. As an average customer, who do you blame? Hint: not the game studio.