Showing posts sorted by relevance for query In love. Sort by date Show all posts
Showing posts sorted by relevance for query In love. Sort by date Show all posts

Tuesday, January 01, 2008

Of love, leagues, and relationships - 5: Ineffectiveness.

Previously in "Of love, leagues...":
Arthur looked longingly at the perspective gun. Does he dare do it?


Arthur looked around. The cubicles at work were buzzing with activity. No one was looking at him or at Trish, as he called her now. He took aim, the black of her eye settling in the middle of the crosshairs of the perspective gun. An instant later, Trish wobbled, struck by the megamillion Boules of power (brain-joules). Steadying herself, she gave Arthur a look that only she could. Full of hope and fear, Arthur gazed at her quizzically.

"What did you do that for!?", Tricia asked, dusting off Arthur's perspectives. "Why did you fire that thing at me!!!?"

Arthur was taken aback. Naively, he had expected the gun to work; for Tricia to understand how he felt, and reciprocate in some manner. But at the moment of epiphany, he realized he hadn't read the fineprint on the gun:

Not effective on women in love or labour.

The thought brought a wry smile on Arthur's face. Tricia is in love. Fate had just sent him a message. Heeding it, he turned to walk away, when Tricia stopped him. She had a melancholic look in her face. An empathy that only one rejected in love could muster descended on her eyes. Taking Arthur's hand, she said, "I know".

Arthur smiled. It was the end of the road for this fantasy, he thought. Determined to move on, he walked away, when his eyes fell on the e-calendar posted on a far wall.

It was two days to New samvat's, the festival that celebrated 60,000 years of human existence. This was big, and humanity had planned an enormous celebration. Would he be able to enjoy the day?



Monday, July 18, 2005

Why technology is like art

One unfortunate consequence of being in the software profession is that people don't usually associate software with creativity, beauty and expression. For that matter, most people don't even like technology, as it either scares them or strikes them as being 'mind-driven' rather than 'heart-driven'. This is less true in India where it is 'cool' to be a 'code-freak', than in the US, but here too software engineering is treated as a well-paying 'love-less', 'passion-less' deskjob'. What is more unfortunate is that many software engineers too treat it that way - seeing the profession as a way to make a living rather than seeing it as yet another way to vent their creative cravings.

I wonder if it is because most people fail to see the beauty resident in a good program, in a well-designed 'geek-toy' or in a software tool. So, in this post, I want to present my views on the similarities between good art/music/architecture and good technology. Needless to say, I am only talking about my experiences.

Here goes:

Great architecture and great technology have universal appeal.

There is something about great art/architecture/music that appeals to a very wide audience. I know many people who have never heard Carnatic music, but simply love the Pancharatnas rendered by Balamuralikrishna. I myself fell in love with Beethoven's symphonies after hearing them at Vienna and I had zero exposure to western classical music then. Almost the entire world loves the Taj Mahal.
The same holds for technology. The Apple IPod, the Internet, Google, Blogging...to name a few.

Great art and great technology are timeless

I know that many of you will take issue with me on this one what with new tech toys and software coming into the market every day. But consider, for a moment, UNIX. Consider TCP/IP, with its extensions, and you'll realize what I mean.

Great technology is simple - sometimes deceptively so
Great technology peels well and peels long - just like great art.
Great technology creates experiences - just like great art.

Great technology is always simple - sometimes deceptively so. Anyone who has coded Quick sort would be quick to point out how the algorithm which stated in its textual form is:
Step 1: Choose an element and put it in its right position in the array.
Step 2: Repeat the same for the elements to the left of the array
Step 3: Repeat the same for the elements on the right
takes many iterations to get right. And then, we could talk about its complexity. And then, we could improve its efficiency for boundary cases, and then we could make it generic, and then provide proof, and then...you get the idea. The same holds good for almost every piece of hardware, for every game sold in the market place. Abstraction is a fundamental construct of technology. Which is true for art as well. I 'sort of' play the violin in Carnatic style, and believed for a long time that all there was to Carnatic music were the notes. You play the notes, and you have the song. Lately, I've realized that this is hardly the case. The notes are just one part of the song. There are the lyrics, there is a situation behind the song, and more importantly, the lyrics themselves have many meanings and so on. If you don't believe me, read the following line:
"mohada hendathi teerida balika maavana maneya hanginyako"
Translated, it means, "Why bother about your father-in-law's house when your wife is no more?". Apparently, this single line has many different, uncommon meanings, none of which are conveyed by the words(directly).

Great art creates experiences. Great music makes you forget the world. You lose yourself in the brilliant colours of a maestro's pictures. Technology does the same. We all know how we fought to finish our first video game, how we enjoyed the thrill of victory when we shot the villian (or ate the bad goblins), why, we even remember how we debugged our first program - don't we? Haven't we all had the days when we are so engrossed in a game that we lost track of time? Or so engrossed in getting a sorted linked list (this one is for you, Harsha) right in the 3rd semester programming class that we worked late into the night on an exam weekend!? Technology not only creates experiences, but also enhances them - take CDs and vinyl records for instance.

The principles of great art and great technology come from the same source.

More on this later...

Saturday, August 05, 2006

In love

Folks, I know this may come as a surprise to many of you, but it is about time I told this out in public. Yes, I am in love. Desperately in love. The 'object' of my affection stays near my place - she is a beaut, if you know what I am talking about.

When it comes to looks, there are few of her kind that can even hold a candle to her. She's so cool that she makes the Arctic Circle feel like a sun tan joint. She's so hot that she can melt your heart. Not just that, she has this amazing purr in her voice - which is simply to die for. She's got amazing brain-power for someone who looks like her, and not just that, she's low maintenance. Well, not absolutely, but relatively. On the outside, she's as tough as steel, but on the inside, she is one soft, sweet thing. Well, I could go on and on about how well she handles the rough roads of life, but I'll simply be making you guys jealous. So, let me desist.
Ever since she's come into my life, my travails have morphed into fun. Her smooth voice humming in my ear, I've been able to take on some of the most tight situations in life. She's with me almost everywhere I go, and when I don't take her along, she doesn't complain. A nice word is all she asks for - she's more than happy to let bygones be bygones when she gets it. She has also adjusted remarkably well with my family - they all love her, and in particular, my nephews just can't get enough of her.
So who is she? It sure was tough getting her to agree, but I've posted her photo on my website - go check her out.

Saturday, February 10, 2007

Of love, leagues and relationships

