Thursday, July 29, 2010

Winner of the WTF/loc award

To gauge the quality of code, we've all seen the metric called WTF/minute.

I'm inventing a new metric, called the WTF/loc, based on this very short snippet of code.
use strict;
my $cmd = "perl " . shift;

my $h = <STDIN>;
while ($_ = <STDIN>) {
        open (S, "| $cmd");
        print S $h;
        print S;
        for (2..1000) {
                last unless $_ = <>;
                print S;

A few comments to explain what's going on would have made this snippet of code much more maintainable.

Tuesday, July 20, 2010

Making servers go faster

In computers 101 they teach you that computers can often go faster with more RAM to avoid paging, and to cache files from snail-paced hard drives. gets most of its servers from generous donations by companies like Intel and IBM, but often*  the servers lack a bit in the RAM department. When Google made a donation of actual money, we knew exactly where to spend it.

By putting tons of RAM in our front-end Web, CVS, SVN and Git servers, your requests have a good chance of being fulfilled without going to backend servers or, much worse, disk storage.

Here are some of the comments I've seen so far, and we're not even done with the upgrades yet -- we still have to upgrade the Git servers, and for CVS and SVN.

epp-dev: "I've never seen an EPP build finishing so fast. This time it took only 3.5 hours. Compared to 7 to 8 hours that's quite fast. It looks like there is no I/O on that causes CPU wait cycles."

Eclipse/Helios Retrospective: "Bugzilla performance is much better"

Webmaster Inbox: "CVS is very fast today"

Many thanks to Google, IBM and Intel for the recent donations, and to AMD, Cisco, HP and IBM for donations made in the past.

* Not always.  The latest servers donated by IBM came packed with 36G of RAM!

Friday, July 09, 2010

What's new at Babel?

The Babel project (crowd-sourced localization/translation) has been a bit quiet lately.  Although there's not much happening on the development front, the translations keep coming in.  Eclipse 3.6 (the base platform for Helios) is over 85% translated for 7 languages (Simplified Chinese, French, Japanese, German, Korean, Traditional Chinese and Spanish).  We have over 72% translation for fifteen other languages, including Arabic, Greek, Polish, Dutch, Italian and Portuguese.

We will be releasing a Helios language pack soon.  If you just can't wait, you can get one of our Nightly builds.