Building notes, projects, and ocasional rants


last update:

Bounjour, CPAN!

For a Perl programmer, a local (on your laptop) CPAN mirror is a worthy investment. The problem is that a full mirror is 5.8Gb of disk space. Fortunately we have CPAN::Mini that creates a mirror of the most important stuff using only 830Mb. So now you have your local mirror, and after you add the path to your cpan urllist configuration, all your module installations will use this faster mirror.


Something to pay attention to, Reconnoiter. Its still work in progress but in the last status report, Theo Schlossnagle mentions that he is already using this software to monitor about 2.9k services with less than 0.10 load, peek. That's impressive.

A simple file upload?

Yesterday, I tried to upload my usual avatar to my Google Account. If looks like a simple file upload, right? Guess not: WTF? Couldn't they just fallback to a simple file upload? Is this rocket science?

MySQL master/master how-to

New location: the How-to is now live at In the past, I needed to use a MySQL master/master setup for a client. At the time, I got it to work, but forgot to take notes about the process. In the last days, a friend asked my for help to do a setup like that again, to use with a Tigase XMPP server. So I wrote this how-to, complete with configuration files, sample data and schemas, that walks you step-by-step through the process of setting up a pair MySQL servers in a master/master configuration.

Git starters

In the last two or three weeks, I had about five or six people IM'ing me "What's the best way to start with git?". Last time I wrote about this was almost 7 months ago, so I think its time for an update. First, I personally compile git from source. I do not trust package maintainers yet. Some parts of git use ssh (for example), so they mark ssh as a dependency, and this brings their own version of ssh.

The Pre-Air Season

Every year, around this time, we start seeing pre-air or pilot episodes of shows that might or might not be produced for next season. This year is no exception and the first round of shows is out there. I've seen some of them and I organized them into categories. First, I think these are sure winners: True Blood (HBO): by Alan Ball (Six Feet Under fame) - vampires are now in the open, as a regular member of our comunity.

bash completion for chit

cheat is a very nice command line cheat sheet system. chit is a git-powered version, that even supports private cheats or project level cheats distributed using the git system. I've added a bash completion script to chit. It's very simple but it works for me. I've also sent a pull request to robin, so you might see it in the main chit repo in the future. Update: you can find the bash completion script in the master chit repo now.

Progress bars

Yes, progress bars. Those little graphical strips of color or animated graphics that you get to look at while you wait for something to happen in a computer. Apparently the subject is worth a four page paper by four authors. Two sad facts: I actually find the subject mildly interesting (maybe I should ask her on a date);Expect implementations of the Fast Power version in a jQuery/Scriptaculous/insert-fav-JS-UI-lib plugin soon.

How projects use git: Buildr

The best articles about distributed version control systems for me, are not those who explain the internals and the user interface, but how specific projects use those tools to get things done. I've come across posts about several projects and how they use git and mercurial, and I'm going to start publish them here. The first one is a couple of months old but still good: Buildr developers and how they where using a git-svn mirror.

The stars huddled together...

... and decided to align just for me. Last week I had a discussion with a friend. We have a small pet-project growing between us, and I suggested using free accounts at GitHub to collaborate. A couple of days, I got a call asking "But how can I hide the project?". It was mostly a WTF-moment for me. The concept of developing this in a closed environment wouldn't even register with my conscious thought.