Sunday, December 27, 2015

Embezzlement - Not taking Vacation

Few days back, my manager was saying that I didn't take even one day leave (in the presence of many people). Two hours later, I was reading the following in "When to rob a bank" by Levitt and Dubner.

Geiger was arrested in 1961 for embezzling more than $2 million over many years. By the time she was arrested, Geiger was said to be exhausted. Why? Because she never took vacations. This turned out to be a key component in her crime. As the story goes, the reason she never took vacations was that she was keeping two sets of books and couldn't risk a fill-in employee discovering her embezzlement.

The most interesting part, according to the cop, is that after prison Geiger went to work for a banking oversight agency to help stop embezzlement. Her biggest contribution: looking for employees who failed to take vacation. This simple metric turned out to have strong predictive power in stopping embezzlement.

Saturday, November 28, 2015

Why does India provide billions of dollars of aid to Afghanistan, Nepal, Bhutan and Other Countries?

Why does India provide billions of dollars of aid to Afghanistan, Nepal, Bhutan and Other Countries, when many indians are in poverty and not having enough basic facilities?

The biggest flaw in this is, the assumption of, money solves everything. Money solves many things. But, that alone does not solve everything. The assumption that many people have here is, instead of giving Rs.100 crore to Nepal, if we give it to our people, then immediately, 10,000 people would come out of the poverty permanently. But, that is not the case.

In India, If anybody is not having basic facilities, there can be several reasons.

First one is, whether the person who is not having basic facilities, trying enough to get those. First thing that we have to understand is, life is not fair. Few people may get everything without doing any work, and few people may not get anything even after trying everything. But, before we start criticizing others, we have to see whether we have done everything or not. Many people underestimate the impact of knowledge, guidance and skill development and they won't take it even if it is offered for free. Without improving the knowledge and skills, if more money is given, it won't be used efficiently. Another major problem with Indians is, if I propose a plan where they can get some X money, and I get 10X for the same time spent without extra money [The only difference is, I have more knowledge], many people would reject the proposal right away. Not because, X is not enough for them, but, because, they are getting too less when compared to what am I getting. Even if they accept it, they will always think that I am exploiting them. There were several instances of people rejecting very good proposals from corporate companies, just because, they felt, those companies were exploiting them. Rejecting that kind of proposals does no good for them.

Local issues like water, small street roads, primary schools, drainage etc., are controlled by the local government. If you elect a very corrupted person as the Chairperson, Mayor or Surpanch, then, even if hundreds of crores of money is given to your area, the problem will not be solved. If you elect a capable person, then even if the state government is not supporting, they will use all the channels possible to get things done for that area. Many people do not know that, local elections are individual specific (nothing to do with political party) with executive powers without any policy change powers. Eventhough, I never vote for Arvind Kejriwal for state or center elections, if he contests for local elections, I will definitely vote for him. When I read the news of a person who did not vote for his mother in local elections, because, she contested from BJP, and BJP/Modi is against reservations, I lost words and felt pity for him.

For standard of living of individuals, state plays major role than the union government. Even in the limited areas that the union government controls, mostly, it is a supplement to what state government does. Also, state government can override in many things, probably except in railways and couple of other areas. For example, if union government allows export of particular items, state government can say no. In most cases, the low standard of living is not because of lack of money, but, because of the policy decisions of state government in obstructing everything. If state government changes their policies, then without any extra money, the standard of living would improve.

Most of the problems faced by India can be solved without any extra money. It is just that, we should work to solve it, and should elect capable people who can solve it, in the three layers of the government. If we don't go with the proper solution, even if we are given trillions, quadrillions or quintillions, the problem would still remain.

Let's suppose I am the Prime Minister and I have Rs.400 crore surplus. One state Chief Minister is asking me huge money for their state, since, that state lost many things. Rumours have it that, he is going to spend around Rs.400 crore for one day celebration. Afghanistan does not have basic infrastructure, and if I give some money to them, when time comes, I can ask them to restart military operations in our military base in their country, which would be useful if there is a war with Pakistan, or even to stop Pakistan from not starting the war. In this case, I will give Rs.400 crore to Afghanistan, and will give sand to the Chief Minister.

Monday, September 21, 2015

Investing in Mutual Funds through MF House Website or Broker Website?

If you directly invest from the websites of the Mutual Fund houses, and select Direct Plans, you will save 1% commission that would otherwise go to the Broker Site. But, the advantage with the Broker is, they will handle all the paper work for all the Mutual Funds, and you need to do one time paper work with the broker web site.

