Saturday, December 12, 2009

Outsiders

One word that has rung in my ears all this year has been ‘outsider’. Google trends agrees. The last few months have seen an increase in the number of occurrences of this word in news references. And of course, you don’t need a fancy algorithm to tell you that. If you have been even barely alive to the world around you, you’d have heard this yourself.

North Indians are outsiders in Maharashtra. UP folks are outsiders in MP. ‘Indians’ are outsiders in the north-east. Jeans-wearing, pub-hopping women are outsiders in Karnataka. Rich, bratty software engineers who are causing real-estate prices to rise, brides to reject grooms in other professions,  and causing moral degradation with their lifestyles are of course, outsiders everywhere. A cricketer, who is the pride of the nation, is an outsider in his home state. Muslims are outsiders for the VHP and its cohorts. Sensible economics is an outsider for the Communists, and the communists are outsiders according to  Mamata. Maoists consider industrialists outsiders, as do politicians when the industrialists are supporting a rival party.

We’ve been divided on caste, creed, religion, language, ethnicity, geography – name it. But nothing compares to the weird nature of the Telangana divide.

What the TRS and KCR are asking is a redrawing of boundaries that were first created by a vile Nizam. They want to turn back history and rule like the Nizam did – see KCR’s insistence that all Hyderabad has, was built by the Nizam! He went on to emphasize the division while making the claim for Hyderabad – 5% people of Andhra versus 95% people of Telangana – never mind that they have the same language, same culture, same spicy cuisine, same horrible weather, same TV channels, same film stars, same five letter initials with at least one ‘Venkata’ in their names…and so on. So, ladies and gentlemen, we have a new divide – coastal v/s inland – the ‘ruthless’ Andhraite v/s the ‘meek’ Telangana-walla. Next we can look forward to a pant v/s dhoti divide, or a boxers v/s briefs divide, or maybe even a oily hair v/s dry hair divide. (Note that the  sari-jeans divide is already present.)

Who knows, then one might become an outsider for being a left-hander. Right-handers can then protest on being deprived of the ability to write with both hands. They could ask for a state where only right-handers prevailed. Of course, the left-handers could also ask for the same. Maybe then we’ll come to our senses. 

Never mind that the real outsiders are having a field day in our open borders, planning and executing attacks with impunity. Never mind the real outsiders who suck the living blood out of the state by their corrupt means. Never mind the fence of law that eats (or rather grabs) the land it is supposed to protect.

Welcome to India!

Sunday, November 22, 2009

On the Mumbai attacks

The news channels are all saturated with remembrance of the Mumbai terror attacks. As I watched the tributes to the martyrs of the day, I couldn’t help but wonder how little things had changed since those three terror-filled days.

The Mumbai attacks were supposed to be our wakeup call. The moment when middle-class India threw off its coat of indifference and embraced the task of nation-building. The time when the nation sunk its differences and came together to fight as one. The clarion call for more professionalism in our police, and indeed, in our government.

Unfortunately, all those hopes have been belied. Six months after the candle-light vigils at the Gateway of India, the middle-class voted overwhelmingly at 40%. If anything, the last two elections have proved that Mumbaikars, (or Bombay-ites, if I may, with deference to the MNS) like their other city counterparts, prefer a vacation over a vote. We are still as divided, on language (witness the Hindi oath taking controversy), on religion (the Vande mataram controversy), and on political lines. We are as intolerant as ever, as unprofessional as ever, and continue to ignore those who try to protect us from such terror. The one terrorist who was caught is still alive, and the ones who messed up during the attacks are back in power, along with the cynicism of appointing the same person who was fired over the Mumbai attacks back as Home minister.

Before I end though, I do want to add a note about the media adulation of the three cops who were martyred that day. If you dispassionately analyze the scene, you’ll realize that these cops charged in without thinking, without examining the situation, and ignoring all their training. You could also ask why Hemant Karkare did nothing about the crappy bullet-proof jacket he was given. Or why three senior officers of the Bombay police were together in one car during such a moment. Or why they underestimated the opponent and were martyred, I presume, without firing a single bullet?

The true police hero of the Mumbai attacks is Tukaram Omble, someone our channels have almost forgotten. Not caring for his life, or the fact that he was unarmed, he fought a deadly terrorist armed with an AK-47, who pumped bullets into him even as he held on, giving the other cops an opportunity to capture him alive. Alive. Think about how strong India’s case against Pakistan has become because Kasab was captured, not killed.

May their martyrdom not go to waste.

Friday, November 06, 2009

HR talk

Isn’t it funny the way HR folks speak? I mean, they typically say a lot without actually saying (revealing) anything. They never commit, never say no, and always talk as though they have your best interests at heart while ignoring the import of your words.

Do they speak the same way with their families? What if they did? Here is a possible scenario:

Child: [Mommy/Daddy] I want a bicycle

HR Parent: In the current recessionary economy, it will be highly irresponsible to expense recreation items that do not have long lasting value.

Child: Does that mean no?

HR Parent: We will consider the request at the first opportunity of economic revival and revenue growth in the family.

Child: But all my friends have them!

HR Parent: As a family, we aim to be in the top 65-th percentile of “having” things. We believe that our commitment to our children’s growth, our healthy living environment and wonderful family culture contribute to a scenario…

Child (Interrupting): ARRGH! I hate you!

HR Parent: Such strong emotions are uncalled for. We believe that we have taken the right actions given the economic environment. Further…

[Child storms out.]

[Disclaimer: These views are personal, do not reflect the opinions of my employer and are not based on any specific person or institution, living or dead.]

Thursday, September 24, 2009

Poor coding and paper.

