My Adventures at the Zonal Transport Office

Note: I originally posted this article on a personal blog I ran when I was in my late teens and early twenties. I discovered in May 2020 that the Internet Archive had preserved the contents of that blog in its entirety, including some of the media. That blog was an important part of my personal history, so I reposted all of that content on this website for archival purposes. While my politics, opinions, and outlook on the world have changed radically since I wrote those posts between 2009 and 2011, it’s good to know that I was as much of an idiot then as I am now.


Whenever I hear someone mention a government office of any sort, I find myself thinking of middle aged women who look strangely like that distant aunt of yours who likes to give you unsolicited advice because “.. youngsters like you need the guidance of your elders.”. I associate government ventures with forgotten, derelict buildings and old Wipro computers running Windows 98. If I’m feeling particularly depressed, I conjure up terrifying visions of office chairs from the last century which have been patched up so many times they’ve started looking like abstract art. Equally frightening are the visions of their owners, who have been sitting in those demented pieces of office furniture for so long that the furniture has morphed to acquire the shape of their bums, as a result of which nobody else can ever be expected to use the same chairs unless they have the same bumprints.

When I walked into the zonal transport department this morning to apply for my learner’s license, this is exactly what I expected. I was relieved to find out how wrong I was.

The first thing that hits you when you walk into the office is the fact that there are no middle aged women who look like your distant aunt. After you’ve had a mental victory dance, you realize that the place isn’t as dreary as you would expect a government office to be. It has a strange sort of cheerfulness. Not the “Yay! I’m so happy!” kind of cheerfulness, but the kind of cheerfulness you find in workplaces where every employee is satisfied and prides himself on a job well done. The computers are all HCL workstations (with LCD screens!) running Windows XP (not really something you can be proud of, but at least it’s better than Windows 98 ). You can see ergonomic chairs behind every desk. A large LCD television adorns one of the walls. The lighting is top notch, and the tiled floors make the ambience even brighter.

(The office also seems to have a competent sysadmin. I first realized he was competent when I saw him getting frustrated at the guy at counter 3, who couldn’t get something very simple to work. He swore in the glorious sysadmin tradition, “What did you motherfuckers eat this morning?”, drawing curious glances from the people near counter 3, and a glance of deep understanding and appreciation from me.)

The only thing that reminds you it’s still a government office you’re dealing with is the long queue at counter A, where you have to submit the filled in license form along with an ID and a proof of address. Since I was early, I didn’t have to stand in queue for too long, but others were not that lucky. At counter B, a young girl took my photograph, signature and fingerprints, a procedure that took 30 seconds. I was told to go to counter 7 for a few tests.

The person sitting at counter 7 first gave me a color blindness test, which was basically an Ishihara Color Test. After that, I was given a simple questionnaire. It was nice to see that the transportation department has a sense of humor. Here are a few questions that struck me as hilarious –

Q: Why should one give more room to cyclists while driving?

  1. Two wheels are unstable
  2. They might turn anywhere, anytime
  3. They have a right to more space on the roads
  4. None of these

(I couldn’t figure this one out.)

Q: While driving at night:

  1. Drive slow and look out for cyclists and pedestrians
  2. You reach your destination faster
  3. Cyclists and pedestrians don’t come out at night
  4. None of these

Q: While driving at a high speed:

  1. You reach your destination faster
  2. One must adhere to the speed limit
  3. You have more fun
  4. None of these

Q: Two wheelers can carry:

  1. Only one person
  2. Two people – one in the front and one in the back
  3. As many people as you can fit on it
  4. None of these

Q: There are different speed limits on the road because:

  1. Everyone is in a hurry
  2. Buses take up too much space
  3. Most people don’t drive in their own lanes
  4. There are many different kinds of vehicles on the roads

(Another one I couldn’t figure out, so I marked option 4 because it was the most rational.)

The rest of the questions dealt with road signs, driving skills and road laws. There were total 30 questions.

The test took less than ten minutes, and the entire process took less than an hour (including the time it took for the person at counter A to fix a broken printer). This is the first time I’ve gone to a government office and haven’t spent the day there. It seems like the Indian government has realized that lengthy procedures actually cost them money. I just hope other government offices take a cue from the transportation office.

In other news, I finally get my very own car. It’s ten years old, doesn’t have an air conditioner and has a radio that works only when you’re not in the mood for music. But the features don’t matter. What matters is that I finally have a car. Take that, environment friendly public transport!

Computer Science FAIL – Higher Education in India

