Windows “X”, Part Deux: the Saga Continues

When we last pressed “publish,” on Windows Rant #27433 (or thereabouts), we were stuck with a refurbished Windows Vista machine that had been reloaded with Windows 7, therefore “theoretically” eligible for “free” upgrade (is it really?  An upgrade, that is.) to Windows 10.  However, the compatibility check failed on the built-in ATI Radeon display adapter, deemed too old to have a Windows 10 driver written for it.

In fact, after some checking, it appears that Windows 7 itself uses the Vista driver in compatibility mode.  So much for buying older machines.  But, wait.  For just a few dollars more (about 40 of them, now raising the cost of the  new system to approximately the price of discount Windows 10 OEM installation disk, which I could use to build a virtual machine on our KVM server), I ordered a PNY video card with an Nvidia chipset that I verified: 1) was compatible with the PCIe 2×16 slot in the HP computer 2) came with the short connector brackets needed for a slim-case desktop computer, and, most importantly, 3) had an available driver for Windows 10.

New video card (at top, with fan)
New video card (at top, with fan)

So, the box arrived: I swapped out the connector bracket, moved the existing RS-232 connector on the computer back panel, and plugged in the new card.  Then, I turned on the computer, which had been offline for a week or so waiting for the new card.  The display wouldn’t come up.  Oh, maybe the new card disables the on-board adapter, so I moved the cable–still black, but the disk light is blinking, so the computer is doing something, I just can’t see it.  Foolishly, I turned off the machine (never do that when the disk is active), and turned it back on again.  OK, I get the bootup screen, but then a message that Windows cannot load.  Autorecovery doesn’t work.  The messages on the screen invite me to reinstall Windows.  I don’t think so.  A person without decades of IT background might be tempted at this point to haul the $80 (now $125, with the new video card) machine off to the nearest PC repair shop for a $150 minimum service charge, but, then, the average user would just have  bought a new machine with Windows 10 already on it in the first place, rather than trying to install new hardware in the old one..

I remove the new card, plug the display back into the old one, and reboot.  Yes!  It comes up, but needs to fiddle with updates, going through many long minutes of “Do not touch the Power button” warnings and several reboots.  I should have made sure the system was stable before opening it up, but I’m not used to the “hands off” policy where your computer is not available to you for hours on end, at the whim of Microsoft and their “reboot often, and, when in doubt, reinstall” system philosophy (yes, I was actually taught that, in a Microsoft system administration class, many years ago–in contrast to Unix and Linux machines that run for months or years between reboots, except maybe for kernel updates, for which you can now buy “live” update tools).

Finally, the machine stabilizes, and I download the latest Windows 7 Nvidia driver, for the next step, which is: reinstall the new card.  This time, the system, having passed through the weekly throes of patch management, boots, in Large Print mode, since it has no idea of what kind of video hardware is installed, and reverts to the default minimum resolution.  Installation of the Nvidia driver goes smoothly, and the system reboots to a nice, crisp, high-resolution screen.

The next step is to ask Microsoft to reconsider.  But, the upgrade compatibility tool apparently only runs once in a great while, and still says “This machine can’t run Windows 10”–because of the obsolete Radeon display adapter, which is now disabled.  Bummer.  Well, some quick research on sites where the bloggers make their living fixing other people’s Windows installations shows me how to schedule the compatibility checker to run again “real soon now,” from an administrative command line.  It’s been over 15 years since I was a Windows administrator, so I have to research how to “runas” administrator in Windows 7, being somewhat different (but, as it turns out, much simpler) than in Windows NT, and, of course, completely different from using ‘su’ or ‘sudo’ in Unix.  So, I ran the request, which says it had “SUCCESS,” but the scan is only “scheduled” and, according to the FAQ, runs only once a month.  Removing the Appraisal.JSON report file from the hidden “Telemetry” directory  did nothing–the report, which seems to be delivered over the Internet from Microsoft, is still displayed in the appraisal tool, so all we can do is wait.  Everything is “wait” in Windows.

Oh, and it seems the browsers are still infested with adware, too, as I can’t seem to click on any link in Firefox without getting a new tab with some advertisement in it.  Either that, or all the site links _are_ actually wired to ads for expensive tech support or software of dubious value instead of actual on-line help.  I wonder if I can start a campaign to get Garmin and Intuit to port their software to Linux, or at least get it to run under Wine?  Then, we wouldn’t ever need to use Windows at all.

