Thursday, March 29, 2007

Meet the Polgárs

Some people are born geniuses. Or so we would like to believe. Not just in terms of intellect, but in every field of human endeavor, we find a few extraordinarily talented people who seem to have been born with that special gift.

László Polgár would not agree. He knows that experts are made more than born. László, a chess teacher, home schooled his three daughters - Zsuzsa, Zsófia, and Judit. Zsófia went on to be an international master. Zsuzsa and Judit went on to become grandmasters.

What we learn form the Polgár experiment and numerous other studies is that motivation plays a key role in learning. And the key to motivation is what is called ‘Effortful Study’, a process of continually tackling challenges that lie just beyond ones competence. This, it turns out, is the secret to genius.

Friday, March 09, 2007

Stray city

Not long after my first post on Bangalore’s stray dogs, an eight year old was mauled to death by a pack of stray dogs. Last week another child, a four year old, was killed while playing outside his house in a neighborhood not far my office in CV Raman Nagar. One would imagine that two such incidents in as many months would cause a rethink among the so called animal rights groups in the city. But that was not to be.

Instead they stick to their position that neutering is the only humane solution ignoring all evidence to the contrary. In spite of years of animal birth control efforts by government funded NGOs, Bangalore today has a street dog population of 76,000. And then they go on to put the blame on inefficient garbage disposal and ‘illegal’ meat shops. While proper garbage disposal is in itself a pressing concern, it’s definitely not the right solution to this problem. Deprived of the garbage which is their main source of food, the hungry dogs would resort to attacking people before finally starving to death. As for the reference to illegal mutton shops, the intention is clear to anyone who would bother to think for a moment.

It is fair to say that the methods earlier used to put strays to sleep where indeed cruel, but a stubborn instance on keeping the dogs on the streets makes no sense. The only solution is to put all the stray dogs to sleep in a manner that will not cause then undue suffering. One can only hope that another child does not have to die before the government decides to amend those provisions of the Prevention of Cruelty to Animals Act which prevent the culling of stray animals.

Friday, February 23, 2007

Salamander legs, mouse ears and pig powder.

Almost a decade ago, Ellen Heber-Katz observed something strange while performing experiments on a strain of mice known as MRL. She was studying autoimmune diseases and her team had punched holes into the subject’s ears for identification. Three weeks later, the holes were gone. Further studies revealed that these mice could also heal damage to their hearts. The secret lay in its ability to form something called a blastema. Regular mice, and humans, would just form a scar instead. A blastema is a mass of undifferentiated cells. It is what enables lower vertebrates, salamanders for example, to regrow lost limbs.

While we are still a long way off from regrowing whole limbs in people, a company called ACell Inc. founded by a former Harvard surgeon Dr. Alan Spievack, has developed an extract of pig bladder for promoting tissue regeneration. The pig powder is currently used to promote healing in certain medical procedures and it is considered to be capable of regrowing a severed fingertip.


PS: And Electricity...
While the effects of electricity on development have been known for over a century, it is only now that scientists are beginning to understand the mechanisms involved at the cellular level. A recent study has revealed the electrical mechanism which allows tadpoles to regrow a severed tail. Researchers believe that gene therapy could one day enable humans to heal injuries by exploiting the same mechanism.

Wednesday, February 21, 2007

Rakshikku!

I sometimes find the ads on TV more entertaining than the actual programs. This is especially true on days when I’m not the ‘Lord of the Remote’ in the house. In a way, it’s interesting to dissect a spot and see what it is actually trying to say, to whom and how.

Indian ads, like Indian cinema and television, rely on dialog, punch lines and personal charisma to reach out to the viewer. So it’s not hard to imagine what would happen when Hindi ads are dubbed into Malayalam and other south Indian languages. Taken out of their original cultural context, the dialogues seem artificial and punch lines don’t make any sense. The south Indian viewer may not give a damn about your hot new Bollywood star. Add to this fake accents and translations with little regard for style or usage.

