Sun, 22 Feb 2004

One Bad Bit

I spent 9 hours this week helping a Windows user recover from a nasty crash. And it's not done, yet. Windows XP Pro, Microsoft Office, and another critical application have been reinstalled, Windows and Office updates applied, and user data restored. There are still many applications to reinstall and configure and a lot of clean up to do.

Sadly, the system would quite likely have been completely recoverable if I had been able to toggle just one bad bit. In the worst case, one disk sector was corrupted, so it could have been more than a single bit, but I like to think it was just one. An entire Windows system defeated by one bad bit.

Last Thursday, the user noticed that the system was responding very, very sluggishly. She did what all Windows users do when they're having system troubles–she rebooted.

On reboot, the system blue screened. The error message was displayed so briefly, it couldn't be read. Then the system rebooted itself. This cycle repeated until the computer was powered off.

I was called to help. When I fired up the machine, it entered the same reboot loop. It exhibited the same symptoms attempting to boot to Safe Mode and Safe Mode With Command Prompt. I was only able to successfully gain access to the machine by booting to the Recovery Console using the Windows XP Pro installation CD.

The user had forgotten the Administrator password, so to even boot into Recovery Console, I had to first reset the Administrator password. I did that with Petter Nordahl-Hagen's Offline NT Password & Registry Editor.

Recovery Console includes a pathetically weak set of tools for performing system recovery.

When I was unable to locate the source of the problem, we decided to pay Microsoft $35 for support. After attempting the initial, obvious solutions, the Microsoft tech suggested restoring the registry to an earlier version.

First, we renamed the registry hives (system, security, sam, and default) in the C:\Windows\System32\Config folder. Then we copied backups from C:\Windows\Repair to the Config folder. There was trouble, though. No backup copy of the System hive existed. And even if it had, the other hives were 11 months old. Restoring such an outdated registry would have been nearly as painful, perhaps more painful, than completely reinstalling Windows.

The support tech indicated the only option left was reinstalling Windows.

Of course, that means not only reinstalling the OS–it means reinstalling all the application software as well.

I didn't want to give up the fight just yet. So, I used the current System registry hive and backup copies of the other hives. That gave me a bootable system! But there were, not surprisingly, many problems. I did verify that the application data was intact. And that gave the user some hope.

Obviously, the problem was in the registry. So, I tried putting each of the current registry hives back in play, one at a time, to see which one was bad. That's when I discovered the real problem. The Software hive, the largest of them all, had a CRC error. It could not be read or edited.

The best I was able to do was:

type software.old >

That got me a 14MB file before failing with a CRC error. The original file was 18MB.

Attempting to run with the truncated software registry hive failed. No surprise there. More disconcerting was the fact that I could not boot the system into recovery console any longer!

I was able to remedy that situation by using Petter's Offline NT Password Boot Disk (mentioned earlier) to boot, do the necessary copies and renames to get a working registry again.

In the end, I reinstalled Windows.

The registry is the Achilles' Heel of Windows systems. It is an endless source of trouble. It grows and collects cruft until it collapses in failure. It makes migrating from one system to another nearly impossible. It makes backing up or migrating a single application with its user and state data nearly impossible.

Yes, it makes some interesting things possible, but in my opinion, it was a disastrous design error. I'll happily stick with Linux for my own use.

[/windows] [link]

Thu, 12 Feb 2004

Vonage VoIP

I signed up for Vonage Voice Over IP (VoIP) telephone service. The Vonage service allows you to make and receive telephone calls using your normal phone over the Internet. It can supplement or completely replace your telco service.

Yesterday I received my Vonage installation kit including a Motorola VT1000 Voice Terminal. How does it work? Too good. I've always had a hum on my phones at home. With my Qwest telco service, the hum seemed to get filtered out. With the VT1000 digitizing the signal, the hum comes through on the other end crystal clear. I'll have to track down exactly where the hum is coming from and eliminate it.

Contrary to the installation instructions, I connected the VT1000 behind my Linux firewall. Absolutely no setup was required that way. I connected the VT100 WAN port to my home LAN. The VT1000 acquired an IP address from my DHCP sever and established a connection with Vonage.

I did need to configure the firewall to forward outbound UDP packets to destination ports 5060-5061, 69, and 10000-20000 as indicated in Vonage Installation Guide, Appendix B. In addition, I discovered the VT1000 was attempting to connect to external time servers on UDP port 37. I opened the port on the firewall but also provided the service internally and added an appropriate DHCP option for it. I haven't checked yet to see if it is polling my own, internal time server based on that change or if it is still polling an external time server.

