Building simplicidade.org: notes, projects, and ocasional rants

Notes

last update:

In case you use the script from the last post, be advised that the current master branch of git.git no longer installs all those git-* on your PATH. The current git/bin/ contents are: [email protected]:melo $ ls -l /usr/local/git/bin total 14664 -rwxr-xr-x 89 root wheel 2826820 Jul 4 10:05 git -rwxr-xr-x 1 root wheel 573476 Jul 4 10:05 git-receive-pack -rwxr-xr-x 1 root wheel 2826820 Jul 4 10:05 git-upload-archive -rwxr-xr-x 1 root wheel 994596 Jul 4 10:05 git-upload-pack -rwxr-xr-x 1 root wheel 273636 Jul 4 10:05 gitk I'm using version v1.

x-git-update-to-latest-version

This morning in the git mailing list, I wrote a small shell recipe to update your git to the latest version but keeping the previous ones around, in case something goes wrong. I noticed that what I wrote was a lot better than the hack-and-slash script I was using, so I promoted a cleaned up version of that to my scripts stash. Hence, you can now download x-git-update-to-latest-version and enjoy painless git updates.

Small tweak to my mail setup

I try to keep my inbox empty, but due to a lack of a task manager that I can feel good about, I don't have a place to put pending tasks. So sometimes I leave them on my inbox. Not good. Until I find a good system that I like to use, to keep my tasks and projects, I made a small adjustment to my mail habits. I already have an extensive list of rules to filter mailing lists and other regular emails to proper folders.

Free weather report

There is a storm coming in. Its time you realize that the best way to keep your mail service operational is to outsource the SMTP part. I did it last year, kept the IMAP server, moved the SMTP server of to Postini (before the Google buyout) and I must say I'm very happy.

MySQL advice

When people ask me what MySQL to use, I used to respond "Go to http://dev.mysql.com/ and download the community edition". I recommend it over any version of MySQL that is bundled with your OS. But I also listen to people who know more than me when it comes to MySQL, and one of those just asked (and presented facts) if the those binaries are in fact dead. So right now, my new advice on MySQL choices is this: read the latest MySQL Performance blog article and decide what you want.

Off

Some articles should have comments turned off.

RabbitMQ added support for XMPP

This is interesting news. RabbitMQ, an open source implementation of APMQ in Erlang, now has support for XMPP using Ejabberd and mod_rabbitmq. It seems to be MUC-based, not PubSub. I hope to see a future version with PubSub in the future.

Disabled menu items

A bit because of my last post, I couldn't stop noticing a similar trend in software development. There is a series of posts about disabled menu items. It all started with Joel Spolsky "Don't hide or disable menu items". That had a strong reaction from Daniel Jaikut (my personal favorite take on this) and John Gruber, amongst others. I'm not a GUI application developer, but I must say that it just sounds pretty wrong to go into pop-up-hell to solve the problem.

Make it harder

Right now, in Portugal and in other places like the US, our schools are lowering the bar (making tests easier) to have a higher percentage of students with passing grades. This is wrong because the only thing that its raising is the bar of mediocrity. Tests should be hard not because we like failing grades and angry students but because hard tests force students to evolve their reasoning and deductive skills, memory, and a lot other brain activities.

Alex and Adam asked me to elaborate on the tools I used to implement the Tarpipe XMPP gateway. I used the Net::XMPP2 Perl module, in particular the Net::XMPP2::Component class. It uses the AnyEvent async framework, which in turn support the EV library , giving you all the love of kernel polling. Until the Net::XMPP2 author releases a new version, you should use my own copy if you plan on doing external component work (check the component-reply-with-from branch).