Every now and then, when I have time to spare, I take out my laptop and read some of the code I'd written in the past. This includes projects I did during my Bachelors degree, some code snippets of projects I did for my Masters course, and some others, from previous employment. (Of course, I don't have entire projects from previous companies - just a few files that I'd worked on from my home computer. So, don't ask!) Every time I read the code, I cringe. I can't believe I'd written code which was that bad! I see new bugs, violations of coding practices, poor design, and even misuse of language constructs. And I know for a fact that when I was writing all of that code, I not only thought I knew what I was doing, I knew that I knew what I was doing. (Wow - too many I's in this paragraph.) For some time now, this has bothered me, because I have the same feeling of knowing what I'm doing as I write code today. Why would I be correct now? Maybe, in some later year, I or someone else would look at my code and realize how bad it is (was)? Does this happen to others? Have you ever read code you'd written earlier and cringed? If so, use the comments link to send your experience.

I'd earlier mentioned a paper I'd submitted (with some colleagues) that was nominated for the best paper award at FSE 2009. We didn't win, but here is a copy:
http://research.microsoft.com/en-us/groups/adp/debugadvisorfse09.pdf
.

Enjoy.


Sunday, August 16, 2009

Free thoughts on Independence day

I was watching the movie “Gandhi” on Sony Pix and one thing about the Mahatma struck me.

Not only was the Mahatma a great saint and leader, he was a brilliant political strategist.

Consider, his use of non-violence as the principal weapon against the British. By doing so, not only did the Mahatma seize the moral high ground, but he also changed the battle-field, which went from one of ships and guns to that of prayer and lathis. What the Mahatma recognized was that there was no way any Indian army could defeat the British. What could defeat them was an unequal battle that would render their superiority useless. Gandhiji also understood the deep moralistic element of British colonialism – the British never considered themselves as conquerors, they always considered themselves to be on civilizing missions. How could you explain a civilizing mission that beat up and shot people for making salt? Gandhiji exploited this loophole in the British consciousness brilliantly.

The Mahatma also knew the importance of holding the moral high ground, not unlike the high ground that the Indian army fights to hold in Siachen. His suspension of the non-cooperation movement after the Chauri-Chaura incident was one instance, where he took the risk of losing the cause to uphold the principle, and by corollary, the moral high ground.

He was also a brilliant popular leader, one who knew the importance of symbolism in the Indian psyche. Gandhiji knew what moved the people, how he could connect to the people, and had a finger on the collective pulse of the people. Be it the salt satyagraha, or the prayer meetings, or burning western clothes, Gandhiji always selected symbols that he knew would move the people.

Finally, it was the Mahatma who recognized the dilemma of the 1920s Congress. That it was a movement of the elite that the  commoners had no use for, and that as long as the 300 million Indians didn’t want independence, the British would have no motivation to leave. It was the Mahatma who transformed the Congress from a debating club to a mass movement, transforming the face of India and the world in the process.

Friday, July 17, 2009

Our education problems.

So, we finally have a HRD minister who is more interested in education than (de-)saffronisation, a government that understands the seriousness of our education problem, and a bunch of reports that tell the government what to do. Why then, am I putting my skeptic hat on as I write this post?

Because there is nothing to suggest that the government, the minister, or even the reports have moved beyond the command/control mode of operation. Take the Yashpal committee report for instance. It recognizes that the current system of regulators, consisting of the UGC, AICTE, and the MCI amongst others hasn't worked. There is endemic corruption, the latest being this case against the AICTE chiarman and a senior member, inefficiency, and a lackadaisical attitude. But look at what the committee has recommended: a uber-regulator that encompasses all these! How, in the lord's good world is this going to solve the problem? Not only that, the report suggests that this uber-regulator will also solve the problem of multi-disciplinary education! Sixty years after independence, and eighteen years after liberalization, we still haven't understood the fundamental difference between regulation, and control. Our administrators, and report-makers don't get the fact that the best regulation is the market and full disclosure. For instance, instead of having corrupt bureaucrats decide which institute should function and which one shouldn't, have full disclosure of every institute - the intake, the aggregate scores that the students got, the placements that they got, and the types of companies they got placed into, the numbers who went to higher studies, the number of working computers, the facilities in the lab, whether the hostels have enough clean toilets - disclose disclose and disclose. Then let parents and students decide which institutes should survive and which ones shouldn't. Let foreign universities in, set stiff criteria that these institutes should satisfy, but let them teach what they want to. Let every institute pay what it wants to, charge what it wants to, maybe subject to a range that the government can specify. Let there be merit-based salaries for teachers, and scholarships for those students who cannot afford high fees. Let go, but keep a watchful eye.

I can give three instances of why my prescription will work. Today, PESIT is probably the best engineering college in Bangalore. Management and NRI seats in this institute are auctioned off, with waiting lists spanning a few years. Few people know that just ten years ago, few people joined this institute. In fact, at that time, the institute offered to pay the fees of any student below rank 1000 who joined it! The dedication of the founders has led to this institute becoming the top institute in Bangalore. They poached professors from other institutes, got people from abroad to join it, and of course, made a lot of money in the process. But what the city got was a good institute.

My next example is DAIICT, an institute from where my team has recruited many interns. A large number of them have been fantastic and have gone on (or will be going on) to graduate programs in UCB, UWash, and other universities. Our experience has been that students from this institute were really well-rounded, however, I was told recently that the AICTE had refused to recognize the Info. and Comm program that these students had graduated from!

Then, ISB. The International School of Business in Hyderabad has the most expensive MBA programs in India. It wasn't recognized by the AICTE, whose diktats it couldn't live by. However, as this news article points out, it was the only Indian B-school to be in the FT top 20 B-schools in the world.

To conclude, I want to bring in Game theory, of course in a very unscientific way. When you have two competing players each one making a decision knowing fully well the other's strengths and weakness, you usually reach an equillibrium that may not be the best for either player individually, but is a good bet overall. This is what the parent/student v/s institute game would do. On the other hand, cartels break this equillibrium in favour of one party - which is what the nexus between institutes and our current regulators is.

Sunday, June 21, 2009

I told you so! :)

Some time ago, I’d predicted that Google’s next step towards world domination would be to produce a free OS for PCs. And as I predicted, they first made the mobile OS and now, they have the same running on PCs produced by Acer.

