Category Archives: Uncategorized

General Purpose Vehicle #2

Here at Chaos Central, the Unix Curmudgeon and the Nice Person are getting ready for the first road trip of 2011, with the usual chaos ensuing.  The Nice Person (being nice) has promised a number of quilts to be finished, to be delivered as part of our trip, so she is frantically racing the big Gammill machine over quilt tops at a dizzying pace, lubricated with quantities of acetaminophen.  The Unix Curmudgeon recently answered a call for volunteers at a local non-profit and is frantically converting their web site from a hodge-podge of HTML2.0 and HTML4.01 generated by various word processors over the years into a streamlined PHP and CSS-driven integrated site that is not only consistent, but reasonable to maintain and follows an overall theme.

Amid this level of chaos, along with trying to get a more permanent solution to the monsoon-fueled pool at the entrance to the basement-level garage other than the sump-pump-in-a-bucket in a hole in the driveway, the wireless networking on our primary development Linux laptop and road machine has decided to be stubborn, defying all attempts to get it to work properly.  The driver, always a crap shoot in the world of Linux and proprietary hardware drivers, appears to be working–we can see the networks with the wireless tools, but the connections just aren’t connecting.  It appears to be some sort of permissions problem, compounded by the fact that, in this wild frontier of Linux hacking at its best, there are several ways to do it, none of which work, and some of which may be counteracting others.  This saga continues.  We do have one Linux netbook that does appear to still have a functioning wireless capability, so we are good to go as far as being able to read email and login to do system administration on the road.

But, which brings us to the subject, we realized the folly of attempting yet another marathon 7500Km road trip in a 17-year-old Jeep with 300,000Km on the odometer.  We’ve been putting off looking at replacement (or supplemental) vehicles because, in the midst of the real-estate crash and recession, we are encumbered with more houses than we can reasonably occupy at once.  But, the inevitable is upon us.  The venerable old machine, which never got a name other than “Jeep,” has carried us and our 25-year-old tandem bicycle on many adventures over the last 17 years, but it was time to retire it.

We went to the local Jeep dealer this weekend, with the idea of kicking the tires and looking at the newer models (i.e., anything built in the 21st century) up close and personal, but without any pretense of being able to budget a new or even late-model used vehicle.  There were other issues, too: we have a large cargo trailer we used to move our heavy equipment from Montana, which has been in storage for a year, with brief excursions by the kids to move their household last fall.  We found a suitable replacement vehicle, but, of course, with no tow package and no drip rails for our aged tandem rack.  The tandem we can deal with, as we are thinking of replacing the tandem as well by the time we need to be in Michigan for a bike tour this fall.  The trailer is another problem–without a way to tow it, delivering it to a potential buyer is out of the picture.  Well, it was beginning to look like a fanciful diversion for a rainy Saturday, when the salesman, Steve, who used to be an RV dealer, mentioned that we might be able to trade in both Jeep and the trailer in one deal.

Jeep and trailer
Jeep with the Haulmark trailer, just before nearly crashing on I-15, Blackfoot, Idaho, March 2009.

This, of course, was the closer, as they say.  After a bit of dickering to maximize trade-in value to us and resale value to the dealership, we took a break while they checked our credit, stopping at home to unload 17 years of accumulated glovebox debris and remove the tandem rack, pretty much corroded in place after 17 years, then swing by the storage yard and pick up the other half of our trade-in package, the 7×16-foot covered trailer.

The downpour continued throughout the day, but we managed to switch vehicles on paper without too much further ado.  The rainy day turned to stormy night while we signed papers, so we dispensed with the usual walk-around checkout, and drove our newly-acquired debt home to RTFM (Read the Fine Manual).

jeep2
Jeep2 "Green Hornet"

So, now we’re almost ready for our trip.  We need to get the Green Hornet into the shop for the add-ons, there’s still a quilt on the quilting machine, the wireless is still iffy, and the new PHP-based web site needs some last-minute revisions before being reassigned as the default on the client’s web site.  Chaos reigns supreme.

A TAXing Chore

