I often wrote about Pubmed here. Briefly, it’s a search engine for publications in the biomedical domain. They recently redesigned their user interface and, although there are a lot of new things to save time that came with the new design, there is still a problem with their interface: the new search box takes too much space …
Redesigned Pubmed homepage (bigger image)
Redesigned Pubmed result page: search box is hiding the logo, the display settings and the first result (bigger image)
To be fair, I must say these screenshots were taken with Firefox 3.5.3 on Fedora Linux but I didn’t see this problem with other operating systems nor other browser (not even Firefox on MS-Windows). Seems they tested their design with everything except Linux 😦 (A search with Pubmed redesigned doesn’t work with text-only browsers although the previous one perfectly worked)
I really like gthumb to have a look at my photos, quickly perform some basic modifications or effects and display all the photos to people around me. But there is one thing that is annoying me: it seems impossible for my gthumb version (2.10.11) to upload to Flickr, where I put some of my pictures. There is an “issue 73” in the GNOME’s GHOP Contest page from 2007 and the development seems to be done ; it’s just not yet in the main branch.
Now enters Ross Burton’s postr, a Flickr uploading tool for the GNOME desktop. It’s simple. It has all the functionalities you need when posting pictures: title, description, tag, sets, groups (and privacy) fields and settings. Voilà! And if you need more advanced features (like geotagging – which isn’t anyway in the Flash-based Flickr upload tool), the Organise tool from Flickr is still there.
Don’t be afraid by the fact it’s still in version 0.12.3 nor by the fact it wasn’t updated since December 2008: it’s fully working, already in your favourite Linux distribution (at least in Fedora), I adopt it 🙂
postr screenshot. The picture that will be uploaded is here.
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).
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 ;-))