PS: This post, like the rest of the blog, only reflects my opinions and has NOTHING to do with my past, present or future employer(s).

Sunday, June 14, 2009

Nixon-Kissinger II

If you are a student of contemporary Indian history, you'd be familiar with the Nixon-Kissinger duo, and their attitudes towards India. While a lot of water has flown down the Mississippi and the Ganges since then, it looks like the wheel of time has come full circle again, giving us Nixon-Kissinger Part 2, also known as Obama-Clinton.


First, some history. Nixon and Kissinger, with no little help from Indira Gandhi, took Indo-US relations to their nadir. In their quest to get China on their side, against the Soviets, the duo looked the other side when Pakistan committed some of the worst abuses of human rights in the sub-continent, in what was then East-Pakistan. They formalized the US policy of preferring dictatorships over democracies, even when those dictatorships brutally supressed the mandate of democratic elections. In fact, Nixon offered to send the "Seventh fleet" carrier group into the Indian Ocean to pressurize India which intervened on the side of democracy. So bad was the deterioration in relations that the leaders of the countries couldn't even talk to each other without one calling the other a b***h.

The intervening years, the Kargil war, India's economic recovery and the Dubya-presidency had all contributed to healing the rift, but it looks like this is one wound the great black healer is going to rip open in his quest to heal other wounds.

Now, it is not wrong that the US has its own national interests in mind. But Obama in his nearly 6-month presidency hasn't made a single serious comment (and I'm ignoring platitudes like the praise he heaped on Moron) towards furthering Indo-US relations. He's made noises about getting India to sign the NPT and CTBT, has completely ignored the nuclear deal, brought back the hyphen between India and Pakistan, put pressure on India to start talking with Pakistan, made Bangalore the enemy in the outsourcing debate and in the latest of his antagonising statements, has opened the Kashmir bogey again. Not since the Nixon-Kissinger era have we seen such 'attacks'.

Will the relationship survive the Obama-Clinton foreign policy administration? I doubt it.

(Postscript: BTW, we had Ramachandra Guha, the author of "India after Gandhi" visit our lab and deliver a talk recently. Next in line are Sudha Murthy and Ramesh Ramanathan!)

Monday, June 01, 2009

Post = Random.NextPost();

Last week, we had a “Bring Your Child To Work” day, when parents are allowed to bring their kids to work so that the kids can get an idea of what their parents do during the day. We had a wide range of kids – from age 2 to age 14, and boy, was it fun!?

I couldn’t help noticing in all the revelry, that a disproportionate number of the children were girls. Even more peculiar, it seemed that it software fathers had a higher chance of having girl children than software mothers. Non-software folks had either male children or had an equal number.

This couldn’t be statistically true, I thought. But after a quick recap of my friends’ families, I think I’m ready to say that it is indeed statistically possible that male employees of software companies tend to have more girls than their female counterparts, and their male counterparts in other occupations. This needs more evidence, of course, and there needs to be a scientific reason for why it is so, but I think there is enough merit in trying to investigate the case.

And it was last week that I took part in my first protest march. We were protesting against the illegal felling of trees at CNR Rao circle, near IISc, which was ostensibly being done to build an underpass there. Now, I’m not a tree-hugger, and probably will never be, but this was something illegal being done. So, a few friends from MSRI and I went together, shouted slogans against the BBMP, had our photos taken, and came back. I have more to write on why such protests aren’t successful, but I’ll save that for another post.

BTW, here are a couple of photos of me at the protest:

http://www.deccanherald.com/content/5075/iisc-staff-students-protest-tree.html (I'm the one leaning on the tree)
http://www.expressbuzz.com/edition/story.aspx?Title=These+cuts+run+deep&artid=9tgoy95Efds=&SectionID=Qz/kHVp9tEs=&MainSectionID=wIcBMLGbUJI=&SectionName=UOaHCPTTmuP3XGzZRCAUTQ==&SEO=

Anyhoo, another thing that happened last week was that a submission a few of us from MSRI made to FSE 2009 was accepted and it’ll be part of the proceedings. The conference itself is in Amsterdam in August. I’ll see if I can post the paper somewhere.

Saturday, May 23, 2009

All for a single post.

So, what do I write about? Well, there is the election and the mess the BJP finds itself in. There is the Lankan Tamil issue. There is a bunch of stuff happening at work. There is the realization that I’ve forgotten to read, and there is a lot of economics that I’ve been ‘reading’. There is also a nice report in "ವಿಜಯ ಕರ್ನಾಟಕ" on the measures colleges in Bangalore have taken to ensure a ‘safe’, educating environment for college boys and girls.

Must get out of this mode.

Saturday, March 28, 2009

The greatness of Google

For some time now, friends and blog-readers have accused me of having an anti-Google bias, thanks to many posts on my blog that didn’t share their unbridled enthusiasm about the company. However, for a knowledge-o-phile like me, Google has come as such a blessing that I can’t help but write this post.

As a child, I devoured books. I read everything I could lay my eyes on, and that included “Children’s knowledge bank”, Wisdom, Misha, “Baala vijnana” and many others. Still, so many questions remained unanswered. I had to wait for a book or a magazine article or for someone to answer the questions I had. Many an argument remained unresolved because there was no authoritative source for the subject.

Web 2.0 led by Google and Wikipedia and so many content providers has changed all that. Wondering about tectonic shifts? Go to Google. Thinking why the Afghans have had such a history? Read Wikipedia (but mind you, only as a starting point to other articles.) In an argument with a close friend over some obscure scientific fact? Type your question in Google.

Few companies have brought information to our finger tips like Google has. For that, thank you, Google.

Of course, I have a strong opinion on the Google-Wikipedia duopoly over information, but I’ll let someone else take potshots at it, here.

(PS: Before some of you start wondering, let me disclose: NO, I have not been offered employment at Google, nor am I in a race for working at that firm.)