Note: I originally posted this article on a personal blog I ran when I was in my late teens and early twenties. I discovered in May 2020 that the Internet Archive had preserved the contents of that blog in its entirety, including some of the media. That blog was an important part of my personal history, so I reposted all of that content on this website for archival purposes. While my politics, opinions, and outlook on the world have changed radically since I wrote those posts between 2009 and 2011, it’s good to know that I was as much of an idiot then as I am now.


Update (March 13): He’s back, but now he’s simply shying away from what he doesn’t know.

Update: The professor in question has been reported and is now banned from taking any more classes.

This piece might come across as one intended to bad mouth my own college, but I have a sneaking suspicion that things aren’t all rosy in other parts of the country either.

I suppose every geek has had this same feeling before. You take a seat in the front row of your first Introduction to Programming lecture, all worked up about the fact that here, finally, is a class you can be on top of. The professor walks in, gives a little introduction, and you realize it’s going to be a long, long semester.

Today I decided to make a list of all the atrocities committed by my Introduction to Programming professor. I wasn’t expecting much because, even though he sounded like a complete knucklehead to the geek inside me, I was sure he at least knew the textbook inside-out. I was, as one would expect, wrong. So, hackers, get ready to cringe. Here’s my list.

  • … Linux is basically a DOS based OS.
  • These days we are using 128 and 256 bit processors.
  • A compiler is a software that converts code written in a particular programming language to machine code. To compile a program, you must hit ALT+F9. (It took me a while to realize he was talking about the Borland Turbo C++ IDE from 1992, a prehistoric compiler Indian colleges use for all C and C++ courses.)
  • The object code generated by a C++ compiler is almost identical to that produced by a Java compiler.
  • The first high level language was Ada, also known as Smalltalk. (This was a big WTF moment.)
  • The second high level language was COBOL, which was an improvement over Ada. (Cringe, cringe, cringe.)
  • FOTRAN came after COBOL. (No, “FOTRAN” is not a typo. This is what he said.)
  • FOTRAN, COBOL, Ada and Smalltalk were not general purpose languages.
  • This one is classic: C was the first language to run on UNIX systems. All languages before C ran only on Windows.

I still haven’t completely recovered from the shock.

Learning New Programming Languages and APIs – What I Was Doing Wrong

Note: I originally posted this article on a personal blog I ran when I was in my late teens and early twenties. I discovered in May 2020 that the Internet Archive had preserved the contents of that blog in its entirety, including some of the media. That blog was an important part of my personal history, so I reposted all of that content on this website for archival purposes. While my politics, opinions, and outlook on the world have changed radically since I wrote those posts between 2009 and 2011, it’s good to know that I was as much of an idiot then as I am now.


For the past few months, I have been trying to learn how to write GUI applications for the Mac. The two best toolkits for this task are Cocoa and Qt. Since I have never written any GUI code before and none of my projects have ever been very complex, learning these two libraries turned out to be a tough nut to crack. After many months of trying to become proficient at writing GUI code and failing, I have finally found out what I was doing wrong all this time. The fact that I have finally grasped Qt using my new methods is proof that my old methods had some very serious flaws. The following points are written in context of learning new APIs and languages, but they apply equally well to anything else you might ever want to learn.

Hand-Holding Doesn’t Get You Anywhere

What I Did Wrong: I looked for a book on Qt which made understanding GUI programming concepts simple for a beginner such as myself.

Correction: Such a book does not exist. Picking up a For Dummies book (or something equivalent) means shooting yourself in the foot. If you expect people to guide you step-by-step through learning difficult subjects, you should probably not be writing code at all.

Immerse Yourself in the Material

What I Did Wrong: I searched hard for a book that would teach me Qt from beginning to end. I spent hours reading reviews, blog posts, forums and back covers searching for the One Book.

Correction: One source is never enough, and the One Book does not exist. The best way to learn any new API or language is to completely immerse yourself in the material. Subscribe to mailing lists, hang out in IRC channels, read blog posts, articles and tutorials, help people out at StackOverflow, read code written by the experts, try to modify existing code, add new features to your favorite application and talk to people who know the stuff well. Oh, and buy a good book.

Don’t be Systematic

What I Did Wrong: I tried to systematically study the material from the first chapter to the last, completing every exercise given in the text.

Correction: Being systematic is the biggest mistake I made while learning Qt. Trying to be systematic will only tire your mind as you tediously work through some trivial exercise the author thought was important. Programming is a creative activity. The most painless way to learn something is to just let your brain run wild. Speculate, dream, design, experiment. Skip the boring exercises and do only the ones you find interesting or, better still, make up your own exercises. When you find yourself unable to complete the task you put yourself up to, skip around the book and try to find a way to solve the problem.

Taste Things First

