Tag: software

Digitize you charts with Engauge Digitizer

A few words of appreciation for an open source software that can help you a lot in your work, Engauge Digitizer (ED) from Mark Mitchell. ED is a simple, straightforward curve digitizer: it takes images with graphs like the one below and transform them (with a little help) in data you can use later on.

170804-Engauge-survival0

Continue reading “Digitize you charts with Engauge Digitizer”

Happy to use Zotero since a few weeks

Source Material - by Josh DiMauroFor my work I need to reference a lot of statements, mainly with papers and books in the biological / medical literature. Usually “professionals” use two proprietary software, Reference Manager or EndNote (both owned by Thomson Reuters). But there are a few very interesting free alternatives (see this comparison of reference management software).

I switched from Mendeley to Zotero a few weeks ago and I’m very happy. Here is why … Continue reading “Happy to use Zotero since a few weeks”

References, references, references!

When I studied biology as well as when I did my Ph.D., our professors were always after us because of references. I think with their precious help we learnt the art of referencing: choosing good references, citing them at the appropriate location in a text and, of course, giving enough information at the bottom of the text to allow the reader to find these references.

I just finished reading two articles in a recent edition of The Economist and they reminded me how important are these references. These articles are What would Jesus hack? and Worrying about wireless.

First an aside: it might be an editorial choice but I would prefer to know who wrote an article rather than anonymity. I don’t have (and won’t have) anything personal against any author. I just like to know if I’m reading something written by a young Mr. I-know-everything with no background in the topic of the article or by a Mrs Specialist who appears to work in the field she’s writing about. In this blog, who I am is in the “About” section in the bar above.

In What would Jesus hack? the anonymous author is throwing a mix of everything and anything to make a story. And actually it works: the article has some logic in its sequence of statements. From an external point of view you may even think it’s a nice article. You discover news and organisations that you may have missed: an opinion from Antonio Spadaro in “Hacker ethics and Christian vision” (Google translation of the abstract), the reply from Eric S. Raymond, Elèutheros, … But you will also be staggered at the hotchpotch mixing Open Source, internet, Twitter, … Why not add Facebook then, the archetypal anti-privacy web service?

Richard Stallman changes my lifeThe only point that the article might get right is that some software programmers are somehow seeing themselves and / or seen by others as gods: Richard Stallmann, Linus Torvalds, Bill Gates (god turned philanthropist), Steve Jobs (god turned designer), etc. On top of that, every programmer had her/his Eureka moment when she/he solves a bug after hours trying to fix the code. Otherwise, I agree with what the unnamed author puts in the mouth of Kevin Kelly and that I can summarize by: “with more power comes more responsibilities”.

And, as I pointed out in the beginning, there isn’t any reference at the bottom of the paper version, any link in the digital version. Statements and people in this article could have been 100% fictional, no one would have known that (until you look for them on the web).

I have the same issue with Worrying about wireless: no sources, no references. I don’t forbid the anonymous writer to have an opinion on the topic. Just let the others also make their own opinion by citing the sources you are using. This article is just shaping the opinion of  readers in a hurry by using a partisan language and not citing sources. Even when indirectly citing sources (e.g. the WHO IARC classification), the anonymous coward succeeds in using negative wording to dismiss what doesn’t please his / her theory. I would have liked to have more information about the potential adverse effects of wifi waves in the long run, for instance. But I will unfortunately not believe such one-way gibberish.

Now you’ll tell me I don’t have to read The Economist and you’ll be right 🙂

Illustration credit: Duty calls by xkcd and Richard Stallman by Pladour on Flickr (CC-by-nc)

Revision control software migration question

In software development (as in many other fields, like paper or thesis writing ;-)), you often need a revision control software to effectively manage all the changes made to your source code (or sections and chapters). It’s even more important if you work with other people on the same files, on different versions of the same sources, with people in different locations and with different systems.