Monday, February 02, 2009

Technology Notes Vol 1, Issue 8: Lessons at work and play

This edition of Technology notes is dedicated to some lessons I learnt at work and at play.

* Conceptual Abstractions

If I were to stick my neck out on things I don’t fully understand, I’d do so and say that Abstraction and Recursion are the most fundamental principles in Computer Science. There is something magical about the way these two concepts solve so many problems that we encounter 'in code’. In fact, in the OO design community, “an additional layer of abstraction” is almost a silver bullet for most design problems.

In the last month though, I got first-hand exposure to some conceptual abstractions. In my definition, a conceptual abstraction is one that solves a complete class of problems while trying to solve a single instance of the class. Let me give an example. Over the last year or so, I have been working on a tool that uses some modified IR techniques to solve a problem faced by developers in our organization. We read some algorithms, coded them up, created a service abstraction for folks to use, and made it available to our user community. We decided to publish this work, and I had detailed discussions with my manager and Sriram Rajamani, who is a principal researcher in our organization. In the space of a few hours, we (truth be told, they) created a conceptual framework around our tool, in such a manner that we solved the general IR problem for our problem space! I wish I could write more about it, but I’ll have to defer it till we submit the paper.

* The beauty of Windows

When I got my first PC, nearly 14 years ago, one of the games I loved playing was Xargon, a 1993 game created for DOS. I couldn’t afford to buy the game, so I played a shareware version that was available on a PCQuest CD. 15 years and five OSes later (Win3.1, Win95, Win98, Windows ME, Windows 2000, Windows XP)  I installed the now-free retail version of the game on my XP box, and lo-and-behold, it worked! I had a few problems with the sound card which I was able to fix by some minor changes to the game’s default settings. I don’t think any company makes software that preserves backward compatibility to such an extent. In a world where different versions of Linux are not compatible, where Mac software bought two years ago for the 68x processors won’t work properly on the new Macs, the extent to which Windows preserves backward compatibility is amazing. You can read the 68 posts Raymond Chen has about it here.

* The best feature of Java

The one feature of Java I miss in C#/.NET is that of checked exceptions. You know, you declare a function as

public static void X( ) throws A, B, C

and the function can only throw A, B or C. Clients of this function must handle these exceptions or declare them in their “throws” clause. Further, if a derived class overrides a base class method, it can only throw a subset of the exceptions that the base class method has declared in its “throws” clause. Not only is this a great example of documentation enforced by the compiler, what this also does is takes Java one step closer to the ideal of LSP (Liskov Substitution Principle).

(PS: C++ fanatics will now argue that it too has a “throw” clause. All I’ll say is “don’t use it”.)

Sunday, January 25, 2009

Thank you, President Bush

When President Obama took the oath of office on January 20th, I think I'd have been one of the few people around the world who actually felt sad for President Bush. For all his faults and misunderestimations, President Bush transformed Indo-US ties for the better. Never, after JFK had offered military help during the 1962 war, had any US president taken such an interest in India. Be it the nuclear deal, the de-hyphenation of India and Pakistan, or outsourcing, President Bush's actions were in India's interest (and America's too). His attack on Afghanistan gave us breathing space on Kashmir (remember, in the late 90s, most of the terrorists in Kashmir were Taliban-trained ones). He used America's power to undo the same nuclear apartheid that his predecessors created, one that was created with the sole purpose of containing India. G Parthasarathy, who was in the Indian embassy in the US when the NSG was created, gushingly said after the NSG vote that he hadn't expected to see that day during his lifetime.
So, thank you, President Bush, and good luck with those memoirs.

Sunday, December 28, 2008

Are you Indian enough?

Newspaper reports in the Indian Express and others have mention that the sports ministry has decided to ban players not holding Indian passports from competing for India. Remember, that this is the same ministry which asked Sachin to remove the tricolour from his helmet some years ago. This is the same ministry that could not handle the false doping issue of Laishram Monika correctly. And of course, as I said earlier, if you are incapable of fixing the real issues in a field, you take something insignificant, blow it up into a big issue, and then make crude attempts at hacking a solution for it. Our health minister is the best exponent of this craft in this government, but it appears that the sports minister has decided to give him competition.

What is wrong in PIOs playing for India? They are allowed to buy land in India, they can carry on any occupation in India, and they have every right that a citizen has except the right to vote. Then, why create another class of citizens there? Isn’t it enough that we’ve created separate classes of citizens for flying the flag, separate classes for healthcare, for education, and for every social service? Why do it in sports as well?

This is exactly the sort of megalomania that ministers in India are prone to. Ban live bands, Ban parties, Ban flag-flying, Ban sportsmen.

Thursday, December 25, 2008

Technology Notes, Vol 1 Issue 7: Computation and Philosophy (Part 2)

See my report on the first day here. Unfortunately, it has been a while since I attended the conference, and too many things have happened in the interim, so this part of the report may not be as crisp as I’d like it to be.

I could only attend the afternoon session on the second day of the conference, and only one talk on the third day. I did miss a few (possibly interesting) talks in the process – I have abstracts and contact info of them, so if you are interested, talk to me.

The first talk in the afternoon session on Day 2 was “Mathematics, Computation and Cognition” by Rajesh Kasturirangan of NIAS. His premise was that the study of cognitive basis of mathematics and computation is best done on experienced mathematicians as opposed to children or chimpanzees as is usually the case. He talked about the classic Turing papers on Computational machinery and intelligence and George Lakof’s work which said that computational thought is essentially metaphorical. The question that we must ask, Rajesh said, was of the origins of that metaphorical ability. After this point, I lost him, and the discussions on what should be done got mixed up with what is already done (at least in my mind). He gave some characteristics of mathematical phenomena (like precision), and said that some interesting questions in the area were understanding the cognitive capacity for induction/recursion, and formulating theories for mathematical understanding. In conclusion, he advocated taking a holistic interpretation of the metaphor-mathematical thinking link, to see if they mutually interact and benefit each other. Q&A was OK, and there were some theories that floated around natural language and natural numbers, but I didn’t understand most of the discussion. Important reference here is “Number sense” by Daheane.

