From the everyday companions below, I must admit that Google and Wikipedia are my essential tools. There is not a single day I don’t visit them.
Google stores my email, calendar, rss feeds, some of my documents, and I’m waiting patiently for my Wave invitation. As for Wikipedia, it is simply the best knowledge database out there. I can’t believe I was an Encarta fan… it was so limited. You can’t imagine how many discussions have been settled over a Wikipedia page.
They are only a couple of year old, but I can’t imagine my life without them.
I also use other services, but all that Web 2.0 concept is not for me. If you need to “connect” with me just use the “good ol’ e-mail”.

(All credits to xkcd)
Being a Linux fan doesn’t mean that all my work gets done in Debian, Ubuntu, Red Hat, Fedora or Suse. Most of the times a simple execution of the Virtual Box is enough to write that document in Word or prepare that presentation in Powerpoint. But some times, work demands a true change of pace and there I go back to Windows (usually the stable XP version, available in any dual boot machine near you…). For example when you need to use Microsoft Visual Studio, DOORS (a requirements management system, for those how never has the pleasure) or even Enterprise Architect, you’ll need the good ol’ Windows operating system.
This is not a complaint about developing software in a Windows environment, but there are somethings you grow accustomed after a while developing in Linux. For me the greatest difference is the shell, or the lack of it in Windows. The shell is my favorite tool to inspect the details of my build artifacts.
I make a few searches on the web but couldn’t find a real replacement for the simple bash shell available at any basic Linux system. There are some possibilities, but none of them are the same as running the “real thing”:
- install Cygwin
you might have this already installed if you need an XServer to run remote DISPLAY applications, although XMing is a better (lighter) choice for that matter
- install andLinux, but I felt the system performance degrading by the minute
- install Portable Ubuntu [1,2] (my favorite choice!)

credit: tanakawho
The other day I exchanged a couple emails with two friends (him and him) about development tools. That made me think about those other development tools that end-up being use once every two or three months:
- valgrind suite is composed of some awesome tool, the ones that I use more are memcheck and callgrind,
- ldd is very useful to understand what library you are missing
- xmllint is perfect to do simple XML validations against XSD or DTD
- tidy is useful to beatify that XML contents that after manual edition tend to get misaligned
- vimdiff created a dual-panel diff (similar to tkdiff) in a vim environment
- cut select a range of characters per line (i.e. a column) for a specified file
Some of these and many more where found on a very interesting site (which I use regularly) called Command-line-fu.
A good book makes an excellent company. The time it takes to go from home to work is usually occupied with some reading, but from time to time I prefer the more passive company of a good interview or technical discussion downloaded from any given podcast.
Until today, no Linux podcast client had all the features that made it perfect for me, but that was just because I was looking in the wrong place. I tried Amarok built-in client, gPodder and a few others but none of then was ever able to truly accomplish the task at hand.
A couple of days ago I found IcePodder (a Linux clone for Juice), a very simple to use podcast client (also available for Windows and Mac, not that I care). With a clean interface, the subscription process is very straight-forward and quick.
Unfortunately, the installation procedure on Ubuntu 8.04 is not the usual ’sudo aptitude install X’, but it still remains to be quite simple:
> sudo apt-get install subversion
> svn co https://icepodder.svn.sourceforge.net/svnroot/icepodder icepodder
> cd icepodder
> sudo ./install.sh
> sudo apt-get install python-wxversion
and that is it. Just run iPodder.
[Updated after some complaints from the readers on not being able to install IcePodder]

This might seem a stupid post… but, due to fact that the CTRL+Enter key sequence works in both Word and Powerpoint to insert a newline in a table cell contain text, and in my mind, it should also work in Excel! This is not the case. When using Excel the CTRL+Enter sequence is interpreted as a simple Enter keystroke.
Why does Excel uses ALT+Enter, instead of the usual keystroke sequence? This fact has always baffled me…
A few days ago I had to scan a paper certificate to send it in a digital form. The paper certificate had 3 pages which I promptly scanned into 3 separate PDFs as the required format was PDF.
Then came the hard part, I could only submit 1 file which meant that had to concatenate all 3 original files. Of course that for this I could use some kind of PDF tool (such as acrobat writer), but as any respected Linux user the way forward was to use “the shell”…
So, the solution was to use Ghostscript. The tool is able to “print” a sequence of files into a unique PDF file. Just use it as follows:
gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite
-sOutputFile=out.pdf in1.pdf in2.pdf in3.pdf [more-input-files]
After using a tool on a daily basis for a while I start to (as most of the people) know very specific details about that tool. But there is always some specific features that simply are not used because they are forgotten …
I always defend that peole should not be forced to know anything by heart, and so, I am a huge fan of having a quick reference card for this or the other tool currently in use. Currently, hanging in the wall being me is the GDB reference card, and soon also the CVS reference card.
I’m also a very strong supporter of the “RTFM” approach… the linux man command is one of my favorite linux command.
I use and suggest to everyone a tool framework called Valgrind. Valgrind’s tool suite include very powerful debugging and profiling tools, essential to the development of any C/C++ project. In sum, I strongly recommend it use!
This post is not about any tip or trick on how to use Valgrind. It’s about a more trivial matter… Is about the name ‘Valgrind’, and it’s origins. During the last week I discussed with a colleague it’s origins. I was arguing that the name Valgring was some kind of short to “value grinder”. I now admit: “I was work!”… but very, very, dead Wrong! My colleague was dead On!
In fact, it took no more than 10 minutes to find the Valgrind FAQ, and another minute to find the answer from the authors themselves:
Where does the name “Valgrind” come from?
From Nordic mythology. Originally (before release) the project was named Heimdall, after the watchman of the Nordic gods. He could “see a hundred miles by day or night, hear the grass growing, see the wool growing on a sheep’s back” (etc). This would have been a great name, but it was already taken by a security package “Heimdal”.
Keeping with the Nordic theme, Valgrind was chosen. Valgrind is the name of the main entrance to Valhalla (the Hall of the Chosen Slain in Asgard). Over this entrance there resides a wolf and over it there is the head of a boar and on it perches a huge eagle, whose eyes can see to the far regions of the nine worlds. Only those judged worthy by the guardians are allowed to pass through Valgrind. All others are refused entrance.
It’s not short for “value grinder”, although that’s not a bad guess.
The last phrase says it all. The authors even read my mind, or someone else has had the same crazy idea before!!
I didn’t forget to download the latest Firefox 3.0. This way I participated in a new World Record, and also got my hands in the best browser available in the world. Here’s the proof…