Category: Open Source

OPML output in catrss

A few days ago, I released the first version of catrss, a tool used to concatenate RSS file(s) to standard output. Today, I added OPML output to this tool. Here it is in version 0.2 (.tar.gz file, 16ko).

OPML is a file format first used in a commercial application. Now it’s widely used for the exchange of links between news aggregators. Because of that, I had to implement it in catrss: it’s a potential format for the output of catrss.

But I’m not happy with this format. It’s nice, it does its job, it’s already available, … ok. Other people already complained about this format (see here e.g.). Beside the fact it’s not standardized (it’s difficult to exactly know what software will correctly parse what you put in your outline tags), I dislike the fact that the official specifications include tags that describe what I consider as the look, feel and behaviour of the content (expansionState, vertScrollState and the window*) and not the content itself. Of course, I’ve read that they are optional. Nevertheless, I don’t think it’s a good design decision to handle things like this and mix look/behaviour and content (not in this case).

I’m sorry for people not in computer science but this is — again — another entry about programming and I understand the title and content are a bit strange for them.

Picklist Editor 0.2

I’ve just released the version 0.2 of Picklist Editor. Now you have a table of all the proteins on the right of the gel. If you double-click on a cell, you can edit it (note this is not a recommended behaviour). After revalidating the table, your new spot will be included in the gel (and saved to your picklist if you like it). For me, this version is stable and fully functional 🙂

Picklist Editor 0.2 screenshot

Picklist Editor 0.1

When you work with 2D gel electrophoresis in proteomics, you end dealing with "pick lists". For this purpose, I wrote Picklist Editor, a tool to help visualize and modify this pick list.

Picklist Editor 0.1 screenshot

As usual, software and source code are available here. Feel free to use it and report any bug or your wish list 🙂

(and if you didn’t understand everything above because you are not in the proteomics field, just go to the page too because I also wrote a small introduction)

I should change this blog title to “Version 0.1” since I recently released version 0.1 of many software tools 😉

catrss 0.1

One day, one has to sit at his/her table and try to really understand how to deal with XML. Since I think I can only learn with a project in mind, I took Alexandre Dulaunoy’s mergerss suggestion and tried to develop my own catrss.

As the name implies, catrss is one of the many descendants of the cat command. Catrss is used to concatenate RSS file(s) to standard output. In its most simple form, you simply have to give it some RSS files to parse and it will concatenate them for you ; the command is:

./catrss rssfile1.xml rssfile2.xml ...

If you want to see all the parameters you can set, just type “./catrss –help”. You’ll probably prefer to set your own title, link and description parameters since they are the only mandatory elements. One important point to keep in mind is that, by default, catrss only take the 10 most recent items (blog entries, e.g.) from all the files. You can change this value with the “-n” option.

For the moment, catrss is only available here (.tar.gz file, 16ko). The file contains the catrss program, its source code and two example of RSS files. Code is licensed under the GNU GPL. You need only Python 2.5 in order to run catrss (it’s probably already installed on any GNU/Linux computer).

Currently, it only works with RSS 2.0 files and it’s very picky with dates (for example, it’s not working with this blog RSS stream — what a shame!). But all this could be improved for version 0.2. Suggestions, bug reports and patches are welcome.

Finally, dealing with XML and Python is very easy. ElementTree documentation is quite good. And, except for other Unix-minded tools, there is plenty of other cool stuff one can do with XML: parse answers from the Yahoo API, deal with XML-RPC and other web services, …

Of course, it’s when you are struggling to feed XML into your program that you realize other people already developed what you are just doing: I’ve found at least 5 RSS parsers/generators [1, 2, 3, 4, 5] and 3 tutorials [1, 2, 3]. But I’m proud to say I didn’t used any of these references for catrss.

oncolour – a Flickr add-on for background

After discovering the Flickr API, I started coding oncolour this night and here is the result … oncolour is a PHP script that allows you to display your photos from Flickr on your own website and with a specific background colour. It’s better with an example … This URL "http://www.epot.org/flickr/oncolour.php?id=860125589," will give this result:

oncolour screenshot

Some other solutions have been developed and used (example) but this one is really free:

  • free for use (see here how to use it – even for your photos – and a description of all the options) and
  • free to re-use (see here how to download the script and use it on your own server).