If you want get best of both, you can do one thing. Create an account with FundsIndia [It is free]. From that, invest for Rs.500 in tax saving MF of all the Mutual Fund Houses that you want (like Axis, Reliance, HDFC, Birla Sunlife etc.). When you do this, FundsIndia does the paper work for all the mutual fund houses, and they open an account in each of those. Once Folio number is created, you can create an online account in all the MF websites with that Folio Number. With that online account, you can start investing in Direct Plans. By this, with single time paper work, you can invest in any no.of Mutual fund houses, and also you will not lose 1%.

The Tax saving MF is locked for 3 years. You can invest in other Mutual Funds also, but, the minimum for others is Rs.5000.

Saturday, July 11, 2015

Raghuram Rajan on When Will Indian Policy Affects Other Countries

Question: With the near rumour of the US cutting down on the federal stimulus, rupee value crashing, when will we see an Indian policy affecting other countries so intensively?

Raghuram Rajan: I have been saying that, the US should worry about the effects of the policies on the rest of the world. If I stood by that, we should not be very happy down the line when Indian policies affect rest of the world adversely. We would like to live in a world where countries take into account the effect of their policies on other countries and do what is right/wrong rather than what is just right, given the circumstances of their country.

Courtesy: https://www.facebook.com/video.php?v=10153397445190782

Wednesday, May 06, 2015

Criminalization of Marital Rape

This post may be disturbing to few readers. Reader discretion is advised.

I did not want to comment on this, mainly because, it requires explicit wordings. But, after seeing many people's support on this, I decided to write on this.

I see many people asking for criminalization of Marital Rape. I am unable understand what are they trying to achieve other than to keep significant unfair power in their hands.

What exactly is the definition of Marital rape? Is it just like any other rape except that, it happens between husband and wife?

If it is not like typical rape, then how we can call it rape? It would be just consensual.

If it is just like a typical rape, then is the woman going to do the same things which she would have done in case of typical rape. Is she going to shout, go out and call neighbours for help? If the family is living in a typical location, won't there be anybody in the neighborhood to help her? If she does not even call neighbours to help her to avoid the crime, but, later on goes to court to punish him for the crime, won't that be ridiculous?

Typically before a person does a big crime, he/she would have definitely done multiple small crimes. If a husband is raping his wife, and if it is a punishable offence, then typically, he would have done some smaller mistakes with his wife. At that time, what did the wife think about those small crimes? Typically, when there are problems between wife and husband, initially, wife stops talking to her husband. If the problem increases further, she leaves the house. If it still increases, she would take divorce, and if it does not stop even then, she would try to imprison him. In this case, the husband was good enough to live with, till yesterday, but, today, he is so horrible that, he has to be imprisoned immediately. He was a normal person till yesterday, but, became violent psycho overnight. If it was gradual, why did not the wife choose option of leaving the house and taking divorce. Why sudden jump to imprisonment?

What does a typical wife want by criminalizing marital rape? Imprisoning her husband for couple of years? I can safely assume that, once the husband is imprisoned, their marriage would break. [If the marriage does not break, it only means that, wife is threatening her husband by using other sections of Indian Penal Code, and the husband does not have any option.] When the marriage is going to break, and husband is going to leave anyway, cannot she forgive this one last mistake?

Let's assume that, Husband has really raped his wife like a typical rape. They were staying at far away location where they did not have any neighbours, and the husband behaved properly till a day before and suddenly became violent overnight. Wife did not have heart to forgive him for that one mistake. Even in this case, if the wife is even little physically injured, with the present laws, husband can be arrested with non-bailable warrant, and can be imprisoned upto 3 years. Is that not enough? Do we need yet another law? [Are feminists going to say that, it was a rape, but there were absolutely no physical injuries?]

I did not want to bring another section of law, by which the wife can arrest her husband with non-bailable warrant, with a just a signature, for absolutely no mistake of the husband. It would be a hell for any husband to escape that case. Probably the feminists might be thinking like, very good people who have not done anything bad, and have good financial background, are getting away with just 14 days imprisonment and few rounds of courts. They may want a strong law so that, they cannot escape.

If any political party supports criminalization of rape, I will not vote for that party as long as I find some liberal alternative. Fortunately, Modi's government is not supporting this.

Sunday, May 03, 2015

Expecting Equality

If somebody is expecting equality, the first thing that I expect from them is, giving up the "unfair" advantages that they have.

When they have "unfair" advantages over me, to have equal level playing field, I have to treat them inferior wherever I can. After I get equal "unfair" advantage, I will treat them equally. But, till then, why should I suffer for somebody?

Saturday, April 18, 2015

Net Neutrality

I am NOT supporting Net Neutrality, and I am fully supporting Airtel Zero Plan which is not Net Neutral.

From the Government, I am expecting only the fair allocation of the spectrum (Whoever pays more money should get the spectrum). Other than that, I do not want Government to interfere in any actions of the telecom companies.

