Parking Meters are Evil

Yesterday, my tandem bike stoker (and life partner of the past 25 years) and I headed to the Big City by automobile to  run a few errands and check out the bike-path/walking trails around Capitol Lake.

Since the day had started cold and threatened to turn wet, we parked at metered parking on the downtown side of the lake, rather than out on the parkway on the far side of the lake.  Standing in the cold breeze from the lake and looking at the rain-laden clouds sweeping in from the Coast, and, with the closed-for-repairs causeway less than 500 meters down the shore, I thumbed enough of our dwindling supply of nickels into the meter for what seemed to be a generous 40 minutes of brisk walking.

As we  moved into the lee side of the hill on which Washington’s Capitol campus sits, the wind didn’t seem so cold, and we noted a switchback trail leading to the Capitol, so we diverted.  In the 30 years since I first came to Washington State,  I had never been to the Capitol itself, so it seemed like a good idea at the time to check it out.  After reaching the top and strolling past the domed seat of government, we noted that we only had eight minutes to get back to the car before the meter expired.

It wasn’t far as the raven flies, but ravens don’t walk down switchbacks, and the eight minutes expired by the time we reached the lake shore, where we noted, in the distance, the flashing red light of the  Parking Enforcement vehicle as it moved down the street–away from our car.  One more nickel would have saved us:  the time stamp on the $15.00 parking infraction was three minutes after the meter expired.  Officer Lisa must have sat in front of the car waiting for the LCD to flash all zips.  The car next to us also had a ticket, so it was obviously a good place to just hang out and watch the meters tick.

Needless to say, the afternoon gloom intensified inside the car as well as out on the drive home.   Parking meters are evil: you can’t add more time unless you are physically there, and they don’t record how long the meter has been expired, or know if the same car has been in the spot for more than the 3-hour limit.  In some municipalities, the parking enforcement folks make more than one pass to check for deliberate violators.  Obviously, there is no “grace period” in Olympia, especially during the legislative session when parking space is at a premium.

So, the moral of this story is:  be generous with your supply of nickels at the meter–if you return on time, pass your good fortune on to the next car, or consider it a tip to the city for having a convenient spot for you to have parked in.  Or, bring your bike and park the car in a free lot outside the city core.  Next time, we will.

Why We Don’t Use Windows (if we can avoid it) #537

Some software vendors haven’t caught on yet, and still make applications that run under Windows only.  Unfortunately for us, some of those apps are “must have,” so we still have to have at least one working copy of Windows around.  Our current one is a refurbed off-lease IBM desktop we picked up a few years ago, running XP.  It’s been up and running lately, but doesn’t do much other than installing so-called security updates from time to time.

We had left it alone for a couple of weeks while busy with other projects.  Today,  I tickled it a bit to wake it up, and, when the “select user” screen appeared, clicked on my username.  The machine whirred a bit, then promptly announced I was being logged out.  OK, idiosyncratic behavior sometimes happens, so I try again.  Same thing.  Different user, same thing.  Hmm.  Maybe something got corrupted, boot to Safe Mode.  Same thing…  Can’t logon, even as administrator (it’s XP Home, so, no difference, really).  Oh-oh.  We did have some fairly important stuff on this machine.  Not good.

So, off to the Web on one of our trusty Linux boxes, symptoms indicate the C:\\WINDOWS\system32\userinit.exe file is, what?  Missing?  How can that happen?  This is a vital system file in the middle of one of the most holy of holies in the whole operating system.  But, I rummage through my files and drag out the Ubuntu 9.10 CD I used to upgrade my laptop a couple weeks ago (which had it’s own issues with wireless drivers, but nothing like casually losing an essential file after running for three or four years).

I boot the “live CD” version of Ubuntu 9.10, mount the Windows partition, and, sure enough, no userinit.exe file.  Everything else seems to be there, so I boot up a newly-installed  XP virtual machine running under VirtualBox on our 64-bit Linux box–to which I was planning to migrate our Windows “have to” apps.  I upload the missing file to my Linux account using pscp.exe, then pull it over to the broken XP installation with scp, using the live-CD session.   Next, reboot to Windows XP, and voila! it comes up normally.

Going back over the long tech forum trail, I find that this is a not-uncommon event with XP, and, if you only have Windows to work with, is painful if not nearly impossible to recover from, usually involving extracting the file from an OEM CD.  We do have one (which is where our Virtual-Box installation came from), but it was much easier to do the deed by booting Linux.  Besides, taking the file from a running XP installation ensures it is the latest version–there is always that issue when restoring from the original CD.  Windows doesn’t have packages with dependency checking like Linux and other Unix-like systems do, so it would be easy to get out-of-spec by doing that.

