This is a quick HowTo for installing the eAccelerator PHP cache/optimizer on a Debian system (should be applicable to other Linux distros as well).

  1. Download the latest release from SourceForge.net to your server and extract the sources.
  2. Change to the sources directory and type in the following.
    export PHP_PREFIX="/usr"
    $PHP_PREFIX/bin/phpize
    ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config

    This should set up the environment and compile configuration correctly.
  3. Now compile with make and install with make install (as root) afterwards.
  4. To configure eAccelerator you have to edit your PHP config which resides in /etc/php4/apache2/php.ini on my system.
    Add the following lines at the end: extension="eaccelerator.so"
    eaccelerator.shm_size="16"
    eaccelerator.cache_dir="/tmp/eaccelerator"
    eaccelerator.enable="1"
    eaccelerator.optimizer="1"
    eaccelerator.check_mtime="1"
    eaccelerator.debug="0"
    eaccelerator.filter=""
    eaccelerator.shm_max="0"
    eaccelerator.shm_ttl="0"
    eaccelerator.shm_prune_period="0"
    eaccelerator.shm_only="0"
    eaccelerator.compress="1"
    eaccelerator.compress_level="9"

    The file README in the sources directory gives a pretty good explanation of all those parameters. The only one you should probably alter is the shm.size because 16MB of shared memory might be a little bit too conservative.
  5. Last step is to create the directory where eAccelerator stores the cached scripts which don’t fit into the shared memory. mkdir /tmp/eaccelerator
    chmod 0777 /tmp/eaccelerator

Now you’re done. Further tweaking can be accomplished by altering all the parameters in the php.ini file.

iScrobbler is an awesome little menubar item that submits all the music you play, to the music community site last.fm. It just sends track name, artist & album, no filename or file type. So it can’t determine if you played from an original CD or a file on your computer (just in case you worried 😉 ).

To start your last.fm experience you first have to get an account there. Easy as that!

Next you need the iScrobbler application, you can choose from two different versions:

The Beta version works fine for me (Mac OS X 10.4.8. & iTunes 7.0.2) so you might as well try it and take advantage of the added features.

Setting up the iScrobbler application isn’t much of a big deal and I trust you to find out how to do that yourself 😉
The tricky part was finding out how to get iScrobbler to also “scrobble” the tracks I played on my iPod. I say “finding out” was hard, because the instructions delivered with the program aren’t that clear, but once you figure it out it’s actually quite simple. I’ll try to sum up in a few steps how I think is the easiest way to accomplish that.

  1. Make sure you’ve got an intelligent playlist in iTunes that keeps track of recently played music. In the standard set-up this is called “Recently Played”. I made myself one that lists all of the tracks that where played in the last 2 weeks and named it “scrobble”.
    This list doesn’t necessarily have to be existent on your iPod as well.
  2. Set your iPod to sync automatically and disable disk use.
    In my case this means that a few selected playlists get automatically synced to my 4GB iPod nano and I didn’t need disk use anyway so it was ok for me to disable that.
  3. Klick on “Preferences…” in the iScrobbler menu in your menubar and check “Enable iPod Submissions” and select your prepared playlist in the dropdown underneath.

So much for that but one big caveat remains:
You have to “scrobble” the tracks you played on your iPod before you play any other music in iTunes!

This is due to some obscure policy by last.fm that only accepts track submissions in the order they are played, for whatever reason – I’m sure they have a good one 8)

If you’re interested check out my profile and see what I’ve been listening to.
There’s also a good iScrobbler support group in last.fm that’s worth checking out if you run into problems or want to check for program updates.