Next came what I thought was the least interesting talk of the conference, “Marr’s three-level typology for Cognitive Science”, by S. Pannerselvam of the University of Madras. The speaker simply read out the paper he’d authored without bothering to look once at the audience, or pausing to see if people understood what he was trying to say. Anyhow, Pannerselvam started with the Vision module that Marr describes, where he gives a three-level typology for cognitive science, each level corresponding to one of the three, why, what, and how questions of implementing such a module. He then appeared to contrast it with a connectionist approach pioneered by Jerry Fodor (See "The Elm and the Expert”). In that approach, as opposed to the “implementationist” approach of Marr, there is no central CPU processing information – instead, there is a more of a neural net that has parallel “total cognitive states”. A “Cognitive Transitive Function” would define state changes, although the characteristics of that were not explained by the speaker. The most interesting part of this talk was when Pannerselvam mentioned Jerry Fodor’s Somehow, amongst all these, he mentioned a “Language of thought”, which he said was not a natural language. During Q&A, many in the audience asked him about the characteristics of the language, but he didn’t say much. If you are interested though, go through the link above, and it has quite some information. Dan Dennett and Don Davidson both support the “no thought without language” thesis.

What does a cognitive agent have to do to develop meaning/understanding, or what is called a “grounded representation”? The next talk, by Nagarjuna G of TIFR was on this topic. He introduced Taddeo and Floridi’s (TF) criteria to solve the “Symbol Grounding Problem” (paper by Harnad here) and explained that the drawback of the system was that it did not specify a filtering mechanism to select the states that the cognitive entity would process. Other models were discussed, for instance, the Symbolic model (where the brain was a CPU that had sensory I/O), and the Connectivist model (that of neural nets and parallel states). The other shortfall, btw, of the TF criteria was that the entity under observation was assumed to have an abstracting ability that evolved from evolution! From what I understood, these models assumed something like the following: the eye only let light through, and the brain and its structures decided what we were seeing and equally importantly, what was the importance of what we were seeing. The alternative model that the speaker proposed used “Active perception” and a sensory system where inputs collided with each other (think seeing and hearing at the same time),  and not everything that was perceived was processed. There was more information on this, but I’ll let you read his paper: “Muscularity of the Mind”. The talk seems to make more sense, the more I chew on it, so I’ll try and post an addendum here later.

The final talk of the day was on the "Status and Justification of the Church-Turing Thesis (CTT)”, by Jonathan Yaari of the Hebrew University. The premise of this talk was that CTT was a contingent (i.e. aposteriori and necessary) thesis and one that didn’t require proof (or was unproveable) – similar to the fundamental axioms in geometry. The speaker wanted to use Kripke and Putnam’s theory of the existence of scientific ‘sentences’ that are both aposteriori and necessary to show that CTT was both a posteriori and necessary. See this article for more on the theory itself. What he failed to give though was a proper ‘reduction’ from CTT to the K-P theory. He also described CTT, attempted proofs for CTT, and K-P theory for too long to have time for a proper explanation of his ideas. Q & A focussed on this and other questions on computability, and while there were some good points raised, I don’t remember any of them now :(.

The last talk I attended was “Modularity revisited” by Pritha Chandra of IIT-D. The question Pritha raised was whether FL(N),  the Faculty of Language (Narrow) was modular as Fodor defined it. I didn’t really get the point of the talk, except for her conclusion that FL(N) was modular. I’ll put some references here if you are interested: Chomsky’s Minimalist Program, Spelke’s work on why FL(N) isn’t modular, paper talking more about FL(N) by Hauser, Chomsky, and Fitch, and papers defending modularity of FL(N), by Fodor and Butterfill

I’ll post my conclusions on the conference in a separate post. :)

Tuesday, December 16, 2008

Of love, leagues and relationships 7: Page rank

Previously in love, leagues and relationships…
…New samvat's, the festival that celebrated 60,000 years of human existence. Would he be able to enjoy the day?

Arthur felt a light feeling in his head. His feet weren’t on solid ground. Trying to piece together what had happened, Arthur recollected drinking heavily on Samvat, getting into a car and driving off into a dark highway. He could recollect seeing two big lights, growing ever larger, swaying from side to side, approach him. What happened next was no mystery. As Arthur struggled to get a firm footing on the ground, he realized that he was no more.

Arthur kept feeling lighter, he felt himself being sucked up as though a power vacuum was running up in the clouds. In seconds, he flew through the clouds, through the solar system, outside the Milky way, and landed in a long queue that led to a train station.

A large board in the distance read “Pearly Gates”. A smaller board indicated that the Pearly Orient was due to start in half an hour.

The queue progressed forward at a rapid pace. Soon, Arthur was only a few feet away from what he thought was a ticket counter. To his surprise, he saw most people disappear once they reached the counter, and only a few were let through. Intrigued, as Arthur waited for his turn, he overheard this conversation:

But I have been a man of god all my adult life! And how can you let this terror on the street through while preventing me from entering?”

The TC replied: “God is not only concerned about your means, but also your ends. This auto driver from Bangalore made more people pray to God while he was driving, while all you did was put people to sleep with your sermons! Three years in Hell for you!”

With a poof of smoke, the preacher disappeared.

Arthur was next, and the man at the ticket counter pulled up what looked suspiciously like Arthur’s favourite search engine and typed his name in. In seconds, Arthur’s life flashed on the screen. Images from his life, videos of acts he’d done, reams of text of things he said or thought, profiles of his friends, in short, his entire life appeared on the screen. Finally, at the bottom, there was a single score in large bold letters: a small negative number with the title “LifeRank score”.

The ticket collector’s face darkened.

“You will have to go to Hell.” he said.

