November 19, 2012

Hide Amazon's list price to prevent impulsive shopping

Would you prefer

to this?

Note the missing list price and savings. If you want the only factor in your buying decisions to be the actual price of the item, install this stylish extension.


Use in conjunction with an extension like Priceblink to know the true value of an item, by comparing with multiple vendors.

January 14, 2012

Adblock issues in Chrome

Apparently, the following 'Lazy Background Pages' flag in chrome://flags (or about:flags) is incompatible with Adblock Plus. Enabling it results in Chrome not being to fetch any web page whatsoever. This had me scratching my head for a while.

Well, now you know.

January 04, 2012

Using visualization to mislead

Here's a recent advertisement in the Times of India, touting the Times Now television channel's viewership:
The difference between Times Now and CNN IBN is barely four percentage points, and yet, the three dimensional pie exaggerates the difference.  In fact, at this angle, CNN IBN would have lesser projected surface area even if it's share of the viewership was larger than Times Now's.

Here's the full advertisement, which appeared on page 9 of the Mumbai edition of The Times of India on 27th of December. It should be accessible from here, with a few clicks.

September 11, 2011

Authenticating people over telephone

Never seen this being done before.

I contacted a Bank of America representative over the telephone, and they needed to authenticate me before we could get down to business. I was asked my name, and was then asked to confirm a series of questions. I was not asked to state these facts myself - they stated it themselves, and asked me to confirm it.

Silly way to verify a person's identity, one would think. Anyone could pass of as me, if they had my name and my account number - and if they simply confirmed every detail that the CSR gave them. However, the CSR did make one minor mistake while stating the details - my phone number was off by one number, and I corrected them promptly. Looking back, it is quite clear that the mistake was deliberate. In this way, I did not say out any of my personal details out loud (which would have been terrible in public), and I pretty much authenticated myself by correcting one random mistake that they chose to make.

March 20, 2011

A distributed pipeline for processing text

Usually, Hadoop is the way to go.

However, I have joined a project that has been underway for more than a year, and the processes have been written in mostly an ad-hoc way - shell, python, and Java standalone programs. Converting each of these to mappers and reducers would have been an arduous task.

I decided to re-write the pipeline in SCons. There are many things about this pipeline that represent a conventional build. There are dependencies, and usually newer functionality/processing is added to the later stages of the pipeline. Luckily, SCons takes in regular python functions as "Builders", which I hooked into xml-rpc functions, and we soon had SCons running the pipeline on multiple servers (just five, actually - that's all we'd get for our pipeline). The file-system is an NFS share, which simplifies things a great deal.

Python, however, has been a bit on the slower side. Also, invoking the Java VM every time you need to process a file feels like too much of an overhead. So while the pipeline is functional, and processes the corpus much faster than before (5-6 hours vs 20+ earlier), we are considering re-writing the XML-RPC server in Java. The standalone programs can be easily ported to the server implementation, and invoking shell scripts from Java shouldn't be very different from invoking them from python - things should only improve. I wonder, however, if I should have written this in Hadoop to start with.

December 20, 2010

Correlation != Causation

(from PeteSearch)
My dog Thor hates getting wet, but even when there's rain lashing against the windows he still starts off dancing in circles when it's time for his walk. It's only when I pull out his yellow rain jacket that he slumps and stares at me mournfully. He seems convinced that if I just left the jacket off, the rain would go away.

Much as I try and convince him of the error in his logic, he's unmoved, and it's hard to blame him. Humans will happily swallow studies that use the weasel word 'link' to claim something that is associated with an outcome is its cause … I half-expect to get up one morning and discover that Thor's eaten the raincoat, in the hope of bringing back the sun …

December 19, 2010

Random funny

(from ... the carving there is great too!)
Early Friday morning I walked by a garbage can outside one of the Google cafés. A bird which had been feeding on scraps saw me coming, exploded out of the garbage can and flew off. A passing coworker looked at me incredulously and said "Someone threw out a perfectly good bird."

October 11, 2010

The other side

A bit too much of soy sauce, but not too shabby.

This is my first attempt at making noodles, the Indo-Chinese way. I put a bit too much of soy sauce, but otherwise, it was nice. In fact, it was good enough for Hao to prefer it over the cucumbers that he had cooked! I wasn't that great with the chopsticks though, and used them as long as the volume of noodles was large enough for me to aim at.