2010 marked the first W2-free year for the residents of Chaos Central in more than 45 years.  No, we didn’t get laid off from $JOB like so many Americans: after dabbling for years in part-time consulting, we’ve taken the plunge and are now completely self-employed.  While we still have to wait until the end of January 2011 for the 1099 forms to trickle in, we do need to start estimating our taxes early, to make sure our quarterly payments track with the IRS’ estimate of what we should owe.  So, off to the wholesale club to pick up this year’s copy of Intuit’s Turbo Tax, which we’ve been using for the past ten years or so.

Chaos Central is a Unix shop (this is the Unix Curmudgeon’s blog, after all), and the development projects haven’t justified adding an Apple with OS/X to the stable of machines, so TurboTax and other Intuit products do present some problems for us.  For several years, we’ve maintained a Microsoft Windows system for the sole purpose of running TurboTax. Since the demise of our aging Windows installation (see our November post, “5640 Reasons to Not Use Windows” for the whole story), we’ve relied on Oracle’s VirtualBox virtualization application to run Quicken 2010 under a Windows XP license that came with a machine that has long since died.  We also have clone of the XP system that succumbed to a ClamWinAV bug, running under Citrix XenServer.

The system running under XenServer–thank goodness we ran the clone process as part of our evaluation of XenServer–was the one under which we’ve been running TurboTax, so it was a logical choice for this year’s version. Alas, the remote desktop capabilities of XenServer just weren’t up to the video calls that TurboTax uses (what the Unix Curmudgeon refers to as “stupid Microsoft tricks”), so we copied last year’s TurboTax files from that system to the system running under VirtualBox, and TurboTax installed just fine, and loaded our profiles from last year. In fact, it installed remotely, as the VirtualBox server is in the Realizations Fabric Arts studio, and the XenServer system is in the Information Engineering Services office, one floor up at Chaos Central.

Being too lazy to trot the TurboTax CD downstairs, the Unix Curmudgeon simply looked up the block device that the CD was mounted from (sr0), then ran ‘dd if=/dev/sr0’ piped to an SSH session that launched ‘dd of=Turbotax.iso’ on the VirtualBox server. Both XenServer and VirtualBox allow you to use ISO images as virtual CD/DVD drives, so there is really no reason to burn CD or DVDs from downloads to install virtual machines.

This is still a bit of a pain, as running Windows programs in this way requires you to actually run Windows itself. Worse, Windows is an unruly virtual machine, as it tends to gobble up as much CPU and memory resources as you assign to it.  Windows is also an unruly remote desktop server, as it doesn’t respond well to the remote mouse movements, resulting in much frustration, though the presentation on the VirtualBox server console itself is adequate. The virtualized XP installation on the XenServer is there now for the sole purpose of providing the XenCenter console. Citrix apparently intended XenServer to be used for virtualizing Windows Server instances, so the XenCenter, naturally, only runs on Windows.

Our preference, if we must run applications that are only available for Microsoft Windows, would be to run them under Wine, the WINdows Emulator, an Open Source tool that runs under Linux, that translates Windows system calls into Linux system calls.  Unfortunately, many applications rely on Microsoft intrinsic shared libraries (DLLs) or use so-called “undocumented” tricks to perform well under Windows, so they can’t readily be run under Wine, which is a feat of reverse engineering that dozens of Linux programmers who can’t give up their favorite Windows-based games or killer applications (like Adobe Photoshop) have devoted much time to getting to run under Wine, by trial and error.  TurboTax is one of those applications that, since it incorporates some direct memory accesses as part of the protection mechanism (an example of an Undocumented Stupid Microsoft Trick), just can’t be run in emulation easily.  But, since virtualization emulates the Windows hard drive, these tricks can be safely executed in the Unix environment without harm to the host or the client application realizing the disk sector it was writing to was simply a block of bytes in a file on a larger system.  The other trick is to successfully map Windows video tricks onto a virtual video card and then translate it into an image that can be displayed on an X Window system terminal.  Some applications that make extensive use of the Active-X protocol, of which Microsoft is so proud, render “active” regions in such emulations as blacked-out areas on the display.

