Monday, December 26, 2005

Expelling people's representatives, in style.

A while ago, Aniruddha Bahal and gang found out how easy it is to get Indian parliamentary representatives to ask questions for money. Apparently, it was rather easy. Obviously, people were rather unhappy that their representatives were so easily convinced to ask spurious questions, instead of doing their job.

The great twist in this tale is that the Indian parliament has thrown these eleven representatives out. I applaud the parliament for showing that such behavior was not to be tolerated.

The eleven vacancies in the houses (10 in the lower house, and one in the upper house) will be filled by fresh elections. The consituents will know that their representatives were caught with their hands in the cookie jar, with their pants down and all that.

If you are an Indian, use this opportunity to say, "Take that, China!" (But not with hatred though, the Chinese are a very lovely people.)

Friday, December 23, 2005

Moral policing is wrong

There is a big discussion going on in India about moral policing. Some policemen in Meerut (a town in Uttar Pradesh) went on a policing rampage, and beat up a few couples. This sort of stuff rears its head once in a while, and we must prevent this from happening again.


In Bombay, a politician called Pramod Navalkar first started such madness: prohibiting couples from gathering at the beachfront, and in public parks. He was completely against the youth cuddling, hugging, and the like, especially in public places. And since he was a part of the majority party in Bombay, he could rope in the police to implement these questionable ideas.

This policing is carried out almost everywhere, either explicitly or implicitly. Colleges in Bombay have explicit dress codes, and those run by priests are hit the hardest. In a park in Hiranandani Gardens, Powai: a guard once asked me not to walk alongside my girlfriend or hold her hand as we were walking. Just to prove that he couldn't enforce this, I continued holding her hand, walking alongside her. He fumed, but could do nothing. In this situation I was lucky, as the Hiranandani guards have brutally beaten up a kid in the past. (It was over a suspicion of using wrong tokens in game machines.)

It is plain wrong to police such behavior, since it is not illegal.

It takes the police away from their real work: enforcing law and order. It also takes the politicians away from their real work: making laws for its citizens.

Even if you are against cuddling in public, imagine how much damage this kind of policing can do. Imagine if the police could enforce dress codes, and prevent women from wearing red socks. Or enforce that all men must wear hats. The function of the police is to enforce the law, and allowing them to enforce morals instead is a very bad idea.

Thursday, December 15, 2005

What stratagus and bos taught me

I was looking up Linux games today, in the vain hope of getting my Command and Conquer (CnC) game to work under Linux. First I tried looking up Wine's database of compatibility, and then Cedega's. Then I chanced on Battle of Survival, a game that uses Stratagus' engine to make a CnC clone. And now I'm going to forget about CnC altogether. It's bos and stratagus for me now. They're where my next $20 bill is going.

So why did the programmers behind bos and stratagus spend their time reinventing the wheel? Why are there so many Open Source applications that are clones of existing software?

Because software manufacturers refuse to release these games for Linux. The sum total of CnC Red Alert 2 earning to Westwood in 2005 must be a little under $23.70, and yet there is no attempt to release it for Linux or release source code. As such, people who want a similar game must reinvent the wheel. OpenOffice, and KOffice both spring due to a big gap in Linux applications.

Doom's release as source by Id Software prompted a flurry of developer activity. It runs on the Ipod nano now, by the way. Yes, we love Id Software: true pioneers both in software design and release. People didn't go about making another Doom clone, but they built upon existing code. When this facility to build is missing, developers are forced to start from scratch.

I wrote about Wesnoth earlier, the game is marvelous! Yesterday Neha and played it while a DVD (Gandhi: a lovely movie) was ripping in the background, and I was downloading OpenOffice source. The gameplay didn't suffer in the least! And on more than one occasion we were thinking of our White Mage while having dinner.

I'm going to only buy games that run in Linux in addition to Windows or Mac. Windows only games have a bad habit of not working after a few years. Westwood gets no presents this Christmas: they've been very bad!

So my list of Linux games now is quite complete: OpenTTD, Monkey Island 1, 2, and 3 through ScummVM, Stratagus+bos, and my beloved Wesnoth. What a wonderful world we live in!

Tuesday, December 13, 2005

The RIAA song