Arthur was terrified. “But I’ve done nothing wrong!”, he exclaimed. “I was god-fearing, did the right things always, was pro-environment, kind to animals and was helpful to people! Why should I go to Hell!?”, he asked. Unable to contain his curiosity, “What is that LifeRank score?”, he added.

“Ah, a software engineer, aren’t you?”, replied the TC. “Always curious, but never doing anything useful.” Arthur was peeved by the judgment. Still, one doesn’t argue with a man who decides your time in eternity, so he let the TC continue. “LifeRank is a score computed by weighing in your accomplishments in life, your carbon credits, animal credits and other factors. However, the most important factor in the LifeRank score is the rating given to you by the people you know, and their LifeRank scores. You see, in eternal life, as in real life, where you end up depends mostly on who you know.”

Arthur was amazed. “Why is my score negative? Is that bad? What _are_ the components of my score?”, he enquired.

“Sorry, that is a secret”, replied TC. “The precise weights given to each component is only known to the One. What I can tell you is that you seem to know many people with a negative life rank score who think you are a great person. And that is BAD.”

“What!?”, exclaimed Arthur. He could not believe what he was hearing. “Why should I get a bad score because some bad folks think I’m good?”, he asked in an agitated voice.

“Simple, my man.”, replied TC, with the patience that only eternal life can bring. “Who do you think would Adolf, the patron saint of Hell, rate highly, Mussolini or Gandhi? Who would Gandhi rate highly? Stalin, or Lincoln? If you are rated highly by someone with a negative score, your score becomes negative. ”

Arthur couldn’t believe what he was hearing. His mother always told him to be careful of the company he kept, but little had he realized that her advice could come to haunt him this way!

“But I must know a few good people”, he said, defensively. “Yes, you do”, replied TC. “However, none of them rate you as highly as the negative ones do. Sorry, I must let you go.”

Dejected, Arthur took one last look at the screen, and saw the hint of a familiar multi-coloured logo. Suddenly, with a smile, he said, “Are _you_ using the PageRank algorithm developed by Search., Inc? Wait, this even looks exactly like their home page!”. TC was taken aback. Clearly, he hadn’t met many software engineers, particularly not those with Arthur’s keen eye. Recovering, he said “PageRank? That is just a prototype of the real algorithm. What we use is LifeRank – which the One created. He did give away an early prototype to Lerry Brim and Sogay Page. However, PageRank is ages behind LifeRank – it doesn’t scale, it requires expensive computers, and a whole lot of energy. LifeRank, on the other hand is IJW. It Just Works.”

“So, _you_ guys started the greatest battle of 21st century computing!”, exclaimed Arthur. “But why did you give Page rank to Search., Inc, and not to their rivals, Myahoo?”. Arthur knew he was on to something exciting. “Oh, that is because of their motto – don’t be evil.”, replied TC. “And yes, we know, they haven’t really stuck to their ideals, but hey, they’ve served as a brilliant marketing tool for God. Remember, everyone does marketing all their lives. Even God.”

Arthur could not believe what he was hearing. He managed to ask: “What about their rivals?”.

TC replied, with a huge smile: “Oh, they went to heaven. After all, haven’t you heard of the Vista operating system? By making people wait for long minutes during reboots, the company gave people, particularly, a community as under-devoted as software developers, time to think about the true meaning of life. Would such a deed go unrewarded?”

Arthur had no more questions. He closed his eyes, expecting the worst.

(PS: A number of statements and anecdotes here are not my own. Full credit to the authors - Vibhuti for the "marketing statement", and Anon for the autorickshaw joke.)

Monday, December 15, 2008

Technology Notes Vol 1, Issue 6: Computation and Philosophy (Day 1).

This issue of Technology notes is dedicated to the "Computation and Philosophy" conference held at the National Institute of Advanced Studies. There were more than 25 talks (of which I attended 13), and although I went in with some degree of trepidation, I must say I wasn't completely lost. I am still chewing on what I heard and on my notes, so what you see here is a half-cooked report on the three day conference.

A few caveats first: As I don't have formal training in philosophy, everything I say here is what I understood from my low perch in Computer science, so please take everything in this post with a healthy dose of skepticism. Further, conclusions I draw here are my own, and they may not be what the speakers intended.

The one big lesson I drew from the conference is that a reductionist approach is grossly insufficient to describe many complex systems, one of which is our own ability at computation, which includes the ability to learn language.

The first hint towards this came from the talk on Templates, Complexity and Autonomous systems by Paul Humphreys. Prof. Humphreys is an authority on emergent behaviour, and he contrasted reductionism to a constructionist approach to explain higher-order properties. While reductionists argue that all higher orders of properties can be explained by interactions amongst lower-order properties, constructionists believe that there are levels in the reductionist hierarchy which are not algorithmically accessible from the previous levels. That is, there are higher-level properties that cannot be reduced to the interactions between the properties that exist at lower-levels (think genes->proteins->organs). The question Prof. Humphreys asked was whether this irreducibility was provable. He explained his results using Ising models and Cellular Automata, but I was unable to understand the gist of his discussion, as it assumed that one knew these concepts apriori. Overall though, I think his point was that it can be proven that it is not possible to have models of sufficiently complex physical systems where every property can be computed. I'm still reading up on some of the papers he mentioned, so if you are interested, Sorin Istrail's paper at STOC 2000 is one suggested for reading. I'm still trying to figure out what he said, and once I do, I'll put it up here for more discussion.

The next two talks, "Algorithms in Indian tradition" and "Mathematical, Algorithmic, and Computational thinking in the Indian mind-scape" were rather boring. Both speakers talked about the glorious Indian tradition of science, and while the first speaker, M D Srinivas, gave an illustration of how Aryabhata and other Indian mathematicians wrote maths in poetry, and were able to compute functions like sine-inverse, Veni Madhavan who gave the second talk said that the notion of proof and generality didn't arise in the Indian mathematical tradition because of the poetic way in which mathematics was passed down. The first talk was a repeat of a talk I'd attended at MSRI, and the second had zero proof and lot of hand-waving as to why poetry caused Indian mathematicians to miss a glorious opportunity to own, for example, the "Chinese remainder theorem". The speakers tried hard to avoid being patriotic, but that feeling somehow snuck in, and in addition, beyond making an unproven statement that poetry is some sort of an enemy of generalization, was completely unrelated to the topic at hand.