So, you say, “Why don’t you Unix Curmudgeons just use Windows, as $DEITY intended?”  Because, dear reader, whereas the Microsoft Vision is “One user, One computer,” for us, in the words of the vision of the late, great Sun Microsystems (now part of Oracle), “The Network Is the Computer.”  The Windows user experience is limited by system settings for “desktop” or “server” priorities, while Unix systems can be fine-tuned to meet almost any unique computational environment, and the fundamental philosophy of Unix promotes equitable sharing of resources among hundreds of processes, which may be owned by many different users, with complete security.  On my screen at the moment are complete graphical desktop presentations from a half-dozen different computers running different versions of Linux, and individual applications running on those and other computers, from which I can cut and paste text as if they were all running locally.  This is a concept of which most Windows users cannot even conceive, even though the web browser, that universal window into the broader network, offers some of this capability. We grudgingly use Windows only for applications for which workable equivalents are not available in Unix, and will stop using it when they do become available for our preferred systems.

Hydrologics

Chaos Central, home to the Unix Curmudgeon, the Nice Person, their respective business ventures, and one teen-aged cat, is conveniently situated on the military crest of a bluff overlooking one of the southernmost bays of Puget Sound.  Convenient because, 80 years ago, when the house was built, it had a commanding view of the city below and the bay beyond, now obscured by the dense forest that has regrown on the lower slopes of the bluff in the last half-century.  The steep bluffs and deep ravines that characterize the terrain around Puget Sound enforce a lot of green space in the towns and shorelines, one of the attractions of the region.  Like many houses built on hillsides early in the automobile age, the garage is incorporated into the basement, where the opening provides both a convenient exit point for unwanted water, but also no protection against flooding.  Also typical of the Puget Sound bluffs, the hill behind the crest extends upward at a lower grade for nearly a kilometer, collecting more water than this layer cake of glacial till and gravel can contain.

A few weeks ago, while the Unix Curmudgeon was plying his trade in the icy Bitterroot Valley of Montana–a region geologically similar to Puget Sound, but some 1000 meters higher elevation and a much drier 1000km inland–the Nice Person, back at Chaos Central, woke on a Sunday morning to a disturbing and painful lesson in hydrological science, and the ensuing chaos generated thereby.   During the night, the torrential rains that routinely dump more than two meters of water on our fair city between late fall and early spring had deposited nearly 15 cm of water on the hillside.  Some of which, of course runs off through steep ravines cut into the bluff, or down the streets and into storm drains, which, by now, were miniature geysers at the base of the bluff, unable to accept any more input.  The rest of the water soaks into the hilltop, to feed the majestic fir, cedar, and maple for which our region is justly famous.  The excess percolates through the ground, to seep out the sides of the bluff in springs and feed the cascades of moss, ferns, and invasive ivy that grow on nearly vertical surfaces.

Of course, water being water, it flows in the path of least resistance.  The bluffs of Puget Sound consist mainly of glacial till, in the form of nearly impermeable clay.  Excess ground water, therefore, flows near the surface downhill until it encounters a place to escape, which, in the case of human habitation, is generally driveways and basements cut into the hillside. Thus, even though Chaos Central is poised at the edge of a steep drop, the water pressure on the uphill side of the house becomes considerable.

During the night, water that could no longer seep into the graveled drive began to pool, meeting with underground water flowing from further uphill, which was already bubbling up along the base of the uphill wall in the garage.  When the pool in the driveway rose above the garage floor, water crept in under the wall into the Nice Person’s fabric arts studio.

An emergency call to our son, now moved 40 km away, brought muscle into the damage control plan, while the Unix Curmudgeon listened helplessly from 1000km away (where the warm, wet air mass pushing water into Chaos Central was now just warm, clearing away the icy coating on Montana valley roads) and offered suggestions over the phone.  The obvious solution to the problem of getting water to flow out of the basement was to lower the level standing on the driveway, so son Mark, the civil engineer, expert on all things hydrologic and seismic, started chipping away at the concrete-like till beneath the thin layer of crushed rock just in front of the garage door.  Fortunately, the Nice Person managed to obtain one of the last available sump pumps in the city, which, when placed in a leaky bucket in the shallow hole carved in the driveway, removed enough water to lower the local water table below the basement floor.

The damage was slight–confined to a corner of the carpet in the fabric arts studio and a strip of sheetrock in the corner of the room.  After a night or two of waking every few hours to activate the pump, the Nice Person located an automatic unit, which continued to pump intermittently for the next week as the winter rains continued, until a sharp freeze at year’s end arrested the flow of groundwater.  By this time, the Unix Curmudgeon had found his way home, having been stranded carless in Montana in not very suitable bicycling conditions, and began planning a more permanent solution to the problem of flooding at the top of a bluff, a phenomenon that, though sounding implausible, is very logical given the geology of the region.

