Spring Cleaning at Chaos Central

Once again, as winter draws to a close, it’s time to assess our systems, shovel out the office, and plan for the year ahead.  But, we seem to be a bit late, as everything catches up at once.  This has been one of those weeks/months where things fall apart when touched.

With tax time rapidly approaching, it’s that time of year to fire up the Windows XP virtual machine to run TurboTax.  Realizing that Microsoft is finally, in April of 2014, pulling the plug on the venerable platform first released in 2002, after three service packs, innumerable hotfixes, and an on-again, off-again sliding End-of-Life date, not to mention three successor (if not successful) systems.  Of course, many of us Unix professionals who don’t depend on Windows for our livelihood have nearly abandoned Microsoft altogether, but still are plagued with having to keep a working copy of Windows around “somewhere,” increasingly as a virtual desktop residing on a Linux or Apple workstation or server.

Vista was a complete failure: our copy–that come with “rover,” our 2007 Compaq laptop that has run Ubuntu Linux (and been updated at least every 2 years) since we unpacked it–spent its life unused but available as an alternate boot option until the hard drive failed and was replaced in 2012, with no hope (or desire) to revive the Windows installation. We had acquired a copy of Windows 7 with our HP Netbook ‘mini’ in 2010, which copy also lay dormant, minutes after unpacking it, taking up hard drive space until recently.  With the increasing dependence on Windows security (if there is such a thing) solutions for networking in the government, it looked like we might have to revive it, just to do business.  The first boot-up of Win7 in over three years took 3 days to complete, installing the updates, with multiple reboots.  Happily, in the meantime, the Unix/Linux support team, of which I am part, found a Linux solution to our immediate needs, so the NTFS partitions lapsed into dormancy once more–until the prospect of the demise of XP sent us shopping for an updated alternative for the Microsoft interoperability problem.  We do have some Windows applications that happily run under WINE, the Linux WINdows Emulator, but many others don’t.

Having migrated a friend’s home system from Apple (due to a serious case of narcolepsy in her Imac, a rare but aggravating problem that Apple seems to want to ignore) to a shiny new HP laptop, we had become painfully introduced to Windows 8, that ‘new idea’ from Microsoft that turns your desktop or laptop into a badly designed giant cell phone with no phone service.  A few minutes with that made me almost long for Vista.  But, realizing that Windows 7 seems to be Vista overlaid with the XP desktop, we decided the best option for the Chaos Central network would be to integrate Windows 7 into our stable of virtual machines, to be pulled up on demand, anywhere on the network it was needed.

Attempts to migrate the Windows 7 installation on the Netbook to a virtual appliance proved to be frustrating, as it appears to be difficult, if not impossible, to create a copy that doesn’t demand to see your genuine Microsoft license to boot up, which is difficult when you have a machine that doesn’t have an optical drive, and did not come with an install disk in the first place.  Thinking (wrongly, it turns out), that making a ‘recovery disk’ on a thumb drive would suffice, we proceeded to do so, which promptly destroyed the Ubuntu boot partition, rendering the machine totally useless, since that is also where the GRUB boot manager keeps the information on how to boot to all the systems, including Windows.  Erk.

So, time to reinstall Linux.  Having also been increasingly disenchanted with the Unity desktop (which turns your Linux desktop or laptop into a decently designed giant cell phone with no phone service), I decided to install Mint Linux (yet another Debian-based variant, similar to Ubuntu), with the XFCE desktop, a lightweight system that is annoyingly similar in appearance to the XP desktop, but nonetheless familiar and functional, as far as menu navigation goes, and with the ability to paste hot links all over your desktop instead of in a peek-a-boo toolbar with inscrutable icons instead of text labels.

Of course, once Grub was restored, we could boot to Windows, but, in process of trying to get around the Grub issue in order to export the Windows system, we ended up running the newly-created Windows Recovery disk, which restored the Windows 7 installation to Day 0 (no patches, no added software or files)–and promptly refused to boot again without the Genuine Microsoft Windows 7 installation disk, which we still don’t have, and for which the “Recovery Disk” is not a substitute, despite the fact that is the only thing we end users can create from the installed system we bought and paid for.  Have I mentioned lately how much I dislike Windows?

At this point, we are at the verge of simply continuing on with a static XP system, for as long as Quicken and Electric Quilt will support their applications on it.  Setting aside this issue for a while, having given up a chunk of our on-line and off-line storage to yet another unusable Microsoft product, we turned our focus back to the primary business of making and supporting Linux software, and the goal of organizing the accumulated piles of paperwork and other paraphernalia in the office.

Just then, my desktop workstation, ‘zara,’ which was recently converted to CentOS6 to be a bit more compatible with the customer development systems on the server, suddenly shut down in the middle of browsing the web.  That usually means overheating.  We had recently done a bit of mid-winter housecleaning on ‘strata,’ our big development laptop, which had been shutting down because of overheating, and also had thoroughly cleaned the interior of the virtualization server when we replaced the hard drives in it last month.  The laptop fan had stopped running, but a thorough cleaning and redressing the wire harness got it running again, solving that problem.

