Sunday, January 22, 2017

Giving up again on Windows 7, and on Windows as my main operating system for work machines

I recently switched back to Windows 7, for work purposes, for a couple of weeks. Here's what I've learned, and why I'm switching back to Windows 10, but only inside a VM:

1. Suspend and resume, and sleep/wake functions in Windows 7 are horrible, even on decent hardware.  Windows 10 is vastly superior, faster and more stable.

2. Windows update on windows 7 is horrible and broken, and even the ability to supposedly "pause" these updates, is actually only a partial pause. There are still times when TrustedInstaller.exe is going to chew up all your I/O bandwidth and pwn your machine. 

There really is no stable way to run modern 32 bit or 64 bit Windows applications on your computer, and maintain control of your computer, unless you fight Windows by boxing it in a VM.

I'm switching back to "Windows 10 in a VM", on a very fast Solid State Drive with a huge amount of RAM. I can pause Windows 10 updates by one simple trick. Shut windows 10 off, and only use Windows for what I actually need it for, which is when I'm getting paid to write and repair Delphi code.

If anyone has read any formal write-up on what sorts of invisible installs Microsoft slides out to users, even in Windows 7, and what they do, and why, I'd like to know about it.

Other surprising things in Windows include:

* The ready boost features, which like most attempts at smart caching, show that caching and cache invalidation are truly hard problems, NP hard, nearly impossible problems.  You can speed some users up, deploy your solution, and actually end up decreasing their net system performance for THEIR workloads.  ReadyBoost in Vista was a complete disaster.   It has been scaled back and restricted in its application and it rarely hurts you on Windows 7, and on Windows 10, it has been coralled and controlled enough that it rarely has a downside.

* The windows search indexing feature, and the windows defender anti-virus active mode, can radically cripple your system performance by adding I/O latency, stealing I/O bandwidth and CPU resources, and of course, all of it steals RAM.

When I have performance problems on Windows, I am used to switching to the I/O monitoring features of the Windows Resource Manager.  Most often, my computer, when slow is I/O bound, it is seldom ram/swap bound, and most often its programs that are doing things I literally do not care about, taking away the resources that should be doing work I care about.

I do not see a solution here, since Microsoft does not permit you low level control of your own system. At one time, in the Windows 2000, NT, XP era, Microsoft permitted you to turn off ANY service in Windows, and the list of services that ran in the background was quite manageable. The list of processes on a freshly booted Windows system is so large, and so much stuff runs now, that you just better realize that about 8 GB of RAM, and about 4 MB/s of your total I/O bandwidth, and at least one full core of CPU, is off the table, that's reserved for Microsoft, and whatever it decides to use your computer for.   If sometimes it finishes and you can actually use your WHOLE computer for a few minutes, you should really be thanking Microsoft and not so annoyed that, on the whole, Microsoft thinks your computer should be doing something other than compiling your code or serving up a database to your users, that 75% of your computer is yours,  most of the time, and that 25% of it is Microsoft's most of the time.

Windows 10 then introduces this "active hours" configuration, which just might be the critical factor in deciding whether to use Windows 10 or Windows 7 for serious professional development work. Microsoft has at least decided that, for now, during the hours of 8 AM to 7 PM, I am permitted a modicum of control over what happens on my computer.  Thanks, Satya.






8 comments:

  1. Thanks for the feedback. What's the main OS you use for development? Win10 or MacOS?

    Which virtualisation software are you using?

    ReplyDelete
  2. It's a painful process to make Windows 10 work in Virtual Box too (my experience ist not totally up to date). It worked on my 'gaming' PC offering 32 GB which I use for special purposes only especially when working with gigs of data in the database. On this machine a box that hosts Ubuntu Mate takes 2 or 3 seconds to be ready-to-use. 3 processors. Installing into a box Windows worked like a charm.

    On my laptop which is also fast letting Windows calm down and returning to the computer afterwards did make sense.

    Install Windows 10 and wait, have a break and return to the computer later on. Let the indexing do it's job and the various new cool things (speech assistant) in case of the Professional, Ultimate or whatever edition beyond the Home edition. Later disable the services. This process is pretty cumbersome, especially for first time installers :).

    One hint on Virutal Box, change the input device to mouse. This made me almost go crazy. In the beginning all the services run in parallel, maybe at limited resources and the mouse didn't work as expected. Since the box was mimicking a tablet the vital menus did not how up and the new UI was the only choice left to configure Win10. At that time also the update running at 100% processor usage show up. I don't want to repeat the names I gave the Redmonders ;).

    I can just advice, give the machine 4 cores at least and lots of memory and stay patient.

    Fine tuning the services does no longer make sense, that's really sad. Using less memory that expected in the past is one thing since old computers were not so well equipped and Windows worked great too. But wasting processors and resources is a show stopper. You cannot run what was called a data center 10 years ago in order to run a desktop OS.

    ReplyDelete
    Replies
    1. Windows 10 as a work machine ? Are you serious ?
      Hey, I want some of that shit you are smoking ...

      Delete
    2. Why are you saying this? I am about to move to Win10 from macOS :-)

      Delete
    3. John... why? WHY?!?

      From the Stack Overflow 2016 developer survey....

      "Last year, Mac edged ahead of the Linuxes as the number 2 operating system among developers. This year it became clear that trend is real. If OS adoption rates hold steady, by next year's survey fewer than 50% of developers may be using Windows."

      Delete
    4. alcalde,

      not sure what the SO survey shows and whatever is shows is only about the respondents. In my view very far from representative results.

      For example, it shows that in the UK there are only 4,5K developers who responded.

      Regarding the question you refer to, again, what does it mean that mac OS is #2 "among developers"? Does it mean "develop for" or "use" that OS? There are people who are on mac and still develop for windows. So, how did they respond to that question?

      Apart from that, if you add Win7, Win8 and Win10 you get something like ~51% with macOS at 26% (unless you add Linux). Moreover, macOS's market share worldwide is still less than 10% (with much higher in the US only).

      So, if you develop software as a business, commercial viability for mac OS is still behind---unless you manage to capture a niche market.

      But my choice has nothing to do with the above; although their machines are very good in terms of quality they are overvalued and I, mostly, develop on windows. Now think of this; I will sell my iMac and Macbook Air and I will buy a Win-laptop twice as powerful as the best apple out there.

      Don't take me wrong---I like Apple and used them for years. But I think now the time has come to switch and Win10 offers a good proposal.

      Delete
  3. Regarding the Windows Defender software, there is actually no simple way to turn it off. Even if you deactivate it, it'll *eventually turn itself back on*!!! It's supposed to turn itself off if other virus software is detected, but depending on the AV version you're using, that might not happen or not happen immediately.

    In addition to your complaints, Windows actually serves you advertising now, trying to get you to use OneDrive. If you install another browser and go to make it the default, it'll actually plead with you to give Edge a chance in a popup first!

    I believe it was Eric S. Raymond who observed that Microsoft tends to design for the lowest common denominator among its users while Linux tends to design for the highest. It seems like you can't build an OS that's designed both for hackers/developers and grandmas.

    With the open sourcing of .NET and JetBrains working on a C# IDE, I think we may see significantly more defections by developers from Windows as a development OS in the near future.

    ReplyDelete