What I Did Wrong: As I read through the material, I typed the code samples into my editor to see what the author was trying to say. I moved on to the next chapter only when I had tried out every code sample and completed every exercise in the current chapter.

Correction: When you’re reading through the material for the first time, always read it like it’s a novel. Instead of focussing on how you can accomplish a certain task, focus on what you can accomplish. This way, you will know the strengths and weaknesses of your tools before you sit down to code. Most importantly, you will know where to look for the functionality when you actually need it. Reading the material quickly makes it seem like you’ve accomplished a lot in very little time which keeps your brain from getting bored. Also, it makes reading through it the second time (this time focussing on the details) much easier.

Aim High

What I Did Wrong: Whenever I didn’t understand something, I told myself it was okay. Whenever I felt stupid because I couldn’t grasp a simple concept, I told myself to relax. I thought it was okay to fail, and that not many undergrads even know about Qt. Hell, I thought, there are so many great hackers who didn’t even know how to program at my age.

Correction: When you’re evaluating yourself, always compare yourself to the people who are better than you. If you think you’re stupid, you probably are.

These techniques were partly based on this article. Check it out, it’s pretty good.

My Code Dojo

Note: I originally posted this article on a personal blog I ran when I was in my late teens and early twenties. I discovered in May 2020 that the Internet Archive had preserved the contents of that blog in its entirety, including some of the media. That blog was an important part of my personal history, so I reposted all of that content on this website for archival purposes. While my politics, opinions, and outlook on the world have changed radically since I wrote those posts between 2009 and 2011, it’s good to know that I was as much of an idiot then as I am now.


Update (March 27): It failed. It’s gone now.

From the site: [Uncool’s Code Dojo] is a database of short, fun programming tasks that can be solved in under a week’s time.

Here’s a problem – I’ve just learned this new do-all-end-all-super-mofo programming language but I don’t know what to do with it. The Code Dojo is my contribution to bored programmers everywhere who share the same feeling.

Visit the Dojo at http://dojo.uncool.in

Jingo!

Note: I originally posted this article on a personal blog I ran when I was in my late teens and early twenties. I discovered in May 2020 that the Internet Archive had preserved the contents of that blog in its entirety, including some of the media. That blog was an important part of my personal history, so I reposted all of that content on this website for archival purposes. While my politics, opinions, and outlook on the world have changed radically since I wrote those posts between 2009 and 2011, it’s good to know that I was as much of an idiot then as I am now.


Everyone knows about Satyam, so talking about it here would be pointless. I think whatever happened will be good for the industry in the long run. I have no idea how Satyam has survived for so long, considering how bad their services really are (at least the consumer-facing ones). I also don’t know why Hewitt and Mercer thought Satyam was a good employer. They treat their employees like slaves. Anyway, that’s not the point of this post.

Here’s the BusinessWeek article about Satyam. As with most BusinessWeek articles, this is mostly just repeating what everyone else has been saying for the past 24 hours or so. The rest of it is just filler content. What’s really interesting is the comments section at the end of the article. Take a look yourself.

I’m summarizing the opinions held by the highly intellectual demographic which forms BusinessWeek’s main audience. Here is what people think about India (yay, us!) –

  • We are all thieves and liars.
  • All of us have an IQ of 81, which means all of us are more or less retarded.
  • We brag too much.
  • We pee in public.
  • We suck because we wash our asses instead of using toilet paper.
  • We don’t wash our hands before eating.
  • This one is interesting – india is also kashmir. Um, what?
  • South Indians should not be trusted because they are ugly and dark-skinned.
  • … Indians are really ugly looking with miserable accents.
  • Despite all of the above, the whole world likes India and Indians.

Some interesting facts emerge about Americans, Pakistanis and the English (”Britishers”) –

  • Americans are thieves and beggard.
  • People from America and Europe are ugly because their faces look like a mixture of salt and red pepper.
  • Pakistanis are filthy and have an IQ of 70.
  • Kashmiris are good but Pakistanis are bad.
  • Pakistanis are extremely corrupt people. All of them have inferior stature compared to India. They are all lean and thin. Indians are well fed and strong. This is evident from the fact that India has won 4 wars till date and Insha Allah we will win the next war against Pakistan also.
  • All Asian countries are 3rd world garbage dumps. Only Japan is developed because it is controlled by the West. If it was run by Japanese, it would be another 3rd World cesspool.

Every single one of the posters is, of course, a misinformed idiot. The worst thing is that BusinessWeek isn’t really concerned about the quality of content on their website. I have seen more intellectually stimulating content than that at 4Chan.

The power of social media, anyone?