I recently discovered [mod_deflate], which compresses webserver content before sending it out – if you’re not using it you should really check it out. I turned it on and it worked flawlessly for me, with two exceptions.

  1. Server-side includes
    These just did not play well together out of the box…
  2. PHP and Perl “streaming” output
    I have some scripts, most notably imagescraper, that need to stream the html in the results page as it is computed, not all at once AFTER it is built, as mod_deflate requires.

Turning off [mod_deflate] is trivial. I used the no-gzip environment variable as follows:

# MDM This is to disable [mod_deflate] for imagescraper, so we don't try to compress the streaming results...

    SetEnv no-gzip 1


# MDM Drop this into a virtual host block to TURN OFF [mod_deflate], so it doesn't break SSI.
SetEnv no-gzip 1

Thunderbird (yes, Mozilla’s email client) doesn’t know how to open URL’s in Firefox out of the box. How is stuff like that even possible? I’m continually amazed that Thunderbird doesn’t get more love from Mozilla. Fix it like this:

  • Close Thunderbird
  • Get the path to firefox with [which firefox]
  • Find the Thunderbird preferences file, something like this:
    /home/user/.thunderbird/####.default/prefs.js
  • Add this:
    user_pref("network.protocol-handler.app.http", "/path/to/firefox");
    user_pref("network.protocol-handler.app.https", "/path/to/firefox");
    user_pref("network.protocol-handler.app.ftp", "/path/to/firefox");

Ahhh much better. Silly!

I dumped new memory into my gentoo server. The stuff I pulled out (along with a couple pounds of DUST) was weird:

ch1: Infineon 1024MB DDR 333 CL2.5 PC-2700 128Mx72
ch2: elixir 512MB DDR 266Mhz CL2.5 PC-2100

Where the hell did I scrounge up that cruft…. Replaced with:

ch1+2: G.SKILL 1024MB DDR 400 CL2.5-3-3-6 PC-3200 2.6V

The other weird thing is the mobo has 4 slots – 2 DDR and 2 SDR. So I had to dump the first set of memory. Just as well.
I’m literally still sneezing from all the dust…

My git wiki article has been updated. Humming along. If this looks like something you want to do, check it out…

                      repo1
               mybranch<->master
              /                 \
my shared repo                   external svn repo
              \                 /
               mybranch<->master
                      repo2

I want to plug my 8GB-SDHC-card-in-a-USB-adapter in, and immediately be able to add and remove files to it. With a little digging in, I got the job done. This is going to make my life a LOT easier. Now I can trigger any action I want for every single device I plug in to my boxxen. Sweetness.

I use gentoo, but this should apply to any modern linux distribution. With a less hands-on distribution like Ubuntu, everything should be already done for you, but you still might want to dig in here to see what’s going on under the hood. Also, there’s a LOT of outdated material out there, as this stuff has been hammered out over the years. So without further ado, here’s an up-to-date summary to get you up to speed fast:

  1. udev: Assign unique names to your devices
  2. Automatically mount and unmount your devices
  3. udev: Autorun programs when connecting your devices