Saturday, February 10, 2007
Of love, leagues and relationships
"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.
Monday, January 22, 2007
More random thoughts
Sunday, January 14, 2007
Random thoughts on a lame Sunday
Sunday, January 07, 2007
Technology notes Vol 1, Issue 3 Jan 07
* Graphical User Interface design
Most people incorrectly think that GUI design is simply a matter of dragging and dropping cute (or not-so-cute) buttons from a toolbar onto a flat surface. Furthermore, many UI designers go by the adage "Cute is user-friendly" - i.e. the fancier the interface (metallic buttons, colourful pictures and the like), the better. Form over function. Just like the times.
Ofcourse, it is ridiculous. And the best example comes from nature. Look at any predator on Discovery, Animal Planet or NGC. A cheetah in full flight is one of the most amazing sights in nature. Why is it so sucessful? Simple. every bone, every muscle, every organ in the cheetah is designed for one thing - catching prey. Nature gives no room for excess baggage. Unfortunately, with software you have a lot of leeway. While every bit of software we write must be designed towards meeting the user's need, often we see more focus on frivilous form...often at the cost of functionality.
Such features are common place. Heavy e-mail interfaces that take ages to load, instead of plain HTML. Tiny, non-standard, fancy buttons that are hard to access and understand, instead of neatly placed standard buttons and icons. Gimmicky features that force users to upgrade their machines. Don't get me wrong. I'm not saying that all fancy UIs are bad, or that they don't have their place. For instance, a program that teaches kindergarten arithmetic cannot and should not use a standard Windows interface. However, user interfaces should never sacrifice the principles of orthogonality, affordances, learnability, closure and consistency over ephemeral feelings that won't last beyond the first use. See (an old) UI hall of shame here. See Microsoft guidelines here and in the interests of balance, the Mac guidelines here.
* Silver bullets in software engineering
(This is based on a discussion I had with a friend in the corridors at work.)
Fredrick Brooks wrote a seminal paper on software engineering where he mentioned that there were no silver bullets in software engineering or that there was no one technique which provided a solution for the various problems of complexity and cognition that software engineers face. However, with every new technology that is introduced today, we hear choruses of cheer - that the complexity of software development is conquered. Recall the hype over Java, Graphical User Interfaces, Rapid Application Development, and the dozens of technologies that we don't even remember today, and you'll appreciate what I'm talking about. However, we still haven't gotten over our search for silver bullets. Consider the problem of performance. The answer? multi-threading. Consider user-land complexity: how do you solve it? Simple, make it a Graphical User Interface! Never mind that multi-threading works only when the threads perform more-or-less independent tasks. Never mind that command-line UIs work really well for most applications, provided they offer a little bit of user-guidance to flatten the learning curve. BTW, try using Intervideo's DVD creator to make a data DVD and let me know if you wouldn't rather have an app that does this:
cd /home/fordvd
dvdwrite -f data /home/fordvd/* /dev/dvd
Anyway, lets move on to the final topic of this edition:
* Managing Technologists.
Before I write anything on the topic, let me acknowledge that I haven't managed people formally. I've led small teams, mentored people, worked with super-cool teams and am having an amazing run of luck as far as managers are concerned. Anything I write here is based on those experiences. Here are some things I think are a must if you're managing technical people:
- Good quality of work. Ok, you may not be able to ask your people to work on a static analysis project that defies the decidability of the halting problem. But the work you ask people to do must challenge their intellect. Suppose all you do is maintenance, see if you can get an additional project that furthers your product. If you do product development, try and find cool problems that your engineers can solve.
- Respect your engineers. Never ask them to do something you wouldn't do yourself. Don't shift the grunt work onto the shoulders of your reportees. Don't ask them to build a system twice. Don't ask them to solve a solved problem. Trust them - but question their assumptions. Praise honestly and publicly when they do well - rebuke gently when they don't.
- Be the "Facade" pattern. Shield your reportees from the politics of your organization. Make their achievements public. Remember that their failures are yours but their successes their own.
I'll add more when I get them.
Friday, December 29, 2006
Post 150, New year and so on.
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.
Bangalore Autos
The "Devdas" driver: This person is actually sad to let go of your fare. He puts on a sorry face, and with a voice that reminds you of that loser, Devdas, asks you to find an other auto. Of course, it maybe that he's simply sorry about something else, but at least you get to hear a kind word. Needless to say, his species is rather rare in the ecosystem of Bangalore autos.
The "Amitabh" driver: He is ANGRY. You've just brought him down to near stopping speed from his usual "take-you-closer-to-god" speed, and not just that, have dared asked him to go to a place where he doesn't want to! And beyond that, you have the audacity to quote the rulebook, and tell HIM that he has to take you where YOU want to go!? Persist, and you get a quick lesson in the "Art of Kannada scolding". Ofcourse, his species dominates the ecosystem - much like rats in a sewer.
The "Nero" driver: He is the indifferent one. He couldn't care if you existed, or if you wanted to go somewhere. All he knows is that you are too insignificant to be registered in his intellectual and visual radar. A quick glance, and you are consigned to the fumes of the exhaust, as he haughtily turns forward and speeds away.
Any more that you guys know of? Post it in the comments!
Saturday, December 02, 2006
The true face of a communist revealed
Monday, November 27, 2006
The Rajinder Sachar report, Part I
Saturday, November 25, 2006
Cricket crazy? No, power drunk.
Sunday, November 19, 2006
No one is irreplaceable
Saturday, November 18, 2006
Technology notes Vol 1, Ed 2, Nov 06
* Peopleware
At the recently held Bangalore Book Fair, I got the opportunity to finally buy a book I'd been hunting for a long time. This book, called "Peopleware", written by Tom DeMarco and Timothy Lister is a classic - something that can be compared with "The Mythical Man-month".
Now we've all heard about hardware, software, shareware, and even vapourware. So, what is peopleware? Well, it is about the only raw material that matters in the software world - people. It is all about how people must be managed, the kind of work environments that software companies must provide, and the kind of managers/senior leaders that you must have in the profession for a company to succeed.
A must read book for anyone, including those not in the profession. Nothing in the book is new - just uncommon, like common sense. Let me know (if you're in Bangalore), if you want to borrow the book.
* Pair programming
The first time I heard about pair programming, I laughed my heart out. My good friend Sathya who introduced the concept tried very hard, in his own inimitable way, to convince me about the worth of the concept. Nothing would make me budge...two programmers working on the same piece of code at the same time!? What crap! What about productivity? What about cost!? What about conflicts!? These were all questions I asked.
It is a different matter though, that later in my life, I actually wrote a paper on the benefits of pair programming! Even then, despite having officially pair-programmed more than a few times, I hadn't experienced the "Aha" moment - when I was convinced that pair programming helped me do a better job of something.
Around a month back, a manager at my workplace had a cool idea on some updates to a web-site that we host. Essentially, we were changing the rendering algorithm, and he asked if I would work with him on it. I agreed, and man, was it fun! The three hours we spent deciphering the existing code and tailoring his algorithm were probably the most productive hours I've spent in some time! And it was fun! We each complemented the other's skills, learnt from the others' approach to code, and finally came off with renewed respect for each other.
Now that is the "Aha" moment I was looking for. That is one of the biggest benefits of pair programming - building better teams.
Anyways, this is all for this edition. Keep visiting this space for more technical updates. Next time, I plan to write about user-interfaces and the general stagnation in the area.
See the previous edition of technology notes here:
Sunday, November 12, 2006
Linguistic Abuse
For example, take the word (phrase?) "high-tech". It stands for high-technology - which means technology of a certain calibre, a certain novelty, and a certain degree of precision, one that stretches the state-of-the-art in a field. How do our papers use the word? Well, simply, everything in the 'high-tech' (sic) city of Bangalore is high-tech. The bus-stand is hi-tech, even though it doesn't have proper water-proofing. The buses are hi-tech, even though they run on 80s technology. The government is hi-tech, even if it doesn't understand technology. Everything is hi-tech. Most vulnerable to this phenomenon is the New Indian Express - which is otherwise an excellent read.
Here is an other one. "Militant". Websters' defines "Militant" as someone who takes to arms for a selfless cause. A "terrorist", on the other hand, is one who "systematically uses terror as a means of coercion". So, are the terrorists in Kashmir working for a selfless cause? Or are they using terror to coerce the Indian government into accepting the two-nation theory? Well, if you go by the anchors, they are those fighting for a selfless, no doubt, secular, cause.
I'll add more as I remember them.
The biggest threat to India
Well, it is Communism. And communist control over premier educational institutions in the country. This in turn has led to their control over all of primary/secondary education, over most of the print and visual media, and over many influential institutions like the ICHR. As Ayn Rand, in her book, The Fountainhead, eloquently stated, this bunch of commies are not interested in 'physical' power. What they want is power over thought. Power over the minds of the people. They want to hold the levers to power, not power itself.
So, how do they accomplish this mind-control? By obfuscating facts. By telling lies. And by having acolytes back their lies. Here is an example: In today's "We the people", the debate was about "Health-care outsourcing". Barkha Dutt introduced a Bill-something from California who had come in to Fortis for treatment. He was obviously impressed with the world-class facilities and the low cost. Obviously. And two other truths are self-evident. Health-care outsourcing helps hospitals improve, it gets India more foriegn exchange, and it clearly benefits the patient. Now that the worthies cannot dispute these facts, the JNU-types on the show ask, "Who will do anything about the Indian Bills?". Point. But what does this have to do with the whole concept? Indian Bills cannot afford treatment because the government spends 1% of the GDP on healthcare, instead of 5-7% like the other countries, and even that 1% is not used effectively. It is not because the private hospitals treat foriegn patients. But the force with which these guys put it, the private hospitals are put in the dock, for no fault of theirs. And in this debate, you can be sure, there will be no mention of all the Pakistani kids who got treatments done here! BTW, if you treat a Pakistani, if you treat a Kashmiri terrorist, you are a national hero. If you treat an American, you are a blood-sucking vulture.
And this is typical. Praise a NarayanaMurthy for creating Infosys, and these worthies will say "Oh, it provides jobs to only 50,000 people." Praise the software industry for letting these worthies fly to other countries witout being treated as terrorists, and these will say "Oh, it is *just* a few million jobs." Praise the export sector for doing well, and these worthies will point to all those below the poverty line. But praise a Mao, praise a Stalin, praise a Caucescu - all butchers, and these a*holes will clap with you.
Disgusting. And if you haven't read these three books - Animal Farm, 1984 and The Fountainhead, I'll urge you to read them now. It is the duty of every citizen to see through the propaganda of these a*holes.
Saturday, November 11, 2006
Much more typecasting
Cell phone conversation
Receptionist (Opening a register of employee contact information): Sir, can I have your cellphone number...in case someone wants to contact you
Moi: No, sorry, I don't have a mobile phone
R (Incredulous look on his face): Sir, but we'll keep it confidential...won't give it to anyone
M: No, really, I don't have a mobile phone!
R: Sir, but we need it for our records...
(At this time a 'worker' walks in carrying a heavy case. He keeps it on a table nearby, fishes out a mobile from his pocket and dials...)
R: Sir, even *he* has a cell phone...
M (big smile on my face): Well, OK...what you mean by that!?
R: Sir, you *really* don't have a mobile?
M: No, *really*, I don't have a mobile...do you want to check my bags now to confirm it?
R: No...sir, sorry...
(Moi walks out of the door...the 'worker' suspiciously follows me out, staring at me most of the time...)
Sunday, October 22, 2006
The biggest obstacle to Time travel
Pseudo logic.
This is the kind of thinking that pervades most of Indian life today. I'm subscribed to an orkut community on Calvin and Hobbes, on which someone posted a question wondering what Calvin's star sign was. Here is what is possibly the 'best' answer:
[quote]
he has to be an Aries..my guys an Aries...n he is no less than Calvin....n he adores him a lot...so gotta be Aries
[/quote]
What astounding logic! Calvin has to be an Aries, because 'her guy' is an Aries and he is adores Calvin. Haven't these people heard of 'evidence'? Or 'scientific enquiry'? (The second question was for the Caesarian idiot.)
Sunday, October 15, 2006
Online literature
http://www.online-literature.com/
Also, visit the Distributed Proof readers page:
http://www.pgdp.net/c/
How to become an acclaimed Indian author
- Be of Indian origin. (Well, this one is a no-brainer.) At the least, fake it.
- Immigrate to the US, or to the UK. Or better still, have your parents immigrate when you are hardly speaking
- Write about one of the following topics:
* How your Grandmother was married off at 12
* How your mother (or yourself) was never allowed to date a guy
* How your grandparents arranged your parents' marriage
* How your grandfather always had the last word in everything
* How your grandmother, mother, aunts behaved
* How you never kissed a guy till you reached the US (or the UK)
- Now, praise the US and the UK for being the free societies they are, in which, thanks to the grace of the Lord merciful, you can actually kiss a guy! (Even if you are one!!!)
- Lambast western capitalism. Fly in business class to attend World Social (sic) Forum meetings to rant against the wealthy.
- Wait until the Guardian or the New York Post publishes a review of your work.
Lo and behold, in no time, you'll be one of the grand candidates for the Booker, the Nobel, or what have you.