To be continued…

Windows “X”

Windows 7, getting ready for upgrade to Windows 10.
Windows 7, waiting to upgrade to Windows 10, which isn’t happening, because the computer is “too old,” meaning the video adapter maker only supports Vista and XP:  apparently, Win 7 is running in “compatibility mode,” but Win 10 doesn’t have that..

Microsoft has finally released Windows 10, to minimal fanfare and with mumbled apologies for the disastrous Windows 8, and an implicit concession that Windows 7 was essentially new paint on the 2002 Windows XP, hastily conceived to back away from the unusable Windows Vista.  Why Windows 10?  What happened to Windows 9?  The answer seems to be, “a name is only a name, and a number is just as good (or better) than a label that is equally non-relevant.”  It seems to me that this is a blatant marketing ploy to play “catch-up” with Apple, which has been shipping OS/X (Apple OS version 10) since 2001, the year before Windows XP appeared on the  stage.

Note that Apple has not rested on that 15-year-old release, but is now up to 10.10, numbering major revisions in the time-honored tradition of its Unix roots.  Indeed, OS/X is architecturally based on the NeXT system pioneered by Steve Jobs during his exile from Apple in the 1980s, which, in turn, was based on the Mach microkernel version of the Berkeley Software Distribution, a.k.a BSD Unix.  Unix, of course, is the breakthrough computing concept of a multi-user/multi-tasking virtual machine operating system that could be easily ported to almost any hardware architecture, preferably one with a robust CPU security model and memory management system. Unix  has been the mainstay of academic computing and internetworking since 1970, and still, despite the omnipresent Microsoft Windows desktops and corporate servers, runs the majority of the web servers in the world, though primarily in the form of its close relative, GNU Linux.

Windows NT, 95, 98, Millenium, 2000, XP/2003, Vista, 7, 8, and 10 all have their roots in the NT code base, the core principles of which derived from Digital’s mainframe/minicomputer VMS, but hindered by the legacy Microsoft computing model.   Prior versions of Windows, 1, 2, and 3, were simply graphical task managers running on top of MS-DOS. MS-DOS was essentially a 16-bit port of the 8-bit CP/M (Control Program for Microprocessors), conceived by Gary Kildahl in the 1970s to load and run programs from tape or disk on the Z80 microprocessor, an early advance over microcontrollers in embedded computing applications.  MS-DOS added some features and concepts “borrowed” from Xenix, a 16-bit port of Unix for which Microsoft briefly owned the distribution rights in the 1980s.

Having “grown up” professionally in an environment of networked real-time command and control systems in the 1960s, multi-processor/multi-tasking computers in the 1970s, and being introduced to “personal computing” on CP/M in the early 1980s, MS-DOS and its parasitic Windows interfaces were, to me, simply inadequate, and poorly done, in comparison to other graphical systems like GEM (Graphical Environment Manager), that derived from the Xerox PARC user interface studies that also became the basis for the Apple MacIntosh.  Very soon after loading Windows 2.0/x286 on my new 16-bit Sperry IT computer, I dumped it and MS-DOS 4 in favor of a Unix-like OS, Coherent, based on System 7 Unix, which was subsequently replaced by a 32-bit version running on an x486 computer, that became a Linux computer after the demise of the Mark Williams Company, maker of Coherent.  At the same time I was learning Coherent, I was learning BSD and SunOS in graduate school, and writing software on Coherent that ran on SunOS.

But, the business world had adopted Microsoft MS-DOS and, subsequently, Windows, as the OS of choice, so it was necessary to continue to use Microsoft products, despite their obvious shortcomings.  However, the split between Microsoft and IBM over IBM’s OS/2 created a temporary way out:  the 32-bit OS/2 system published by IBM had the ability to run 16-bit Windows programs, and was, architecturally, much sounder than Windows.  So, for a number of years, we ran OS/2 in our home business, for the applications required to support my government clients.  Of course, most of the software development continued under Coherent or Linux, and later, Solaris, Sun Microsystems’ Unix, which ran on the Sun SPARC system rather than the Intel processors used by Microsoft.  From the mid-1990s until 2012, we maintained SPARC machines in our home network, in addition to machines running Linux and FreeBSD.

