Showing posts from 2010

The Good and Bad of Facebook "Like"

I have mixed feelings for the Facebook "Like" button. In the Facebook universe, "like" is the uniform mechanism for interacting with various pieces of content flowing around. You can Like status updates, photos, comments on updates and photos, Pages and even ads! One interaction to rule them all. The reasoning behind it is that it reduces friction and leads to more people clicking on the like button. This is what Facebook would want the users to do. But what does it mean for us? How do you feel about coloring the whole world in the 2 colors of "like" and .. well, "no comments"? From the perspective of somebody who likes the human languages a lot, it is distressing. One feature of human languages is that they are wonderfully precise. The variety of expressions and words available to describe very similar but distinct actions, feelings, things is not only useful but also charming. And this precision is very selective. Different cultures develop

New Year Resolutions That Last

In another 10 days, 2010 will be past. A past, we can never visit again. But we are humans, a inherently optimistic lot. We don't worry about past, we look forward to future. Well atleast sometimes :) One of the most popular and perhaps the most way of looking forward to coming year is to take resolutions. While they hardly last for more than few weeks in most cases, everyone keeps taking them every year. Which is fine - they make you exercise for at least for those few weeks. Anything is better than nothing! Now one way to make your resolutions last longer would be give them some momentum before hand. Why not start working on that reading list right away? Or start getting up a little early everyday starting today. By the time new year rolls in, you would already have started the journey, perhaps even stopped and started again. That should prove to be more effective then suddenly getting up on 1st of January and telling yourself that you are a changed person now. Try it. I am t

You cannot borrow trust

If you ever find yourself saying, "If you don't believe me, you can ask <insert a trusted party>", stop. It is already too late. You cannot make up for the lack of trust by borrowing it from someone. On the other hand, you can borrow money in a time of crunch. So when faced with a choice between keeping somebody's trust or saving some money, choice should be obvious.

How to get Google to fund your startup right after college!

If you are a hacker and a student in India and you are interested in doing a startup, you have a golden opportunity in your hands. The Google Summer of Code (GSoC)  program offers $5000 for a 4 month project you do for one of the participating open source projects. You get a mentor, hands on experience of implementing something which will potentially be used by real users and also get to be a part of an ever growing community of hackers in India. Now let us say, you were able to get into the program. So you have access to: Money At today's conversion rate, $5000 translates to Rs.2,22,000/- approximately. After paying taxes (which comes at max to about Rs.6500/- assuming male and no other income), you are left with 2,15,000 in your hands. For a college student, 4 months expenses can be as low as Rs.10,000 when living on campus. But let us keep it at Rs.25,000/- assuming you really decided to live it up. Still there are ~Rs.1,90,000 in your account. Excellent Pool of Co-founders

Python - A good introductory programming language?

First a little experiment. The other day, I needed to count words in a string. One straightforward method for this is to break the string into tokens and count them: def count_words_split(sen): return len(sen.split()) This is nice since split automatically takes care of multiple consecutive spaces if present. However in my case all the words were guaranteed to be separated by 1 space only. So following should get the job done with a little less work: def count_words_count(sen): return sen.count(' ') + 1 This is essentially a single pass over the string with no need to create an intermediate list of strings and so should run faster. Surprisingly, on Python 2.5, the first method is twice as fast as the second one. I have no idea why. However sanity is restored on Python 2.6 and the second version is not only faster but also gets better with increasing size of input. This got me thinking about a good introductory programming language. I learned programming with C and

Why I am not excited about the new Rupee Symbol!

While the media initially went all gaga over the new Rupee symbol which somehow seems to have pushed us into an "elite" club, the reports have started coming in that it will be a while before the symbol gets into regular usage. Anyone with interest in Indian language computing is well aware of the fractured state of the Unicode usage. Most of the media houses still use a proprietary font for their content. Even govt uses many incompatible fonts in the data created by it. Result is a typical " जल बिच मछली प्यासी" situation. Even though large amounts of text is available in digital format, it is useless for a lot of purposes. A lot of people cannot view it properly without installing tons of fonts, it cannot be searched or indexed and it is useless for most computing purposes. Lack of huge amount of digital text is one major problem hampering research in NLP for Indian languages. With the introduction of Rupee symbol, the situation can become even worse. First it

Inaugural issue of Pothiz is here!

Inaugural issue of Pothiz - a new free online magazine is now available on !  Jaya  is the force behind this one. I am also trying to write a story for the next issue - a sci-fi epic :-D. Entries are due by 16th July. Let's see how far you can continue to write code and story without mixing them up too much!

How to setup Facebook vanity URL for fan pages

What is a Facebook Vanity URL? Facebook vanity url is a url like which is shorter and easier to remember as compared to the default How can you set it up for your page? It took me a bit of searching to find this but you just need to visit and you can setup vanity urls for all your pages.

Fixing Logrotate on Ubuntu Jaunty Server Edition

After about one year of having used the VPS based on Ubuntu Jaunty, recently I had the need to go look at my Apache logs. Now Apache log on my desktop machine are always nicely rotated by logrotate without me having to do anything. However on the server, I found a gigantic 1.2 GB other_vhosts_access.log staring at me with no rotation whatsoever in last 1 year. So I began to learn about logrotate. Running logrotate by hand produced the following which was obviously not true. abhaya@www$ sudo logrotate -d /etc/logrotate.conf rotating pattern: /var/log/apache2/*.log weekly (52 rotations) empty log files are not rotated, old logs are removed considering log /var/log/apache2/access.log log does not need rotating considering log /var/log/apache2/error.log log does not need rotating considering log /var/log/apache2/other_vhosts_access.log log does not need rotating The contents of the status file (/var/lib/logrotate/status) which logrotate uses to determine which log files need


Why is it that while as a customer anyone can recommend or not recommend my company to others but as a company/provider, I cannot recommend or not recommend a customer to other companies? Think about it! A registry of PITA customers who are not only going to waste your time, but also going to blame you for it! Over 1.5 years of, I have interacted with so many wonderful people both as customers, as people who believe in us and people who have been constructively critical. Without them we may not have even lasted so long - they supported us and told us that we were useful when our output was very raw and crude. They pointed fingers and poked holes which helped us improve. It is for all those nice people that I feel this strong urge to single out the jerks and show them for what they are. We love our customers and see them as our partners. We plan our activities with them, take their suggestions quite seriously and want to succeed with them. Right now I am trying hard to not

Entrepreneur or Escapist?

Recently MVP guys started this meme on Twitter which asks #whyamientrepreneur ? I am sure every entrepreneur at one time or the other has asked him/herself this question. Some ask it even before they start, while others ask it when they are considering quitting. Either way the answers which come out are quite eye opening - a wide range of reasons bring people to startups. Somebody wanted to create jobs, somebody just wanted to break free from artificial restrictions imposed by the system. Others wanted to be their own boss. All of these are very inspiring reasons and I am sure they have been given with complete honesty. But here is my question to all of the entrepreneurs - Are you an entrepreneur because you are an escapist? Before I explain what I mean, let me explain what I do not mean. Those who came to do a startup because they wanted to break out of the system or didn't fit in are not escapist by my definition. Neither are those who wanted to "escape" the corporate