The problem I currently try to solve (or, at least, try to bring a solution to) is the following … The system doesn’t initially use any revision control software. People are able to edit any file they want, one at a time (file locking which is very annoying). Basically, there is only one version of a file per project: the current one. If another project tries to merge the same file from another project, someone has to manually review all the lines in order to see what should remain and what should be left. In order to reach a previous version of a file, you have to manually remove lines marked with the patch reference at a specific location on some lines (it does work in some programming languages and not at all in all others). In fact, a rudimentary revision control system exists but it’s completely outside the development environment. When a file is modified, it’s name is entered in a “patch system” with the reason why it was modified (when you are lucky). If you forget to enter its name, the system can’t do anything for you (since it’s not aware of anything).

Now, on top of that independent patch system, people started to use a real (closed source) revision control software (that even appears in a Magic Quadrant from an advisory firm so it must be serious!). But instead of reviewing the way people work, they just added a layer on top … After a programmer did everything for the independent patch system, a new procedure states the same patch reference needs to be added in the revision control software as well as all the files contained (an automated procedure is actually doing that for you, fortunately). In summary, the current system is depicted in the middle of the figure below (along with a basic solution on the left and a classical implementation on the right).

version control comparison

My question is: how to modify the current system which work more or less in order to approach a more classical and more efficient way of working (the one on the right)? (hiring an external consultant is not an option ;-))

A new home for IPGphor2reader

IPGphor2reader is a software meant to parse log (text) files resulting from an experiment with the IPGPhor and to plot graphs. I previously hosted it on my personal website and just moved it to Sourceforge, here. Amongst the various reasons for this move, I wanted the possibility for anyone to participate in the project and no hassle to manage this.

Slowly, slowly, most software on my website will be hosted on Sourceforge or Bioinformatics.net.

P.S. Obviously I chose the time where they are in the middle of a large scale site changes and upgrades so nothing is available for now (except the screenshot).

About file formats accepted by BioMed Central

BioMed Central is one of the main Open Access publishers in the world of Science, Technology and Medicine. On a side note, that’s where I published my two articles (in Proteome Science and the Journal of Circadian Rhythms). One might think that, given their support to Open Access, they would also support Open Source software and Open Format documents.

For the software side, it’s not very clear. Although they ask authors to consider releasing software described in publications under a free (or at least open source) license, they also support and advertise for a bunch of proprietary software. While it’s not a bad thing per se (it enlarges the number of potential authors), it’s sad to see they don’t cite popular free software like OpenOffice.org (to write your article), Gimp (to edit your figures) or Zotero (for reference management). These are the three main software in each category but the free software world has many more of them!

I decided to write this post because I recently received an e-mail from BioMed Central stating that BMC Bioinformatics, one of their flagship publications, accepts a variety of different file formats in the submission process. This was already true when I submitted my articles. I wanted to know how they improved their submission process in this respect and if they now added open document formats (in a broad acceptance, not only the OpenDocument format somehow linked with OpenOffice.org).

E-mail from BMC Bioinformatics with file formats accepted for submission

My first comment is that the list of accepted file formats usually applies to all BioMed Central journals, not just BMC Bioinformatics, since they share the same publication platform. In the Instructions for Authors, the following file formats are accepted: Word, RTF and LaTeX (with the BMC template) for text, EPS, PDF, TIFF as well as PNG, Word (sic), PowerPoint (re-sic), JPEG and BMP for figures. In addition, they list CDX and TGF to represent chemical molecules. How disappointed am I!

I’m disappointed because some interesting open formats have been left out. And I can’t find interesting links stating that BioMed Central will support them soon.