This era of detente came to an end when Microsoft released Windows 95, their first 32-bit system, and IBM released OS/2 4.  OS/2 “Warp,” as version 4 was called, required a bigger computer than we could afford on our budget, and would not run Windows 95 applications.  So, we ventured once more into buying and running Windows.  One issue that came up right away was the need to buy a third-party TCP/IP stack to integrate our newly-reminted Windows machine into our Linux/Solaris network.  Meanwhile, my work shifted to pure Unix and Solaris support–so I thought.

After successfully migrating a large government system from SYSV Unix to Solaris, I was tasked with migrating network services from Netware to Microsoft Windows NT.  I had some hopes for a peaceful coexistence with Windows from that, but, as I brought the new systems on-line, mostly using open-source tools “borrowed” from Unix, it was obvious that Windows NT was not up to the task of running a large network: the scheduling algorithms left the “hourglass of death” (the replacement of the pointing device cursor arrow with a “I’m too busy to talk to you now” symbol) flashing permanently on the screen of a server trying to manage over 100 printers, and configuring network services for 500 workstations through a “point-and-click” interface was tedious at best.

In my next two jobs, Windows NT was there, but I wasn’t responsible for it, so life was good–until Windows 2000 arrived.  The concept of “Active Directory,” a thinly-disguised (but mostly incompatible) version of the well-established Kerberos security system developed on Unix, plus some incompatible or undesirable extensions to the Internet domain name system (DNS) and a custom implementation of LDAP (Lightweight Directory Access Protocol) made Windows function more or less securely in a network environment, but excluded interoperability with the standard Unix implementations without adding additional software to handle the differences in file system security models and user profiles in LDAP, and to align the Kerberos versions between Windows and the various Unix releases.

Windows 2000 gave way to Windows XP, which mostly replaced the NT-like user interface with one more suited to the Active Directory network model where it mattered.  Then, the reality of the power of Apple’s OS/X set in:  Apple had a system that not only incorporated their famously user-friendly graphical interface, but built on top of a rock-solid networked multitasking, multiuser operating system based on over 30 years of incremental refinement.  Windows Server 2003 was an upgrade to Windows 2000, and there things languished.  Bill Gates left Microsoft to focus on his and Melinda’s Foundation, and Ballmer drove the ship steadily on–toward the reef that Apple had built.

Windows Vista appeared on the scene.  Not too many companies were making Linux laptops yet in mid-decade, so the choice was to buy a commodity system, which came with Vista, useful only long enough to download and burn an install disk for the relatively new Ubuntu Linux, a Debian-based system (we had previously used Slackware, Red Hat, and SuSE Linux distros).  Business and government continued to use XP, refusing to deploy Vista, for a number of valid reasons–performance, security, etc.

By 2009, we had gone “off the reservation,” completely in the independent consulting mode, off-site rather than on-site, so Windows (XP, naturally) gradually disappeared into our virtual machine hosts, to be used only for the one or two “must have” applications, which did not include Microsoft Office or Outlook, which the government clients preferred.  We are, as I never ceased to remind them, a Unix/Linux consultancy, and that’s what we use on our desktops.  Our frequent road trips called for an additional portable, so we bought a Netbook, which had Windows 7 installed on it, Vista having been quickly replaced as an acknowledged technical failure.  Windows 7, like Vista, lasted long enough to download a fresh Linux install image, this time from a flash drive, since the smaller machines no longer come with optical drives.  Meanwhile, our OEM copy of Windows XP continued to live on as a virtual system long after the original hardware had been scrapped or converted to BSD Unix or GNU Linux.

Nothing lasts forever, and Microsoft finally “pulled the plug” on Windows XP, which had been on extended life support long after its planned end-of-life phaseout, due to the failure of Vista to excite anyone and the failure of the business and government world to accept either Vista or Windows 7.  Windows 8, touted as the “universal Windows user interface,” turned out to transform your desktop into a huge smart phone that doesn’t make phone calls (although Microsoft did buy Skype to make that possible, at least over the ‘Net).  The advantage of a “universal” interface was somehow lost when all you had on the huge screen were giant icons that were as meaningless as the tiny ones on your phone.  The devil, it seems, is in the details, and we all wanted more details when we had the space.  So, enter Windows 10.