Some of the Q&A here was good though, with some people debating whether notations freed or constrained thoughts of people - Greeks, for instance, not going beyond the third power simply because their mathematics reduced to geometry, and they were unable to visualize a fourth dimension. No conclusions were drawn though.

These talks were also the started the trend of poor presentations in the conference by many of the speakers. So many of them came unprepared, many didn't have slides and read from papers or books they'd written, and one person literally recited his paper during his presentation.

Anyhow, the next talk was by N. Raja from TIFR, on the "Philosophy of Software Artifacts". This talk was another disappointment, particularly because I was really looking forward to what he had to say. N. Raja spent a LOT of time talking about denotational v/s operational semantics, explaining the lambda-calculus, and quoting books (for instance, "Meaning and Interpretation" by Charles Travis). I didn't get the point of his talk, however – I guess he was trying to introduce the different approaches to semantics in Computer Science. Some of his references though are interesting reads, notably the Scott-Strachey paper "Towards a mathematical semantics for computer languages" and Peter Landin's work on a lambda-calculus-based abstract machine. Overall, the talk wasn't crisp and while the speaker had slides, there was a lot of back-and-forth movement, and not enough time devoted to making a single, "take-homeable" point. The one thing I remember about the talk was a flat joke about how computer scientists are formalists on the weekday and 'something else' on the weekends, but I forget what.