The city frowns highly on the concept of pumping errant groundwater into the storm sewers, which are intended to handle surface runoff only, so the permanent solution will most likely be to install the outdoor sump pump permanently at the side of the driveway, with a collector along the front of the garage, and pumping it into the roof gutter drain system to carry it far enough from the house to resume its normal course toward the tree roots and creek below.  This seems to be a cheaper and more [hydro]logical solution, as opposed to digging up the uphill foundation or breaking through the basement floor to install drains and sumps internally, since the water is right there, on and just under the surface of the driveway.  The saga continues.  Once again, we prove that you shouldn’t buy old houses just because you know how to fix them.  Because you do have to, frequently and often, in inventive ways.

On the Road Again, part 2: Security Matters

As the winter of 2010-2011 fulfills its promised severity, we are out in it, travelling cross-country for family and business matters.  We set out from Chaos Central in mid-November, headed east to Montana to deliver finished quilts to our long-arm quilting customers, then through the storms across the Dakotas and Minnesota to Wisconsin for Thanksgiving with family.  Mindful of the recent issues with easy sniffing of wireless web traffic, the infamous FireSheep browser addon, we crafted (after some Internet searching and a tip from SophosLabs) a secure proxy scheme to enable us to safely compute our way across the country.

Since we run the SSH-tunneled proxy on our network at Chaos Central, through our DSL connection, we weave a tangled web to do so.  The phone company doesn’t guarantee a fixed IP address, so the first step is to set up a job on a local server to monitor the DSL public IP address and report any changes to our web hosting accounts.  When we connect at a coffee shop, motel, or public library, we grab the latest IP address via SSH, then open a secure connection to the server at home, starting the proxy server and forwarding the port to our laptop.  Finally, we open a browser that is set up to use the proxy.  A short script simplifies the process, and we have a terminal window showing that we are, indeed, routing traffic securely.

On the way back from Wisconsin, the Unix Curmudgeon got dropped off at the client site in Montana for a two-week hands-on session, while the Nice Person continued on to Washington to tend to her fiber arts business.  Computers travel well: sewing machines and looms do not.  As we still are recession-stalled in our house sale, the Curmudgeon is comfortably (relative to homelessness) installed in a mostly-empty house, with minimal furnishings and intermittent Internet access, dependent on when the neighbors, who have kindly shared their wireless connections, are on-line.

Transportation is yet another issue: the Curmudgeon has stashed his trusty 1979 Fuji Gran Tourer at the Montana location, but winter has set in early and clamped down hard–for more than a week, icy roads too treacherous to walk on have kept him off his wheels, though cyclists with fat-tired steeds and possibly studded tires have braved the slick roads.  But, the feeble winter sun does eventually dissipate the ice film and auto tires wear away the packed snow and ice,  so he is once again mobile for the weekend.

The other peril of a month on the road dependent on wireless network access is keeping up with system security updates.  The exigencies at work have required getting wired access, so it has finally been possible to update the operating system version, but kernel updates on wireless invariably take down the wireless drivers.  Manufacturers long accustomed to the closed-system world of Microsoft do not release their driver code, so Linux users are forced to add drivers in after the fact–the rules of open source forbid bundling commercially-licensed code with open source.  So, in addition to the ritual of setting up an encrypted tunnel to a proxy for un-encrypted web traffic, the Linux user needs to have the tools pre-positioned to build and install kernel drivers after a kernel update in order to get back on the Internet at all.  But, once that is accomplished, the wireless connectivity tools provided with the latest versions of Ubuntu and other Linux distributions make it easy to establish and reconnect to wireless points.

Now, to plot the long trip home.  Bus service is available between Missoula (50 miles away) and Olympia, and many inter-city bus lines now have on-board wireless, but we’re hoping the weather will hold and the Nice Person will brave the roads for retrieval.

5640 Reasons to Not use Windows

Well, it’s finally happened.  The last native Microsoft Windows machine at Chaos Central went down in flames this morning, to be reborn this evening as a Xubuntu machine.  Now, the demise of the system was not directly due to some minor mistake on behalf of Microsoft, but more to the general architecture that makes it necessary to constantly run virus and spyware checks on their systems.

