Category: Projects

Dissatisfied with blog systems

Personnally, I am not very satisfied with current common blog systems. They are based on a huge collection of PHP scripts and MySQL but web providers couldn’t certify that service will have all the ressources needed. I am looking for something simpler, even if this solution is not (will not become) a major blog system …

Thanks to Google Cache, I was able to retrieve a nice idea Alexandre Dulaunoy had on his previous blog software (unfortunately, this idea was removed, along many others, when he changed for a new version of oddmuse). Here is the quote:

My (we)blog needs to be refreshed but I’m still looking for a simple free software to do the job. I tested various without finding a simple software backend. My requirements :

  • A vty (or at least an XML-RPC interface) interface to update the blog remotely
  • The software backend must be able to produce static pages without too much code or configuration
  • The ability to avoid spam in an efficient way (ok, the requirement moved to static pages, it would permit to avoid the spam problem πŸ˜‰
  • The ability to customize the full look-and-feel of the blog via CSS. This seems pretty simple in theory but in practise, that’s another story.

At the end of the evaluation, I came with two possible software : Emacs Muse or Oddmuse wiki engine. I’m already using Oddmuse for my messy working place. I would be very happy to get any information about possible alternative.

Some comments:

  • With a VTY interface, one can directly connect from anywhere, via telnet or SSH. It is a good idea: the software is then simple, it can be accessed from anywhere (provided you have an access to your server or you have an always-on computer that can upload new posts on the real server).
  • I don’t see exactly what Alexandre wants with his XML-RPC interface since it is only a kind of remote procedure call. If I try to imagine what he meant, the software would then be different and you will need two of them: a client (where you write your new entry, answer to comments, etc.) and a server (that will receive a message containing your entry, parse it and publish it). Of course, you can have the same software package that provides both services: a VTY interface and a XML-RPC interface
  • If you are using VIm, here is another solution to Emacs Muse: vimblog πŸ˜‰

My solution should then be this one … You simply write your entries with your favorite text editor and save it in an ad hoc directory. Every x minute/hour/day, a cron job launch the blog software. This simple software (C/Perl/Ruby/whatever) then parses the ad hoc directory. It finds small texts creation/modification date + time and rename files if needed (YYYYMMDDHHMMSS). There is a very small chance that two posts are posted at the very same second. Then it parses the files there for their content, build basic HTML files, apply a style (skeleton for HTML and CSS for style) and publish the pages to a FTP server. Plus an optional XML-RPC interface if you want.

For comments, a simple solution should be an e-mail address dedicated to the blog software. Comments are just texts sent to a special e-mail address. When the blog software runs, it also checks “its” mailbox, retrieve comments. Then, depending on the configuration, it could just append the comment to its initial post or it can ask the moderator for approval.

So, it’s not a common blog tool, i.e. it’s not web-based at all (although it could be possible to write a web interface if one whishes). It is especially well suited:

  • if you don’t care too much about your blog visual aspect (this point can be changed by adding new CSS);
  • if you have a website without PHP/MySQL and/or your website provider is too slow to process exhaustive, beautiful and huge blog engines
  • if you have access to console on a GNU/Linux computer but you don’t want to host your blog there (too little time for proper real world, secured servers configuration, not much bandwidth quota each months).

Someone to begin to code this with me?

Some thoughts about a family website

I am currently building a family website. Here are some requirements:

  1. services will be based on existing free software (I don’t have time to develop a complete solution)
  2. first service provided: a news service (I don’t know if it will be a forum or a shared blog)
  3. second service provided: a photo gallery
  4. all this should be on a shared host server (so it should work with PHP safe mode enabled ; I don’t have time to maintain a dedicated server)
  5. all this will allow everyone in the family to add elements, it will need very little maintenance and it should also be fast
  6. an e-mail address will be provided to everyone (all serious providers give e-mail addresses)

Although I am running WordPress for this blog, although a friend of mine is running DotClear, I am tempted to try b2evolution (blog), TextPattern (blog and more) or even Vanilla (forum) for the first service (blog). What is interesting is that these tools are localized in French, they allow multiple author to write and, finally, they have an anti-spam service “out-of-the-box”.

For the second service (photo gallery), I am tempted to use either LinPHA, PhpWebGallery or singapore.

I’ll dig a little bit more for more information … I’ll try to finish all this before Monday.

Behavioural scorings reader

In our lab, we are (also) working on rodents behaviour. Some time ago, I wrote a very simple software that logs pre-defined behaviours to a file when the observer detects one of these particular behaviours and clicks on the ad hoc button. I accumulated quite some logs but I wasn’t able to really visualize how the rat performed. So, this evening, I wrote another small software to read those log files and to plot a graph of the rat activity. Here is a screenshot of the software in action:

SBS Reader screenshot

As you can see, it’s based on the same design as the IPGPhor2 reader I previously wrote. The curve in green indicates the behavioural scores -vs- time (here, about 5 hours of observation): the higher the curve is, the more active the rat is. In red, I’ve shown the observer’s interventions: the rat need to perform an action really increases at the end of the observation and the observer has to prevent it from doing this behaviour (it’s our protocol).

In the second figure, below, the rat was allowed to perform any kind of action it wanted to do. As we can see, it was very active in the beginning (and for a short duration during the 2nd hour) but it slowly became less active. During the 3rd and 4th hours, it was completely quiet.

SBS Reader screenshot

Great! Now, I’ll explore what was the behaviour of my rats during the past few weeks … πŸ™‚

P.S.: This project has nothing in common with the activity recorder I presented at the Bioforum 2006 with my brother Laurent. Here, we are scoring behaviours somehow related to activity (but they could have been completely different behaviours, unrelated to activity). I should quickly write my article about the activity recorder and publish it (in an Open Access journal, I hope). Then I’ll be able to tell you exactly how it works (of course: everything will be explained in the paper).

Bioforum 2006, ISAL cultural evening, experiments … A very busy week!

This week was quite busy … In the proteomic lab, I released the first version of IPGPhor2 Reader (see also the previous post). Of course, since we didn’t fail any recent experiment πŸ˜‰ we don’t see the immediate usefullness of this software. The main purpose of this software is that it allows to see where and when an experiment failed, how the current was given during the IEF and when it was not correctly supplied.

On the 17th (Wednesday), we participated to the Bioforum 2006, a “one-day meeting at the University of Liège between Bio-industries and young Life Sciences researchers”. I presented two posters:

  • one with my brother, Laurent (student in engineering), on a new system to monitor rodents activity
  • one with Thibaut Libert, from the Applied Sciences Faculty, on a new telemetric device to record rodent’sleep

Laurent, me and the poster (from right to left)
Laurent, me and the poster (from right to left)

Nandini, my wife, also presented her two posters at Bioforum 2006
Nandini, my wife, also presented her two posters at Bioforum 2006

In the evening of the 17th, we rushed to Leuven in order to participate to the Indian Cultural Evening organised by the ISAL (see this previous post announcing the event). We had the chance to see beautiful performances of dancing, singing, instruments playing artists. I was just in charge of filming the whole event. I am digitalising the film for the moment. I don’t know what the ISAL is planning to do with the DVD. But, anyway, I look forward for the next year cultural evening.

Some preparations before the Indian Cultural Evening, ISAL 2006
Some preparations before the Indian Cultural Evening

During this evening, we met a friend of Nandini’s family, Peter. This man is really fond of India and Indian culture. He can talk for hours and hours about it! During a very late evening meal in a quite good Indian restaurant in Leuven, we learn that he is currently giving classes about India at the KUL (the university in Leuven) and that he is showing one Indian film every week. We also learnt that IMEC will organize a big event about India, next month. Stay tuned to know more about it.

On Thursday, I continued to analyse my 2D gels. We made 15 gels (i.e. 45 gels images with the 2D-DiGE technique) in just one week. Now, it already took me more than one week to analyse these images … It will be a long process and we are not even sure to obtain results in agreement with current theories. On Friday, I transfered some of the last rodents I will use from the hospital animal housing unit to my lab. They are 6-months old and some of them weight around 0.5kg! I also supervised a chemist who create dyes for us. Now I remember why I didn’t chose chemistry: it’s full of strange names, all solutions have the same colour, they often smell very bad and, in my research centre, the chemists’labs are next to the radioactive labs …

No wonder we slept up to 11.00 today!

Release of IPGPhor2Reader

IPGPhor is a device from GE Healthcare (formerly Amersham Biosciences) that performs an isoelectrofocusing of proteins. Version 2 of IPGPhor can be connected to any computer via a serial cable. GE Healthcare provides a monitoring software but no post-hoc analysis software. This gap is efficiently filled by IPGPhor 2 Reader.

Today, I wrote “IPGPhor 2 Reader”. Its goal is to parse log (text) files resulting from an experiment with the IPGPhor and to plot graphs. This software (for MS-Windows, since IPGPhor logs are collected on a MS-Windows computer) is available here.

screenshot IPGPhor2Reader

Beginning with an IR camera

Two weeks ago, I bought a small IR camera on eBay. I received it this morning and I managed to have some time to test it. The camera is quite small (approximatively 15cm long, 10cm in height without the mounting kit) and comes from a Chinese factory (Shenzhen Lianyida Science Co. Ltd ; I have the LYD-806C CCD model). The box is in plastic. It is said to be “weather proof” but, anyway, this one will stay indoor.

photo of the IR camera

For this project (at work), we have an “outstanding” PC with an Intel Pentium II processor and running GNU/Linux RedHat 7. In this computer, we have an ATI Rage 128 with a TV tuner. We connected the IR camera to the computer, opened AVView (from the Gatos project) and we obtained a color image of things in front of the camera. For the screenshots below, I used a software written by my brother; pictures are in black and white because we are not interested in the colours (anyway, with IR LEDs on, images are B/W). With four white neons in a room without windows, we have this result:

B/W view with regular lightning
B/W view of my hand with regular lightning

When I switch off all the lights in the room, the IR LEDs from the camera are automatically switched on. The same objects with only IR LEDs:

B/W view with only IR LEDs
B/W view with only IR LEDs

We are monitoring changes in images. The problem is that all pixels are changing when switching from visible view to IR view. This change is not due to the experiment but is due to the observation system. I have to see how to cope with that in the results …

How to test the speed of an internet connection?

I was experiencing frequent disconnections of my internet link at home. These were very short but long enough to disturb one service I am using. So I decided to check if my internet provider was correct and doing his job correctly.

My first idea was that there must exists free (as in free speech) and simple command-line tools to test the connection speed under GNU/Linux. As I am not a specialist, I tried to find such tools on the internet but didn’t find any (if you have one, please feel free to share it with me). So I decided to write my own set of scripts in Perl.

For the moment, results are somewhat convincing (but the “ping” command does not reflect exactly the connection speed) but they can already be used πŸ™‚

Example of results (image is reduced)

You can find scripts, how to do it and work in progress here.

Trying to use libpng

I am currently (i.e. during the night, my only free time) trying to use the libpng in order to open PNG files and process them later. I haven’t read the entire manual yet but, following their example.c, I succeeded in opening a file, check if it’s really a PNG, read all the data and display some basic information about it (width, height, bit depth, …). Next step: process the data (I will probably only be able to do it during the next week-end).

Looking for a C++ widget toolkit for Linux

I am looking for a widget toolkit (a software bag of things that allow you to create GUI). I have two desideratas: I want to use C++ and I want to use it on GNU/Linux. I’ve found two big lists of widget toolkits: one on Wikipedia and one on atai.org. For the moment, I think of using gtkmm or wxWidgets but I need more information …

Now, some grumpy people will tell me they only use text-based applications πŸ˜‰