Zug.com is a super funny site, but their RIAA prank is a masterpiece.

I read somewhere that good humor is always a bit painful, which is so true of this prank. Considering how diffcult it is to buy legal DRM-free music, on all platforms, the situation is painfully funny. Zug main-man John Hargrave calls the RIAA, Apple, and Record Studios looking to legally buy music, and finds that it is impossible. But you can get sued.

To complete the picture, there is a free song available, making fun of the RIAA. The lyrics are also free, and all mashups are free too. I plan to play this song at the beginning of every party I host... Go get the song, it is pure brilliance.

The song ends with "...there's 60 million of us".

Sunday, December 11, 2005

What project should I do?

Students in high school and college (10th, 12th, BSc) that take programming courses end up with programming projects as a part of the course. These projects merit between a fortnight and six months depending on the course and the level of study. The goal of these projects is to give students a taste of real world development. Invariably, students end up choosing something banal: another email client in Java, or a web server. While there is some benefit to writing those programs as educational experiences, I think in the frame of real-world projects, such programs do more harm than good.

For one, most real world programming is incremental. You have to add to existing code, or maintain existing code, and the opportunities to rewrite the system from scratch are rare. If there is a bug in the communication library, you cannot propose to rewrite the entire library: you are going to have to find the bug and fix it. You have to learn how to read existing code, perhaps in the absence of the original author to explain it to you. You're lucky if you find the code well documented. Writing another small program in the hopes that it is similar to a real project is delusion. This explains why so many new programmers are bad at finding bugs: they've never done it before. And if their system had a bug, they had the luxury to rewrite it. But teachers at that teaching level haven't worked at programming jobs earlier and so they don't know this. And students, having only read about blazing mavericks like Steve Wozniak and Linus Torvalds are too young to know it. Good programming is not just acquired by writing good programs, but also reading good ones: just like poetry or art.

Another problem is that students forget that programs exist to solve a problem. If a developer scratches an itch, it is because the itch is so damn annoying in the first place. Linus certainly felt so when he wrote the kernel. Most student projects end up being completely useless: even to the authors. This explains why the students are so unmotivated, and the final product is so unpalatable.

To be honest, all these issues are new, and I doubt very much thought has been given to it. And most people are only beginning to get aware about the wealth of good code available due to Free and Open Source Software.

I think a marvelous project would be to take existing software and modify it. You could track down and eliminate a particular Apache bug, for instance. That would teach a lot more about the working of a complex system. The code is all out there for the looking, so you don't have to ask anyone's permission. And when you fix a bug, nobody asks you how old you are, or which country you come from.

Or students could work on open source bounties, which are all bite-sized projects, focus on a particular problem that people need a solution for, and put the work to good use. It puts you in charge of real world programming, allows you to interact with real developers, and get a flavor for product development. And you get paid to do it!

Aside from getting recognition for your work, you get to see how important it is to collaborate with others, to see their point of view, and to defend your idea when you are correct. And your resume shines when companies see that you patched a severe bug in Apache (when you were only 16!).

This would be much harder than writing that make-believe web server, for sure. The hardest part would be knowing the existing codebase, understanding the domain, and learning how to solve a real problem. But once you know those, the programming itself wouldn't be very much different from the make-believe examples. Then again, the rewards are well worth the additional effort.

I did my fair share of the make-believe projects when I was young which is why I know all about them. If my teachers had the insight to point me to Sourceforge or Berlios, I would have learnt a few important lessons earlier.

Platform hoax indeed!

It is rare when one comes across articles that sum up the situation in very clear terms. Greg Gianforte has written this clear piece about the platform hoax, which is a clear view of the madness prevailing in the computer world.

If commercial vendors really are adding value as they claim they are, why isn't there a Microsoft Office for Linux? Since they already have a version that runs on a Unix derivative: how much longer before they port it to Linux? Never. And that's because "Windows is what this company is about".

I'm tired of this platform rubbish. The Mac platform versus the PC platform versus the Linux platform. Let people move between these effortlessly. Make a Firefox, which runs across the board. Make an Apache, which works on Windows as well. I'm tired of Monopoly Office, and Artistic iTunes. Use Java if you absolutely must, even though Java by itself is not the answer.