There are two types of Net Neutrality. One is giving special disadvantage to few sites, and another one is giving special advantage to few sites.

Some time back, Airtel introduced special charges for calls over internet (like skype), where there is increase in the price. So, customers would have to pay more for the same usage. Many people were unhappy about this and Airtel has withdrawn this. Eventhough, it is increasing the cost, I do not want TRAI or some other government organization and interfere in this. Interfering by TRAI would make things worse in the long run. If the customers do not like Airtel, and if they switch to other providers, that is enough. Either Airtel will revert it or it will be out of business. When the spectrum is allocated in fair manner, I am sure, there would be atleast one telecom company which wants to capture the group that is effected. Even if there is no one, Government should make BSNL to offer in fair manner rather than TRAI introducing new rules.

I can understand that, giving special disadvantage to few sites would make people unhappy, since, people will have to pay more for the same thing. However, I could not understand why giving special advantage to few sites would make people unhappy.

In Airtel Zero plan, if any company registers with them, then their app can be accessed for free by all the customers, and the company pays for their data charges. The end user will never need to pay anything for using the apps. I simply cannot understand why a normal user would object to this.

Of course, small entrepreneurs may be unhappy with this, saying, they do not have fair chance to compete in the market. I am not a fan of Antitrust laws. In business, the fair chance should be always seen from the customer's point of view and not from the company's point of view. If somebody is giving me something for free, or donating me some money, I never want anybody else to obstruct that. I encourage them to give everything for free or donate to me as long as they can give. The market has changed so much that, there is no place for small business people. Unless the new companies are indirectly donating money to the consumers, they are unable to retain the customers. Can anyone think that, they can beat Foodpanda or Ola cabs without having 1 Billion Dollars? [By the way, I saved Rs.600 from ola cabs, and I don't want to mention how much I saved from Foodpanda. Foodpanda would have lost hell lot of money by my transactions.] If any other company says, "they are giving everything for free. Because of that, we are unable to do business", then only bad words would come from me.

Flipkart has withdrawn from Airtel Zero plan in support of Net Neutrality. If I were in the decision making board of Flipkart, the only reason why I would have supported is, to get some good name, and for not losing some (Communist) user base. [Did it hurt anyone? ;) ]

I don't know whether Ola cabs is going with Airtel Zero Plan or not. If they go with this plan, it would be very useful for people like me. When I am outside, except google maps and Ola cabs there is hardly anything else that I use on mobile. For everything else, I can wait till I reach home/office to access. If they provide free packs or less expensive packs for these, it would save me lot of money. [On a side note, two days back when it was raining, I had to take a net plan on road just to book a ola cab.]

I was recharging for my parents for special whatsapp pack and not the normal data pack. That costs less than normal data pack, and since, my parents were using only whatsapp, it was economical for me. In the name of net neutrality, if they remove all those, it would be definitely not economical for me.

I saw many petitions to support net neutrality. For obvious reasons, I did not sign any. If anyone starts a petition on Freedom for Telecom companies on offering different services, then I will definitely sign on it.

If Airtel is not Neutral, then why cannot you just move to other Net Neutral providers like BSNL. Why are you not asking to ban Toll Free numbers? (For those who are of same age as me or older than me), Why did not you ask to ban the letters which says "No postage required" from selected companies?

Friday, January 23, 2015

Last Day at Global Scholar

Many people do not believe chaos theory, which says that, there is a relation between the sound of the wings of a butterfly and an earthquake. Many people think Twitter messages like "Bought a TT table at office. Have to practice now. #Something" are useless. But, that message by Manikandan Sundaram has changed the direction of my life (and others indirectly). Only difference was, #Something was #Globalscholar. Had he not posted those messages, I would not have known about this company, and I might not even have come to Chennai.

It was nice to have half an hour of discussion on spirituality and Krishna Consciousness in 1.5 hours interview with Muru Subramani.

After studying Computer Science for 5 years and having experience in the software industry for little less than 8 years, when somebody proves that, I cannot code and I don't even know how to read spec, obviously, I lose my temper. When Balaji Dhinakaran and Subha Anand were proving me that, I cannot code, I lost my temper many times. With the help of Guruprasath Krishnamurthy, Hariprasad Vasudevan and Arvindh Kumar, I finished that feature somehow, which nobody used ever since. [Two years later, I realized that nobody is using, after seeing a hard coded connection string (by a great developer) which points to a server which is accessible only from that building.]

After that Kiran Kumar guided me and designed every feature that I had developed since then (till he left).

When I was working on Exam Reports, Saurabh Sarda developed UI, Subburaman and Prince Samuel wrote SQL, and Ganesh Selvaraj, Venkatramani and Venkatesh developed RDLs. Till now, I did not know what I did during the development phase of that feature.