The desktop machine was another issue.  The CPU heat sink resembled the filter in the clothes dryer, and the fan was barely turning over.  After cleaning the heat sink fins of lint and giving a fan a few spins in an attempt to “loosen it up,” it still wouldn’t turn over more than a few turns.  So, we pulled it and peeled off the sticker over the shaft bearing. intending to re-lubricate the bearing.  Unfortunately, the bearing seal on this fan was plastic instead of rubber, and couldn’t be easily removed.

'armonk,' cannibalized only days after being removed from service
‘armonk,’ cannibalized only days after being removed from service

But, we had recently retired our Internet gateway server, ‘armonk,’ a 12-year-old IBM desktop machine running FreeBSD, replacing it with a Raspberry Pi, which is more than adequate for that use.  The IBM had been running smoothly, so I  went to the temporary holding area for dead computers (which has encroached on the studio area downstairs), popped the lid, and pulled the CPU fan.  It spun smoothly, so I bored out the mounting screw holes to countersink the shorter screws for the AMD CPU heat sink on zara, reassembled the system, and we’re back on the air again.

So, here we are, behind in our work, with the retired IBM now truly inoperative, no Windows 7 working copy, taxes undone, and the office and network still not completely reconfigured as we planned.  The fan fiasco occurred in the middle of replacing the printer table under the window with a storage cube system.  The old HP 1200 laser printer, which we haven’t used for several years, was finally taken off “standby” and retired along with the IBM server.  The storage cube now holds the ethernet switch, wireless router, Raspberry pi network servers and overflow books, in preparation for moving Judy’s desktop workstation, ‘giskard’ from her downstairs studio to the table formerly occupied by the IBM, and the old laptop, ‘rover,’ downstairs, to make space on the office table.

'zara' and 'rover,' with the network fixtures tucked away in the new storage unit, but clutter still in plain view...
‘zara’ and ‘rover,’ with the network fixtures tucked away in the new storage unit, but clutter still in plain view…

Oh, and the color laser printer suddenly decided it is out of cyan and yellow toner, printing everything with a magenta cast.  With receipts on the government contracts running behind (30-day due dates are simply ignored, by official policy) and a few months of lean billable hours behind us, the prospect of shelling out several hundred dollars for new toner cartridges just doesn’t fit the budget this month.  The ink-jet printer in Judy’s studio is out of black toner–we have a new cartridge, but waiting to move the workstation upstairs to service that one…

So it goes.  Spring cleaning continues: the goal here was to unclutter the office and upgrade the network services with fanless/solid-state low power devices that are reliable and recover automatically after power failures.  At the same time, it is hard to schedule a shutdown time to open the cases and blow out the accumulated dust that is the primary killer of computers, and to replenish supplies.  We don’t print a lot these days, and toner seems to have a finite shelf life that sometimes is longer than the useful life of the printer itself, so we tend not to order ahead.  A couple years of competitive bidding on contracts that trimmed upgrade/replacement budgets to the bone, plus the low ratio of billable to overhead time during contract turnover times means keeping vital systems running well past their reliable life, risking work disruption due to inevitable disk and fan failures.

'giskard's new home, next to the server.
‘giskard’s new home, next to the server.

On a final note, moving Judy’s old workstation upstairs seems to have killed the monitor, an old, early flat-panel model that had been cantankerous at best.  So, we’re up and running on our one remaining ancient and massive glass CRT monitor, until we can afford a new modern one to service both her workstation and the Dell virtualization server.  Right now, we have to switch the cable back and forth for the rare times we need a console on the big Dell server.  I did dig out an old KVM  switch (keyboard-video-mouse, not to be confused with Linux Kernel Virtual Machine, which is what we run on the server) to share one console between two machines, but the circuitry in that had failed either from lack of use or too much moving.   We’re due for another desktop machine, budget permitting, as ‘giskard,’ a Linux machine built from spare parts at least six years ago, isn’t modern enough or robust enough to run what we need, and the audio has never worked right, and we are way overdue for new monitors.

Happy Birthday World Wide Web

Today is the 25th anniversary of the birth of the World Wide Web, which is known today simply as “The Web,” or, even more generally, “The Internet.”  The “‘Net,” of course, is much more, encompassing email and communications other than HTML, but for most people, the Web is their main contact.

Tim Berner-Lee didn’t invent the Web out of thin air, though.   During the period of proliferation of personal computers in the early 1980s, the diversity of languages, applications, and data formats made it difficult to exchange data between different systems.  An early attempt to make a universally-readable data file was in the GEM (Graphical Environment Manager) system, which initially ran on top of CP/M, one of the first microcomputer operating systems.  GEM was based on research at the Xerox Palo Alto Research Center (PARC).