It was a lovely day in Betelguese. Arthur, with his head inside a newspaper, was sitting in a corner of the restaurant at the end of the universe. His retina caught the reflection of a female figure in his spectacles. Turning, he saw that the female figure had a familiar face - it was Tricia, his good friend; and she looked upset.

"Tricia", bellowed Arthur, drawing the attention of all the patrons of the restaurant.

Tricia acknowledged, walking towards him with a sad, burdened walk, not unlike that of a daily- wage earner who just lost his day's pay. She took the chair opposite Arthur's and sat down, taking a tissue to wipe a single tear that rolled down her cheek. Arthur asked: "Hey, what's the matter?"

Arthur had met Tricia through a professor of History at the Vogon University. Tricia, a student of art, was writing a thesis on the significance of art in Arthur's religion - Whotheheckisgod. Arthur, a self-confessed fan of anyone interested in his religion, was more than happy to answer her questions. They got along so well that they continued to meet even after Tricia completed her thesis, sharing a bond that Arthur shared with very few women. Arthur was Tricia's vault - a storehouse of her feelings, secrets, anecdotes and darkest thoughts.

Still sobbing, Tricia said: "Zaphod broke up with me this morning. He said he was no longer in love with me, and that I should go and find someone else. How could he do this to me!? After all the years we spent together!? I think he is with that b*ch, Trillian!"

Tricia and Zaphod had been going steady since their high school days. Zaphod was the only guy Tricia had dated, and her vault was full of plans for their marriage, children and the like. Trillian was the captain of the college cheer-leading squad, and made no secrets about her 'love' for Zaphod.

Arthur exclaimed: "My god! I'm so sorry!". The ridiculousness of invoking something that doesn't exist got to him, and then, handing a tissue to Tricia, said, "Why? What happened? You guys were so good together!"

Tricia replied: "Don't you understand? We weren't in the same league!"

"What league!?", asked a confused Arthur.

"Leagues", replied Tricia, rather impatiently. "I wasn't in his league...or to say it in geek-speak, I wasn't in the same level as Zaphod!"

"Oh. How do you know what league anyone is in?" asked Arthur, his curiousity overcoming his concern for his friend's distress.

"That is easy", replied Tricia. "In geek-speak, it is a function that takes a person's looks, age, bank balance, intelligence, figure, face, colour, smartness, popularity, confidence, and many such factors, and returns an integral value which indicates the person's position in the social ladder."

"Neat.", commented Arthur. "So, why weren't you in his league?"

Tricia replied: "You see, he is a football player. That gives him immense popularity. And he is smart. Me? I'm just a geek who gets straight A's. " [with a sad tone] "Guys like him don't fall for me... "

Confused, Arthur asked: "So, football players and cheerleaders are at the top of the social ladder?"

"Yeah. Add movie-stars, rock stars and basketball players to the list and you have the pharoahs of modern society. And remember, no one wants to date someone below their league. The least that is expected of a prospective partner is that he/she is at least in one's own league."

"No wonder." thought Arthur. Then, he asked: "How do you move up in the social ladder?"

Tricia replied: "That isn't easy. Plastic surgery is an option. Another option is to dumb down. A third is to become a guitar player, or a sportsperson. Ofcourse, money helps, but you only attract gold-diggers. Oh, and then, there are the social jet-pax."

"Social jet-pax?", Arthur asked increduously.

"Yes. jet-pax. Like winning a million dollars in a lottery. Or, in high school, having your parents buy you a cool car."

"Ah." Arthur was now seeing ladders and rungs everywhere. Then, as quietly as he could, he asked: "What about software engineers? Which rung are they in?"

Tricia smiled, knowing the consequences of her answer. With a flourish that only she could muster, she said, "Why don't you tell me when you find out?", and walked out of the restaurant.

--------------------------------------------------------------------------------
PS: With sincerest apologies to Douglas Adams. But hey, 'inspiration' is the sincerest form of flattery, isn't it!?

PS-2: Geez! What have I done! I've imitated the 'inspired one'!!!

PS-3: Now a mythical friend of mine is salivating (PS-3)...

X-box: To be fair to the competition. I just noticed that my orkut profile says I'm 100% sexy. Considering the number of girls I know, and considering that you need at least three votes to get such an entry, this is a scary figure, to say the least!

X-box 360: Zimply. To complete the quintet.

Sunday, April 25, 2010

A trenchman’s view of the ivory tower

For some time now, I’ve avoided talking about my current job – in fact, I’ve tried to avoid all job-specific posts on this blog. However, ever since I took my current position, too many people have asked me the precise nature of my work  - “Research SDE” isn’t a very common job title. Further, for the past few months, as I’ve had my head down in work, my blogging suffered and I realized that writing about work might be the only way to get some content in a Windows Live Writer window.

I underwent eleven rounds of interviews before MSR India offered me my current position. These were conducted on two separate days with a very eventful fortnight in between. Some of interviews went well, and some went poorly, but the one that challenged my entire graduate thesis was the one with a research manager, who is probably the most accomplished researcher in the field of static analysis. And I faced the most enjoyable enquiry I’d faced on my thesis – even better than my thesis defence!  Towards the end, he told me (and I paraphrase very liberally): “Sometimes, researchers sit in ivory towers and lose sense of the trenches and make unreasonable demands of developers. Can you describe an instance when you faced a demand you thought was unreasonable, and pushed back?”

At that time, I thought he was talking about hypothetical situations. Why would people who were more technically accomplished than most developers make unreasonable demands of them? It just didn’t make sense. I answered what ever I could forgot about it for quite some time.

Now, four years, half-a-dozen projects and with a bunch of successes and failures behind me, I realize that he was pointing to a fundamental difference in perspective between the two groups in the lab – developers (and I include PMs and dev managers in this group) and researchers. I also realize now that as both an insider in the lab, and an outsider in research, I have a unique perspective (which may be right or wrong). Hence this series. Here, I intend to write about research from a developer’s perspective, and of the life of a developer in a research lab. Please note however, that everything I say here, like elsewhere on my blog, is strictly my opinion, and has nothing to do with my current, past or future employers.

First we introduce our actors. Researchers are starters. They love starting new projects, coming up with new ideas, and working on new problems. Researchers thrive in uncertain situations, love unclearly defined problems, and generally are fond of exploration. Failures are acceptable as long as there is a lesson that is learnt. Theoretical soundness is more important than fit and finish – it is OK to have a solution for a problem that ignores the “corner cases” - provided the problem is unique and challenging enough.