When Windows 10 was first announced (amid cries of “whatever happened to 9?”), I downloaded a preview beta copy, loaded it into a virtual instance, and saw that it looked even more like the old familiar XP than Windows 7 did, so we decided it was time to look into upgrading our Windows platform so we could continue to run Turbo Tax, Quicken, and Garmin Connect, applications that we need, but which the vendors have not seen fit to make compatible with WINE (Windows Emulator under Linux) or run natively under Linux.  We do have iPads for convenience, but don’t really need an Apple desktop (other than the narcoleptic iMac that a client gave us after converting her back to Windows–a result of the failure of Apple to address certain quirky problems, like narcolepsy in some iMacs and picky WiFi selection in some iPads).

Microsoft has made it difficult to purchase OEM (Original Equipment Manufacturer) versions of Windows–i.e., a version that you can install on bare hardware, like a computer you have built from spare parts (like most of the Linux machines we have had over the years) or, as we do, in a virtual machine host, like the Dell server running CentOS 6 with KVM.  A copy of Windows 7 (which vendors are selling to get people to buy hardware that has the hated Windows 8 on it) runs between $90 and $120, generally, if you can find it.

We found  a refurbished Windows 7 machine for $80, which now sits under my desk, awaiting its free upgrade to Windows 10, which I have now been told is a myth, since Windows 10 does not support compatibility with older driver software and the video adapter was designed for XP and Vista.  So much for truth in advertising.  Microsoft suggests purchasing a new machine.  However, Radeon does provide a generic Linux driver, both 32-bit and 64-bit, so the lack of Windows upgrade support is simply a ploy to make more money by selling new hardware, which, of course, includes the new operating system, bought and paid for.  Upgrades are discouraged, especially with folks like us who have kept a pair of XP licenses reincarnated through several real and virtual machines over the last dozen years.  It appears we are finally stopped in our tracks.

We might be able to clone the Win 7 system into a virtual instance, releasing the hardware for another purpose, but, meanwhile, it shares a monitor with the Raspberry Pi printer/scanner server and the secondary monitor port on my main development machine, a Linux laptop I purchased, along with a desktop, from Zareason, a Linux-specific hardware vendor.  For now, it is annoying to have to switch monitor inputs and pick up a second keyboard/mouse, but we use Windows so seldom is isn’t much of an imposition.   All of the other machines, being Linux or BSD, or virtualized, we can operate from any keyboard and screen in the office (or out of the office, for that matter–though outside access is restricted to only specific machines).

Of course, every few months, we need to turn on the Windows machine to install bug fixes, security updates, and the latest virus scanner databases.  Between the time we first fired up the new machine and when we got a virus-scanner installed, the machine acquired at least two types of malware, after downloading only two third-party applications, both of which have since been destroyed, since they didn’t provide the services needed, anyway.   The adware virus caused the browser (Internet Explorer, until we could successfully download a non-infected version of Firefox) to bring up malware sites instead of the site requested, and the trojan virus betrayed itself by taking over the desktop and refusing to be closed, insisting that the user needed to “call for support.”

I am convinced at this point that Windows is, in a large sense, its own virus, since you have to connect it to the Internet to install security patches, which leaves it vulnerable to infection while downloading the patches.  In twenty-five years of running Unix and Linux on hundreds of machines, I have only seen three malware infections, two on Solaris and one on Linux, but can’t seem to turn on a Windows machine without it being instantly infected.  Is it any wonder that we prefer Unix and GNU Linux?  Also, Windows comes with no productivity software, other than a buggy Internet browser: a full Linux distro comes with every type of software application and software development tool imaginable, all freely available, and which, if not initially installed, can be downloaded and installed at any time, from a respository free of malware.  What does this incredible wealth of secure and productive software cost?  Whatever we decide to donate to support those who package it: it’s up to us.  Open Source belongs to everyone who creates it, uses it, and improves it, for the benefit of all.  And, it can be had for free, if you want, with no “gotcha’s” like the Windows 10 driver fiasco.