The “killer app” that resulted in GEM-like interfaces being ported to Apple and MS-DOS was Ventura Publisher, an early desktop-publishing software system that promoted WYSIWYG (What you see is what you get) editing.  The data files were plain text, “decorated” with markup language “tags” to identify elements like paragraphs, chapter and section headings, and all typographical marks that editors normally penciled in, hence “markup.”  The first standard in this was SGML, or Standard Generalized Markup Language, and style manuals, most notably the one from the Chicago Press, were published to promote standardized markup notation.   SGML really didn’t catch on, though, as popular word processors of the time, such as WordPerfect and Microsoft Word and desktop publishing software like Aldus Pagemaker (now owned by Adobe) retained their own binary document formats.  GEM and Ventura Publisher became buried in history with the demise of CP/M and the introduction of the GEM look-alike Apple Macintosh and the decidedly inferior Microsoft Windows graphical desktops that took center stage.

Meanwhile, in the Unix world, networking and inter-networking was the focus, along with a graphical desktop environment, the X Window System.  The X Window System was too cumbersome and tied to Unix to be used over the relatively slow inter-networks and with the now predominant IBM PC running MS-DOS and Microsoft Windows or the niche Apple environment.  Meanwhile, Berners-Lee was experimenting with a subset and extension of SGML called HyperText Markup Language (HTML).  Hypertext introduced not only markup for the appearance of rendered text, but the ability to cross-reference one section of text from another, even between documents.    Hyper-threaded text concepts were known at least since the 1940s, and used to create alternate endings or story lines in printed fiction, but computers made it possible to achieve smooth navigation between paths.

At the same time, networks were becoming mature, with the introduction of the Domain Name System and the TCP/IP network protocol in an internetworking scheme that provided unique names and addresses for every computer in the network, on a global scale.  Incorporation of DNS names and local paths in hypertext references made it possible to connect any document on any computer with references stored in different files on the same or any other computer in the network.  To implement these connections, a new network protocol, HyperText Transport Protocol (HTTP) was developed, and the World Wide Web was born in a flash of inspiration.

To complete the system required software that could speak HTTP and render HTML into formatted text and links on a computer screen, a server, and a client, which came to be known as a web browser.    The first web server was on a Next (Unix) machine, and early browsers were text-only, as the Internet was still largely based on dial-up modem access over ordinary phone lines.  But, with the increasing use of graphical displays, browsers also became graphics-capable, adding imaging and other visual effects to the HTML palette.

Today, 25 years later, most web servers are running some form of Unix or Unix-like operating system, mostly the open-source GNU/Linux system, though Microsoft Internet Information Service (IIS) runs many corporate internal services and public sites.  Browsers are now graphical, either Microsoft Internet Explorer or based on the Mozilla project, an open-source release of the original Netscape code derived from Mosaic, the first graphical browser.

The Web itself has evolved, with the addition of scripting capabilities on both the server and the client browser to create dynamic pages created at the moment, tailored to changing data, with the ability to refresh elements on a page as well as the whole page, and the ability to stream video and audio data as well as display text and images.   Indeed, HTML version 5 replaces many of the commonly-scripted constructs with simple markup tags that modern browsers know how to render.  The advent of social media sites to connect multiple people in real-time as well as  provide private messaging and real-time chat has largely replaced the spam-plagued email system for many people, and brought the promise of video-phone connections to reality.

The Web, in 25 years, has transformed society and our technology, nearly replacing newspapers, magazines, the telephone, and the television and video media player.  Even the personal computer has been transformed: the advent of software as a service (SAAS) means that users no longer have to purchase expensive applications to install on one computer, but can “rent” the use of an application on a distant server through the web browser, and rent storage space in “the cloud” that is available on any computer, even small hand-held devices like tablets or phones.  The web has also made possible the concept of wearable computers, such as Google Glass.  The World Wide Web not only covers the planet, but beyond (with live feed from the International Space Station and the Mars rovers), and has infused itself into our experience of reality.

I’ve evolved with the Web, starting with experimenting with SGML and HTML in the late 1980s, writing HTML in the mid-1990s, and in the late 1990s writing CGI (Common Gateway Interface) scripts in Perl, then server-side scripts in PHP,  progressing to Ruby CGI scripts and Javascript client-side scripting, some generated by the underlying server-side scripts to dynamically add images to slideshows.  Today, I still write CGI and server-side scripts, and create Cascading Style Sheets (CSS) for page layout and element design, but increasingly use content management systems like WordPress or CMSBuilder that make editing web sites no more difficult than writing an email or posting a status to Facebook.  Yet, I’d like to see the grandchildren and great-grandchildren–who have lived with the web either from the time they learned to read (for the older grandchildren)  or since they were born–learn to see “under the hood” and learn how the web works, so they can shape the future instead of being shaped by it.