Developers are finishers. We like conclusions, we like definite schedules, and we like knowing that what we are doing will be used directly by our audiences. We prefer certainty and while we do explore, we will almost never put our exploration ahead of our project commitments. Shipping is everything and the user is king (well, most of the time :)). Polish matters – a feature is worth nothing if it doesn’t work on a particular browser or a supported platform. In fact, I remember from my previous companies, exercising our code through automated test-cases on eleven different platforms before getting a green signal to ship.

Of course, these are generalizations. And like all generalizations, they have many exceptions. It does happen that a researcher puts on  a developer’s hat for a year or two simply because (s)he is committed to a project/idea. Developers do take technical uncertainty in their stride when required. However, what I’ve outlined is the basic nature of the two species – the starters and the finishers.

In future posts, I’ll narrate some incidents, describe some of the insights I learnt, including working with those beings known as interns, and attempt to paint an honest picture of the life of a trench soldier who was invited to the ivory tower.

Wednesday, March 13, 2013

Missing dad

In the Mahabharata, Yudhishtira was asked by the Yaksha of the lake what the greatest wonder in the world was. Yudhishtira replies promptly: “Day after day countless creatures are going to the abode of Yama, yet those that remain behind live their lives as though they’ll live forever. What can be more wondrous than this?”

I was in a similar state, until last Tuesday when my father passed away after a hard-fought battle with pneumonia.

Nothing is more final than death. Nothing is more gut-wrenching than doctors and nurses referring to your loved one as “the body”. Nothing is more shocking than seeing the body of your loved ones burn and their bones get handed down to you in a pot. 

Over the past year and a half, my father was diagnosed with multiple health problems. He had a blocked Right Coronary Artery, his kidneys were failing, and in April last year, he had a fall that led to a hemorrhage in his brain. Still, he and his doctors fought hard, which led to a partial recovery from all the ailments, sufficient enough for him to lead a near-normal life. However, from January this year, he was forced onto dialysis, and his health kept deteriorating until the final blow came in the form of pneumonia that proved to be untreatable.

I miss him.

While my dad had many accomplishments to his credit, the one that mattered to me the most was that he was an intense dad. The intensity with which he approached his role as a father (or grandfather) had to be seen to be believed. Be it carrying a sick 8 year old (me) for over six kilometers to get treatment, or waiting hours in front of my school to pick me up after my exams, or waiting in queues so that I didn’t have to - my dad always put my needs, desires, and even wishes before himself. He was always there for me and my brother – even for my nephews, when we needed him. He set the dad bar very high for my family.

Today, I feel orphaned – even though it was I (and my brother/wife/sister-in-law and mother) who was taking care of him! I realize now how many things my father had insulated us from; how many responsibilities, duties and dirty tasks he had taken on his shoulders so that we wouldn’t feel the burden. Suddenly, I feel like a teenager who woke up one morning to find himself a middle-aged man.

However, life must go on, lessons must be learnt, and we must look ahead. Therefore, let me conclude with some bit of advice from this experience:

* Get regular medical checkups: True, it is a hassle, it takes at least 1/2 a day, and it is tremendously annoying. But it detects many potentially deadly disorders in advance. So, if you are over 30, get a checkup done at least once in two years. If you are over 40, get a checkup done at least once a year. We came to know about my dad’s kidney failure only when it was too late to remedy it.

* Get health insurance: While it was heart rending to see my father take ill and be in pain, we were spared financial pain, thanks to a superb health insurance policy offered by Microsoft and my dad’s CGHS facility. If your company offers health insurance, ensure that you have at least a 5 lakh cover, and that your parents, spouse and kids are covered.

* Don’t take antibiotics at random: One of the most difficult aspects of my dad’s illness was seeing that a curable disease like pneumonia became incurable because of resistance to antibiotics. Apparently, this is because of indiscriminate use of antibiotics in the general population, both with and without doctor prescriptions, leading to the evolution of more and more resistant strains of bacteria and virii.

* Do talk to the people you love regularly: My father was in the ICU for nearly 4 weeks, during which he couldn’t utter a word. Day after day, we would go in only to see him either unconscious or unable to speak. He probably wanted to tell us something, but couldn’t. Neither could we convey to him any words of strength. Do not postpone words of love, encouragement or strength.

If there is a soul, I hope his finds peace. If not, there are our memories where he’ll be cherished as long as we live. Thanks dad, for all you did for me. And If I ever have kids of my own, I hope I can be half as good a dad to them as you were to me.

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.)

Sunday, November 28, 2010

More Indian sport

I love posts where I can say “I told you so”. After the 2008 Olympics, I wondered if this was a new dawn in Indian sport. The events of the 2010 asian games have strengthened my belief that it is indeed so. True, the shooters haven’t lived up to their potential, and the archers didn’t do as well as they did in the commonwealth games, but take one look at the details of the medal tally, and you’ll see what I am talking about.

A 1-2 finish in the women’s 10k race. A 2-3 finish in the 5k race. Gold in the steeplechase event. Gold in the women’s 400m hurdles after 24 years. Gold in the men’s 400m for the first time ever (unless Milkha Singh won it in his time). Gold in rowing. First time medals in skating and gymnastics. Golds in boxing. This games have been quite good for India.

What is also heartening is the manner in which these medals were won. Take for instance, Joseph Abraham’s last minute push to get the gold or Sudha Singh’s desperate lunge to finish first – how many times in the past have we seen Indian athletes overcome their opposition when placed in such situations?

Rest assured, things will improve. These heroes will now encourage more sportsmen and women in the country to come forward. With government support and strong private sector participation, not to mention rising confidence in Indian abilities, the future looks bright. Of course, the 2012 olympics will tell us how far we have come, but I’m more confident than ever that we have crossed one, if not all the hurdles in the way of sporting success.

Tuesday, September 10, 2013

“New Rules” for library developers

I love Bill Maher’s show, “Real time” on HBO, and in particular, am a big fan of the section “New Rules” where Bill Maher sets what are typically a new (and unusual) set of rules for his favourite targets. (This is one of my favourites, and there are more here.)

Of late, I’ve been thinking about announcing a set of “New rules” myself – but for library developers. Here are a few I can think of right away:

1. You will NOT accept a base class type as parameter to a function unless you mean it.

