Building notes, projects, and ocasional rants


last update:

AIM/ICQ, and now Yahoo!

There is something in the air, because we now have two big IM providers flirting with XMPP. A couple of weeks back we could login to the AIM/ICQ network using XMPP. The trial seems to be over though. But today, Mickaël Rémond tells us about Yahoo! Live experiments with XMPP. Very cool.


Hotel: check; Plane: check; Baby sitter to cover for me during the weekend: check. Guess I'm ready to go. I'll see you at FOSDEM 2008. You'll probably find me around the Jabber Software Foundation stand.

Sniffing browser history

Came across this article about using JavaScript to sniff your browser history. Very interesting stuff. I wonder how long it will take to see a jQuery plugin for it? (via 43 folders)

Stallman on copyright

Richard Stallman wrote an article entitled "Freedom - or Copyright". Its an interesting read. Two paragraphs stand out to me: When computer networks provide an easy anonymous method for sending someone a small amount of money, without a credit card, it will be easy to set up a much better system to support the arts. When you view a work, there will be a button you can press saying “Click here to send the artist one dollar”.

My next birthday present

Feel free to pitch in so that I can buy my next birthday present. The second picture of the setup is amazing... But yeah, I could settle for something in the range of a 1/50th of the total cost. (via pfig)

The first fix is free

Google launched Google Apps Team Edition. In a nutshell, users of an organization can setup a Team, with all the goodies of Google Apps for Domains, using only a valid email address. no need to bother the IT administrator... Smart, very smart. Get the users addicted, and have them push for the stuff internally, a "upgrade" to the bussiness package (watch the video at the Google Talkabout blog, and pay close attention to the last 30", starting at 1:54").


André Cruz asked me why wasn't his ~/.bash_completion.d/ being used by default. Well, its a feature of the bash_completion system that you must activate by hand. In my ~/.bashrc I have the following code: bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.} if [ "$PS1" ] && [ $bmajor -eq 2 ] && [ $bminor '>' 04 ] ; then if [ -f ~/bin/bash_completion ] ; then BASH_COMPLETION=~/bin/bash_completion BASH_COMPLETION_DIR=~/.bash_completion.d export BASH_COMPLETION BASH_COMPLETION_DIR . ~/bin/bash_completion fi fi unset bash bmajor bminor The trick is the BASH_COMPLETION_DIR setting before you source the bash_completion script.

git bash completion

If you download the git tarball, you'll find a git-completion.bash script that adds shell completion to your git day-to-day usage. Look for it in the contrib/completion/ directory. (update: if you can't find it there, look for it in the $sharedir/git-completion/ directory. A recent patch by Johannes Schindelin promoted git-completion.bash to the big leagues.) When I started using git, I just sticked the script into my ~/.bash_completion.d/ and bash picked it up after a exec bash -login.

Software Update is dumb

I'm updating two Macs via Software Update in the same network and they share four downloads between them. Why do they need to download the new versions from Apple? I mean, they could just find each other and swap. This isn't rocket science, at least not in a system that has Bonjour built in. And its not as this would be terrible security-wyse: all the updates are signed by Apple and Software Update will refuse to install them if the signature doesn't check.

git gc --auto

For normal usage, git is written to be as fast as possible. That means that certain house-cleaning tasks are not done on every command and from time to time, you have to let the git gremlins cleanup the place. For the last couple of git releases, the most common command to do that is to use git gc --auto. This will check the repository, see if it needs cleaning, and perform the necessary operations.