Even a chimp can write code

Wednesday, December 29, 2004

Please support UNICEF

Hundreds of thousands of people survived the tsunamis on Sunday. You can help them survive the aftermath. Here's what your money can buy:

A mere $5 (US) can provide an emergency health kit for one person for three months, with medical supplies and drugs to cover basic health needs.

And $87 can provide a basic family water kit for ten households, with detergent, soap, wash basin, towels, bucket and water purification tablets.

UNICEF, with its well established offices in South Asia, is accepting donations for emergency relief like water purification supplies, food, clothing for children, shelter supplies, and other basics. Aid organizations are in urgent need of cash, not commodities.

Please consider donating.

Update: More ways you can donate [courtesy BBC News].

Email this | Bookmark this

Wednesday, December 22, 2004

Mobile phones 'alter human DNA'

[via The Register] In a four-year study, German researchers exposed human tissue to low-power microwaves, which are emitted by mobile phones, and found that the radiation caused damage to the DNA within the cells, which were kept in a suspension. They also discovered that this effect is increased in areas with a poor signal because the phone uses higher-powered radiation to maintain a connection.

Note to self: That cellphone holster clip may have seemed cool and John Wayne-esque at first, but it may be time to get rid of it.

Email this | Bookmark this

Thursday, December 16, 2004

Why TiVo when you can Freevo?

Build your own PVR is dedicated to building your own Personal Video Recorder (PVR), Digital Video Recorder (DVR), or Home Theater PC (HTPC) from scratch using PC parts and software.

Email this | Bookmark this

The End of Men?

If you thought men were essential for the future of the human species, you have another thing coming. The X and Y chromosomes evolved from a pair of autosomes. The Y chromosome acquired a male-determining locus and genes for spermatogenesis but over millenia, the Y has begun to lose gene function. Some researchers have suggested that the Y chromosome may further degenerate and one day disappear altogether.

Each of our cells contains 23 pairs of chromosomes. Twenty-two of those pairs are matched pairs, shared by men and women. The 23rd is different. In women, this 23rd pair is made up of two X chromosomes; in men, an X and a Y chromosome. Jenny Graves of the Australian National University says the human Y chromosome once boasted 1438 genes although now a mere 41 genes remain. With cell division, mistakes in genes tend to creep in. With redundant genes (as is the case in matching pairs), the correct gene can be obtained from the other chromosome. Well, mistakes have creeped into the Y as well but the lonely bugger can't get a break. Take sea turtles: their males do not have a Y chromosome anymore, rather the temperature of the environment around the eggs determines their sex. Hmm, I say to myself, it is possible. It sure doesn't feel so swell to be a man today.

Thankfully there is another band of researchers that is singing from a different hymn book. They theorize that the Y has found some ingenious ways to correct its decline. Their recent findings from sequencing the human genome are a ray of hope for men. Like prudent techies (and unlike some accounting companies), the human Y chromosome may be creating backups of important genes. The Y chromosome has areas that are duplicated elsewhere on the chromosome as palindromes [Black Sabbath's Live Evil comes to mind] and so it is believed that the Y may be able to recombine with itself to repair critical areas. This suggests that the Y chromosome does have pairs, though only in a subtle way. Woo-hoo! Time to keep that chin up, muchacho.

Won't lovers revolt now?

[Sources: NPR, Univ. of Miami, Xinhua]

Email this | Bookmark this

Monday, December 06, 2004

Covariant return types, we like you but were doing okay without you

Until J2SE 1.4, it was illegal to have two methods in a class with similar signatures, but differing only in return types. Java 5 changes that so something like this is perfectly legal as long as the return type of the overriding method is a sub-class of the overridden method:

class Foo {}
class Bar extends Foo {}

public class Bat {

public Foo getObject() {
return new Foo();


public class Qux extends Bat {

// Bar is a sub-class of Foo, so this is legal
public Bar getObject() {
return new Bar();


So what does that tell us?

With covariant return types, the language spec concedes that creators of classes truly understand the polymorphic relationship of types. It thus takes the burden off the shoulders of API users making their life a tad easier (though not much).

Now, I have ranted before about useless language feature in Java 5 (here and here) and feel this falls right in that category. Surely, no one can claim this is absolutely required (simple workarounds exist). Besides, I have apprehensions about readability issues it introduces.

Email this | Bookmark this