Next, we did some more detective work to see why something like this would happen in the first place.  Now, there isn’t a smoking gun, because these forums are run by and frequented by folks who think that Windows is the only way to compute, and that whatever it does is “normal,” so nobody thinks it is strange that this fatal bug is actually a Stupid Microsoft Trick, used in a feeble attempt to emulate Unix’ system single-user-mode and ‘NOLOGIN’ environment settings, when installing system updates.  It appears that the Windows Updater actually modifies the registry under certain circumstances to perform this trick, and may replace the userinit.exe file.  After all, have you ever wondered how the system does the reboot thing during an update and bypasses the logon entirely?  If you are so unlucky as to try to logon to your machine during this time or–because the automated process may not go quite as smoothly due to network glitches, power events, or whatever–after the update has failed to complete correctly, you are now permanently in zero-user mode, and the file is just plain gone.

Sorry, Microsoft, a lot of us think this is just not the way to run a computer operating system.  Our preferred system architecture is well-thought-out, handles multiple security levels, multiple users, multitasking, and has done so nearly flawlessly for about 40 years, during which time it just gets better.  Yours has been built from a 16-bit port of an 8-bit microprocessor program loader that has been an endless series of compromises and risks to beat the clock and can’t get any better unless the legacy crutches are abandoned once and for all.  No matter how fine you try to close the gap on a race condition, it is still a race condition, and sooner or later, deadlocks happen.  A patched kludge is still a kludge.

Meanwhile, while working on the fix, we quietly backed up the entire hard drive onto one of the Linux servers. so our data is safe.  Now, if we could only persuade the software providers to write their applications in solid code for operating systems it could actually work on safely, and we wouldn’t have to endure these kinds of torments.

Caveat–this worked for me as written, but you might have to modify more files in the system32 directory to get the machine to boot so you can fix the Registry if the logon value for the executable file has been changed.  In my case, the userinit.exe file was just missing, the Registry seems to be normal.  No malicious malware suspected, just a missing file that gets unsafely manipulated by updates–on purpose.

One More Trip to Ace…

In an earlier post we described the mysteries, joys, and horrors of the seemingly simple task of changing a light fixture in the kitchen of our 1927 bungalow, leaving the scene with a foam picnic plate covering the unsightly hole we found in under the old light and yet another identical light to replace.

First, back to Lowe’s to pick a light to go with the modern 6-light Z-bar we put in the center of the kitchen.  Because the second light is over the breakfast nook and my parents’ 1937 kitchen table, we wanted it a bit more in keeping with the period of the house.  We found a ribbed-glass shade pendant light in brushed nickel that was just right, and matched the finish on the halogen bar light.

A stop at Ace to pick up yet another shallow plaster/rework box and two large (8-inch) steel wallboard patches.  The latter are metal plates covered with adhesive mesh that extends 2 inches beyond the metal to patch really large holes, like the ones you get when you slam a door knob against the wall.  We are prepared.

Of course, the big surprise when we take down the second light is that, first, the wires just stick out of the plaster: this light was apparently added after the ceiling was textured.  The wiring is even newer, more 1970s-vintage, which we deduced when we tied it in at the center fixture.  So, we only need one of those head-butting-hole fixer plates.  One more thing for the eventual garage sale.  The smooth ceiling, however, presents another problem.  We trace around the round rework box and carefully cut through the beaverboard ceiling with a utility knife, keeping close to the line and working the edge until the plaster box fits snugly in the hole, with the wire through one of the knockouts in the bottom of the box.  We select some screws from our stash of home-repair parts and screw the box securely to the joist and lath, then assemble the lamp.  It looks great, and the original 13-watt CFL from the old ceiling fixture lights up the table just fine, now that it is 30 inches closer.

A few days later, we tackle the paper plate problem.  First, we remove the Z-bar fixture, paper plate, scrape off a couple layers of loose wallpaper in the one-foot-diameter bare circle in the ceiling texture that was under the old fixture, and smooth down the ridge of plaster at the edge of the circle.  I try to cut a hole in the big patch plate with a fly cutter on the drill press, but give up after a bit of chatter starts–the material is pretty thin.  But, it now has a nice 4-inch circle scribed in it.  I drill out the pilot hole to 1/2-inch and use the air nibbler to rough-cut the hole.  Then, I use the air die grinder with a cutoff wheel to trim to the line.  A trip to the kitchen shows we are just a little tight, so scribe a line around the edge with a Sharpie and grind it off, just right.  Just to be safe, I screw the plate into the ceiling, not relying on the mesh adhesive to hold it, as these are designed for wall patches.  Finally, I apply wallboard joint compound, imitating the knock-down texture of the rest of the ceiling as much as possible.  We let it dry overnight, resigning ourselves to cooking in the dark again.