Feel free to use it! 🙂

GeoPolis – watching the watchdogs

Quuxlabs is releasing the alpha version of GeoPolis, a web service to gather and show the ongoing police control. More info can be found on the project website and on the Quuxlabs blog. I made some comments regarding the service accuracy, automation, security and independence but I’ll be glad to use the service once I’ll be able to drive again.

Btw, in the same topic — watching the watchdogs, my map of cameras in Liege (see announcement and update) is now located on the CCLV website. The database management is also handed over to them. Moreover Christophe Cattelain is now systematically taking photos of those cameras in Liege and he publishes them on Flickr

Miro …

It’s so boring to lay down the whole day (sprain at left ankle), I decided to give a try to Miro, a software to “watch internet video channels as easy as to watch TV”. Before trying it, I tried to watch their video demonstration but it’s not working since it requires the proprietary Flash player …

Miro video demonstration not working without Flash

Now, if you want to try Miro, do not use “yum install Democracy” on Fedora 7 (Democracy Player is Miro former name). It will give you version 0.9.5.1-10 that will cause many problem (the main one being it won’t run).

If you want to try Miro, go to their download page and download the ad hoc package (i.e. version 0.9.8-1 when I’m writing this). Try to install it by typing “rpm -i Miro…” and resolve the dependencies (I had to download libfame). If, like me, you are already using Firefox 2.0.0.4, it will still require version 2.0.0.3. You can force the installation by typing “rpm -i –nodeps Miro…”. And it still doesn’t work. I get some errors apparently linked with dbus. I posted a comment on the Miro forum. I hope to get an answer soon …

Meanwhile, it’s still boring to lay down the whole day …

Introduction aux Logiciels Libres

Après ma présentation d’hier à la soirée du Liege Linux Team, j’ai placé ma présentation en ligne : “Introduction aux Logiciels Libres” (ou directement : fichier PDF, 1.8Mo). Tout commentaire ou amélioration possible est le(la) bienvenu(e) !

English version Edit (a little bit later): since I usually write in English here, I translated my presentation in English. It’s here: “Introduction to Free Software” (PDF, 1.9Mb).

June 28th: Intro to free software conference

On June 28th evening, the Liege Linux Team is organizing a conference to introduce free software. Three topics are scheduled: an introduction, a presentation of free software related to internet and a presentation of “offline” free software. They already left some time for discussion (between and after the talks). It will take place here (Auditoire Grand Physique, 1st floor), in the city center.

Conference poster
Englarge the imagePoster in PDF

Please note talks will be held in French but feel free to come and talk in English: nearly everyone understand English

Oh and by the way, it will be shown that there are also a lot of free software perfectly working with MS-Windows!

Stupid EULA!

/. has some interesting comments about a story of a man who is suing PC manufacturer Gateway. He alledges Gateway wouldn’t fix a broken machine he bought, replace it nor refund his money. But the most interesting part is that Gateway doesn’t agree to be sued in court because an arbitration clause in their End User License Agreement (EULA) “require a dispute to be settled in private forums chosen by companies instead of in public courtrooms” (the man stated he can’t read the EULA since “the computer’s graphics were so scattered he couldn’t read the box of terms and conditions or click the Accept button”).

art EULA by kampers on Flickr: http://flickr.com/photos/kampers/31301827/

EULA were rarely enforced in court (I’m sure a bunch of them violate consumer protection laws). They are so many of them available, nearly one for each version of proprietary software. People rarely read them ; and people who do are confronted to legalese gibberish (a team of lawyers might not even agree on exactly what it means).

But there is one more thing that differentiate free from proprietary software: this license. Free software doesn’t need EULA. For a free software end-user, there should not be any need to read nor agree to obscure legal requirements stating, basically, that the company has all the rights and you don’t have any. Maybe free software can display a disclaimer, limiting the developers’liability in case of any problem (like all proprietary software EULAs do). What defines free software is the freedom of usage (“the freedom to run the program, for any purpose”) and distribution. A free software license is also there to ensure this freedom remains when you are distributing the software (either in a modified or unmodified form). No permission required. No strings attached.

Illustration from “art EULA” by kampers on Flickr (license CC by-nc-sa)