This is one of the sad legacies of Java. You have a class that you think might have multiple implementations, and so you create a class hierarchy. You then want to use this class in some function, and in conformance to traditional OO principles, you accept a base class (or interface) object as parameter. But you know that there are multiple incompatible implementations of the interface, so in your code, you specialize by adding a runtime check on the type of the object passed. Days go by, and an intrepid developer looks at your interface, and develops a class that implements it, and a third developer comes in and invokes your function using this object as parameter. The interface allows it, the compiler allows it, but voila, he runs the program and everything crashes!

Think this is a fairy tale? A classic .NET example of this is LINQ, which in theory takes a DbConnection parameter, but is really expecting a SqlConnection object (that establishes  SQL Server connections). So, it does a runtime check on the type of the class, which I’m quite sure is something like:

if ( connection.GetType() != typeof(SqlConnection) )

Enter the Microsoft Enterprise Library, and its class: ReliableSqlConnection, which establishes a reliable connection to a SQL Azure database. Create a connection of this class, and pass it to LINQ, and LINQ immediately throws an exception, even though this is a SQL Server connection, and LINQ supports SQL Azure databases!

2. You will not have hidden dependencies between your types

A class should be a single, cohesive unit of abstraction. Everything a class method needs should either be created in the constructor or in a static constructor, or must be taken as a parameter.

Consider the RetryManager and RetryPolicy classes in the Enterprise library. You use a RetryPolicy to specify how many times an operation should be retried. However, what is unknown is that the RetryPolicy class expects the RetryManager class to be initialized earlier. Now, my question is, if that is the case, why not do it in the static constructor of RetryPolicy? Or why not have the RetryManager create instances of RetryPolicy?

3. You will NOT generate user documentation exclusively from code comments.

This is another tragic consequence of Java’s influence on the programming world. When introduced, Javadocs were a boon to programmers – you wrote all your documentation as comments and there was a tool that automatically generated formatted HTML documentation, freeing developers from mucking around with Word and repeating everything one wrote in their code comments.

An unfortunate consequence of this is what I call “instant documentation”. Normally, when developers document functions, they are focused on documenting the behaviour of the function, and not the big picture or the 10,000m view. Extrapolate this to all functions and classes in the code and the entire documentation becomes about the trees in the forest, while excluding the forest itself. Users of the API are now unaware of why a certain structure/behavior exists, they are unaware of the interdependencies between the API components (except when bitten badly by them) and are unaware of the thought process behind the behavior, all of which are lost in the minds of the creators.

Sadly, there is now no incentive to write classic documentation like that of early versions of MFC, or like that in the *-nix man pages. No engineer gets to the Principal level by writing good documentation. What is worse is that even books are now being written this way, essentially printing copies of generated documentation. Which is a shame because this reduces developers to search-engine users rather than system-aware engineers. It prevents transfer of useful insights from those who build these APIs to those who use them.

4. Your test cases shall be your sample code

I have been frustrated time and again, by the sparseness and triviality of the sample code that accompany libraries. Why not supply test code written to test the API as samples? At least in theory, test code should cover corner cases, combinations of functions, and other conditions that would interest  users of the function/class.

5. You will make simple things easy, complex things possible

This is probably the golden rule of API development. The API must be easy to use for the most common scenarios. Most things must be accomplished with one or a few function calls. At the same time, users who have complex requirement should be able to meet them, maybe by writing complex code.

6. You will NOT write incomplete APIs

Completeness of an API is of course, a relative measure. It is easy, in the name of completeness, to fall down the slope of adding too much functionality. For instance, adding an encrpyt() method to a String class! On the other hand, today’s agile API writers fall into the YAGNI trap, by not adding necessary functionality – like a cache that does not have a clear() method!  APIs must have the full set of methods that a typical user might consider necessary.

7. You will avoid the “Kingdom of nouns”

APIs are no different from books. Have too many characters in your book, and the resulting mental overload will turn off most readers (with honourable exceptions of George R R Martin and Tom Clancy). So, think about every word you use for your class and function names. Class names are concepts – use as few of them as necessary. Use standard verb-ese for function names – like store/retrieve instead of AddToStore and GetFromStore – the simpler names have the full meaning of the longer ones with none of the conceptual overload. And never, never overload the meaning of a common verb to do something other than what its common usage suggests.

8. Your code shall be idempotent

Idempotency is probably the most important property in today’s multi-threaded, distributed environments. If your API depends on state, it is inherently unsuitable for a world where computations fail and are retried!

Before I conclude, apologies for the lack of examples, the poor organization and the length of the post. I’ve been away from writing for too long now Sad smile .

Needless to say, even though I present examples from the Microsoft world, these problems are not exclusive to it.

Tuesday, May 08, 2007

Of love, leagues and relationships - 4: The perspective gun

The perspective gun is a marvel of human ingenuity and innovation. When fired, it causes the victim to see the wielder's point-of-view on any issue - in a sense, it puts the victim in the wielder's shoes. However, readers should not confuse the perspective gun with the "walk-in-my-shoes" gun which literally puts the victim in the wielder shoes - by disassembling the wielder's and the victim's feet and interchanging them through a molecular transportation unit. The gun was doomed when a Vogon general, trying to use it on a human, discovered that using the "WIMS" gun caused him such trauma that it was second only to the effect of his poetic rendition. Later, the Vogon Central Command ordered the confiscation and destruction of every bit of the gun, an order that was carried out to the last nut and bolt.

Anyway, I digress. Back to the perspective gun. While the gun itself is very well-known, not many 'people' know the secrets of this weapon, and still fewer know its origins.

The perspective gun operates by targetting those brain waves that are generated by emotions, amplifies them and fires them at its victims. The amplified emoaves, as they are known, interfere with the natural emotions of the victims creating in them the same emotions as are present in the wielder. Still interesting, is how the perspective gun was invented. This was the work of one brilliant Indian scientist, Mankutimma, who in the year 2150 decided that he had to put all the emotional energy of his country to good use. Dr. Mankutimma had seen for himself how for eons, his fellow-citizens spent good ATP molecules on emotional issues, and how, broken temples, loss in cricket matches, and marriages between movie stars would induce extreme emotional energies in large swathes of the population. He started work in his private lab, working late-nights to create a transducer that would automatically convert emotional energy into electricity. After years of research, he came up with the EmoVac - the vaccum that would suck up emotions to generate electricity.

Dr MK also discovered an interesting side-effect. He found that he could take the brain waves collected by the transducer, amplify it and direct it towards a target. This, he found brought about an immense change in the victim, much akin to the effect that emotional dependence has on human beings. The victim began to understand the wielder, he began to empathize with the wielder's emotions, and gradually, himself became emotionally dependant on the wielder - to such an extent that the victim could no longer live without the wielder's presence and approval. This was a brilliant move - imagine how many wars you could win by simply forcing the opponent to agree to your point-of-view! Imagine how many arguments could be solved by making the arguees see each others' points-of-view? Dr. MK was excited and he went public with his invention.

