September 7th, 2010 by Marty
The VW Beetle – it’s an icon. Not just because of its quirky looks and counter-culture vibe. It’s an icon because it’s a Volkswagen, a people’s car. It has a reputation as the kind of car that anyone can work on and that even a simpleton like me could maintain. What happened to that kind of simplicity and user-orientation?
A couple of nights back I went to help someone replace the fuel pump in a 1998 Buick LeSabre. Tragically, the pump wasn’t accessible from the trunk or under the rear seat. To get to it, the fuel tank had to be disconnected from all the fuel and fill lines and removed completely from the car to gain access to the pump. Of course this isn’t the kind of repair that happens when your tank is bone dry, and you spill a ton of smelly gasoline all over the asphalt driveway. The gas dissolves the tar on the driveway and the evening ends shaving my head because the tar won’t wash off.
Now, Volkswagen Beetles have a gas tank in the front and it only holds like five cups of gas anyway. But still, what were the Buick engineers thinking? Didn’t they understand the usage life of the parts in their design? The Buick is only 12 years old and certainly hasn’t reached the end of its useful service life. There wasn’t any unexpected debris in the tank, it hadn’t been filled with diesel, the filter wasn’t clogged to the point it wouldn’t flow fuel. By all measures, replacing this part is something that could be considered routine maintenance.
Sure, adding an access panel requires some additional complexity to the sheetmetal design. The tooling dies would be more complex and expensive to produce. Fitment of the access panel is important and both the opening and panel would have to be made with a reasonable degree of precision. I’m not an automotive engineer, but it seems this feature might cost an additional $10 per car manufactured. If this cost was passed directly to the customer GM might lose a few sales to the increased cost.
Looking from the other side, an additional $10 at the front end would probably have made the whole job an hour endeavor. A mechanic estimated the LeSabre job at 4 hours. Figure a billing rate of $100 per hour and the $10 investment at the front end would have saved $300 for a net of $290 in the customer’s favor.
So, here’s the challenge: Automakers, sell me on a car that is easy to maintain. If you put in an extra $1000 worth of design, charge me an extra $2000 and save me $4000 over the life of the car, I’ll buy. How could anyone resist that kind of advertising?
Better yet, do it for the price of a Beetle.
August 16th, 2010 by Marty
As a fitting first entry to my blog, here’s a quick accounting of what it took to keep my USB from crapping out on me randomly:
We bought a new TV with our tax return. Anybody who’s done this knows that the TV is far from the end of the purchase. You have to get new equiment and new media and all of that junk. We were thinking, “we’ve got a home theater PC, so we shouldn’t need any of that.” Right. So we get things together and fired up and the first thing we do is go to Hulu to check out our shows.
I learned something. The CPU carries the burden of upconverting video to a higher resolution. Turns out a 1024×768 monitor (the highest I’d used before) has 786,432 pixels. A 1920×1080 monitor has 2073600 pixels, well over double what I’d done before. We didn’t need a new blue-ray player, we needed a new HTPC. Sigh.
So our upgrade came, a modestly priced CPU/motherboard/RAM combination. I got the ASUS M3N78-VM. I’ve been impressed with the ASUS products I’ve used in the past and thought this one would be an easy go. It uses an nVidia chipset and I thought it would be pretty easy sailing to get set up running Ubuntu (Karmic at the time).
Turns out that there is some random bug that affects this chipset. USB would take a dump after a random period of running. Really gave me an appreciation for all that USB does for us. To fix it, I either had to use an old version of the linux kernel or a new one. I tried downgrading to Jaunty, but there are a bunch of things that I liked about Karmic, particularly that XBMC was in the repos. Instead, my friend and linux guru Will came over and compiled the freshest linux kernel (.33). Worked a charm, USB stayed online.
Well, Lucid came out and I thought, “LTS, this should fix all the problems that I have with Karmic.” Not so much. I’d forgotten all about the kernel by this time and of course the en situ upgrade wouldn’t work for me. I downloaded a fresh copy of Lucid, burned it to disk and happily overwrote the fancy new kernel that allowed my machine to function. Sigh.
Will has been super busy and I’ve been feeling brave lately so I decided that I’d give compiling the kernel a go myself. Here’s what it took:
I verified that I had the wrong kernel version with:
uname -a
Changed to the temp folder:
cd /tmp
I downloaded the kernel that I wanted to compile:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.tar.bz2
(Change the version if you’re trying to follow this mess for another version.)
I unpackaged it:
sudo tar -xjvf linux-2.6.33.tar.bz2 -C /usr/src
Changed to the kernel directory:
cd /usr/src/
Made sure that I had some stuff installed:
sudo aptitude install gcc libncurses5 libncurses5-dev linux-source
(I’m not sure that I needed all of these, but with these it worked.)
I copied over the .config file from the .32 kernel that I was running:
sudo cp /usr/src/linux-headers-2.6.32-21-generic/.config .
Just for giggles, I ran the configure utility. I don’t know if I needed to, and I didn’t change any options, but it was cool to see what changes could be made.
sudo make menuconfig
Then I did all of the crazy compiling stuffs:
sudo make
sudo make modules
sudo make modules_install
sudo make install
These took forever so I played with the kids for a while and watched Law and Order while it maked stuff.
Then, I had to tie up the last few things to make it boot using the new kernel:
cd /boot
sudo mkinitramfs -o initrd.img-2.6.33 2.6.33
I don’t know what mkinitramfs is, but it put the file in the boot directory that grub2 looks for when building its menu.
I then had grub2 reconfigure itself to boot using the new kernel:
sudo update-grub2
After that, I just had to get my nVidia drivers going again. There’s probably a better way to do it, but after rebooting in the new kernel I just removed all the nVidia packages and reinstalled them. One final reboot and everything is working swimmingly. Hope this helps some other poor soul.
-M