School is approaching, and my music collection is outdated. Listening to the same music over and over again is boring, but I don’t intend to waste my time searching for and downloading new music that I may or may not like.
However! There is a source of music that I always like, that is almost always fresh and, on top of that, is absolutely free: ah.fm!
There’s only a small problem: it’s an Internet radio station, so it requires an Internet connection. My more or less brilliant idea is to have a computer rip the stream to a file overnight, then copy the file over to my Walkman in the morning. Simple, right?
First step: I obviously need a computer to download the stream. Preferably something small, unintrusive, silent and with low power consumption. My Eee PC is an obvious choice. The problem is that its original charger is dead, so I have to use a universal charger for it. Long story short, it sometimes spontaneously dies with that charger when doing resource-intensive stuff like installing an OS. Fortunately for me it still has Joli OS installed, which is practically Ubuntu but dumbed down and lacking crucial functionality. Well, I guess it’s nothing that can’t be fixed by a couple of apt-get commands.
Second step: strip what you don’t need. I don’t need a full graphical Chromium-powered desktop, so I’ll just
sudo apt-get install wicd-curses && sudo apt-get autoremove jolicloud-desktop. Why install wicd first, you ask? Well, because the second command will wipe out NetworkManager, and you sure as hell do not want to be left without an Internet connection.
Third step: configuration. This laptop will be downloading the stream using streamripper running inside a screen session, and I’ll access it via SSH. For the sake of convenience, I created an alias to run
screen -R instead of the normal screen command (read: reattach to the existing session when you run screen, instead of creating another one) and a couple of custom one-line scripts to make it easier to run streamripper. I also partially used K.Mandla’s screen configuration, so I don’t get confused about whether I’m in screen or not and turn this into Inception.
Fourth step: actually ripping the stream. Here’s the command I use to start ripping from ah.fm, in a nutshell:
streamripper http://hu2.ah.fm:9000 -a -A -s -M 1200 --xs-none
That tells streamripper to start ripping from the specified 192k Shoutcast stream, storing the ripped contents in a single file (-a) without creating directories or trying to split everything into separate tracks or doing other crazy stuff like that (-A -s –xs-none) until it rips 1200 MB worth of music (-M 1200). Simple, right? If you’re wondering how I got that stream URL, I just loaded the 192k playlist into VLC and clicked on some sort of “properties” menu item.
Edit: you may want to skip the -a, -A and -s options. Having the whole thing in one file is going to be problematic if you accidentally skip to the beginning/end of the file. I learned that the hard way.
Fifth step: give yourself a cookie, and leave it overnight to rip. I also have to hope that the laptop doesn’t die, that the router doesn’t crash, that the power company doesn’t decide to shut down the grid at night and that the downloaded stream will play on my Walkman. (It has the .mp3 extension, so it’s probably an MP3 file. Right?)
P.S.: wondering how many hours of music will fit in 1200 MB? I asked WA about it and it said that I can download about 14 hours of music with that available space. Now that should be enough for me, right?
So I’m now running a console-only Debian system on the Eee PC 701. I’m using wicd to connect to the local WLAN network (and wicd-curses as a front-end) and elinks for web browsing. Also, screen.
The problem I’m having now is that I somehow managed to break the framebuffer, and it now displays at 640×480 instead of 800×480. It’s theoretically fixable by adding a vga= kernel option, but GRUB2 absolutely sucks and I can’t find any place in which I can add that option.
Come on, I thought one of Linux’s strengths was that it’s easy to customise. Why make GRUB configuration freaking impossible? Why complicate X configuration? Why give up on inittab, Ubuntu? Why can’t GNOME be customised without digging through
the registry GConf? If I wanted unnecessary complexity I would have used Windows.
Of course, I might just be ignorant. I’d be happy to be proven that X isn’t hard to configure. That GRUB2 isn’t hard to configure. That Ubuntu can still use inittab. That GNOME can be customised as much as KDE can be.
But I doubt that’ll happen, and that’s really sad. The Windows way != the right way.
You might have heard about Puppy Linux, a really nice lightweight Linux distro for older PCs and netbooks. A couple of days ago I decided to leave the ProBook for a while, take the Eee PC (a 701) out of the closet and install the latest version of Puppeee on it.
Installing didn’t exactly go as planned (because of a leftover install of GRUB), but I managed to get a fully working system after two tries. The default browser is Chrome 5: old version, AdBlock is incompatible with it and it doesn’t even display pages properly on the Eee’s small screen, so I installed Seamonkey, NetSurf and trusty old links. I’m posting from Seamonkey right now, but I think I’ll switch to a blogging tool like Charm because WordPress’ web interface looks like it’s designed for 1920×1080 screens, not 800×480 ones. The fonts have to be reduced to something unreadable to be able to properly write a post.
All in all, I recommend Puppeee for netbooks and regular Puppy for everyone who has a relatively old PC that Ubuntu can’t properly run on. My only complaint about Puppy (actually, about most distros nowadays) is that it’s getting more and more bloated with every new version: the last one that would properly boot, run and be usable on my Gericom laptop (a 2000-ish Celeron) was 4.1.2. Also, I really hated the Pwidgets thing in 4.2.