The furore that followed was unprecendented. Human rights organizations protested against what they called violation of the right to free thinking. Animal rights organizations protested against the pain that animal test subjects of such a weapon would endure. And no amount of protesting by Dr. MK could convince the world that his weapon was actually a peaceful one.

Finally, the World Security Council setup a Mental Weapons Convention - the first of it's kind since the Nuclear Weapons Convention that closed down in 2050, to draft guidelines for the usage of this weapon. The convention came to agreement that while the gun itself wasn't undesirable, it's effects should be temporary, and suggested that the strength and duration of fire of the guns be fixed accordingly.

Even as the guidelines were being drawn, Dr. MK met a old friend from the country of England, and a few friends of his, and flew out of Earth, the perspective gun in hand. A few Earth-days later, the planet was destroyed, this time in a chilling game of pool, during which, as residents of the cue ball, the last sound earthlings heard was a resounding "thok" as the planet hurtled towards a orange-yellow 9-ball situated 9 light-minutes from it.

Arthur looked longingly at the perspective gun. Does he dare do it?



I haven't been well for nearly five days now, and even as I struggled to sleep every night, this story kept coming back like a recurring dream. So, I had to write this out, even though my temperature is hovering around the 100 mark, and I'm upto my neck in antibiotics.

Friday, March 30, 2007

Of love, leagues, and relationships - III

Arthur couldn't sleep that night. Twisting and turning in his bed, his only thoughts were of Tricia - a phenomenon that started with Tricia's account of her date with Ford Prefect. Somehow, he couldn't get her out of his mind. This rarely happened to Arthur - there were few girls that he cared about, and even fewer that affected his sleep. Confused, Arthur kept wondering about that dangerous four-letter word that turned minds into mush. Was he infected?

"Nah. How could I be? I have survived the attention of many girls...", thought Arthur, even as a twirl of Tricia's locks floated in front of his eyes.

"Well, who am I kidding? It wasn't many...it was a few. And those were different days", he thought again, reflecting on his current social situation. "I'm too busy to be infected.", he concluded. "After all, I still need to complete the implementation of BabelFish by yesterday."

[ Editor's Note: These days, people have no use for tense in grammar. Time travel has made tenses irrelevant, and even though authors (like yours truly) have stuck with basic rules of tense, it is perfectly acceptable to use tense in a haphazard manner, at the least, in your own thoughts.]

Arthur's reverie ended when the alarm went off, alarming Arthur that he had to run for a meeting with Tricia. A few weeks ago, Tricia had joined the same company that Arthur worked for, and as Tricia's team-mate, Arthur spent more than his fair share of time with her, a situation he loved as much as Ford hated. Somehow, Arthur and Ford were never able to warm up beyond the occasional icy stare or a cold-fish handshake, which was a new headache Tricia had to deal with.

As Arthur swung his silvery convertible into the parking lot, he noticed that Tricia's red sedan was already parked. "What a ridiculous car", he thought, looking at the garish red paint and poor styling that was a hallmark of most Kakrafoon cars. He could never understand how women could buy cars without giving a thought to their performance. Cursing under his breath, he walked up the two floors to his office, swiped his access card at the door, and walked in. As he neared his cubicle, he saw Tricia coming towards him. Her peppy walk, the big smile on her face, and the confidence in her gait, all told Arthur that she was still hung over from her previous night's date. Was it the date? Arthur wondered.

Too polite to question, Arthur smiled and waved at Tricia. As they both settled down in the meeting room, Tricia opened the conversation: "How was your night?", she asked.


Arthur knew this was a trap. He realized there was no way he could answer this question without asking how her night was, and he knew how much he dreaded the answer to that question. Smiling, he said "Oh, it was the usual.", and before Tricia could respond, he said "Hey, you know, I've found the problem with the natural language processor! We should have simply used an algorithm instead of artificial intelligence. A neo-Turing algorithm would have fixed the auto-translate-and-induce-poetic-tenor module..."

"Won't you ask me how my night was?", interrupted Tricia. This was important. Who in the heavens cared if the poetic-tenor contraption worked? And if anyone wanted to read Shakespeare, he could learn English! Further, this sinful contraption is what caused the disappearance of God and the subsequent chaos in the Universe.


Sensing that there was no way out, Arthur nibbled the bait Tricia threw at him. His silence was the green light Tricia wanted, and she described her date in what seemed like excruciating detail to Arthur. During her extempore, he recalled his first relativity lesson: "If a beautiful girl is telling you how much she loves you, it seems like a minute, and if she's describing her date with a bloke you detest, it seems like eternity. That is relativity."


At the end of her monologue, which Arthur had kept parsing for the words "propose", "engage", "diamond" and "ring", Arthur was relieved that his parser had failed on all counts. Arthur wondered why. Out aloud, he said: "I don't understand what you see in that Ford. His fashion sense comes from the times of the Model-T, he has the perfect face to frighten kids in the dark, and the guy can't even code!". Ignoring the look of weariness on Tricia's face, Arthur continued: "How can you, one of our best brains, fall for that no-brainer!?"


Stung, Tricia asked: "Why didn't you fall for that brilliant girl in your neo-Turing Architecture class? She was perfect for you." The sarcasm in her voice was unmistakable.


Arthur was forced on the defensive. "She wasn't my type.", he said, almost apologetically.


"You see!? That is precisely my point. And this is something I've been telling you since time immemorial. Attraction is not a deterministic function. Why don't you get it!?"


"But Ford doesn't meet any of the standards you've set for a date!", Arthur cribbed. "He is boorish, doesn't treat people well, isn't smart, can't keep up with a conversation to save his life, and isn't even in your league as far as work is concerned!", blurting out all his frustrations at once.



Tricia returned to her enigmatic self. She knew what was going on in Arthur's mind. Still, she didn't want to point it out, at least not yet. With a very kind voice, she said, "Well, that is something you need to understand by yourself, Arthur. I cannot teach you everything."


The rest of the meeting went off well. Arthur decided to mull over what Tricia said. Somewhere inside his mind was a little worm of doubt - "Does Tricia know? Is there anything for her to know!!!?"

Sunday, April 01, 2007

The cricket debacle

I didn't want to write about this. Really, believe me, I'm totally tired of watching, listening to and reading the same analysis over and over again. Come on, it is not like we had a national disaster! OK, the team lost. Get over it. And it is not even the Indian cricket team! Would you be as disappointed if a Wipro coding team lost in an international software competition? [Substitute an appropriate company if you work for Wipro ;)]

