Month: November 2005
Since I had some time during lunch, I discovered the LaTeX Beamer class. I’ve put what I did here.
What is Grid Computing?
I’ve recently discovered that a grid computing service was available at the University of Liege (where I am working), inside the Alma-Grid structure. The “Alma-grid” name is quite confusing since, if I understand correctly, they offer lab solutions for genomics, proteomics, etc., and bioinformatics is only a part of it.
A Grid is a network of many computers sharing their unused ressources (CPU and/or disk storage) to solve large-scale computation problems. We can see that like a distributed computational and/or storage system. Well-known “grid computing” projects are, a.o., SETI@Home or Folding@Home. The main advantage of a grid is that you reach the power of mainframe computers in terms of CPU power and/or storage, without the cost of buying one since a grid usually uses common desktop computers distributed around the world.
Although I am sure biology will need more and more computing power, I was recently able to “feel” it … I compared proteins expressed in two conditions. For that purpose, we are using 2D-DiGE, a powerful technique enhancing classical 2D gel electrophoresis. For the result analysis, we are using a specific image comparison software that requires a lot of CPU. Sometimes, I must wait a few minutes before seeing the results of a filter or a computation; and we are using an Intel P4 with 1Gb of RAM! Later on, we had to find what proteins we’ve found (sequencing step). Only for this simple experiment (we had about 90 proteins to sequence), we generated at least 100Mb of data. Finally, the more time-consuming step was the data analysis since we only have spreadsheet software for that purpose. I impatiently wait for the day when bio-companies will provide adequate software for data analysis. Oh yes, I have one more requirement: it must be relatively cheap (the image comparison software for 2D-DiGE analysis costs more that 50 000 euros!). The dream would be to have free software (with “free” like in “free speech”). So, I hope you can imagine the power and ressources needed for big projects like sequencing all the human genes…
N.B. At least one other grid project exists in Belgium: begrid. The CERN has interesting and easy-to-understand animations on grid computing (Flash plug-in required).
Some links, after the week-end
- The Linux Distribution Chooser: after a kind of survey, they give you a Linux distribution that can suit you. In my case, they were right since they gave me the advice to use the Fedora Core (that I am currently using).
- Booh, a static Web-Album generator (a French news from the author)
- CImg, a C++ template image processing library
- Do-it-yourself LED lightning for the house
- The Warning label generator 🙂
During this week-end, I’ve met a lot of people but I didn’t worked a lot (and my boss is asking for some results asap …).
Can you trust entertainment and computer-security companies?
In an interesting article on Wired, Bruce Schneier is showing the collusion between computer-security companies and an entertainment corporation.
Sony BMG Music Entertainment distributed a copy-protection scheme with music CDs that secretly installed a rootkit on your computers. A rootkit is a software usually used by an intruder after gaining access to your computer and in order to steal information, track your habits, collect your preferences without your knowledge nor your consent. Moreover, you can’t remove it since it will damage your operating system (the main software of your computer).
Since I like freedom of speech and free software, I doesn’t understand the need to control what the consumer is doing with your product. In my opinion, a “copy-protection scheme” (aka. DRM) is only there to improve the company profits, not the consumer experience with the media. And, here, this scheme gives the consumer a very bad experience: with Sony rootkit, your computer is not only giving your secrets to a third party but crackers can also access it (and all the information you stored inside) without your consent.
But Bruce Schneier is also pointing the fact that big “computer-security” companies like Symantec and McAfee did not react quickly to this threat to your safety. The news revealing the existence of Sony rootkit broke on October 31st. And, on November 15th, they only published tools to remove the software that hides Sony rootkit: the rootkit is still there, in half a million computers! The fallacious excuse is that removing the rootkit may harm the computer. Are they “computer(-security) specialists”? People are paying them for the protection of their computer. They are protecting your computer from virii, worms and malware written by “criminal organizations” but not by a multinational corporation?
This makes me laugh … It is as if you hire a bodyguard that will protect you from any John Doe attempting to steal your money but will allow big corporation guys to steal your identity and social security cards, your agenda, your documents, etc. Will you continue to trust your bodyguard? Will you continue to pay the annual fee for “protection”? I don’t think so.
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 😉
if x==456 then //checks for conditional x and executes code if x is true
In What Workplace Coding Practices Do You Use? (Slashdot), there are some interesting notes about coding practices. The main one is, of course, the use of comments (and good ones: synchronised with code update, not too short, not too long, not explaining obvious lines like (if x == 456) except if it has a very special meaning, it may be interesting to write comments first in order to have clear ideas of what we want from the code, etc.).
A good comment is not describing what is done (since everybody can see that from the code itself), a good comment describes why something is done, or what the overall objective of the statement is.
The best advice I ever got was to write “why”, not “what” a piece of code does. Any Computer Science peon knows that “counter++” increments counter. What they might not know is why.
Other recommendations include good variable and function names, try not to make any absurdly complicated statements, code review by another person, use of unit testing, etc. Finally, I will add two nice links: one /. comment listing 15 things to do (and not to do) and joelonsoftware.
Computer science is there at least since the years 1960 and, since then, people were not able to agree on final standards. Maybe it’s because computer science is not the one it used to be 40 years ago: we have more programming languages, more operating systems, more development environments, etc.
Some news from the free VoIP world
Here are some evening news … While surfing on Slashdot and LinuxFr, I read two articles on yakforfree and openwengo. Yakforfree claims to bring the revolution to your voice communications by adding video. Of course, their main competitor – Skype – doesn’t offer it yet. But video conferencing software are already available since quite some time, and some of them are even free (as in free speech): gnomemeeting, e.g. OpenWengo is open source (GPL), backed by a French telecom company and offer voice, video and chat communications between PCs (MS-Windows and GNU/Linux). It is said to work on the open SIP protocol (I am wondering if one can contact a Wengo user with another Sip-based software). And, for the moment, they offer a 3 euros communication credit for every inscription (I suppose it’s for calling regular phone lines). Hmmm … seems interesting. If I have time, I’ll try it.
While looking at more information, I found this nice small application, Speak-Freely, that allows direct voice communication (IP-to-IP) between 2 PCs (MS-Windows and GNU/Linux). What’s nice about this application is that it seems to work even on slow internet connections (via modem, typically). Seems interesting too …
The importance of labels (on icons)
While looking at the User Interface guidelines from various well-known companies, I found this text stating The Importance Of Labels. In his blog, Jensen Harris (apparently working on Outlook at Microsoft) write about his experience with icons: icons only are not used by non-expert people although icons with label are extensively used. When reading the comments at the end, I saw an interesting thread … If we accept that people will preferably use labelled icons, why not try text-only buttons (instead of icons)? I probably won’t work since, when using the two (icon + label), you are simply making an association between the meaning that you can read in text and the symbol. Later on, you’ll simply look for the symbol, knowing that it has a certain meaning in a certain situation.
This text was linked from GUUUI, the interaction designer’s coffee break.
Now, some grumpy people will tell me they only use text-based applications 😉
I am back to my blog. Since I am interested in many things, I would like to share them with you: neuroscience (mainly memory stuff), Open Access to scientific litterature, Open Source software and computer science. I see this blog like an on-line notepad, for small notes, thoughts, etc. And I am sometimes too lazy to publish them on my own website.