• Do you run?

    Hmm, running (or jogging if you prefer). It has passed a year - more or less - since I started practicing this sport. I must really like it because I keep running as a hobby after all this time. While running, you can hardly think of anything else than you and the road, so you can easily disconnect from any problems you have. And maybe the best thing about it is that you can practice it anytime, anywhere, with very few equipment. [Continue reading]

  • GNOME 2.8.1 released

    The 2.8.1 version of the GNOME Desktop has been released today. This is the first minor release of the 2.8 branch, providing lots of bug fixes and minor improvements, such as new and updated translations. 2.8.2 will be published next month, if everything goes well. [Continue reading]

  • Portability: unsetenv('FOO') vs. putenv('FOO')

    (This happened last Friday, but I've had not enough time to write about it.) After fixing the Evolution Data Server crashes (let's call it E-D-S for simplicity), I noticed a strange problem caused by it. The GNOME Clock applet showed the right local time before it was clicked, but, after the calendar was shown (by clicking on the text), the time got changed to UTC and there was no way to reverse it (other than killing the applet). [Continue reading]

  • The libexec and libdata directories

    Some time ago, a Linux-guy asked me what the libexec and libdata directories present on a BSD system (placed under /, /usr, or other top-level hierarchies) are, because he had never seen them before in his Linux box. So here is a detailed explanation. [Continue reading]

  • Fixing Evolution Data Server crashes

    Yesterday, I packaged evolution-webcal (which was a trivial task), but, as I expected, it didn't work. In fact, I realised that neither the contacts view nor the calendar view of Evolution 2.0 were working at all. I could see the components, but I couldn't interact with them. So I started to debug the problem. [Continue reading]

  • An example of kqueue

    The documentation of kqueue is quite decent but it lacks some examples. After reading its main manual pages (kqueue(9) and kevent(9)), I wasn't sure about how it worked, so I had to write a test program to verify its behavior. [Continue reading]

  • FAM and kqueue

    The File Alteration Monitor, or FAM for short, is an utility that monitors changes made to files and directories and delivers asynchronous notifications to applications interested in them. GNOME uses it to keep Nautilus windows in sync with the on-disk contents, among other uses. For example, if you have your home folder open, and you do touch ~/foo from a terminal, you can see how the folder immediately updates its status to show the new file. [Continue reading]

  • Trying Bogofilter...

    A few days ago I did some maintenance of the software installed on my small server: among other things, the packages in it were outdated and I wanted to get the Libtool changes in (something that happened in pkgsrc...). So, I seized this oportunity to give Bogofilter a try, because SpamAssassin brought the machine to its knees. [Continue reading]

  • Pipes over SSH

    Today I had to copy a bunch of files and symlinks to a remote machine. My first attempt was to use scr directly: [Continue reading]

  • New versioning scheme for NetBSD

    Although this has not been announced publicly yet, it is not a secret anymore because the version changes are visible. NetBSD has changed its versioning scheme to a less confusing one. [Continue reading]

  • The AM_GCONF_SOURCE_2 macro

    GConf comes with an m4 file to ease its usage from third party configure scripts; it provides a macro, known as AM_GCONF_SOURCE_2, which provides many features (and most importantly, encapsulates all GConf related stuff). Among these, it is used to determine the directory where .schemas files should be installed, a setting that can be fine-tuned by the end user through the --with-gconf-schema-file-dir argument. [Continue reading]