Anyways, in the discussions and articles that analyzed reasons for India's defeat, I didn't see two reasons I think are central to the debate: the lack of a sporting culture in India and the lack of respect for hard-nosed, nose-grinding-on-the-mill-stone work.

I think the first is more basic. As a country and as a culture, we lack sporting instinct, and love for sport. Blame it on the hot weather, blame it on excessive academics, or on over-indulgent parents, but the truth is that we don't really care about sport. We have weird notions of national pride and state pride, which we want to see satiated everywhere, but we don't love the game for what it is. We don't understand the discipline it takes to succeed at sports. We don't go to our children's school games with a video camera, we don't cheer for a school/ college/ city/ state team when it is playing, we don't broadcast school games live on local TV. We don't fight for schools to have good grounds, we don't ask for good coaching at the school/college level, but we all want the national team to dive like Michael Phelps at the start gun. Remember though, when I say we, I don't mean just us - I'm including the establishment, the government, everyone. Let's face it - as long as we don't care about sport, barring the occasional world cup win or test series victory, we'll only draw blanks. As the saying goes, if we have one finger pointing at Dravid and co., we'll have four pointing at the rest of us.

Next, I must highlight the lack of respect for hard-nosed work. As the saying goes, "Success is 99% perspiration and 1% inspiration". Bhimsen Joshi apparently stood in waist-deep water, practising his singing for over four hours everyday to become one of the doyens of music. Sachin is said to have stood in front of the mirror for hours - not checking his hairstyle as some would accuse him of doing - but perfecting his swing. In Microsoft's TechVista, Prof. C.N.R. Rao had a lot to say about hard work and deferred gratification. But these are not the stories we tell our youngsters. These are not the heroes we celebrate. We love the Dhoni six, as technically flawed as it may be, we love Sehwag's flaying shots outside the off-stump, and have the standard excuse when they get out to rash shots: "Arre yaar, voh dil se khelta hai", as though that is the Ganga jal that purifies all sin. As ever, form over function. (Note: Even as you read this, please please remember that I am NOT saying that Sehwag or Dhoni didn't work hard. I'm only saying that as a public we don't care about the work ethic that goes into anyone's success. )

I've seen parents who came to a cricket camp I attended as a child, shouting at the coach, asking him to give more turns to their son to bat/bowl. I still recall the howls of protest that went up as the coach asked us to run around the field, to stretch, and to run up and down the pitch. All we wanted to do then was swing the bat, and throw the ball. Everything else was secondary. And there was a not-so-implicit hierarchy: batsmen belonged to the Brahmin class, bowlers were the Kshatriyas, the wicket-keeper was the shudra, and the fielders were the untouchables. Imagine the sort of cricketing ethic we would have learnt here. And no, I'm not blaming the coach - it was the parents, the friends, and the onlookers, who were always more happy when the player hit three or four sixes, as opposed to taking a crucial, match-winning catch.

Appreciation for hard work, appreciation for the people doing the grunt work that keeps the machinery running, appreciation for people who put the team before self - these are not attributes we teach our youngsters. Until these change, we may see occasional successes, never repeatable ones.

[Postscript: I know this may upset some of you - if you are going to flame me, please keep in mind that I'm not claiming that these are the only reasons or even the most important reasons for India's defeat. I'm only saying these are reasons that I did not see mentioned.]

Saturday, June 21, 2008

Money v/s Work

Folks who are in the IT field are lucky, in the sense that we are paid well to do something we(hopefully) love. At least, me and many of the people I know in the industry enjoy our work - and some of us do "dream in code". Choices we've made in life would reflect this - we've picked quality of work over money or other considerations, we've always strived, maybe imperfectly, to reach perfection in our work, and we've put team goals above individual monetary gain. However, a question has been bothering me for a few months now: is there a time in life when you should give in, and start looking at the other side of the equation seriously?

It's not that I'm underpaid, or that I feel I don't make enough to sustain a good standard of living in today's Bangalore. But, as you grow older, and hopefully become more mature, you start asking yourself the tough questions, and that is when money comes into the picture.

When I joined my current organization, I took a big hits both in terms of salary and in terms of promotions and 'career growth', all for intellectual and academic growth. Recent developments have made me realize that the compromise on conventional 'career growth' is not a one-time affair, but is something that I'd have to accept as being a long-term phenomenon. As my senior in the org pointed out, I'm now trying to straddle two different boats, and with both pulling in different directions, there is a definite threat of me falling in between. Since one of the boats, that of academic growth is not a very viable option, maybe it is time that I bit the ಕಬ್ಬಿಣದ ಕಡಲೆ and made the switch.

What do you think? Let me know :)

Saturday, February 17, 2007

Of love, leagues and relationships - II

It had been a week since Arthur and Tricia met at Milliways, the restaurant at the end of the universe. Always the inquisitive one, Arthur had been pestering Tricia with more questions about leagues and social ladders. Tricia kept avoiding them, hoping Arthur would get the message to buzz off. Unfortunately, sensitivity wasn't one of Arthur's traits, and he kept bothering her. Tricia, deciding to end the matter for once and for all, told Arthur to meet her again at Milliways, telling him that he should come prepared with any questions he may have, and this would be the last time they talk about this topic.

Arthur had agreed. Today, he arrived an hour early, full of anticipation. If there was one thing that would excite Arthur more than a date with a beautiful girl, it would be coffee with a girl who had answers to his questions.

"Hi", a lively voice hummed in Arthur's ear. It seemed Tricia had already gotten over Zaphod.

"Hi!", exclaimed Arthur, inviting Tricia to sit down. "Don't we look happy?", he asked.

"Oh, I have a date today", said Tricia. Then, looking at the expression on Arthur's face, she said, "Hey, a week is more than enough to get over someone, OK!?". Arthur could only hold his hands up in a "I give up" gesture. "Besides, Ford is a really nice guy!", Tricia completed.

"Ford!?", Arthur exclaimed. "Ford Prefect!!!? He isn't even human!!!"

"Oh, you're just jealous because you aren't seeing anyone", said Tricia. She knew that every guy who opposed her choice of a date, had to be jealous of her. After all, how could she - someone who had been with one other person who left her for someone else - how could she be wrong!?