By the way, The Battle for Wesnoth is awesome. And it is available for Linux, Windows, and Mac OS X.

Wednesday, December 07, 2005

The new-computer market is uninteresting!

People are often surprised when they find out about my primary machine. Isn't it too slow? Celeron, yech! For some reason, everyone wants me to buy another computer, soon.

What I don't tell people is that it is also my girlfriend's primary machine. We usually work on it simultaneously, she running reasonably sized R jobs, while I grind some matrices from grids. And when I say simultaneously, I mean we are both logged in with separate displays and keyboard/mice, and are interacting with the machine at the same time. Often, at the same time, my computer is engaging in some fairly largish downloads, perhaps uploads, posting webcam pictures, running my webserver, periodically fetching mail and chewing spam. It is entirely normal to have the computer stay switched on for a week or so at a time, with some program running through the night as well. 7Gb uploads are normal. Writing 100+ data DVDs is normal. You get my drift.

I bought this machine last year at a measly price, and have spent nothing more to maintain it. My overall estimate of the price of this setup is $400. This sum is a one-time cost.
Think about that again. From the time I setup this computer, I have spent only $400 on it. (Not including the cost of the 200 or so DVD-Rs that I have gone through.) I bought this machine used, and the price I paid isn't unreasonably low: many such computers are available at around $200-300.

For these reasons, the new computer market is very unattractive to me. For a fraction of the price, I get a very capable machine which I can use as my primary machine. I get a great deal, don't pay for OEM software I don't use (hint, hint) and save a machine going to a landfill. There are great deals on both desktops and laptops, and for Linux users, it is a buyer's market. People are just itching to dump their hardware because it stops serving them. If I need another machine, that's where I'm looking.

Sunday, December 04, 2005

We still Don't get it

Got to love rebates: the most demeaning form of customer abuse. To everyone outside the US, including third world countries that haven't heard of rebates: rebates are a way of cheapening the product temporarily so that people buy it. Sounds a lot like a sale, doesn't it? In my favorite third world country: when something was on sale, you paid less for it. Say a shoe normally cost Rs.800, and at a sale, you pay Rs.500 at the cashier. Simple, isn't it?

Well, apparently that is too tricky for most high tech retailers in the US. At the Thanksgiving sale, I bought a router which was on sale. However, instead of paying less, you still pay the full price. Then, you fill out three separate forms, filling in information such as your home address, your email address, and of course your sexual preference. Put in the receipts, the UPC code, and two copies of your birth certificate, passport, visa, SSN. Then, if the company agrees (and they might not), they will mail you a check which you deposit in a bank. Wow! Of what hardy material are the American shoppers built to take this kind of torture?

CompUSA has the happy slogan, "We got it. We get it." Quite unlikely. They too have rebates, though they'll let you fill them online! Whee, I can't contain my excitement. So I fill the form but apparently I have an invalid last name. (full image)

Saturday, November 26, 2005

Let's all go to IIT

I came across an interesting post today...
...Here I Am: IIT Bombay v/s IIT Delhi

The blog compares IIT Delhi to IIT Bombay. Go ahead, read it. I'll wait.

Right.

First I must come clean: I studied Applied Statistics at the Math Department at IIT Bombay. I've never been to any other IIT.

The IITs are a real scam. There is a tough test to get in: the Joint Entrance Exam (JEE) and students spend roughly two years studying to get in. So far, so good. The test is actually quite nice: it requires a good sense of Math, Physics and Chem to get in.

The problem starts after you get in. The professors are lousy. Save one or two gems, the Math Department is staffed by some very strange people. One professor was so particular about layout versus content that he gave me a -1 in a homework where the answers were correct but not "cleanly written". Thereafter I didn't submit any homework, saving time, and getting higher marks in the process. Professors have massive egos, and every professor made it a point to remind us of how substandard we were (compared to them, naturally). A few professors were good, no doubt, and made class fascinating. But the mean quality of teaching was far lower than that at St. Xaviers, where I studied for my BSc. Prof Almeida, Gokhale, and Gurjar were lovely.

