Jim's Depository

this code is not yet written
 
You saved me many (more) hours of head pounding with this blog entry.  I am thoroughly grateful.

At some point in the past I managed to screw up my file server's lenny install in such a way that I ended up with the non-lvm ext2 boot partition commented out of fstab and a separate /boot directory on the lvm root.

I forgot about this incident and went about continuing to run apt-get dist-upgrade periodically.  Everything worked until I went to squeeze and rebooted, at which point I made some more poor choices ("Why am I not running the new kernel?  I'll just apt-get remove the old one!") and ended up unable to mount ext2 partitions (while still able to boot from one).

After about eight hours of head scratching I found this page and by following your steps had no trouble upgrading to GRUB 2 which booted the new kernel which fixed all the problems, allowing me to get on with my life (such as it is).

You are awesome and so is GRUB 2.

You don't need to echo 1, 2, and 3.  As the page you link to makes clear, it's a bit-mask.  Echoing 3 alone is succifient after the sync.
Yes, it is that bit of logic that makes the } else if { not work.
Aw nuts, now I need to implement "delete attachment". The 1.3 version adds a little 'flash' badge instead of just a grey box and a way to edit your whitelist.

I've had no problems with this over the weeks I've been using it, in fact it has saved me from canceling my American Express card because their commercial no longer tries to play in my browser when I go to pay the bill.
Oh, I neglected the "// a bunch of code to see if it is in the cache" part.  Yeah, don't be afraid of using goto-s.  There's nothing wrong with them when used properly.
Why not simply:

if (code == 36) {
   value = 99;
} else if (code_in_cache(code)) {
   value = code_from_cache(code);
} else if (...) {
   // Notice how there is no nesting?
}

Those google ads are nice. I almost never get enticed by an ad, but two of the google ads on this site have lured me into visiting the advertiser. (Google's terms forbid me from clicking, so I have to type in the URL.)

Virtually 100% of the writing on this site is mine, so they have their little demographic cross hairs right on my brain, and it works.
Ack! Google is giving me annoying animated graphic ads. I signed up for "text and image" ads, apparently they consider distracting animations to be an image.
I might mention that there are still some jpegs that will crash the quicktime encoder that are valid according to jpeginfo, but it gets most of them.
I just built dfu-programmer for etch with these steps, and attached it to the parent article (I guess I should implement attachments for comments.)
  1. Go to the Debian packages page for the Lenny package.
  2. Download the original source and debian diffs.
  3. Unpack the original sources
    tar -zxvf dfu-programmer_0.4.3.orig.tar.gz
  4. Apply debian patches... 
    zcat dfu-programmer_0.4.3-1.diff.gz | patch -p0
  5. Hop in
    cd dfu-programmer-0.4.3
  6. Build packages
    fakeroot ./debian/rules binary-arch
  7. Fail... fix x flags on rules
    chmod +x debian/rules
  8. Fail... install libusb-dev
  9. Success! I now have a dfu-programmer_0.4.3-1_i386.deb in the parent directory.
  10. I can't test it, my only Etch machines are remote servers, but it installs ok and I expect it works.
I probably should have modified the version number to mark it as an Etch build, but this works for private use.
more comments