Arthur was in no mood to discuss Tricia's dates. Changing the subject, he said: "Hey, so you are going to answer any question I ask today, aren't you?". "Anything except the one you asked the last time", Tricia said, the smile on her face brightening the sun-lit cafe even more.

"Ok", said Arthur. "You see, I told my friends about the leagues concept - they laughed at it, saying it was as real as the leagues travelled by the Nautilus. [Editor's note: or Noah's arc, for the more biblically inclined.] And they had good examples. John Nash, for example, who was schizophrenic and a geek, married his lovely student. What do you have to say to that?"

"You know, you are an idiot", she replied, barely concealing her frustration. "Celebrities are different. What a Michael Jordan is to the general public, John Nash is to math geeks! How is this different!?". Noticing the inquisitiveness written all over Arthur's face, she calmed down, saying: "There are many phenomena involved here. You have to be popular if Hollywood movies are made about you. That itself would catapult you to the top of any league. Further, leagues are like fractals. You have mini-leagues in different professions, places, and what have you. So, in the math-geek social ladder, he would've been top rung!"

Arthur's ignorance of social matters always exasperated Tricia, but this degree of ignorance was too much to bear.

"Ah", replied Arthur, deliberately ignoring Tricia's tantrum. He wasn't going to let anything come in the way of his questioning. It wasn't everyday that Arthur got to learn about the intricacies of the human social ladder.

"What about the jerks that go around with beautiful girls?", Arthur continued. "They are bounding over leagues to attract dates in higher leagues?"

"Nah", replied Tricia. She understood that Arthur was taking this opportunity to pine about his own social situation. With the tenderness of a gardener caring for his roses, she spoke: "The rules still hold. Particularly the one about social jet-pax. Why do so many blondes hang out with that Playboy jerk? These guys either have money or fame, or something that makes them attractive to the other sex. Don't you know about that Elizabeth-something who married 30 or 40 times, even when she was over fifty?". Clearly, Hollywood and Playboy trivia didn't figure amongst Tricia's strengths.

Arthur was nodding vigorously. He felt vindicated. After all, nothing was wrong with him. It wasn't his fault that he wasn't the 21st century's greatest mathematician; it wasn't his fault that he wasn't rich. And of course, he was now convinced that getting to either of these milestones would solve his social problem!

But, as ever, Tricia had authored a little twist in her tale. "While all of this holds, what matters is how you are as a person. Confidence, patience, kindness, and politeness are all qualities that appeal to people. Irrespective of how much money or how many Nobel prizes you have, what matters in the long run is how you treat people, how you get along with them. I firmly believe that you can learn a lot about a person by the way he treats those whom he doesn't have to treat nicely. You know how well a guy is going to treat you 20 years hence by seeing him treat the waiters, bar-tenders, bus-drivers, sales-clerks, and in general, anyone who he doesn't have to be nice to."

Arthur was silent. His order for coffee hadn't arrived in half an hour. But the latest salvo from Tricia prevented him from blowing a fuse in the waiter's face. Gritting his teeth, he began looking around for the waiter.

"OK, is that all you had to ask?" Tricia enquired. Then, seeing the blank expression on Arthur's face, she got up to leave. "So, see you later. I don't want to be late for my date with Ford."

As she rose, Arthur remembered an incident when Ford had thrown a full cup of hot cappuccino in a waiter's face, right in front of Tricia's eyes. His brain performed a simple logical deduction, and decided that enough was enough. His hypothalamus flooded his bloodstream with adrenaline, turning his face red. With what manifested as anger, Arthur walked up to the counter, picked up a chair and smashed it through a glass display that held pastries of various kinds.

As he walked out, Tricia looked at him with admiration in her eyes.


I wrote this and Part-I of this post simply to get an idea of how difficult it is to write a narrative, as opposed to writing up an argument. Guys, it _is_ tough. Kudos to all those friends of mine who manage to write so many amazing stories so well.

Saturday, March 18, 2006

The 'Average Curse'

Regular readers of my blog would probably have already realized that I have many interests in life. At the risk of sounding very pompous - I read a little, love to write, enjoy listening to music and singing, play the violin, play cricket, table tennis, badminton, and many other games/sports, follow politics/current affairs and try to keep up with the happenings on the economic front. Ofcourse, my chosen field is software development, and I am decent at what I am supposed to do.

However, in all of this, I suffer from what I call the "Average curse". While I may not suck at any of these, I am not exactly an expert in any of them. There is always someone in my friends' circle who can thrash me in each one of these. For example, for everything technical, my good friend Balbir is head and shoulders above me. If you take cricket, there are at least three or four of my close friends who can whack my bowling for over 20 runs in an over, and prevent me from scoring any when they come on to bowl. And then there is TT, where again, I am an also ran. If it comes to music/singing, even my nephews can do better! My brother may not have had formal training in music, but he can recognize raagas even before I can hear them!

In fact, like fractals for which the part is a reflection of the whole, my average curse takes effect both at macro and at micro levels. In computers, for example, I am supposed to have done a Masters' degree with specialization in compiler concepts, but I know atleast two people with no formal background in the field who can run rings around me in the subject. The same applies to networking or security - two fields on which I've worked earlier. Or for that matter, C++ - my favourite language.

So, essentially, you get the bane of my life - being average. An also ran. Now, don't get me wrong. It is not that I am frustrated with what I have. I mean, there is a wholely positive side to this - I do have some amazing friends who can keep me on my toes all the time. But still, there is one side of me that wishes I had something of my own - where I could be a Vijayan, if not a Stroustrup.

Anyways, had to get that off my chest.

Friday, December 29, 2006

Post 150, New year and so on.

Folks, this is my 150th post. Neat, eh? And to commemorate it, I've decided to make it the last post of this year - 2006.

The year started with me being coming back refreshed from a trip to Kansas City. And it is ending with me being not-so-fresh in a new company in Bangalore itself. In case you wondered, its been a good year for me overall - I got to keep all but one of my new year resolutions for the year! I finished a (half) marathon, wrote more than 52 posts on this blog, bought my car, fell in love, fell out of it, changed jobs, made new friends, renewed old contacts, read 23 new books, got a couple of awards, and was never bored for most of the year.

At the same time, I left a place that was really dear to me, lost a great manager, lost one good friend to an argument, lost face once, *never* practised the violin - something I swore I'd do, and...well, let's leave it at that.

