Posts

Finding Geeks!

That the education system in India is screwed up is no secret. When companies like Infosys, TCS and Wipro say that a large number of engineers graduating every year are unemployable, it sets a pretty low bar on the quality of technical education. The low standards of technical education are felt most acutely by the entrepreneurs trying to build technology companies in India. On one hand, very few good engineers survive the education system. On the other, the few who survive are claimed by the companies like Google, Yahoo, Amazon and other well established firms. Now it would be excellent to tackle this problem head on and fix the education system in a fundamental way. However I have been thinking about a much smaller problem recently. As a matter of immediate relief to the high technology startups, is it possible to help more geeks/hackers to survive the current system? What is the most effective way of doing that? Out of that huge swamp of mediocrity, how can we give a he...

The Technical Resolutions for 2011

When running you own company, every year is full of new challenges and learnings. And so was the 2010. However looking back, I am feeling that I didn't gain so much on the technical side. Recap The two major things that happened on Pothi.com this year were e-books and the launch of online distribution. Our e-book platform is in the first iteration and still very primitive. We have identified many issues by now which will get fixed in the installment. Online Distribution required a lot of overhaul to the basic pricing mechanism which meant bunch of new Drupal modules. And as the year ends, I am just about wrapping up the new sales dashboard which was long overdue! We also worked on couple of interesting projects over the summers with 2 interns both of which were in Python/Django. One of them made further improvements to blog2book platform. It is a shame that it has not been pushed to production yet. Primarily due to the memory troubles we are having on VPS and which I have been ...

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

Image
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 Pothi.com !  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 http://www.facebook.com/pothidotcom which is shorter and easier to remember as compared to the default http://www.facebook.com/pages/Pothicom/18749584929?ref=mf 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 http://www.facebook.com/username 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 ...

Recommendations

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 Pothi.com, 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 let...

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

Bangalore Book Festival 2009

For the first time I was on the other side of the table in a book festival and it turned out to be a lot of fun. The feeling when somebody finally, after a lot of deliberation picks up a book and says that he wants to buy it, the whole money exchange ritual which happens after that, seeing people find something to smile about or laugh at in one of the books - all of them make it worth while to sit jobless behind the counter for hours. So while as an exhibitor I quite enjoyed it, I don't think it was particularly great for a real book lover. There was nothing that you could not find in the few book shops around Church Street, it was choke full of religious stalls and despite the tall claims, almost all major Indian publishers were absent - Rupa, Harper Collins, Random Hous e, Hachette India, Westland, Rajpal being the once who come to mind. I remember seeing Katha stall also but even they were missing this time. So at the end of it all, you end up in the same old stalls - Blossoms, ...

Ownership is the key!

This article about Room To Read in Business Week caught my attention, (through a Google Alert set up on Self Publishing). Specifically the last paragraph which I reproduce here: While Room to Read's accomplishments so far are quite impressive, John isn't satisfied. Children aren't using the libraries enough. Of the 5.6 million books in the libraries, only 1.3 million have been checked out so far. So Wood's local teams are working with schools to make the library experience more compelling to children. Self-publishing content is another piece of the strategy. The more books the organization can publish in local languages that are sculpted for young readers in those places, the more likely they'll want to read them. Unfortunately, it costs about $12,000 per book for writing, editing, and printing expenses. While generating more engaging content, content tailored to local culture, environment and in local languages is very important, I think there is one more importa...

Couple of WTFs to set the ball rolling again!

Slumdog star Rubina to pen biography! While I am all for people trying to make use of the popularity of these kids for good cause (the proceeds from the book will go to some charity in.. France!), this is stretching it too much. She is all of 9 years old. Somebody applied to our company with this cover letter: I am writing to apply for any job opening is there in your company. ... I believe my education, skills and experiences fit your requirements... Again, don't get me wrong. I know searching for a job can be quite tough but then you have to keep your game up in the tough times and not write such sloppy letters. If you are applying to "any" job, how does your "education, skills and experiences fit our requirement"? Regular programming will resume in a while!

The Seagate Contest

I went to the BlogCamp Bangalore few days back and listened to some of the talks. A nice talk by Ashish Gupta of Helion Ventures was the highlight of the day for me. Another interesting thing was a contest being run by Seagate who were the main sponsors of the event. They have launched FreeAgent External Hard Drives in the capacities of 500GB and 1TB. Now that is a lot of space! Challenge is to come up with a creative use for all this space. What immediately come to my mind is a book mobile. A book mobile is a van that is Internet enabled and has print-on-demand equipment on board (a b/w printer, a color printer, a binder and a trimmer). The van goes around and prints books for people who want them. The biggest problem for deploying this van into more rural areas in the availability of Internet. But with the huge space available with Seagate FreeAgent drives, we can put all the available books - from Internet Archive, from Project Gutenberg, Wikipedia, from Digital Library of India - o...

Two quick tips for image refreshing and download dialogue

As we are moving to use more and more "AJAX" on pothi.com, I keep learning new things everyday some of which really entertain me :-). So let me put them down here. How to make sure that an image refreshes from server and not from cache? Suppose you have an img tag and the file in its src attribute is being updated on the server through a ajax call. Now we have to make sure that when the src file changes, the image on the page is also refreshed. On its own, the browser will simply use the version of the file in the cache. To avoid that, you can simply attach a GET query to the end of the image url. So src="test.png" becomes something like - src="test.png?random=<any randomly generated string>". For the random string you can use the surrent time stamp. Short and sweet :-) How to show a download dialogue for files that browser usually opens without asking? Browsers usually have a mapping of MIME types and applications. If they get data of a particular m...

वादा

"तुम भी प्रियतम?" "अब छोड तुम्हे मुझको आगे जाना होगा, अब नयी मंजिलें रह रह पास बुलाती हैं। अब तुमसे जोडा नाता बंधन सा लगता, अब नयी सुबह कुछ नये क्षितिज दिखलाती है।" "अलविदा प्रिये!" ------------------------------------------------- "तज कर अतीत को और भविष्य पर दर्ष्टि जमा,  जीवन पथ पर आगे को मैं बढ आया हूं। हाथों के बंधन पैरों के कांटों बदले, टूटे वादों की किर्चें संग ले आया हूं। अब नये स्वप्न मानो आंखों मे चुभते हैं, अब नयी दिशा, अंजान डगर सहमाती हैं। अब द्रढ निश्चय से मेरा कोई साथ नही, ना नयी चुनौती अब उत्साह जगाती है। किस तरह से अब कोई नया नाता जोडूं? नाता फ़िर से एक दिन बंधन बन जायेगा। और तोड के बंधन फ़िर आगे जाना होगा, क्या यूंही अभागा ये जीवन कट जायेगा?"

Book Retailing in India

It has been long since e-commerce made its debut in India but it is still to catch on in a major way. The absence of Amazon from Indian market is a major indication that it is not yet considered a lucrative enough market by big players. A lot has been said about it, tons of research papers written, lots of  workshops/panels have probably discussed it to death. I have not read any of them and so pardon me if what I am going to say sounds very amateurish. As somebody who is betting on a business model that has Internet distribution at its core, it is very important for me to understand why e-commerce has not caught on in India and what would it take? There is a first obvious bunch of reasons that comes to mind - lack of broadband penetration, lack of good online payment mechanisms ( which includes lack of widespread credit card use and absolutely pathetic state of Indian payment gateways), lack of good logistic providers ( some are way too costly while others are simply not ...