The ultimate culprit here was the venerable ClamWin anti-virus software.  A recent virus signature update had an ambiguity in it that resulted in a number of false positives.  5640 of them on this particular system, to be exact, including, unfortunately, the ClamWin.EXE file itself, all of which got whisked away to the quarantine folder without any way to restore them and fix the links.

I had been using this system of late as the XenCenter control station for our Citrix XenServer, and–since it was there–as a VNC client for all of the virtual machines running on the XenServer.  And, of course, to run Firefox and other multi-media apps to get the audio on multimedia files, since the virtual machines have no audio connections.  I had Ubuntu 10.04 installed as Wubi on the machine, but Ubuntu’s X11 drivers were having some stability issues with the wide-screen monitor, so it seemed convenient to just boot to Windows.

The nerve center of Chaos Central, the old IBM NetVista as XenCenter and VNC client, just before the big Clam-ity that took out Windows once and for all.

Now that it is dead and gone, we still have the issue of running the few native Windows applications we have that won’t run under Wine:  XenCenter, Quicken 2010, TurboTax, and the Machine Quilters Business Manager immediately come to mind, but I’m sure there are a few others.  Oh, yes, I do need to run Internet Explorer to test new Cascading Style Sheet designs for my web clients.  So, we have properly-licensed copies of Windows XP OEM running under Oracle’s VirtualBox at Realizations Fabric Arts downstairs, and, fortunately, I had cloned the XenCenter desktop as a virtual instance itself, so the data and programs on it were not lost nor do they need restored.  From this exercise, I found it is necessary to have a separate XenCenter installation, which can be on another virtual machine, just not one on the same server you are trying to control.  Using the free version of Citrix XenServer, there are a few tools that are disabled, one of which is the ability to detach the console on a Windows machine.  Fortunately, one can share the Windows desktop remotely to a specific VNC client, so it is possible, by jumping through a few hoops, to get at the Windows desktop on a Citrix virtual machine.  Fortunately, we got to the virtual machines and upgraded the ClamWinAV packages to eliminate the problem before the bug trashed those systems, too.

So, why Xubuntu, other than just to try something different?  I first tried Fedora13, but it had some installation issues with the old Windows XP box (an IBM NetVista box we got as an off-lease refurb machine about five years ago).  It has lots of RAM, but still an old Celeron CPU.  Linux used to be very backward-compatible with older hardware, but some of the bleeding-edge distros, especially Fedora, have dumped drivers used on only a few “name brand” systems that are mostly in landfills by now. The install failure mode was a bit odd, but it wasn’t worth looking into, as there are lots of distros to choose from, and one or more of them usually works in these cases.  Xubuntu is a bit more light-weight than the regular Ubuntu edition, but has the multi-media support we need as the only audio-capable machine in-house. The machine also has only a CD reader and a primitive BIOS, so installing from a DVD or DVD image writ to memory stick was not an option, which eliminated most of the other Linux distros.  I like FreeBSD, and have used it for servers and routers, but it is a bit too labor-intensive to bring up as a graphical workstation to meet my timeframe on getting a desktop workstation back up quickly.

Concurrently with the Windows fatal meltdown, our Ubuntu laptop that is my main road warrior machine had a minor meltdown.  I had dismantled the compviz environment recently to work around some issues with VNC password windows not getting the focus, and one of the current updates shuffled dependencies around, such that the system went into a sort of zombie mode, with the windows jammed up under the top of the screen, minus their frames (no way to minimize or move the windows) and very sluggish behavior, due to one of the compviz components chewing up most of the CPU cycles in vain waiting for the missing pieces to answer back.  Restoring the deleted packages fixed that, but may have brought back the VNC login problem.  No doubt Vinagre does not have this problem, but we’re dealing with remote machines running VNC sessions on CentOS and SuSE piped through X11 tunneling under SSH, so we’ll just have to deal with it.  At least, with Linux, you can usually troubleshoot and fix things, where Windows woes turn into a reinstallation and rebuild from scratch situation.

And that’s just a typical day at Chaos Central.  Most of the day, we were off to Olympia, where we got in a bit of ‘Net time on the Ubuntu Netbook while getting an oil change on the vehicle we’re taking on road trip next week.