A recent spot translated “Tax Bachao” to “Tax Rakshikku” in Malayalam. That’s not bad translation. It’s criminal negligence! I can’t imagine how anybody with even a basic knowledge of Malayalam vocabulary can make such a blunder. Off the shelf translation software would have done a better job.

Whether the ad agencies and advertisers realize it or not, poorly dubbed ads manage to say only one thing, “We don’t care about you”. And viewers hear it loud and clear.

Wednesday, February 07, 2007

A transparent wrapper for my code jam sandwich.

Every year Google conducts a programming competition called Google CodeJam. Last year I registered for it. The competition was hosted by a site called TopCoder. Since then, TopCoder keeps sending me a mail once in a while announcing a new competition. So recently I visited their site to get myself unsubscribed from their mailing list. That’s when I stumbled upon a really neat article titled “Five Things You Didn't Know About C++”. It’s actually a list on ten, not five, interesting facts about C/C++. ‘Macro recursion’ as they called it was one of them, although it’s actually more to do with the C preprocessor than the language itself.

Any C programmer worth his salt knows that it is not possible to recursively call a macro. But have you ever wondered what would happen if did? What would happen if you use the name of a macro in the definition of that macro? No, it will not give you a preprocessor error. It will just be left as it is. The preprocessor will do only one round of expansion. You might then go on to get a compiler error because of an undefined symbol in the code. But what if it is not an undefined symbol? What if the macro has the same name as a valid function? Yes, it will compile successfully and the function will be called when the code is run.

This opens up an interesting possibility. You could use this technique to create a ‘transparent wrapper’. Suppose you are hitting a panic in your code. You suspect that you're inadvertently passing a zero as size to a malloc somewhere and causing a buffer overflow when you attempt to write to it. An easy way to catch this bug would be to #define malloc(x) (assert(x > 0); malloc(x);). The assert() will report the file and line number of your bug. So much for a bug’s life.

Thursday, February 01, 2007

Extra mileage – Stretching the truth.

I don’t have a car. Don’t plan on buying one for as long as I’m in Bangalore. So I wouldn’t know much about what kind of petrol people out here buy. But going by the number of ads on TV, surely someone must be buying all that premium petrol thinking that it’s going to improve mileage. Not that the average Indian motorist gives a damn about energy conservation. The decision to use extra mileage petrol must be driven by monetary considerations. The logic being that the savings from extra mileage should more than compensate for the premium price. Unfortunately for us ordinary folks, things of a scientific nature are seldom so straight forward. The expert opinion on the topic is that unless your engine is designed to benefit from premium petrol, you won’t gain much in either mileage or speed, mileage and speed being the main reasons for using premium petrol. So if you do own a car, think twice before paying a premium for premium petrol.

Thursday, January 18, 2007

Small Wonder

Living away from home has its disadvantages. Not least among them is having to do one's own laundry. And if one happens to be a poor software engineer in Bangalore, a washing machine is most definitely out of the question. (As if not having mom around wasn’t bad enough!) But like most unpleasant things in life, this too can be a learning experience.

For example, I learnt that a 500g packet of a popular detergent powder costs more than ten 50g sachets of the same product. But how can it be? Shouldn’t larger packs be more economical than smaller ones? Or at the least, shouldn’t smaller packs refrain from being more economical than larger ones? Else, why would anyone ever buy the larger pack?

May be this was just an exception. It could be a conscious attempt to encourage consumers to try out the product. Or perhaps, the marketing types had formulated this sinister plan as part of a larger conspiracy against the unsuspecting consumer. Yeah, a conspiracy sounds just like the thing an FMCG giant would be involved in. (Wicked grin).

Over time, I realized that my detergent sachet was not an isolated freak of marketing. Many such pricing deviations are hiding in supermarket shelves and neighborhood stores everywhere. I recently came across this popular brand of tea powder. A 500g pack costs 17% more per gram than a 100g pack. But I'm still curious to know the cause this phenomenon. And that’s one more reason to want to go to B-school. Meanwhile though, I’m happy eating the Appam instead of counting the Kuzhi. Appam and tea.