The Advisory Boar

By Abhijit Menon-Sen <>

heaping ICMP echo requests on unsuspecting hosts

A small program that can continually ping tens of thousands of hosts.

Read more…

Cricket and inexplicable acceleration

I sometimes enjoy reading about matches in the newspaper or on Cricinfo, but I can stand it only in small doses. I was reminded of a particularly annoying trope in cricket writing today by the first paragraph of Sriram Veera's article on the problem with [M.] Vijay.

M. Vijay can be a good batsman to watch. At times his skill even makes you gasp. There is this shot he plays, when he just pushes at a length delivery, on the up, and the ball speeds past the bowler to the boundary. You think that mid-off, if not the bowler himself, will cut it off for it was just a mere waft. The ball, however, keeps accelerating.

No, it bloody well doesn't keep accelerating.

Unless M. Vijay runs along with the ball and keeps hitting it (is there an ICC regulation against that?), the only force acting upon it once it has left the bat is friction. In the absence of other forces, the ball can only decelerate on its way to the boundary.

No matter how good the batsman, the laws of physics don't change.

Another delayed hearing

I wrote about my Consumer Court hearing on 2011-04-18, at which I filed my response to Exide. The next hearing was on 2011-05-19, but I forgot to mention it here. Exide was supposed to file their evidence, but they did not do so, and thus lost their opportunity to do so. The next hearing was set for today, for "arguments".

I asked a lawyer friend, who said it probably meant oral arguments; so I prepared accordingly. But, after sitting through forty-odd cases, I was asked to submit written arguments. But someone from Exide (the affable but largely clueless chap who has appeared before) was there, trying to file the evidence they failed to at the last hearing. I was asked if I had any objections, and said no. The evidence was duly accepted. Not surprisingly, it's just a rehash of their earlier response, and says nothing new.

Now I have a month to prepare a written argument.

Air2Web is avoidable

Air2Web customer care just ignored me when I wrote to them about a recurring problem.

Read more…

Spreadsheet::XLSX and humongous spreadsheets

A patch to Spreadsheet::XLSX to parse columns past 'ZZ'.

Read more…

Vim and X terminals

I've been using vim for more than a decade(!) now, but every so often, I still learn something new that makes my life a bit easier. Here are two things I learned today.

Read more…

Dealing with messy data: Google refine

Recently at work, I needed to import a substantial quantity of data from some spreadsheets into an SQL database. Due to multiple maintainers and changing needs, the spreadsheets were a mess of special cases, shorthand notation, and minor errors. I gave up on importing them as-is, and asked for the relevant data to be extracted into a format I defined. Writing a converter for the latter was much easier (although errors kept cropping up even in the new spreadsheet).

Today I read about Google Refine, a program dedicated to dealing with messy data. The video demonstrations on the project page show off some useful capabilities, such as grouping together and canonicalising values from a column in a few steps, scaling numeric values, and rearranging the data in various ways.

Refine is a Java program that you install and interact with using a web browser. I've never used such a program, and I suspect it may be painful to install, but I'm going to try it if any more spreadsheets appear on the horizon.

Update 2020-03-23: Google Refine was renamed again and is now known as OpenRefine.

Back to procmail

Sometimes a slow network can make the struggle to install lots of module dependencies too much to bear.

Read more…

Ubuntu 11.04 on an Asus P7H55

I finally left behind the 32-bit address space with a new Asus motherboard and 8GB of RAM.

Read more…

Airtel's Fair Usage Policy

Airtel's unlimited data plans have a “very generous” limit — Sorry, I mean “fair usage level”.

Read more…