During testing phase, When Revathi Manohar said, I fix bugs very fast, immediately, I climbed drumstick tree (to fall and never to recover). When Sudha Ganeshan, who had blind faith on me, started testing my code, my work became little easy.

Premkumar Palya used to ask me to join QA during the stabilization of every release (when I work from QA area).

During Performance Optimization, when the Vice President (Subajyothi Sanyal) was sitting infront of the system, and investigating with the inputs from then Director, why the queries were taking long time, the only thing that I did was, staring at them.

When couple of people thanked me with little emotion for the help that I had done in their work, I could not understand why they were so much emotional. Later, I thought, probably, I was the only one who did not have any work.

I was very fortunate to work with goddess Sridevi Ramasamy, about whom I will try to write separately. If she ever becomes god woman, I will seriously consider retiring and joining her ashram.

Till I started working with Deiva Shanmugam, there was hardly any time when I talked to a full time employee for more than 5 mins on non-work related topics (barring the introductory period).

Ramnath Krishnamurthy, who wrote code faster than the speed at which I could review the same, wrote lot of code, gave me the shelveset and went on leave. I simply checked in the code with my name. ;)

Once, when I was reviewing Srividhya Srinivasan's code, I seriously felt like asking whether this code was written by Guru. But, I felt it would seriously offend her and did not ask. Later, I thought, if she has a big heart, she can take it as a compliment. [By the way, this was after both got married to each other.]

Till I started sitting next to Balakrishna Jammula, there was hardly any news that I came to know before it was announced officially. After he left, Srikanth Eadara took his place and role.

For those who say that, I am soft-spoken or silent, should have listened to my discussions with Rajesh Kannan on non-work related topics. Of course, for work related topics, we both are dead silent.

Whenever I discuss with Jeevanram Kasiviswanathan, I feel happy that, my experience is of some use to someone.

When we were starting Automation Testing with Selenium, Balakrishnan Soundararajan told me that, he was happy that, he was going to learn Selenium. I told him that, I would make sure that, he won't learn anything in Selenium. Eventhough, I was not successful in that, I had done my best in that direction.

I learnt from Lakshmi Satish that, interview is not about saying yes/no for a given role, but, it is about understanding how can we use that person, if we are going to recruit.

Great offers found by Albert Selvaraj saved me lot of money, especially on food.

Thanks to Mahesh Tangella and Janani Vijayan for the laptops, and Vasudevan Murugesan for the Wireless Adapter.

It was professionally very embarrassing, when Vamsidhara Reddy, with whom I worked for very brief time, told about my work more than me in an interview. Of course, personally, it was not at all embarrassing.

Being a hard core fan of S.P.Balasubrahmanyam, I generally don't listen to others' songs. But, I want M.K.Balaji to become a great singer, so that I can tell others that I fixed three bugs raised by the top singer.

It was nice working with Dale Bronk, Senthilrajan Egarajan, Mustafa Husain, Sateesh Naramsetti, Rajaji Kare, Manivannan Murugesan, Suresh Goduguluru Lakshmi, Charulatha Shankar, Harikishore Reddy, Uday Kumar Pogula, Kiran Duvvuru, Balaji TB and many others whom I missed to mention.

I would have been more happy, if people were little more professional. Of course, I might have topped the list of unprofessionals. If I had done any mistake, I am ready to do almost anything to make it as if that mistake did not happen in the first place. But, if it is not my mistake, but if it is (extreme) difference of opinion, then there is nothing much that I can do in this life.

Tuesday, January 20, 2015

Software Performance Improvement

Whenever anybody asks me to improve performance of any software, typically, I say I cannot do it.

But, what I do is,

Clean the dirty code.
Remove the redundant code.
Refactor at method level to make it more clean and simple.
Refactor at class level to make it more clean and simple.
Make the design more clean and simple.
Change the design to make it more simple.

If this improves the performance, then well and good. After all this, if the performance is still not improved to the expectation, then I would say, this is the limit. If you want better performance, get better hardware or get more servers.

For performance improvement, if anybody does any of the following, I try my best to stop them from doing it.

Any change to the code/design which reduces the simplicity of the code/design. This is one of the biggest grey areas and it is mainly trade-off. How much are we ready to sacrifice the simplicity/cleanliness of the code for how much performance. Typically, I am always on the extreme side of clean code/design.

To improve the performance of some functionality, which is there in the performance test suite, reducing the performance of other features which are not there in the test suite.

Not caring about the functionality which is having very bad performance, since it is not there in the performance suite, and caring about only the features that are there in the performance suite to improve the numbers.


If anybody gives me clean code with clean design, and asks me to improve the performance, then they would say that, I am the most incompetent developer that they have ever seen.