Recent Events for foo.be MainPageDiary (Blog) Previous Next

2007-02-11 RSS Everything

RSS Everything ? or how to improve RSS to follow the UNIX principle ?

RSS is nice and its potential is very big. Ok, that's not a new statement and a bunch of interfaces in the Web2.0 (and the old Internet too ;-) jungle are extensively using RSS. But what's the issue ? The simplicity to generate RSS feed is not really integrated in the operating systems. Last week, I had a very simple question : "How can I generate a static RSS feed from a local directory ?"… I thought there were already a nice free software doing so. not really. There are some interfaces to the Apache HTTP server to make a dynamic RSS feed like Apache::RSS but it's dynamic and rely on the HTTP server. So I made rssdir.py, a very small Python script to generate an rss recursively from any directory on the filesystem. The interface is still very minimal but it works :

rssdir.py --prefix http://www.foo.be/cours/ . >rss.xml

It will generate recursively an RSS feed from the current directory and using the specified prefix for the urls. It's not really rocket science. The script could be improved but I'm still wondering why we don't have a collection of rss tool à la Unix. Maybe it's coming from the use of XML in the RSS format. It's more error prone to have a kind of "cut" or "grep" or "cat" using RSS format. But it should be possible to have something like that :

lsrss /etc/passwd | updaterss --description="passwd last update" >/u/barfoo/web/mysec.xml
lsrss --perm=777 / | mergerss /u/barfoo/web/mysec.xml

The idea is to benefit from the feed reader use. The 'mergerss' is a kind of cat for RSS format file where you are able to merge the items of two (or more) RSS files and create a new RSS file. Like that, any Unix user could be able to create their own feeds from any information available to them under an Unix shell. Of course the mergerss command has to take care of the pubDate value to keep the items ordering. I have to dig into it. Maybe I'll found some blocking situation but that could be useful (at least for me).

Tags: