I've got an SSH tunnel from <anywhere> to <home> going, and can effectively run any TCP/IP service over a private, secure channel, so the next thing is to sort out my music collection.
I buy (or used to buy) a lot of audio CDs. I'm talking hundreds; I used to visit the local secondhand music shop near Uni and just pick up random albums; now I've got an income, I do the same thing in music stores.
Except now I don't have a CD-player, and had to leave my collection behind when I moved to Britain. So I listen to music almost exclusively on the PC -- MP3s, because the sound of a CPU decoding a bitstream is almost always quieter than that of a CD-ROM drive spinning a disc.
(This is especially true of my laptop, an old, hulking Toshiba Satellite. When playing a CD or DVD on the Toshy it's usually a competition between a loud DVD drive and two of the smallest, crappiest speakers every created. It's telling that the headphone jack on this laptop was used so much that something work-hardened and snapped inside, meaning that half time the speakers don't work at all.)
Last night I wrote a little shell-script which sorts out my current music from directories like "Artist - Album Title" into a directory for "Artist" and sub-directories for albums. This is important because it matches the hierarchy of the three services I'm using: 7digital.com, streamripper and TheLastRipper. It also limits the number of "top-level" directories, because albums by the same artist are all together.
As a bonus, I included a little Perl one-liner which removes empty directories (of which I had a bunch ... largely due to running the buggy script earlier). In the future I might add some kind of album-art downloading, fixing up missing ID3 tags and removing folders that only contain album-art (lost some music somewhere in the transistion from CD to MP3 to portable hard-drive to GNU/Linux NAS).
So now I can buy albums from 7digital.com and just unzip them into the music directory (and let anacron run my cleanup script). This service looks really good: a lot of music, with albums around £7.99 and individual tracks around 80p, from the big music publishers. All in DRM-free MP3, and each purchase is stored in an online "vault" or "locker" for redownload if necessary. You can preview songs (when their preview servers are working) and read reviews of new music to assist my "discovery" activity.
For more "discovery", I can use streamripper to download tracks from Internet radio stations (i.e. Shoutcast). Streamripper is quite clever, provided the stream information is accurate (which really means finding a decent radio station out of the thousands available) and can split individual tracks into correctly tagged MP3s ... in the same Artist/Album hierarchy. Nice.
For less "programmed" discovery there is TheLastRipper, a mono application for downloading from Last.fm (again into the same hierarchy of individual MP3s). Unfortunately for us server-heads, this is a GUI-only program at the moment (although a browse of the source code shows a ConsoleClient work-in-progress), but here VNC comes to the rescue -- the vnc4server (package in Ubuntu's repositories) will run a VNC service which acts as an Xserver, without requiring the physical display hardware. So my little headless black box can run TheLastRipper quite happily; I just have to connect via VNC if I want to change any settings or start/stop the ripping.
Last.fm is nice because of it's intelligent heuristics and social aspects: Last.fm channels are things like "Neighbourhood Radio", "Recommended" and "Music Like <Person>". So I can get recommendations, but don't have to listen to them when I'm awake -- a very good thing, considering I get free downloads between midnight and 6am i.e. not exactly great music-listening hours.
So my music is slowly, slowly getting sorted.