With some stating that OpenOffice secured more than 15% of the business office suite market as of 2004 and despite an ISO standardisation (ISO/IEC 26300:2006), the OpenDocument formats are still absent. Many young scientists now use OpenOffice.org because it’s free (mainly free like in free beer, though), because labs can’t afford MS-Office licenses prices, even educational ones but also because it allow them to do everything they want. I agree that you can easily convert your ODF, ODS or ODP documents into their respective proprietary DOC, XLS and PPT. But it would have been nice to directly have the ODx documents. On the technical side, ODx documents are “just” XML files: tools exist to automatically parse them and transform them in the journal final format (I didn’t write it’s easy but it should be more easy than reverse-engineering closed, proprietary file formats).

I’m also disappointed because although the PowerPoint format if there, SVG is not. I guess it’s just because they only use bitmap versions of the PowerPoint files. All vector graphic editors supporting SVG (and all of them support SVG: Adobe Illustrator, Inkscape, Dia, …) have conversion functions to bitmap equivalent of your drawings. So it may have little impact. But it would have been better if BMC support for SVG was direct.

In conclusion, I’m hoping the extraordinary work done by BioMed Central in the publication area will extend to the formats they accept for submission. A partial example could come from PLoS submission guidelines (here for PLoS Computational Biology, especially for figures) where they explain a lot of technical as well as license aspects and cite free software as reference.

Some useful software for programmers stuck on MS-Windows

Sometimes, even if you mainly develop on Unix/Linux boxes, you are stuck with MS-Windows on your desktop. Moreover, although your are a developer (i.e. someone who is supposed to know how to run a computer), you have no administrator rights so you can’t install the right tools that can improve your productivity and enhance your code stability/security. This is for the sad part.

Fortunately, Free Software are there and most of them can even be run without being installed on your machine, just copy the software and use it! Here is a list of some of the software I’m using. Feel free to promote your favourite application in the comments.

  • CamStudio: record video of bugs for support (free to use)
  • Virtual Desktop Manager: many desktops on MS-Windows (free to use)
  • doxygen: automatically generate documentation from your code (Free Software)
  • Eclipse: integrated development environment with support of many languages (including old COBOL!) and version control systems (Free Software)
  • FileZillaPortable: move file to/from servers (Free Software)
  • Firefox: test web application in a popular browser (Free Software)
  • freemind: mind mapping application (Free Software)
  • GIMPPortable: edit screenshots when you encounter a bug (Free Software)
  • htmlhelp: edit help files for end-users (free to use)
  • InkscapePortable: easily draw any scheme (Free Software)
  • j2sdk1.4: support old Java applications (free to use)
  • jdk1.6: develop and run new Java applications (free to use)
  • LaTeX (MiKTeX): write your dev reports (Free Software)
  • Lynx: surf fast without distraction (Free Software)
  • Netbeans: integrated development environment with support of version control systems (Free Software)
  • PuTTY: connect to servers in SSH (Free Software)
  • PuTTY connection manager: regroup PuTTY windows (Free Software)
  • SumatraPDF: free PDF reader (Free Software)
  • TeXnicCenter: LaTeX editor working with MiKTeX (Free Software)
  • tidy.exe: tidy your HTML code (Free Software)
  • todolist: simple todolist (Free Software)
  • TOra: Oracle database front-end (Free Software)
  • VLCPortable: listen to music and watch all movies (Free Software)
  • wget.exe: easily get files without a browser (Free Software)
  • xmlstarlet: check and process XML files (Free Software)

Pixel lapse under Linux

pixel-lapse under Linux

Finally, I got a working pixel lapse software under Linux 🙂 It’s a bit late (and I have to work tomorrow), code is rather dirty but I’ll publish it as soon as possible (btw that’s why I needed a webcam and a library to read it yesterday). Originally,

"pixel lapse" photography is the process of creating an image one pixel at a time. Beginning in the upper left corner, pixels are captured sequentially at a set rate until the entire image is formed.

Unfortunately, their software only runs on MacOS and Windows and requires Quicktime. Here, I "only" use OpenCV which is free and available under all the OS mentioned in this post. More details soon …

The “full-size” (640×480) image is here on Flickr

Edit on November 5th, 2008: version 0.1 of the software is available here.