So, what are my resolutions for next year? Here goes:
- Better my half-marathon time,
- Get some serious violin practice
- Get some piece of authorship out in public
and some more...maybe I'll add them in later. :D

Anyways, have a great new year ahead. Thanks for reading my blog, and may 2007 bring you here more often, even as it brings you far more happiness and joy than you can ever handle.

Saturday, August 23, 2008

To hell with you, Apple.

Should you buy the iPhone 3G? Well, a friend of mine gave me a lowdown on the phone's capabilities in India, and the verdict is simple. If you earn your money like I do, the hard way, don't buy the it.
Why, you ask. Why not buy the most desirable piece of hardware designed for your palm? Well, here is a rundown of reasons:
  • 3G is not available in India yet, and you don't know what prices these operators will charge once it does come up
  • The previous point is important because like in the US, the iPhone ties you to one operator. You cannot switch (at least not officially).
  • Your GPS has no driving directions (unlike the Nokia phones) and as a corollary, no audio directions either.
  • The hands-free kit is extra
  • There is no option for bluetooth headphones
  • You cannot increase storage beyond what you're provided.
  • Price: At Rs31,000 for the 8GB version, the phone is not only four times more expensive than the ones available in the US, it still subjects you to the same conditionalities, of being stuck with one operator.

As someone who fell in love with the iPhone the moment I saw it (many a time I would go to my colleague's desk only to try the touch screen), this has been a major disappointment. I am OK with all the other drawbacks (those of GPS and storage, and bluetooth headphones), but I cannot stand thae fact that I'll still be tied to one operator despite paying the full price for the phone. This is shameful and shows the utter lack of regard that Apple has for Indian customers. Just for this reason, I'll say - "Shame on you, Apple".

Sunday, December 30, 2007

Surfeit of India books

Somehow, in the last few weeks, 'India' books have been dominating my reading. I re-read Ramachandra Guha's "India after Gandhi", finished Shashi Tharoor's "The Elephant, the Tiger, and the Cell Phone", and am reading V Raghunathan's "Why are we the way we are", and have Edward Luce's "Inspite of the Gods" next on my reading list.


It's been fun. All the authors (ones I've read) love India. Their patriotism shines through every word they write. However, each book has a different focal point to its verbiage. Ram Guha's book is more political, placing emphasis on the political history of the country, focusing on personalities (and events) that shaped India, all the while making the point that India remains a single country because of democracy and the vast number of safety valves it offers.

Shashi Tharoor's book is better: the author has an amazing sense of humour, he is a great story teller, and this book is far more about ordinary Indians than Ram Guha's. Shashi talks about Bollywood, Cricket, Hinduism, Gavaskar, Ramanujan, rural womenfolk - in short, everything that makes India, India. I'll post a few snippets after I obtain his permission. But in any case, go read the book - it is a very easy, fun-filled and anecdotally-rich read, something you won't regret in the new year.

If the two previous books gave me a sort of a high, V. Raghunathan's "Why are we the way we are" brought me crashing down to garbage-ridden, potholed earth. In his book, Raghunathan examines, using Game theory, many aspects of Indian behaviour and concludes that our selfish desire to go ahead of our neighbours makes all of us poorer in turn. With lucid and contemporary examples, Raghunathan proves that the India would be a far richer and liveable country if only everyone lived by the rules, even if acting purely in self-interest. A chapter on the management principles of the Gita stoked my curiosity and I think I'll give the great book another read.

If you are Indian, or want to know about India, particularly why we tick (or barely survive), these books are a must read. If I know you, you have it easy: ask me. :)

Happy new year folks. Do keep reading and keep your comments coming.

Thursday, October 04, 2007

OneNote is all you need

Yep. Read it with the "One love is all you need" tune. Nope. I haven't become a fan of "Blue". And yep, OneNote is a Microsoft software which does all you need.

For sometime now, I've been cribbing about usability of Microsoft software, particularly once you take into account how much it costs you to own them. I also have a slew of drafts lined up for you, all criticizing various aspects of Microsoft software, from Vista to Visual Studio. I had earlier cribbed about tables in Word - how you have to pre-create them, and you cannot simply tab your way into creating them. I also cribbed about how you cannot mix content the way you like, how you cannot search into content (images) and so on.

Well, OneNote is here. And really, it is all you need. OneNote lets you put text, handwriting, images, music - and here is the differentiator - where ever you want. Really. And It Just Works! In addition, most content is searchable. Even your handwritten text, or printed text in images. And searchable. And it integrates with Outlook. And you can make sections, pages and the like, as you need. And you have a shortcut in Windows that pops it up for you to take notes when your idea ticker starts to work. And you can tag things, make items in OneNote become Outlook reminders, and in short, do everything you need.

Try it out today - http://office.microsoft.com/en-us/onenote/default.aspx?ofcresset=1. This is one software, I'll bet, that will win, well, your mind!

Thursday, May 03, 2007

On the topic of marriage.

All these days, I have desisted from writing about (my) marriage (or rather its prospects and experiences) on this blog. And other than a couple of posts, one where I introduced my current love interest, and the other where I mentioned her, I've generally maintained silence on the topic of love.

Have you ever been the last man batting at the crease, or one amongst the last pair in a cricket match? If you have, you'll appreciate how tension-filled the entire situation is. Here you have your 10 folks hoping and praying that you last (or praying that you don't so that they can go home), while you have the opponent trying his best to get your wicket. You're stuck in between, trying desperately to keep your averages at their current level.


My situation w.r.t marriage is similar. Depending on which team I'm playing for, I'm either the "last man batting", holding out for the bachelors, or I'm the non-striker in a last-wicket partnership for the bachelors. (Yes, I sense the irony in the statement.) This makes my parents, relatives and those of similar disposition really nervous. Now, they are in the stands, cheering on, not for my continued stay at the crease, but for my instant demise and return to the pavilion, where they'll force me to join the opposing team. Leading the attack on the opposing side, is a whole host of friends, well-wishers and generally-known people, all of whom are determined to get my wicket. Just today, I was playing for my primary-school team, and the striker got out - clean bowled to a well-pitched-up googly. As the last man remaining, I had to hide my face and get out - lest he run me out with the aid of some unheard-of rule. (Remember, even the umpires support the bowling team.)

What compounds the 'tragedy' (quotes intentional) is that one of my best team-mates has now left and joined the opposing team. While I'm really happy for her, what gets my goat is that she is now spear-heading the bowling attack - even colluding with one spectator to get me out!

So, here is to batting through the year! It is still early days...