The next talk was post-lunch, and it was by Amba Kulkarni on "Panini's Ashtadhyayi", on Sanskrit grammar, which incidentally is the first generative grammar known to us (think Chomsky's hierarchy for what a generative grammar is). Kulkarni made the point that Panini was aware of information coding abilities of language, and the need for brevity while defining grammar, and she explained how Panini used anuvrutti or factorization to get brevity in his definitions. (See the section on "IT markers" on the wiki page.) There was a lot of room for ambiguity, and in such cases, he took refuge in meta rules and akansha (what the listener expected) to resolve it. Essentially, there were phonemes, called shivasutras and rules called anubandhas that mimicked Niklaus Wirth's famous book: Programs = Data + Algorithms, with shivasutras playing the role of data, and anubandhas, the algorithms that defined the composition and behaviour of these data items. Kulkarni also gave some 'proof' (quotes intentional) for how the system is similar to OO programming, and quoted a paper by a Yale professor on inheritance in ashtadhyayi which had dealt with this issue. I only realized later that she meant a completely different inheritance - the paper here says

"What distinguishes Panini's approach is not only temporal priority, but a novel method of interleaving formal and semantic specifications along a single inheritance path to model many-to-many correspondences between the formal and semantic properties of derivational affixes"

leaving me clueless. Maybe a linguistics person can clarify this? Meanwhile, it was time for Q&A, and when there is talk of Sanskrit, how can talk of programming be far behind? Quickly, a consensus formed, excluding the two Microsofties present, on the suitability of Sanskrit for computer programming. Never mind that the grammar itself is ambiguous, and requires human understanding (see the point about akanksha) for interpretation. Of course, I'm NOT a qualified linguist, and it may indeed be possible to program in Sanskrit. One does wonder though why a compiler hasn't been built to translate Sanskrit into say, English.

Next was a talk on "Computation and the Nature of writing" by Sundar Sarukkai. This was an interesting talk, where he first defined computation as the manipulation of symbols leading to a conclusion. Then he asked the difference between writing and computing. Quoting from a reference I didn't record, he mentioned that the essential characteristics of writing were temporality, progressivity, and that it was a representation of speech, which itself was a representation of thought and was a second order copy of information. He then introduced cognitive models of writing favouring the "planning, organizing, goal-setting" model, and was emphatic that all three occur in parallel. Writing was also goal directed, he said, with process and content goals being satisfied through a process of translating thought to symbols. Coming back to computation, he mentioned semantics was the bugbear for math, and that removing meaning from symbols gave it a certain purity, and allowed 'logic' to operate on them. Thus 'symbol-centrism' became central to computation. Ultimately, his conclusion was that the two were similar, as both did translations of thoughts into symbols on a medium. He did leave a few questions open, for instance, the rules for a "metaphysics of computation", or the difference that writing and speaking make to the computability of mathematics.  Considering how the talk concluded, I must say that while the talk itself was well presented, the conclusion was something anyone with very little knowledge of philosophy would have come to. But I guess that is the challenge of philosophy - to provide theories for understanding even those things that we think are obvious.

The next session of three talks was dedicated to Biology. It started with a talk by Vijay Chandru of Strand genomics on a "Systems View of Biology". Vijay started by saying how a reductionist approach to biology has failed to describe higher order behaviours like organ function, (See "Music of Life" by Dennis Noble for more on this), and gave an illustration of the work Strand is doing in their field by the example of hepatotoxicity detection. Strand seems to be doing very well, and they appear have teams of PhDs and MDs tackling every problem in a co-ordinated way. The talk though didn't have too many insights beyond telling us that computation will change the way biology is done in this decade or the next.

Next in the biology series was Dr. Raghavendra Gadagkar's talk, "Decision making in Animals", by far the best talk of the conference: well presented, with a lot of content, and independent research backed up by evidence. The subject was apparent intelligence of decision making in bees and other social insects - for instance, bees are known to convey both the distance and direction of food accurately, and other bees are known to follow up taking into account the rotation of the earth. Ants find what is usually the shortest path to food. His conclusion was that all this is done by following certain simple heuristics - for instance, ants set off in all directions in search of food, leaving pheromones on their path. When a food source is found, the ant finding it traces its way back to the nest. If two ants find two different routes to the same food, the ant which returned first would leave a stronger pheromone trail (as it has passed the route twice). An ant that sets off after the first one returns will simply follow the path of the stronger pheromone, increasing its strength. Ants that come later continue to follow the same rule, making the path the standard one. The experiments suggested were simple, and brilliant (at least to a layman), and this was clearly the best talk of the conference. [May I make a recommendation that he be invited to give a talk at MSRI?]

The final talk of the day was by M G Narasimhan of NIAS on "The Genetic Code as an Information Entity". The speaker spent a lot of time talking about DNA and Watson and Crick and the whole history of the study of DNA, and by the time he came to his conclusions, his time was up, and so was our patience. We left without waiting for the Q&A.

Will write about Days 2 and 3 in the next post.

Sunday, December 07, 2008

The Google OS.

It is so gratifying when a prediction you make comes true (or nearly true). Internetnews says that Google is hiding OS signatures for packets coming out of Google.com. Wonder why. Remember though, that you heard it first here, a few months ago, when I'd speculated that the ultimate Google weapon against Microsoft would be a Google OS - this report says that they may actually be working on one, even as we speak!

Sweet!

Tuesday, December 02, 2008

On Open Source

I am a big fan of Open Source. I think it is the greatest ode to teamwork: Just imagine, getting people from nearly all over the world, with completely different interests, who've never seen each other, to work on a common project! Simply amazing. The sophistication of processes that open source teams (well, at least in Linux development) have achieved deserves kudos. Not to mention the opportunity it gives for students and amateurs to learn both by doing and by actually seeing what goes on under the hood of any software application. Being open to scrutiny, bugs get fixed relatively quickly, and security flaws are fewer - well, that is at least what I've heard.

However, what bugs me is the simplistic formula - "Open source = good; Proprietary software = bad." That is, anybody, any entity that supports open source is cleansed and becomes pure good, while any entity that doesn't becomes an incarnation of the anti-Christ.

Take, for instance, this comment on a page debating the virtues and vices of Google:

"Google is not evil. They encourage open source software. They have effectively counteracted Microsoft and Apple closed source systems to the benefit of the public. ..."

(Ed: I've removed the part of the comment talking about text ads - those are great innovations and have nothing to do with evil or good.)

Of course, the author of this comment wasn't probably aware that Google's search algorithm is still secret. (Don't pop the PageRank paper at me now - Google hasn't open-sourced it's actual search algorithm that runs on production machines - a lesson they learnt after publishing the page-rank algorithm as grad students.) Or that Google has been sued many times for violating someone's patent (this maybe simply for money), or someone else's copyright. Or the fact that Google submitted to the Chinese censors without as much as a whimper.

If you are not giving out secrets that matter most to your company, then you are no different from all the companies that work with closed source. Why isn't this obvious to people? Why are we always on the lookout for a white knight that battles the dark satanic forces of commercialism?

Open source software is no longer groups of individuals creating world-class software for nothing but fame or their love of software development. Open source is now backed by companies with millions of dollars - think Google with Mozilla/Linux, IBM and HP with Linux, and the countless others that pay developers good money to write Open source software. None of them are doing it out of the good in their hearts. They are doing it because it gives them a competitive advantage, good publicity, or the chance to shoot at a rival over the shoulders of 'Open source' developers.

(Been unable to write anything on the Mumbai attacks yet. Still trying to formulate a sensible post.)

Monday, November 17, 2008

(Not a) Quantum of Entertainment

I am not a fan of Bond movies, so when my team decided that "Quantum of Solace" was where we'd spend our morale money, I suppressed a silent groan.

Nearly all Bond movies I've seen follow a theme. The movies start with a chase of sorts, after which Bond goes to M for a debriefing, then meets Q and examines some cool gadgets, then goes out to a gathering, meets the Bond girl, introduces himself with the time-worn "Bond, James Bond" line, sleeps with her, pisses off the villain, and then, well, you know. And Bond is cool, and never gets ruffled by all the action around him, while the villains only keep a facade of cool, before losing their cool and their game to Bond.

However, I'd seen 'Casino Royale' and was impressed with Daniel Craig's portrayal of the Bond character, and was therefore semi-keen to see this movie.

Unfortunately, the movie has no storyline, has no original action sequences, has poor continuity (although we may have our censors to thank for that), and pointless characters. 

However, the elephant-in-the-room problem is that the villains in the movie suck. They are terrible. The director seems to have forgotten that the most important part of any superhero movie is the villain. It's the villain who is proactive, who throws the gauntlet, and the superhero simply responds. So, for the superhero to be 'super', the villain must be super too. A Superman must have a Lex Luthor with alien technology, a Batman must have a Joker, and a Hulk must have a gamma-ray enhanced Maj. Blonsky.

The villains in the "Quantum of Solace" are anything but super. Dominic Greene looks like the fake secret agent who pees in his pants in the movie "True Lies" and the other villain, the general, cannot stay within his pants and wants to do everything in sight. There is absolutely no class in the movie.

But this is not the movie's only problem. Throughout its one-and-half-hour span, one is left wondering what it is trying to say. I concede that some of it might be due to our over-eager censors exercising their fingers, but I came out of the theatre with a headful of plane crashes, car crashes, and killings, without being able to piece them together into a story. Further, I think the director does not know the difference between a fast-paced movie and a movie which has fast-paced camera work. This is particularly evident in the first fight scene, in which both Bond and the corrupt agent wear the suits of the same colour, and keep moving through buildings, making it near-impossible distinguish the puncher from the punchee through most of the scene.

Continuity is another issue - in the last scene, Dominic Green tells Bond that he has answered everything Bond asked and should be left alone. But that scene is never shown in the movie!

Finally, the movie brings in characters that have no meaning whatsoever to the story. For instance, there is the cute-as-a-button girl from the English consulate, who has no role but to be the Bond bimbo, and of course, a convenient target for the villains.

Zero stars for the movie. I'm just glad I didn't pay to watch this crap.