One Aging Geek

Friday, March 25, 2005

BashPodder: Minimalist Podcatcher

I've been "catching" podcasts using various RSS reader that process enclosures for some time now. One of the limitations of my MP3 player is that it forgets it was in a playlist if you shut it down. So the most convenient way to organize 'casts is in directories that are sequential based on date. Such as "2005-03-20" as the directory name for things from March 20, 2005.

But all the Windows podcatchers seem to want to place files into directories by feed and build a playlist.

Enter BashPodder.

BashPodder actually helps me in three ways.

  1. It created directories by date
  2. it's 100% Open Source, all 44 lines of bash shell script (more on that further down
  3. It runs on Linux

I'm more or less an operating-system-agnostic kinda guy. My own computer (mostly used by Mrs. Aging) is Windows XP. I have a company-owned computer at home that's running Linux that mostly acts as a server. I spend most of my hours at a company-owned laptop running Windows 2000. At the office I've got another Windows 2000 system and another Linux system. And various virtual systems running under both VMWare and MS Virtual PC. Um... but I digress.

Rumors at work are that there's a big layoff coming. And because the company is so brain-dead there's no guarantee that anyone is safe. They've been known to lay off brilliant people who have had consistent top performance marks just because the project they were on at the time of the layoff was determined to be "not strategic". This is life working for someone else. But I digress again.

Point is, as part of preparing myself for possibly becoming suddenly unemployed, I'm moving all my personal and semi-personal stuff to a computer at home. If I happen to be among those escorted out the door, the laptop wouldn't go with me. But the computer at home has hard drives that I own. So I could yank them out before returning it and still have all "my stuff". But I digress again.

All that is as prelude to say that I was looking around for a new podcatcher. And I wanted something that ran on Linux. And I was getting really tired of closed-source programs with way too many bells and whistles. And I was getting really tired of podcatchers that puke when the feed has a tiny XML error. [I'm not naming names 'cause I assume the programs in question will get better.]

BashPodder, the "main" version is about as minimalist as you can get. Read a flat text file list of feeds. Use wget to fetch each one. Use sed to find all "url=..." strings. Use wget to fetch each of the urls. Log fetched things so as not to fetch them again. I'm actually using a slightly more complicated version written by Huw Lynes 'cause it does bittorrents (one of the feeds I follow is only available as bittorrent). And I've modified that one to do more verification and to use the wget option to throttle the thruput so it doesn't use all my bandwidth.

Anyway. BashPodder. Highly recommended for Unix geeks. In the Unix tradition, no eye-candy and leaves extra features to some other tool.