The second problem is facilities. IIT doesn't have any. In my hostel, it was not unusual for two students to share a 10 foot x 8 foot room. Usually the shared rooms had no space for a table, and one tiny window. The toilets were atrocious, the bathrooms were horrible, and many people did laundry manually. (I did mine by hand for a year, with breaks when the hostel washing machine was working: one month out of twelve.) There was a person who could do laundry for a charge, but he was notorious for losing or damaging clothes, and he was the monopoly provider. The Math Department had good computers, luckily. The IIT library, well, is a story for another day. The library is reasonably stocked with journals, but has nothing on general reading.

IIT takes polished diamonds and turns out polished diamonds (after losing a few to high pressure combustion). What is so great about that? I'm lucky that I only had to spend two years there. Any more and I'd have quit. The place is not conducive to learning or exploring. If you are a parent: don't get seduced by the IIT myth. Get your child to explore and learn instead of getting through the grinder.

Why must we be so inward looking? Why are we comparing IIT Bombay to other places in India. Put IIT to the test and compare it to the International institutions. Does MIT have cows grazing at the entrance to the Math Department? Is there cowdung in Princeton walkways? How much original work was done at IIT Bombay last year? How many successful companies did IIT students drop out to start? Give me an open courseware at IIT Bombay and let's see how good the lectures are compared to the ones on MIT's site. I want to see what makes the IITs a premier institution, because after two years there, I'm still searching.

Update 9 October, 2011: The IITs rank poorly on a global study of universities.

Good text books

Text books are the ideal public good. Some people get paid to make the book, and after creation, it should be placed in the hands of anyone who can benefit from it. I remember seeing Maharashtra board textbooks for Physics and weeping from how shoddy their quality was. A lot of them were filled with errors and the diagrams were totally misleading. What was worse: I bet the teachers were unaware of Feynman's lecture series or other alternatives.

In the US, textbooks suffer from the opposite problem. The quality of production is spectacular, and that makes the cost of production high. In addition to that, publishers print new volumes often, jiggling chapters around, so that a student with an older version would be lost. New chapters also change problem numbering and other trivial issues to force the user to upgrade. Hey, that sounds a lot like a convicted monopoly I know! This forces a very high price of books on students.

If a pdf copy of a book is available online, the marginal cost of producing another copy is zero. And all of us benefit when every kid has access to correct, royalty-free textbooks. Most children might not have access to a computer, but keeping the content free for publishing would ensure that different publishers can compete to publish the book at competitive prices. Old books are valuable again, and children can just download the changed pages instead of the entire book again. Almost like patch files that reflect the changes in the kernel of a lovely OS I know.

Inexpensive, accurate textbooks would reduce the cost of education, and would help to standardize the curricula of science. Newton's laws apply equally to both Israelis and Palestinians anyway.

Here is a great physics text available online. How I wish I had access to such a lovely book in my school-days: http://www.motionmountain.net/welcome.html

Leave a comment if you know of such books for: Chemistry, Math, Statistics, and other Sciences. I do know of the wikibooks project and have great hopes from them.

Sunday, November 20, 2005

Lack of options

Surprising how few options exist for investing in the stock market for Indians. There are companies which do this: ICICI, Geojit, and others but the standards of service is miserable. Not bad, not shoddy, but downright abysmal.

My girlfriend and I tried to jump through the hundreds of hoops for getting an Internet trading account, but we're still nowhere close to being able to login online. Their support staff is seriously ignorant, and all emails to them end up being a huge waste of braincells. I was hoping that with an internet trading account we wouldn't have to deal with the droids, but the droids are keeping us from using the online account. We're dealing with the Hiranandani branch at Powai by the way: a bunch of inefficient jerks.

I came across a similar post about ICICI at another blog and I was wondering how this state of affairs came to be. What does it cost to get good Share trading service? Incidentally, I have a bank account with ICICI (as does my dad) and we're sick of how terrible they are too.

I think the model for Geojit and others is to make accounts for people; provide them with investment advice and thus profit. It is in their interest to not allow you to trade independently.

Sad, really, how the Indian stock markets are doing so well, and there isn't a single humane company that gets to see my money invested in it.

First Post!

Hi,

This is a new blog and going by the profusion of blogs, I must list what I am going to cover here:
  • India, and what my perception of it is
  • Life as a student in America
  • Life from the perspective of a 26 year old
Stay tuned. Feel free to add me to your bloglines. See you guys shortly.