The next day, I put a coat of primer on the new plaster before we leave for the day.  When we return, I paint the patch to match the rest of the ceiling and remount the light fixture in time for dinner.

It looks like it was always there.  But, like other old-house projects, it took a total of a couple of weeks to finish (we did take a trip to Montana in the middle of this exercise), at least four trips to various hardware stores, and we have extra parts and material left over.  The total cost of replacing two kitchen lights was about $120, and, while not to modern electrical code, is better and safer than it was, and is functional.   To completely upgrade the wiring and use restored or reproduction fixtures would have taken more than two weeks and cost several thousand dollars that we don’t have right now.New Kitchen Lighting

Back to Business — sort of

Arrived back in Washington in time to take care of serial sick grandkids, in between looking at mysterious freeze-ups in a client’s HPC cluster (nothing new–it has been an issue through several OS upgrades, an elusive will-o-the-wisp that has existed since $CLIENT == $WORK -> TRUE) and exploring new Linux tools.  New to me, anyway.  Fired up GKrellm, the Linux performance monitor.  Looks much like the old perfmeter tool that has been in Solaris since the OpenWindows days.

Beginning to settle in and get comfortable with Ubuntu 9.10, which has lots of subtle improvements over 8.10, which we’ve used since late 2008. Judy’s workstation is still at 9.04, as I haven’t had time to work out some upgrade issues that need tweaking on the upgrade. Hers is 64-bit, so there are some other issues there, too. We recently upgraded the HP-Compaq C714NR laptop to 2GB of RAM, which really makes a difference in performance, but not quite ready to brave the 64-bit issue with all the wireless issues we’ve had over the years. The Gnome Network Manager is nearly flawless, and gets us on wireless networks painlessly, at least since we resolved the cantankerous Broadcom 4311 driver problems.  Best of all, if it detects a strong network you already have configured, it simply and automatically connects. We still have a bit of a kludge in the wireless driver arena, as we first let the b43 driver load, get the usual “you must update your firmware” message, then run a startup script to unload b43 and load the Broadcom driver, after which all is well. Hmm, time to go look at the firmware issue, as long as we don’t have a road trip planned for almost a month.  I did install b43-fwcutter and fiddle with this earlier, but without much success.  Sometimes us old hardware hackers just need a system that works, to get on with the revenue-producing work, that  doesn’t involve endless tweaking of drivers and firmware.

Combining business with pleasure: alternate routes on road trips

After a few trips back and forth along I-90, the Auburn Cut-off, and the I-5 gauntlet through Fort Lewis commuting back and forth between Washington and Montana, we are itching to make our trips seem a bit more adventuresome.  That’s a hard task in mid-winter, but today we turned away from I-90 at Ritzville, on WA395 headed toward Pasco.  When we had gotten far enough off I-90 to convince the GPS that we really didn’t want to drive the Interstate all the time, we asked for directions to Yakima, and were rewarded with a diversion on WA 26 to Othello, then WA 24 across the Hanford Reach, the last wild stretch of the Columbia River in the U.S. That put us in Yakima right at dusk, as the GPS switched to night mode as we exited at the motel.  We loaded the cargo tray with enough garden tools and other effects left behind in our move to point the headlights at an annoying angle, so we decided to drive back during daylight hours only, which, in winter, means stretching the 12-hour transit to two days, so we might as well use an alternate, longer route.

We can check the weather and pass conditions in the morning to decide whether to tackle White Pass (US 12) in winter, which we haven’t done before, or run the Ellensburg Canyon back to I-90 and join the traffic rush across Snoqualmie Pass.  We did return to Montana once via White Pass and US 12 last summer when our house-closing trip ran shorter than we planned.  Back when the speed limit was 55mph, we took almost every possible combination of routes between the Seattle area and the Flathead Lake area on our annual vacation trips to Montana, so we’re looking forward to having time to explore those routes again by simply taking a bit more time to detour.  Besides, it saves planning a special trip to revisit scenic places in Washington.

Musings on Unix, Bicycling, Quilting, Weaving, Old Houses, and other diversions

%d bloggers like this: