About sesh

Sesh is an academician turned serial entrepreneur. He is the founder of Boltell which runs allthingscustomized.com. He is passionate about technology, sports, carnatic music and nature. You can see him screaming his head off rooting for his favorite sports person/team one minute and the next minute immersed silently in nature and its vastness.

Flipkart Forbes Story

I am assuming all of you have heard and followed the Forbes story
on Flipkart. Flipkart has executed amazingly well and has absolutely
excelled in customer service. Perhaps
the first company of its size to embrace customer service as an
obsession and deliver on it. If nothing else happens from here, even
then, Flipkart has reserved its place in the pantheon
of good (perhaps not yet great) companies out of India.

The culture within Flipkart seems to be one of the big issues
raised in the article, and refuted by Sachin Bansal here, and
responded to by the editor of Forbes India.  And the main
allegation is there is an IIT Delhi culture and others find it hard
to break in to this. Well, all I can say is they have done very well
so far with this culture and if the management is smart they
will figure out how to adapt their culture (if required) to maximize
the shareholders value. It may also turn out that they can continue to
be successful for some more time to come with the current culture
(what ever that is).  Lastly, there is always a chance, cultural
issues are hampering their growth and they may not fix it. They
deserve a much longer rope though!

The point of this article is simple:  Amusement parks are there
for a reason — high levels of acceleration (velocity changes both in
speed and direction) thrill. Final two minutes of a NBA game thrill.
T20 thrills. It seems to me we should get thrilled at these places and
leave companies to execute rather than predicting their meteoric rise
and shameful fall  - execution is repetitive, boring, and requires a
lot of grinding over long periods of time. The press can not report on
execution (as one spiritual guru said there is no one waiting to
report on this meditation camp – some one wearing a very different
dress or going out with another girl friend/boy friend is far more
interesting). Building a company is like a form of meditation. People
within flipkart should not carried away by any glowing tributes in the
media and
ignore such negative reports (except calmly pick up any real issues
they agree with and fix those).

Here is hoping we see flipkart come out stronger out of this and
see many more success stories. We badly need good companies (to me
flipkart is one at least as one of its loyal customers) in India and
we need many such companies – to create relevant and valuable
services/products for the people of India, to become role models for
the huge population of youngsters in the country and goad them to
build a strong, vibrant country.

Culture at Boltell..

My colleague Natarajan recently brought to my notice the following article  he had written several years ago. Amazingly, it actually quite well reflects lot of the culture we have at our company.

In a nutshell here is what I think makes for a good contract between employees and companies. The top three things each needs to do to create a lasting, pleasurable, goal oriented workplace. In this age of 140 character for a tweet, 10 is too big a number – we only have top three :-)

Top 3 things for the Employees:

  1. They have to be customer focussed (obsessed) – everyday morning they should get up and ask the question how can I be relevant today (to their customers – internal/external)
  2.  Bring a single minded focus to the mantra of execution – need to be in the “now” and get into the zone while working. This is the biggest driver of productivity and quality, and consequently customer satisfaction
  3.  Accept every execution challenge as part of a long journey (called their career) and focus on how they can solve the challenge and in the process add value to themselves at the current job. Stop worrying about things beyond their control.

 

Top 3 Things for Companies:

  1.  Have a clear direction and priorities at any given point of time  – this can change from time to time but at any given instant there is one clear direction.
  2.  Establish a fair, transparent organization which is data driven and where everyone has visibility into all aspects of business. We carry this to an extreme and so far there is no data other than personal compensation that is not known/made known to people. We encourage participation and eschew politics.
  3.  Provide a supportive atmosphere for helping people succeed and give them enough chances to succeed. On the other hand when it is clear that people will not succeed in this environment (we are very sure there are other environments/roles where they would be very successful), it is right for the careers of those people as well as the morale of the organization to help those people find alternate positions where they can succeed.

The Best T20 Innings Ever – Chris Gayle Against Delhi Daredevils

http://www.allthingscustomized.com/product/chris-gayle-t-shirt/

There is Chris Gayle and there are others. That is what he showed yesterday in the IPL 2012 match for Royal Challengers Bangalore against Delhi Daredevils. To say this is the most destructive IPL innings I have seen, is not merely a statement of my opinion. It is an opinion I am sure is shared by quite a few others – and you would need at least seven digits to count them, if not more. I have heard of the calm before the (Gayle) storm – I saw it when Gayle patiently batted out a maiden over. I have heard that the eye of the storm is calm (never been in one though) while it wreaks havoc all around. I saw it when Chris Gayle’s face was as serene as a yogi in meditation in the Himalayas while he was batting. One can be excused if we were confused between the two given the locks of hair that seemed to flow down from his head (like Shiva’s mane).

Christopher Henry Gayle definitely has to rank as the most destructive batsman of all times. I know there are going to be lots of objections: Test match cricket is different, batting without a helmet is different, the quality of the pace bowlers is not the same as it used to be, there is no elegance in the shots (it is monotonous and all his shots are in an arc between long on and deep mid-wicket like a golfer practicing his swing). All of these have some merit and there is no simple way to compare Donald (Don) Bradman, Vivian (Viv) Richards, Sachin Tendulkar (at his best which was ages ago) and Virender (Viru) Sehwag. 

However, the mere fact that the best batsmen in the world today are all competing and no one has come close to this kind of domination for so long, at least in IPL, is an indication of his prodigious talent. There are many strong people who can hit the ball a long way. There are many people who can time the ball sweetly, but to do both with such consistency is what sets him apart. At the other end, one could see arguably the best batsman of India, Virat Kohli, look pedestrian in comparison, although by any other yardstick, Kohli’s innings was remarkable. Gayle did this to an attack that boasts of two of India’s fastest bowlers and the best prospects – Umesh Yadav and Manuel Aaron.

Commenting on his innings, Gayle said he had been under stress and pressure to perform — well it was not apparent from his face or the way he was stroking the ball. He seemed to be in the now, at peace with the current moment, not resisting or for that matter (perhaps even registering) any of the cacophony from the crowd. He was in the zone and was seeing nothing, but the ball (because everything else is a distraction), just as our little Arjuna was only seeing the bird he was supposed to shoot. It was certainly a spiritual experience watching him bat for me personally – he carried me into his world of calm and I spoke only after the innings ended and all I could say was “It is just not fair (to the opposition).” It is exhilarating to watch some of these peak sports performances in absolute silence – a joy that can not be described in mere words although I have tried to. Thank you Chris Gayle.

Points, Games, and Life Lessons!

There is good news and bad news. The good news is I am playing tennis regularly (as regular as one can expect from an unstructured person like me). The bad news is I get whipped by my coach every day – I practice and during warm up it looks like I win one of three points while he wins two points. But, then when we play a set, and I lose 6-1 or 6-0 most of the time.

After an energetic 6-0 drubbing again today, the exercise had its desired effects. I was sweating, my heart muscles were stronger, and my mind was whirring like a Rolls Royce engine. I then started wondering about why I lose 6-0 or 6-1 fairly regularly. No, there are no nerves or lack of mental toughness – if anything, being the underdog, I consistently play as well as I play in practice and would hazard to say I am still winning one of three points! My first uninformed reaction was I should be winning one of three games so I should have a score of 6-3 more often than not.

After thinking about this for some more time and then doing some math in my head for ten odd minutes, it was clear that my odds of winning a game were less than 1/5 (closer to 1/7 based on exact calculations). So let me explain why this is the case.

I am going to simplify the game of tennis for the purposes of this probability calculation. Let us pretend that a game of tennis is won when a player has two more points than the opponent – in other words let us pretend that we have some how reached deuce and find out the probability that I win a game from deuce. Recall that Advantage to me, means I am one point ahead, and Game is when I am two points ahead. If my opponent wins the point when it is advantage to me we go back to deuce. The following video shows Andy Murray (who has promised a lot but is still nowhere near the all time great Roger Federer) winning over Michael Llodra after reaching deuce:

As an aside, I wonder the origin of the strange game scoring convention in tennis: 15, 30, 40 (was it 45 at some point and shortened to 40?). Many people colloquially shorten 14 to 5. I found some references to the history behind this strange scoring at http://www.quora.com/Tennis/…

Let us get back to our analysis and pretend we start off from deuce and then analyze the odds of my winning the game. So, I can win the game in two points after deuce (with probability 1/3 *1/3 which is equal to 1/9) or I can win the game in four points after a deuce by going back to deuce in between and then winning two points in a row. The probability that we will get to a deuce starting from a deuce in two points is:

4/9 = 1/3X2/3 (i win the first point and opponent wins the next point) + 2/3X1/3 (opponent wins the first point and I win the next point).

In theory there can be one deuce, two deuces, three deuces, or as many deuces as players can play and the probability of each successive deuce is 4/9 times the probability of the previous deuce. And as we calculated before, the probability of a win for me, starting from a deuce in just two points is 1/9.Therefore, the probability of an eventual win for me starting from a deuce is the probability I win in two points, or in four points (after one more deuce), or in six points, (after two more deuces) and so on.

This is nothing but the infinite geometric series 1/9(1 + 4/9 + (4/9)^2 + (4/9)^3 + …) which is 1/9(1/ (1-4/9)). You may recollect that the sum of an infinite geometric series 1+r + r^2+.. with a constant ratio r (r < 1) is 1/1-r. Simplifying the above sum we get 1/5 as the probability of me winning a game once we have reached deuce. It is clear that 1/5 is an upper bound on the chances that I can win a real tennis game (given that I am the inferior player) which is quite different from the 1/3 we started off for a single point. In any case, it is apparent that small differences get amplified over the long term and the gap widens.

I will not do the math, here in this post, for the real game according to normal rules, but it turns out that the probability of me winning the game turns out to be closer to 1/7 or so.

But hidden in my tennis analysis is a great life lesson. There is great value in making small incremental changes, and improving things little by little, and repeating this over a long time. The gap between people/companies who do this consistently over a long time widens. So, the key to building a great company or living a great life is to figure out a way for surviving the next day and improving on the things that matter (such as, one tennis point, one pixel on the user interface, one customer interaction or one sale, at a time)!!

Delhi Metro

I spent four days recently in Delhi with family and friends – there were 16 of us totally in our group – 8 children ranging from 5 to 17 years and 8 adults. We spent the entire time travelling to various places in Delhi by Metro. In my books, Sreedharan and his team that has built Metro over the last fourteen years deserves to get the highest award for what it has done to the city. The Delhi Metro is a world class product and arguably one of the best (if not the best) in the world. To pull this off in India increases the degree of difficulty of this task ten fold.

What is truly amazing is how squeakily clean the metro stations are — including the Chandni Chowk station which is right in the heart of Old Delhi and its old wholesale market. I hear it was not easy to enforce this discipline initially but they have pulled it off. Close to two million commuters use the Delhi metro daily and yet the trains are on time, the crowds at the entrance and the exit are orderly. Further, there was no one trying to jump the turnstiles and thus save on a few rupees while ticketless travel is rampant elsewhere.

The metro is apparently operationally profitable despite being affordable to almost all strata of society – in fact it is perhaps the same cost as a bus while being infinitely more comfortable, way quicker and much more friendly to the environment. This is indeed a boon to India and we must continue to make the Delhi Metro a model undertaking for infrastructure projects all over the country. The best way we can thank Mr. Sreedharan who is retiring the end of the year is by ensuring the legacy continues and is emulated in many other spheres of life in India. He is a great candidate for the Bharat Ratna as my colleague often remarks. Great execution of a world class product over a decade and a half!

Interview, Accept, Disappear

   One of our employees forwarded this post titled “Don’t Gauge Your Worth By Your Salary” to the entire company and this set me reflecting on how there were very different types of engineers. We are quite fortunate that almost all our employees subscribe to this philosophy. It has not been easy – we have spent an inordinate of time in getting this right.

    However, we have had more than our share of woes during the recrutiing process. The following applies to hiring software engineers in Namma Bengaluru. It could be different in other cities in India and definitely not the case for non software engineering positions. It has been an roller coaster ride all right. The process of ”Interview, Accept, Disappear” in ten steps is  as follows:

  1. We get tons of resumes both solicited and unsolicited (from all the engineering colleges around India, the count of which is elusive since before you can finish counting there are a few more)
  2. We go through a resume filtration process that is largely based on grades, college, experience etc and manage to make a small hill of this mountain of resumes
  3. We arrange a phone screen or a face to face interview and with about 50% success rate this meeting (real or virtual) happens during the scheduled slot. Half the time it is rescheduled after the candidate is a no show or shows up so late that it is impossible to keep the candidates new time.
  4. The interview proceeds with some candidates occasionally wondering why all the fuss about us asking questions of them — after all they have an engineering degree from a reputed university – how can we ask more that their university system has not asked them.
  5. In any case, after an arduous (for us for sure) interview process we like a few candidates and try to impress on them why they should join us.
  6. The most immediate reaction is what is my compensation? I want to get 35% over my current salary — else it is not worth my time to change jobs.
  7. After a lot of cajoling and telling them how startups need to conserve cash and people should work for creating something of relevance to the world and creating and sharing wealth in the process and agreeing on the
    terms they accept the offer and say they will join you in a month tosix weeks since they have to serve a decent notice to their current employer (thank heavens the notice period is treated with some respect).
  8. Attempts to keep in touch during the notice period to ensure the candidate is able to make the right moves, find a place closer to their new work location and any other support they need is usually greeted with an enthusiastic response initially.
  9. As time wears on they stop responding as much and have some excuse or the other – getting married, out of town on a long promised vacation with a spouse; mother is not too
    well etc.
  10. Finally, on the day they are supposed to join when we call them they let us know that they are not joining!

   I am not saying the above is the norm but it has definitely happened often enough that either we are a lightning rod for such events or this is the norm in the larger ecosystem. What leaves me scratching my head is why is acceptance not a “word from a professional” that needs to be honoured? One of the candidates I talked to was frank and honest enough to admit that he would accept our offer and then serve his notice period. In the interim if he got a better offer he would take that up!! I had to retort with my usual business quid pro quo and said how would it be if we made offers to him and continued interviewing for the same position and made an offer to a better candidate in the interim period. He definitely did not think we were right in doing that. Obviously no company does what I said but it is an argument to portray the one sidedness of this whole equation.

    In fact, we have a policy in our company that we will not talk to
(interview) candidates who already have accepted an offer from another company. We do not want to do to other companies what we would not like to happen to us. That is a small start. Perhaps some neutral body should maintain a database of offers (not the details necessarily, just whether some one has an accepted offer or not) which can be looked up by all companies. This can be a two way street - candidates can comment on unfair policies of companies and companies can comment on the punctuality of the candidate. All I can say is we have an extremely inefficient system right now with a lot of wastage of time.

Mind Conditioning

Experience versus Youth is a topic that rages all the time. Vinod Khosla as a venture investor upped the ante by declaring that people over 45 basically die in terms of new ideas.In the same article, there are enough instances of older people who have been creative.

I think there are two distinct things – creativity and impact. If creativity is defined as something that is novel then one perhaps has to accept that younger people tend to be more creative — mainly because of lack of experience and exposure to many things. Thus, there are no voices telling them this has been tried and this path is unlikely to succeed. They go with pure intuition and go where older people have not dared to go. On the other hand, if one were to define impact as something that may or may not be novel but has relevance to many people’s lives, then it is my take that older people tend to have a higher hit rate there. Primarily because they are able to eschew some paths that are statistically more improbable.

I want to mention two personal experiences from my two sons who are as different as chalk from cheese. Both of these experiences were when they were around three or four and had a free, uncluttered, view of the world.

The first one was when I was a proud father and quite impressed at my older son’s ability to distinguish one shape from another. I hurriedly drew squares, rectangles, circles, diamonds etc, and taught him those shapes. In order to test him, I then drew what looked to me like a diamond because one vertex (end) was at the top and the other was at the bottom and two at the sides at the same horizontal level. He confidently announced that this was a square. I was taken aback and a tad disappointed that he was not learning fast enough! Upon closer inspection, I had indeed drawn a square that was rotated with respect to the primary axes. I had been easily misled by the rotation but his keen eye noticed that the sides were perpendicular and that is what he had internalized as a square and for him there was rotational equivalence. Further, all the diamonds I had drawn for him had a much small angle at the top and the bottom and he internalized that.

The next experience was with my younger son who confidently declared that one of the ice creams I was having was non-vegetarian. I was taken aback and enquired how he came to this conclusion. He said there was a red circle which denoted that it was a non-vegetarian dish – indeed the ice cream had eggs and there was a red circle denoting this. He could hardly read at that time but was able to make this observation quite confidently while I was struggling with the notion that ice cream could be non-vegetarian!

NoSQL Databases

NoSQL, as a buzzword, is raging hot nowadays.  As with any hype, it gets hard for the layperson to separate the wheat from the chaff. It means different things to different people and prognostications announcing the early demise of relational database vendors abound although they can easily acquire some of the companies/technology or build it in-house as a new product line.

I am going to open the hood and attempt to explain some of the business/technical reasons for a new set of requirements to have emerged. Quite a few of the requirements can in theory be met equally effectively by relational vendors or newer vendors who all have assembled under the marketing term NoSQL. Here are some technical reasons why traditional relational database vendors are getting challenged.

i) Scale: The biggest driver of the new generation of data management systems was unprecedented scale. The scale forced companies to rely on a cluster of commodity machines as their main workhorse and this was way more cost effective than special purpose hardware that could handle such scale. A direct corollary of using a large number of commodity machines is that the probability of failure of some part of the system or the other grows exponentially with the size of the cluster. Thus, systems built at such scale treat failures as a norm rather than an exception. In the context of a distributed system, with replicas of a data item this meant that system chose “Availability” over “Consistency” in the trade-off that the CAP theorem suggests one has to make. In contrast, traditional database systems is supposed to provide ACID support that gives the effect to all the customers as though they are interacting with the DBMS in isolation and their effects on the database will be seen in entirety by those that follow them and they will see the effects of customers who precede them (and there is usually a crisp definition of who follows and who precedes based on the actual algorithms used). While this is a very important and non-negotiable feature when dealing with real Rupees and Paisa (or dollars and cents; or pounds and pence, etc.), for most web and Internet applications, customers as well as applications can live with some loss in consistency, (different replicas having different values at the same time) but with the promise that eventually the system will become consistent.

ii) Disk Capacities have exploded and Random Disk Accesses have gotten cheaper: Back in the 1970s and 1980s, a terabyte of data was HUGE (hence the company TeraData, the benchmark TeraSort etc.). Further, random access to data on the disk was (and is) so slow that Usain Bolt and traffic in Namma Bengaluru (a city in South India) appear to be in the same league from the vantage point of a disk. Fortunately, thanks to all the Japanese tourists, with their mandatory Canon and Nikon cameras in tow, the cost of solid state disks has plummeted so much that they now make feasible an attractive point on the efficient frontier of the price performance curve – hitherto unavailable to practitioners. As a result, quite a few of the nimbler start-ups are optimizing themselves for usage with Solid State Disks and although there is “nothing NoSQL” about this, they are garnering the marketing imagination. As an aside, a veteran relational database professor and a good friend of mine remarked tongue in cheek, as is his usual practice, that if there is NoSQL, there is NoRel and NoData and NoLife :-) .  To make this essay balanced I should hurry and point out that NoSQL may not stand for No SQL but may stand for Not Only SQL!

iii) Fixed Schema is too rigid: Internet companies love to experiment rapidly and “fail fast”. As a result they want their applications to evolve fast and rigid schema that are difficult to evolve come in the way of such rapid experimentation. Schema evolution on a large data store is very time consuming and further ensuring no downtime during this period may be non-trivial. The notion of column families with the ability to add columns within them at will, as introduced by BigTable, as well as the notion of imposing a schema at query time, as is done in PIG Latin, reduces this pain to a great extent.

iv) First Normal Form is too restrictive/rich: Yes, you read that right. There are a class of applications that just seem to require a persistent key value store for which the full fledged relational model is an overkill. Quite a few of the NoSQL data stores belong to this genre. On the other hand, there are a class of applications that want to model the real world more faithfully and want complex structure in the objects they store. Traditional databases treat the values in a column as an atomic value and do not ascribe any structure to them. In practice, the real world hardly fits a two dimensional tabular structure and thus programmers love the ability to stores sets and other complex containers as values for a column.

v) Columnar Stores: Traditionally, relational database vendors have chosen to store entire rows together on a disk since they made a lot of sense for well normalized data stores. It may sometimes be desirable to store together related columns which are accessed together. These set of columns that are stored together embody one related entity in the real world. Such storage leads to better compression of data as well as more efficient access. Relational databases always allowed this by letting users vertically partition tables in their schema. In the context of the new regime where first normal form is not a must, we essentially have a situation where different entities can be stored in one logical table but yet stored physically separate. Bringing corresponding related columns of a row thus corresponds to a join in a traditional relational data store. Thus, it is not entirely fair to say joins do not exist in NoSQL stores.

vi)Programmatic Access is also important: A declarative or a high level language such as SQL is imperative for non technical users to be able to access the data in a data store. However, when the data is not in first normal form or the schema is not known apriori SQL is not the most appropriate choice. Vast legions of programmers who want to access large data stores sometimes prefer programmatic APIs such as those provided by MapReduce to write their own code. Newer data stores that allow both a programmatic API as well as high level API thus find favor with different user classes.

In summary, although the word NoSQL is used to represent newer generation data stores that may only have a subset of the features mentioned above, not all of the features represent a radical departure from the SQL language. Of course, if SQL is used as a proxy for current, generation, relational database vendors then they should be busy reinventing themselves trying to address this important set of requirements.

 

 

Run Ashwin Run

This entire post is a bit dated since this is about the famous second run of Ravichandran Ashwin at the third test at Wankhede Stadium, Mumbai (in the just concluded series between West Indies and India). Technically, it is just concluded since the next series is yet to begin officially :) .

I have to say I was left baffled while I was watching the match.
Surely, they must have spent some time discussing and planning the entire strategy out. Granted, defending the fifth ball was a clever defensive move that ensured India would not lose the match. We are now at the last ball of the test match and two runs are required to win the match and there is no risk of India losing the test match. So what does logic demand? That you hit the ball and take-off like a hare and attempt to take two runs!

No, not according to Ashwin! I think I have figured out the reason!
If Ashwin had remained not out at the end of the test, his average would have been above 60 and he would have been the best batsman in the Indian team based on test averages. That is an honor too big to pass on! Even Usain Bolt could not have completed the second run, supporters of Ashwin’s strategy say. Before I proceed, let me clarify - I am a huge fan of Ashwin and he has shown remarkable spunk and calm in pressure situations while bowling and even batting to get his first test century and is not one who is worried about his averages.

However, this is a larger philosophical remark about fighting to the end. If Ashwin had taken off for the first run with the intention of running the second any number of things could have happened.

First, the fielder could have fumbled with the ball and not collected it cleanly. Second, the throw could have been wild. Third, the batsman could have come between the ball and the wicketkeeper (if the throw was to the wicket keepers end). Finally, the collection and the breaking of the stumps need not have been clean. That could have made the difference between a Test win and a draw!!

Surely, someone should tell Ashwin that it ain’t over until the fat lady sings. Well here is a humorous take on this incident by the folks at CricInfo.