iPodders and Unique URLs

A while back, I created a few proof of concept test feeds to use the iPodder class of scripts to get complete programs from WREK’s weekly MP3 archive. One of the issues here that I ran into from the script development end is that because of the way that rolling archive works, the URL that is downloaded is exactly the same every week. Each week, that file is overwritten with new stuff, but the URL is constant. In my script, I built in the capacity to have the cache based on the date, so that the same URL could come down more than once, if the date was newer. I notice that in most of the new scripts, this capacity is missing. I could lobby the developers to build that in, but as far as I know WREK is the only existing system for which this matters anyway.

I decided to skin this cat on the server side. I wrote a simple redirector script that will take in an URL with some date parameters and redirect it to the corresponding file in the WREK archives. This way, the URL will be unique every week as the data parameters change. This should trick all the scripts into getting the file anew. It’s not really a trick, they are based on uniqueness of URLs and the URLs really are unique. That the underlying file will be the same every week is irrelevant. I’m hoping that this works, my first test looked promising. The trick will be if Monday morning I wake up to have new WREK programs in my iTunes.

6 Replies to “iPodders and Unique URLs”

  1. Sounds like the same issue we had 5 years ago before weblogs had what became to be known as “permalinks”

    Shoudn’t a distinct resource have it’s own permanent url immediately?

  2. Pete, there are permanent URLs, but to short-lived content. On the archive server, file Mon0000.mp3 is always the most recent 30 minutes of air signal from Monday midnight to 12:30 AM. That URL never changes, but each week that file is overwritten and contains a new week’s program. I don’t agree that each distinct weeks programming needs a distinct URL. It’s been running this way for 5 or 6 years and it has worked well. On their archive page, it is broken down to alllow you to link to certain programs. This is static HTML. If those links weren’t always the same, you’d need a process rewriting that every 30 minutes and staying in exact sync with the archive or else there would be broken links


    For the whole world, the current scheme works very well. It’s only *Podders with their caching schemes that say “I saw URL X at this time and thus don’t need to get it again” that have any problems with it. My redirector is now set to eliminate that problem. These means all *Podders don’t have to change for this unique circumstance to work.

  3. FYI, there was no Hour of Slack this evening. No idea why. There WAS a Bob’s Slacktime Funhouse, which is strange because usually it’s the same crew doing both shows. Anyway, it seems to be a Cramps tribute hour, and that’s always worth listening too …

  4. iPodderX brought me the files, and iTunes this morning had Sun0000 1, Sun0030 1, Sun0100 1, Sun0130 1 and Sun0200 1. To complement last week’s Sun0000 etc. Excellent, but now I’m getting worried generally about podcasts filling my hard drive without my control!

  5. Dave, I still see it as the same problem we had with weblogs long ago. People would write something, and you’d link to it on their index.html page, and in a week it would be gone. Why not give each item it’s own unique url permanently and immediately, as well as make it available at the default url?

  6. Pete, the underlying resource is something I don’t have access to for one, and for the other what you are saying isn’t feasible for them. They keep a rolling one week audio archive, but they don’t have the storage nor bandwidth to do this forever. By it’s nature, the link to a specific WREK archive URL will be to the most recently archived half-hour for that time and that’s that. It just doesn’t work the way you are saying. The resource itself is not available permanently, so a permalink isn’t really defined here.

    Oscar, I’m glad it worked for you. I have the same problem!

Comments are closed.