Amarok and last.fm

I recently started using last.fm, which if you didn't know is a service that records the songs you listen to, provides statistics and recommendations, finds others with the same music taste, and allows you to sample music and music videos from related artists. I also just switched to Amarok from Rhythmbox because it seemed much more featureful.

Amarok is a great piece of software, although it takes a little getting used to. Here's a screenshot:

Last.fm is quite nice as well. Here's my music profile, which shows tracks I've recently listened to, as well as top artists and that sort of thing.

How the two integrate is pretty neat. When you play a song in Amarok, it gets "scrobbled" (to use last.fm terminology)—that is, sent to last.fm and added to your music profile. Here's how Amarok lets you reap the benefit of sending last.fm your data: Amarok has "dynamic playlists" that provide an automatic playlist of songs based on some criteron, like random selection or most-played tracks. But one setting allows you to put a few songs on your playlist and then enable the "Suggested Songs" dynamic playlist (it's enabled in the screenshot above). This allows Amarok to ask last.fm for suggested songs based on the current playlist and your account information. So you can leave it running and not have to keep refilling the queue with manually selected songs.

For more thorough documentation of Amarok, see the Amarok Handbook at docs.kde.org.

Note that Amarok is not associated with last.fm in any way except that it provides an open-source implementation of its client. It is the default player included with KDE.


Shure E2c earphones

I got the Shure E2c sound-isolating earphones yesterday from Amazon for about $60. Almost all of the major reviews I could find described them as excellent earphones for both their sound-isolating properties and their audio quality. I've only used them for about a day so far, but here's a sort of review of how well they live up to the high standards I started out with.

Standard earbuds are disk-like speakers that sit on the outside of your ear, not extending into the ear canal at all. Some earbuds have a little protrusion that goes a little bit into the ear canal, but only a few millimeters. In contrast, sound-isolating earphones go pretty deep into the ear canal, up to about a centimeter. They block background noise passively, like earplugs do: by having a rubber or foam plug that stays in the ear canal. The advantages of this are that they block sound very effectively without requiring batteries like noise-cancelling headphones do, and that they won't come out when you run because they're deep in your ear. The disadvantages are that it can be hard or painful to put them in if you don't know how to do it, they collect earwax pretty easily, and (this is also an advantage) they block outside sound very effectively, so you can hardly hear someone who's standing next to you, even if you're not actively playing music.

The Shures are excellent at sound isolation. In a loud room like the school cafeteria,
the roar is literally quieter than a whisper with the earphones on. This lets you play music at low volumes and preserve your hearing, since you don't have to drown out any sound.

In terms of sound quality, the treble is amazingly crisp, and that really adds to the enjoyment of the music. The bass is very accurate (not artificially high, nor too low) when you're using a decent sound source like a computer or a good MP3 player, but with my poor-quality player, there's very little bass, so that detracts from the experience a little.

Finally, comfort. At first, it's very painful to put these earphones in. You try to push but they just don't budge, and when I say it's painful, I really mean it. But what really helps is to wet the tips a little, which makes them go in easily and painlessly as well as making a better sound-isolating seal.

So overall, I'd say these earphones are quite good—of course they're a huge step up from standard iPod/Creative earbuds, but their sound quality is actually better than even a pair of $100 non-sound-isolating Bose earphones we have. And their sound isolation just makes it even better.

Update 2007-12-20 2:20am: Shure provides three kinds of tips for the earphones: clear hard-ish PVC ones, black soft rubber ones, and orange foam ones. I had been using the black rubber ones and I always had to push them uncomfortably deep into my ears to get good isolation and sound quality, but I just tried the orange foam ones, and they're much better. They're very comfortable, I don't have to put them into my ears very far at all, and they provide even better sound isolation. The only problem is that they're not as durable as the others since they're foam, so I'll have to replace them in a few months. Also, they take longer to remove. Overall though, they make the earphones nearly perfect.


Backing up Gmail

My Gmail account is pretty important to me—I've been using it since 2004 and it currently holds around 4000 emails (grouped into about 2500 threads, taking up 425 MB). I've been thinking about backing it up for a while, but I finally got around to it and succeeded after only a little frustration.

The first thing I did was configure Gmail to accept POP3 connections. I went into the Gmail settings page and, in the "Forwarding and POP/IMAP" tab, chose "Enable POP for all mail."

At first I tried fetchmail to get the emails over POP3 from Gmail. I had it all set up and everything until I discovered that it depends on a mailserver running on the local machine so it can get the messages from Gmail and send them to the local mailserver. I didn't want to go through the hassle of installing and securing sendmail or postfix, so I went looking for alternatives that would just dump the mails to a file or directory.

I found getmail (available through the getmail4 package on Ubuntu) and installed it. Here's how I configured it:

First, I set up the getmail configuration directory and the Maildir structure where the mails would go:
cd ~
mkdir .getmail/
mkdir gmail-inbox/
mkdir gmail-inbox/cur/
mkdir gmail-inbox/new/
mkdir gmail-inbox/tmp/

Then I created the file ~/.getmail/.getmailrc-gmail with the following contents:
type = SimplePOP3SSLRetriever
server = pop.gmail.com
port = 995
username = ankurdave@gmail.com
password = my password

type = Maildir
path = /home/ankur/gmail-inbox/

delete = false

Finally, I launched getmail to fetch the emails:
getmail --rcfile='.getmailrc-gmail'

I had to run this command several times because Gmail serves up the emails in chunks of 400–600 mails at a time instead of giving all 4000 emails in one go. (This took a while to figure out.)

Since getmail uses the Maildir format to store its emails, I could read the emails as they were being downloaded. I ran mutt with mutt -f ~/gmail-inbox/ to point it to the mail directory.

Finally, if you have to start downloading over again for some reason, you have to tell Gmail you're starting over. In its web interface, it shows that you have downloaded up to a certain point in your inbox with the following line (available in Settings->Forwarding and POP/IMAP): "Status: POP is enabled for all mail that has arrived since 12/10/06" where the date is the date of the last message retrieved through POP. The next time you download emails over POP, Gmail only delivers mails after that date to avoid duplicates. You can reset the date by choosing "Enable POP for all mail (even mail that's already been downloaded)."

So overall, backing up my Gmail account was fairly easy and clean, and now I can be sure that all that information isn't at the mercy of Google.

Update 2007-12-02 11:04:55 PM: I just finished downloading all the email. There are 4235 messages, taking up 434 MB of space. When compressed with zip, they take up 282 MB—still pretty big, but a little more manageable.