When I get time, I'll have to establish a connection to the VT1000's LAN port and explore the configuration options. Perhaps I can specify a time server there.

I'm thrilled with the features and functionality of the Vonage service. It worked great from inside the firewall at the office and from my home network. Voice mail is substantially better than on my Qwest line.

I will be replacing my Qwest service with Vonage, porting my old number over, saving $30 per month and getting some great new features. I will find e-mail notification of voice-mail messages particularly useful. Right now, I have the notifications sent to my cell phone. I intend to set up an e-mail address that can distribute the messages to my cell phone and/or Jenny's based on the number of the caller.

I'm sure I'll have more to share when I've had more time to play.

Vonage has a Refer-A-Friend Program. I don't intend to spam all my family and friends with referrals. If, however, you decide to use Vonage, definitely use the referral program. It gets you and the referrer a free month. If you'd like a referral from me, just drop me an e-mail requesting one.

[/internet] [link]

Sun, 08 Feb 2004

Linux Potpourri

I took a few random paths on the Web today and found couple of gems. The first is a neat little article about using LPD to play music.

Following the instructions, I had it working in minutes. This would be be a lot of fun in an office or group setting where everyone could queue up a few of their favorites songs for all to listen to.

Apparently a group of engineers at Dell are behind the new Dell Linux Community Web. This looks like an interesting and useful site. I've bookmarked it and I'm sure I'll be back regularly.

I found a link from Jeff Duntemann's ContraPositive Diary to the Linksys Blue Box Router HOWTO by Eric Raymond. I've always liked the Linksys devices but hadn't realized some run Linux and play so well in a Linux environment.

I may consider replacing my Linux firewall box with a Linksys Blue Box soon. I subscribed to Vonage and I'm anxiously awaiting the arrival of the analog phone adapter (probably a Motorola VT1000v ). I'll be using the Linux Advanced Routing and Traffic Control HOTWO to figure out how to ensure quality voice connections without dropped packets or delays. I intend to install the analog adapter behind my firewall.

If a Linksys Blue Box can do a better job of routing my VoIP traffic I'll happily replace my 400Mhz Celoron based firewall. I can recycle it as my annual Windows tax machine.

At home, I use Windows just once a year. The only piece of software I find I still need Windows to run is TurboTax. I have an old 200 MHz system with Windows. Once a year, I fire it up, headless, with just a keyboard (and only then because it refuses to boot without one). Then I access it via RealVNC from my Debian GNU/Linux desktop. I would happily use one of the online tax preparation services except I need to prepare several returns: mine, one for each of the kids (3), and this year I'll probably be preparing one for my mother. Having my own software is more cost effective.

I love all my free, open source software. However, I would happily pay for a good quality tax preparation package to run on Linux. It would certainly be nice to see TurboTax for Linux!

[/linux] [link]


I've been doing a bit of bio-tech experimentation recently. No—not bio-weapons development (at least I hope not!). I read an interesting article in the January/February issue of Adventure Cyclist. According to The Cyclists' Kitchen column, titled Winter Weight Gain:

A growing body of evidence indicates that consuming calcium-rich dairy foods three to four times a day equals burning about one hundred more calories of body fat per day—or about ten pounds of fat per year.

Of course, you can't add the dairy products to your diet—you have to replace existing calories with the dairy products. Yogurt is recommended.

I love yogurt. Dad went on a diet years ago and lost an incredible amount of weight. One of his primary foods was yogurt. He made it himself.

So, armed with some motivation go give it a try, I did a bit of Internet research. There's plenty of information. The first hit on Google was an article at Doing Freedom, a site where you can learn not only how to make yogurt, but how to make an RPG.

I simplified the recipe. I bought several small, reusable plastic containers that hold just over a cup and a couple quart sized containers. I sterilize the containers and utensils, bring one-gallon of two-percent milk just to boiling. Then I remove it from the heat, cool it quickly in a water bath to 110 degrees. I stir in three or four table spoons of yogurt saved from the last batch, then pour it into the containers.

The first time I made yogurt, I didn't trust the oven to keep the 100 to 110 degree temperature required, so I used a picnic cooler and surrounded the yogurt containers with bottles of hot water. It worked great! I've since used the oven and found the old beast does keep the temperature I need.

Now, as long as I'm growing Lactobacillus and not E. coli I should be okay.

[/general] [link]

About this weblog

This site is the personal weblog of Marc Mims. You can contact Marc by sending e-mail to:

Marc writes here about cycling, programming, Linux, and other items of personal interest.

This site is syndicated with RSS.



CSS stolen from Tom Coates who didn't even complain.