Wednesday, December 27, 2006

I did it again!

Woohoo - I just successfully cooked some rice, and it's perfect! Mom's recipes really work! mrgreen

Now I can settle down in front of the TV and watch the South Park marathon. cool

Cooking? Me?

My latest exploit is probably the most uncharacteristic yet. I cooked. surprisedcool

It all started out two nights ago when my roommates declared they were going to Miami for two days with a bunch of other guys. Now I had a pretty good idea of what they were going to get up to out there, and unfortunately, I'm not the kind of guy who enjoys that sort of thing. Sad, but true.

For those who don't know what I'm talking out, I should mention that one of the major qualities of this friend of ours called Avinash(the guy who came up with the idea of the Miami trip) is that he can outdrink the most seasoned Irish drinker. Fill him up with alcohol to the point that you can hear it sloshing around inside, and he'll barely be unsteady on his feet. eek

Now it's always great fun to watch a bunch of progressively drunker guys make fools of themselves - in fact, a friend of mine claims that this is his only activity on the rare occasions he goes to a club. mrgreen

Still, it gets boring after a while. I'm not a glutton for boredom, and luckily I wasn't invited. This gave me the idea that I could use this time to force myself to cook, and it worked. Necessity is indeed the mother of not-so-futile dodges. biggrin

I created some pretty tasty zeera-aloo - for those of you who don't speak Hindi or Urdu, this is basically a bunch of potatoes the way my mom makes back home. As far as I'm concerned, this is a great culinary achievement. Besides, I'm one of those guys who could live forever on potatoes. mrgreen

I think I'll try my hand at making some rice tonight. Wish me luck. I'll keep the fire extinguisher ready. wink

Sunday, December 24, 2006

Blogger upgrade and more

Season's greetings, everyone!

Blogger Beta has now gone official, so I just switched my blog over to it a few minutes ago. I've been messing a bit with layout and that sort of thing, and a lot of my old hacks don't work anymore, such as the comment expansion script.

Okay, actually I just can't be bothered to go through with figuring out how to integrate that into things here. I'm not sure how much the template has changed and I'm feeling kinda lazy at the moment. I'll probably look into it sometime soon. One of the things that has always annoyed me about Blogger is the way comments are handled - either a new window pops up, or it opens up in the same window - either way it breaks continuity in a way it shouldn't.

I was going to apologize for not posting for so long, but given that I seem to wind up doing that in every single post, I'm going to be shameless and simply refuse to ever apologize about this again. A man's blog is his castle, after all... smile

Here's a potted history of what went on between the last post and this one:

My team (UCF Kernel Panic) won the ACM ICPC Southeast Regionals, handily beating the second place team by a margin of nearly 600 penalty points. We'll be going to the World Finals in Tokyo in March. mrgreen

Well, we were beaten by the pickup team formed by my coaches Ben and Raymond, but thankfully pickup teams don't count anyway. In any event, I'm pretty happy - my first ever ICPC, and I'm already going to the World Finals. Not that I had all that much to do with it - my teammates have been doing this sort of thing for a while now. I did help a fair bit, though.cool

Right after that, I was hit by midterms, followed by a rather heavy load of work for the courses I was taking. Now, for the first time ever, I wound up slightly concerned that my rather undisciplined approach to getting stuff done wouldn't cut it. It was too late by then for organization to be any help, so I just went with overwhelming force instead.

People who know my somewhat obsessive nature are aware of just how much overwhelming force I can generate. It paid off - I wound up with an A in all my courses but one, and that was only an A-, so I'm mostly satisfied.

Still, I was kept extremely busy all the way through, and that left me slightly annoyed. Having to work like that eats into your time in a somewhat negative way, and I think I'd be happier with a little more control as opposed to my current methods of reacting to things as they come.

Consequently, I've gotten into this self-improvement and discipline thing - presumably the catalyst was reading How to Think like Leonardo Da Vinci and then being strongly influenced by another of Steve Pavlina's posts: Passion Vs Self-Discipline.

Pavlina knows what he's talking about. He does occasionally post on stuff which I consider rather irrational - psychic stuff and what not - but his personal growth stuff is amazing, and well worth the read.

I'd like to point out that I've been inspired enough that I'm actually waking up early these days(so far, that just means before 11 AM, though) and I've been using his 30-day trial approach to train myself to drink 8 glasses of water a day. Works like a charm.

Be advised, drinking more than 8 glasses of water a day means that you'll be visiting the loo on a very regular basis. On the plus side, it does make you feel a lot healthier.

The day after my last exam, I flew off to Maryland to visit my uncle. Armed with my new digital camera - it's a Canon Powershot A630 - I ended up coming back with over 90 pictures. This was another overwhelming force thing - my dad had demanded at least 50, fearing that my lazy approach would result in only a few photos here and there. rolleyes

Family and close friends - if you guys haven't seen the pics, let me know.

It was a great trip, though it was only a week long. The best part was all the home cooking - mmmm....*Sigh*

Seeing Washington DC was an interesting experience. I briefly contemplated running for President, but then realized that I haven't learned how to fake sincerity well enough to be an effective politician.

It was also nice to meet a lot of family, particularly cousins who I hadn't seen in years, and some who I had either never met, or had no memory of meeting owing to the vagaries of the infant mind...

So I'm finally back home, and rather predictably, I'm solving dozens of problems as practice for the World Finals.

USACO rearranged their training pages, so I suddenly found myself back in section 2.2, after having been in 3.3 a few months ago. In a fit of inspiration, I solved 10 problems in quick succession to get to 3.2. This was mostly done yesterday, and a couple of problems were done the day before that. mrgreen

I'm aiming to go yellow on TopCoder soon. Hopefully these 2 weeks of vacation will give me the added boost I need. A trend I've noticed among most people who have a high degree of skill at programming contests, is that at some point, they sat back and solved a huge number of problems over a very short period of time, and ratings and skill suddenly jumped. So you can guess what I'm doing now...biggrin

I guess that's about it. I've been promising myself that I'd start blogging again, and it wasn't working, so I just did the overwhelming force thing again. It worked. mrgreen

Cheerio, guys! Enjoy your Christmas, Hanukkah, Yule, Winter Solstice, Rohatsu - and have a happy New Year! biggrin

Monday, October 09, 2006

Exams, exercise, Yanni, and public opinion

So I finally had my first real test in the US - the midterm for Advanced AI. As expected, it was a lot more fun than the crappy ones we usually had back home. So I got down to comparing the two styles and noticed a few things about how we did tests back home.

As far back as I seem to remember, my memories of exams have always had a certain kind of boredom and a 'grin and bear it' feeling associated with them. Even the most fun exams would inevitably have some kind of boring question in it - boring because of the tedium of doing it, or because it was something that had turned up several million times before, or something like that. And there was always that little bit of willpower you needed to keep yourself writing more and more crappy stuff at breakneck speed. Especially in engineering, where answer lengths and marks became very highly correlated.

This sort of thing was the hallmark of all exams, except perhaps Maths. Engineering stole even that distinction from that wonderful subject by making it boring as well. There was no...elegance to the mathematics we did in engineering. It didn't take ingenuity, or insight, or anything. Just remember blah blah and use so-and-so and grind away.

That's why the Advanced AI exam was fun. Okay, it was short and easy(who needs 3 hour exams anyway?) but more importantly, it was scoped to exactly the level of difficulty that the subject warranted. This was something completely missing back home. Too much extra crap to consider over and above the subject, which was all that really mattered, frankly. Ah well, at least that's over...

Rather uncharacteristically, I've started getting some exercise. Going to seed in grad school hardly seems like a good idea. Luckily for my lazy nature, my bike is perfect for this sort of thing. I just have to ride to campus and back every alternate day, and the exertion it takes to handle the slopes is all my body needs.

Of course, my killer metabolism(I have no idea where it came from) takes some of the credit too. Some of my roommates have started hitting the gym regularly to keep from putting on weight. I'm lucky enough to remain completely stable even without having to do any of that. Plus my legs have already grown significantly stronger since I began biking last week, and stamina levels are up as well.

Bikes are nice. Best mode of transportation ever invented. :)

Incidentally, I've finally got my nice little review copy of Yanni Live! and I can testify that it's absolutely mind blowing. I'll be sitting down and writing a review as soon as I can. It's going to take some thinking, because there's no way I can do justice to such an amazing performance otherwise. Suffice it to say that it rocked.

Hopefully this little post should be enough to satisfy the demands of public opinion. I've been getting complaints from both friends and relatives about not blogging. Apologies, but I'm a lazy bum, and after all, procrastination is a graduate student's birthright.

Better head for the Engineering II building now - class is in twelve minutes. Cheerio!

Saturday, September 09, 2006

Long time no see...

Okay, I've been putting this off for far too long. So now, with profound apologies for the long absence, it's time for me to start blogging again.

Besides, if I didn't, I'd be slaughtered by dozens of angry friends and family members whenever I made my first trip back home. :P

As one might expect, so many fascinating things have happened in this one month that I've been in the US that I'm not sure I'd be able to get it all down in a single blog post. I'll make an attempt to put everything in, and future posts will hopefully cover the things I miss.

First off, this post comes to you courtesy of my new laptop. It's a sexy new Dell Inspiron 6400, with an Intel Core Duo processor, 1 GB RAM, 120 GB SATA HDD, and a wonderful 128 MB ATI Mobility Radeon X1300 HyperMemory graphics card. I'm in love...And now I can actually put my Google Code Jam laptop bag to good use.

I'm in the AI group, and having quite a bit of fun reading papers from all over the field as part of my independent study. Coursewise, I've got Advanced AI and Algorithm Design and Analysis on my plate. Having phenomenal fun in all of them, as people who know me would guess. :P

I should also mention that my status as a grad student gives me a place in one of the Graduate Research Labs - just as soon as the CS Department moves into its swanking new building in a couple of weeks. Then I can misuse the printer, and procrastinate effectively among other grad students.

Yet another wonderful piece of news is that UCF has a pretty good record at the ACM Southeast Regionals, and guess who managed to get onto one of the teams going there next month...

For those who don't happen to be in CS - and for the uninformed ones who are in CS and are still somewhat clueless, the ACM(Association for Computing Machinery) holds a worldwide team programming contest every year. They divide the planet into regions, and there are contests in each region, with several teams from different universities competing. The winners of each region go to the World Finals, which should be held in Japan next year, around April or so. If Japan doesn't work out, the backup destination is Hawaii. :P

In any event, UCF has a phenomenal record at the Southeast US Regionals - they've competed 24 times, and been in the top 3...24 times, with 11 wins. This will be our 25th year, and once again, we're aiming to win the regionals and go to the World Finals. I've had the good fortune to be assigned to the strongest team, since one of my teammates has 5 years of experience, and another has about 3. It's a pretty potent combination.

To illustrate what I mean, I just got back from our first practice session, which culminated in a five hour mock contest. Not only did we solve all 9 problems(the team that came in second only did 5), we did it with an hour and a half to spare, so our coach Raymond came over and gave us another problem to solve.

We submitted that successfully with 20 seconds to spare. :D

In any event, I expect a pretty major improvement in my problem solving ability over the next 7 weeks, given the strong practice regimen they have lined up for us. I think it's time for me to go yellow on TopCoder...And it's always great to meet other people who love doing the same crazy things you do.

So to sum up, life is good. Very good. Amazingly good. The kind of good that you only feel when you're finally doing what you were born to do.

It's lots of fun out here, with my 4 roommates. 5 grad students in the same house is a deadly combination. Especially when 3 of us are in CS, the craziest discipline of all. :P

I think I'll stop for now and go eat one of Vinit's mouth-watering concoctions. I have the ultimate asset - a roommate who actually likes to cook. Dinner time for me, guys. Ciao!

Monday, August 07, 2006

Farewell, Mumbai!

*Nostalgic music...*

This is going to be my last night sleeping in my nice and comfy old bed. Tomorrow night, I'll be flying off to Orlando. Grad school, here I come. Mumbai - it's been real, old girl. Keep on rocking.

I was originally planning to make this into a long post, touching on all the people and places that have helped shape me into who I am now. Somehow I can't bring myself to do that, though. I think I'll leave that for another day, perhaps as a coping mechanism for homesickness...

And so, Act I of Nadeem's Crazy Life draws to a close. The curtains have begun to descend. We'll have a brief intermezzo as I travel across Europe and the Atlantic to New York, ending with a bit of a flourish as I take another flight from NY to Orlando. And there, ladies and gentlemen, the curtains shall rise again for the second act. It promises to have a completely different flavour, and even the protagonist will not be left untouched by the changes.

Such is life.

Bye guys. It's been nice knowing all of you. I don't know how long it's going to be until I post again. Let's see how things work out. Until then - ciao!

PS: For those who want to call me before the flight, I'll be home until 11 to 11:30 PM at least. I'm not sure what the situation will be like with my cellphone after that. It'll be easier to call me at home, of course - but hey, whatever...

Wednesday, July 19, 2006

Censorship!

In the aftermath of the bomb blasts in Mumbai, the government has done what all governments seem to do when terrorists strike. It's gone insane, and decided to brazenly violate the constitutional rights of its own citizens.

Trust some half-witted incompetent government dolt in charge of something to have come up with the bright idea of blocking the Blogspot and Typepad domains, plus quite a few others. Apparently this is because some nuts have been creating blogs with messages of hate and so forth, trying to incite an incident or ten. That's right people, let's block the entire domain so we can get rid of one or two measly hate blogs. Sheesh!

I don't have any patience with people who preach hatred, and I wouldn't mind beating the living daylights out of the blokes responsible for the bomb blasts either - it's my city, after all. But the fact remains - in order to stop people from seeing the hate blogs, they're also stopping them from seeing all the harmless ones. If it weren't so damn unconstitutional, I'd be laughing my ass off at this moronic measure.

Do they actually think that it's possible to stop a reasonably smart and net-savvy person from reading whatever they want on the net? The only way in hell they'll manage that is to shut down internet access completely. Otherwise, we geeks are unstoppable. Since I haven't given the government permission to censor my blog, it should bugger off and look very apologetic about it. And the next time it wants to do something like this, it had better come grovelling on its knees to the Indian Blogosphere, in abject humility and self-abasement. And even then we'll unanimously tell it to shove its lame fascist ideas where the sun don't shine.

Censorship in any form is just plain wrong. The government has no bloody right to tell its citizens what they can read or hear or say. I, for one, will never give them that right, and I spit on any and all of their attempts to do this. And the huge outburst from Indian bloggers all over the country shows that the rest of us won't either.

It will do the government(all democratic governments, actually) good to know one thing - the rights of the people are fundamental and granted by the nature of reality and the human condition. The rights of the government, however, are what the people say they are. The purpose of a government is to serve us, not rule us. It's a dog that should be kept on a very short leash. People in positions of power soon become intoxicated with it. And in India, we have incompetent people in positions of power, which leads to this sort of stupidity. *Sigh*...

As an act of respect to the Indian Constitution, I'm going to provide a bunch of links that show just how to defeat these silly restrictions.

This is a good summary of all the different ways to bypass the ban. Highly recommended.

Here's a list of ISPs that seem to be implementing the ban.

You can use a proxy, such as HideMyAss.

Another way is to go to Google's translation tools and ask it to translate the page you're reading. Unfortunately, Google doesn't have an English to English option :P, so you'll have to muck around with the URL a bit. Something like http://www.google.com/translate?langpair=en|en&u=abstractwhiz.blogspot.com might do the trick. However, this one seems to vary from ISP to ISP - some people can use it, and others can't. I've tried it, but the translation just goes on and on without ever appearing, so I wouldn't recommend it.

The Pakistani government has Blogspot blocked too, but a smart guy came up with an interesting solution - it's a website called pkblogs. You can get to my blog my going to http://www.pkblogs.com/abstractwhiz. There's now an Indian counterpart to it - Inblogs. I'm ashamed that India even needs one of these. So much for democracy, eh?

Let's see how long they can keep this ban up. Pretty soon, no one will even care. And while it's never gonna happen, it's still nice to hope that the government will apologize shamefacedly for making such a dumb mistake and publicly humiliate itself as punishment. :D

Monday, June 19, 2006

Another day, another blog...

It's been just about 2 weeks since the exams ended, and as expected, I've been making several attempts to engage in the ancient and honored art known by the quaint Indian English term 'timepass'.

Unfortunately, attempts to practice this art for a prolonged period are inevitably cut short by various events, mostly due to the upcoming departure for the US. I still have plenty of time, just not enough to waste profitably. ;)

My visa interview was on Saturday. Went through without a hitch - only about one minute long, in fact. The painful part was waiting 2 hours for the bloody 1 minute.

Now busy trying to get other stuff arranged - need to find a place to live in Orlando, find a flight that isn't already booked, buy stuff, and so forth.

Speaking of buying, I was dragged off to Shopper's Stop yesterday to buy a bunch of clothes. To my great amazement, it wasn't as boring as I thought it would be. In fact, the ending was positively fun, when I found me a cool Tantra t-shirt, which read "Hard work pays off later. Laziness pays off now."

That's practically the motto of every CS grad student. B)

Got me a pair of cargos. Man, these things are a lot lighter than jeans. Perfect for this disgustingly humid weather, which I'll be encountering in Florida anyway.

TCO t-shirt just arrived! It looks incredibly awesome, but for some reason, it's one size too large. Which is odd, since my two Google Code Jam shirts fit perfectly.

I've been learning Lisp for the last few days. It's simply the most amazing programming language I have ever seen. Programs written as s-expressions, code and data melding seamlessly, programs writing more programs using the devastatingly powerful macro feature - it's like learning the language of the gods. I strongly recommend Peter Siebel's Practical Common Lisp. Very nicely written, and full of these incredible examples - MP3 database, ID3 parser, Shoutcast server, HTML generator and what not...

Also got back into the TC groove today. I've been neglecting that side of things ever since SRM 302. The last two matches have been tougher than usual, and I'm actually pleased I didn't take part. :D

My 3 MU TopCoder pals are off on internships - Nishant is now enjoying himself at Google, and vociferously advocating that I chuck the US plans and go there post haste. Vishwesh and Arijit are off in Hyderabad at Microsoft's India Development Center. We're all waiting to see how long Arijit waits before installing Ubuntu Linux 6 on a bunch of Microsoft machines.

Or worse - he might use Gentoo. :D

Congratulations are due to Nishant - he's been on a pretty good streak in the past few SRMs. For those who haven't been following along, he's now ranked number 1 in the country. Rock on, dude!

And he even gets to do the next few SRMs from the Google office. Lucky bastard...

Now, on to weightier matters... ;)

First off, it's my sister's birthday! Happy Birthday, sis! It's the last one we'll celebrate together for a while, so let's make this one to remember, eh?

Birthday present - I hereby introduce my sister's blog to the world: People - go here and wish her a happy birthday. Or else.

And let's give it up for Sharon and her new blog! Welcome to the blogosphere, girl! If the first post is anything to go by, this is gonna be pretty interesting. Note to prospective readers - don't make the mistake of praising Hyderabad in your comments...

So now, at one stroke, I've added not one but two females to my blogroll. Score one for gender equality...

And with that we come to the end of another dumb and uninspiring blog post by yours truly. Mostly because I'm not in the mood to write more stuff. Like Popeye once said "That's all I can stands - I can't stands no more!" (*Spinach eating fanfare*)

Btw, I've made a couple of minor changes here and there, and added emoticons. They're still slightly tacky, but I think they add a bit of expressiveness to the large reams of text I tend to spout...

Toodle-oo, people!

Friday, June 09, 2006

Freedom

It's finally over. Four years of the torture that is engineering have finally ended. And to all those who were expecting a certain cliche, no, it does not feel like just yesterday when I was a mere fresher wondering what the world of engineering had in store for me.

It's still difficult to get used to the freedom this entails. Strange feelings, which are only just beginning to sink in, even though it's been 3 days. Here are some of them:

There's a conspicuous lack of guilt about not studying for some exam, the sheer exhilaration of having no assignments to write, and the knowledge that those kind of exams and those weird assignments will never come again.

Bit of anxiety about what the future holds - visa interview on the 17th, skilling up with all the things I'll need to learn to survive on my own in the US, getting things set up properly. The odd combination of slight fear and confident expectation that comes from knowing that for the first time, you'll be going it completely alone, on the other side of the planet from the people who were always there earlier.

It's also suddenly sinking in that I basically have two more months with my family. After that, I'm not going to be seeing them for a long time.

You know what they say about absence making the heart grow fonder? The expectation of absence does that too.

On the other hand, it's still two whole months. Plenty of time to freak out and revel in the sheer joy of living for a bit.

I think I'll go and do some of that revelling now. :D

PS: GO BRAZIL!

Thursday, May 25, 2006

Yanni is God

I've just got hold of a huge cache of music from my pal Rohan, who handed me his USB drive a couple of days back, so we could exchange cool stuff. And the greatest thing of all is the absolutely fantastic collection of Yanni's compositions, from 1987 to 2000. Probably not exhaustive, but enough to keep me occupied for weeks. There's nothing like Yanni for a nice afternoon of coding and general messing around. Doesn't distract you with words, and subtly improves your mood too. And all those incredible nuances in his music - it's astonishing that someone can even think of them.

Now Playing: If I could tell you, from the album of the same name.

Tuesday, May 23, 2006

I'm alive! I'm alive!

Incredible. Once again luck has chosen to favour me. And every other final year computer engineer in MU, of course. Our Multimedia Systems exam was actually easy. Looks like I spent the last four days worrying for no reason. Silly me.

To Satan - the deal's off, I want my soul back...

The next exam is 8 days from now, which is why I'm sitting up this late blogging. Not that I wouldn't be doing it if it was 4 days from now...

Currently listening to Ichibyo No Refrain. It's in Japanese, for all you music lovers. I heard it with the closing credits of Get Backers and thought it sounded good enough to download. Absolutely worth it, even if you don't understand Japanese. Especially all that nice female style Japanese pronunciation. Rather sexy, actually...Music is pretty rocking too.

I'm not really in the mood to produce another mammoth post, so I'll sign off for now. Ciao.

Saturday, May 20, 2006

Ladies and gentlemen - the worst textbook ever!

Multimedia Systems Design, by Andleigh and Thakrar, Prentice Hall India.

Disgusting.

Sickening.

Third rate pile of incomprehensible, disjointed, incoherent shitty nonsense.

And that ain't the half of it.

At some point between the 19th and 23rd of May, every single final year computer engineer of Mumbai University will open this terrible tome and be bodily plunged into a pool of miserable melancholia. Most of them are already six feet under and sinking fast. Some have already succumbed and are nothing more than brain dead zombies. Many of those who are not will be before the exam ends. Only the toughest will emerge with their sanity. Not a single one will emerge unscathed.

Yeah, the book is terrible. It's the worst piece of writing we MU engineers have ever seen, and we've seen books so bad they kill people. This crappy book goes off on tangents, wanders aimlessly around the point, repeats the same thing over and over, and then suddenly drowns you in a deluge of useless specifications and technical details. There is not a hint of a unifying principle anywhere.

To the insane idiots in charge of deciding what we budding engineers will learn - take my advice and jump in a dry well. Head first. Preferably with your asses on fire. You're so useless it's almost pathetic. What kind of dream world you inhabit is beyond me, but perhaps you should come down to earth and look at the stuff we're being taught, and just how royally you've screwed it up.

And for god's sake, read the textbooks you prescribe for us. Three times, at least. I don't care how much you suffer. It will save millions of engineering students a lot of pain. Your puny lives are worthless in comparison. Not that they weren't worthless to begin with.

Andleigh and Thakrar - we hate your book. It sucks so bad it's worse than quicksand.

And without further ado, back to work. It's a dirty job, but the bastards in charge don't give you a choice. I shall suffer silently now, keeping in mind the fact that soon, it will be over. I'll be rid of their painful meddling once and for all.

*Gives the finger to aforementioned bastards*

I would say good night, but we know that would just be a lie. Bad night, then. Make the best of it.

PS: I'm not overreacting. It really is that bad.

Sunday, May 14, 2006

Once more unto the breach...

For some reason I've been finding it really hard to blog these days. Every time I decide to blog, it inevitably slips my mind or something else comes up, or I'm just not in the mood. Maybe it's just laziness. Anyway, I've broken out of that long enough to manage this post. As I write this line, I still have no idea what I'm going to talk about. Guess I'll just relax and let the words flow on their own. Apologies for any incoherent babble that might result.

First off, Google just offered me a job at their Bangalore office. With a pretty devastating pay package for a guy just about to graduate. Apparently I didn't screw up those interviews after all. What's really scary is that if I do take it, I'll end up getting paid anything from 3-8 times more than everyone in my class. That is just scary.

I never really expected to land a job at Google even before graduating - TCS, Infosys, Wipro - they're easily within reach(unless they get wind of your GRE score :D). But Google, as we all know, is in a league of its own.

Most of the credit goes to TopCoder - if I hadn't discovered them, I would never have reached the level of skill in CS(that's computer science, not Counter Strike) that I have now. Problem solving ability is fine, but each discipline has its own flavor of it, and I hadn't really seen the true nature of it until I started TopCoding. Ok, so it's a little unrealistic for real world stuff - code at breakneck speed, think even faster, and so forth. But you can't do any of that without knowing at least some CS, and the more you know, the better you get. Maybe that's why so many reds are in graduate school. It's the same box of tools, you're just building something different.

And speaking of grad school, that's the second thing. I now have to decide between going to Google, or going to the US and getting that PhD. The university of Central Florida actually offered me a doctoral fellowship(what were they thinking? ;) ), so it's equally attractive. And grad school really is my scene. I've been waiting to get into that kind of environment for years.

Not that Google is very different - as Alan Eustace said at the Google Code Jam tech talk "We aim for a university style environment, but our food is better".

To be perfectly honest, I've already decided what I'm going to do. Of course, being the sadist that I am, I'm gonna leave it hanging and keep you poor readers in suspense. Some of you already know, though, so please shut up.

The question that's really been going through my mind is "Why have I been so lucky the last few months?" It all started with the GRE, and TopCoder. That really seems to have been the magic lamp that brought out the genie, because I've been kicking ass ever since then. All this stuff - Code4Bill, the Google CodeJam, the fellowship, now this Google offer. It's like my life is charmed or something. I can still barely believe that it was me that did all this. If someone had told me that I'd do all this stuff 2 years ago, I'd probably have laughed in his face.

My gut feeling is that it has something to do with heightened confidence levels(after the GRE) and finding something(TopCoder in this case) that I'm really passionate about. People who aren't obsessed with something - take my advice and find an obsession now. There is no other way to live. Pay no attention to people who tell you to have a sense of proportion - that's for normal people. And normalcy is overrated. Find something you really love doing and life will fall over itself to help you out. At least it feels that way to me.

Of course, there's still going to be some terribly boring stuff that you'll have to do. Get it over with and get back to what you love, and inevitably you'll have one of those incredible moments of achievement which will make all the boring stuff fade away. It's those moments that you've got to live for. In the end, that's all that life is really about. (Yeah, I read a lot of Ayn Rand. And yes, she's right about this sort of thing)

In 4 days, it'll be time for the 8th semester exams - the final trial, and then an end to this bittersweet saga of engineering. It's been an interesting four years. Not always happy. But interesting. I've learnt quite a few lessons, though a disproportionate amount of them seemed to be about dumbness and stupidity - either about avoiding it in myself, or escaping the effects of it in others...

It's time I returned to studying System Security. This time I shall make no promises about when I'll blog again, because they inevitably end up being broken. Public opinion helps, though. Toodle-oo.

Wednesday, April 26, 2006

I'm back

Finally - it's all done. Midterms, vivas, submissions, the project - the whole schmeer. It's probably been the most hectic couple of weeks I've ever had. The only way I could get any free time out of the last few days was to waste it, and that's rather hard to do with vivas and a project report to finish. Not surprisingly, it isn't all that hard, though.

Today's Robotics viva rocked, though we had to wait too damn long for it. Anyway, if you don't count the project presentation on the 30th, then this was my last ever engineering viva. I can feel all the devastating momentum of the last 2 weeks slowly seeping out of me. No wonder I feel so relaxed.

*Stretches like a cat anticipating a relaxing day ahead. Realizes it's night-time and switches to anticipating a relaxing night instead.*

Now, on to the really important things in life. I'm supposed to blog about the Google Code Jam finals - expect a post on that in the next couple of days. Until then, you can check out the video here. Yours truly makes a notable appearance messing with a Rubik's cube...

SRM 300 is on Friday at 6:30 AM. This will be my first early morning SRM in a long while. Plus I have a bit a of a rating slump to get out of. Perhaps that'll be this match. Plus I can practice a bit too - I'm feeling rusty.

Ok, so I'm always feeling rusty - that's part of the magic, really. You don't get good unless you permanently feel inadequate. You've still got to be pretty confident, though. Paradoxical, but true.

I should really put up some pics of my new iPod Nano. All hail Google - they really know how to treat engineers. It even says "Google Code Jam India 2006" on the back. Really comes in handy while travelling or writing boring assignments.

That's enough of a teaser for now. I think I'll sign off here and devote myself to relaxing full time for the rest of the day. Plus I've got some ice cream stashed away with my name on it. Time to chow down on it.

Wow, I almost sound like Garfield.

Wednesday, April 05, 2006

Bangalore yet again!

Wow, it's been over a month since I last posted - this is probably the biggest break I've ever taken from blogging. It's been rather eventful and fun(though not all of it). A potted history follows, from the last blog until now, in chronological order.

First item of note: Nearly a month ago, some damned SOB stole my shoes from the rack outside the 3rd floor lab at college. It's the least used lab, and far enough up that few people pass it frequently. On top of that, there was a cricket match between the profs and the students, which left the place even more deserted than usual. Naturally, some unworthy scoundrel who passed by saw my wonderful pair(my uncle had brought them for me from New Zealand just a few days before) and coolly walked off with them. He also grabbed another guy's Nikes, but they were insignificant in comparison with mine.

It's highly unlikely that the fiend in question reads my blog, but just in case he does, I'd like to inform him that if I ever find him, I shall introduce him to the shoes I'm wearing at that point, preferably at very high velocity and targeted at vital portions of his anatomy. Dude, whoever you are, count yourself lucky if you get away spitting up just blood and teeth.

To everyone else, if you find me pounding the stuffing out of some fellow, now you know why. Feel free to join in and add a kick or two. Lynch mobs and hard, blunt objects are welcome.

The chap who had the weirdest reaction to this was the principal, who spoke to us in a very odd fashion. His voice got progressively louder, and he seemed to be biting off his words - almost as if he were annoyed by the entire thing and pissed off at us for actually bringing it to his attention. It was eerily similar to the behaviour of some minor government functionary who has no real power and massages his ego by bluster and noise. So what else is new?

Right, that's the bad stuff. On to the good times, and the reason I'm going to Bangalore again.

For those who came in late, Google is holding another India Code Jam. The name is a bit of a misnomer, really, since it involves 11 countries from the general vicinity - India is just the biggest one around, that's all.

The qualifiers were held a while back, and I made it to the top 500 without any difficulty, despite the fact that I just solved one of the two problems. More of a surprise was Sagar, who also made it through. He's still a grey at TopCoder, so he was incredibly happy.

On to Online Round 1 - only the top 50 make it to the onsites, and I was terrified I wouldn't make it. Just my luck - I came in 56th because I stopped to check if a brute force to the 500 would time out or not. I completely went down the wrong road on the 1000, thinking knapsack all the way until 2 minutes were left, when I suddenly realized that it was inapplicable to vectors - all this insistence on having direction as well as magnitude, you see. ;)

I was really depressed - so close and yet so far. To my surprise, a couple of days later I got an invite to the Google Code Jam finals group, and so I posted there, saying essentially "Hey, WTF?!". Turns out that those of us who were on the borderline were backups in case some of the finalists couldn't make it.

I'm sure everyone sees where this is going now. Suffice it to say I was walking on air the day the mail advancing me to the finals came along.

Oh yes - Sagar made it to the top 250 scorers, and will be the proud recipient of a Google t-shirt. Of course, I'll be the only one who can show off the shirt in college(I should get mine at the onsites, I think). Poor Sagar will have to wait till later for his.

Perhaps I should also mention that Sagar was almost 28 ranks away from the 250 before system tests, and didn't expect anything. I told him he'd make it, and he promised me a Dairy Milk chocolate if he did. To paraphrase a certain Bollywood actor "Hum chocolate ke liye kuch bhi kar sakte hain."

Of course, I forgot about the chocolate, and he didn't, so I was pretty pleasantly surprised when he produced one a couple of days after the results.

My flight to Bangalore should be leaving tomorrow morning at around 10:30 AM, and the actual finals will be on Friday morning, followed by a Google job interview on Saturday. Life is good!

It'll be interesting to see the finals first-hand - I wonder how high Nishant(niphoton) will place this time(he was last year's 4th place winner). He's gonna be battling aboyner and konqueror this time, and a whole lot of TC yellows from Indonesia, Vietnam, Singapore, and so forth. And last year's winner ardiankp is actually red, so he might just kick all our butts again...

I suddenly find myself wishing I was better at challenges.

I think I'll do a quick read of stuff from CLRS - this is the last chance I'll have to read and practice until the finals.

Part of the fun is meeting other coders, of course. It'll be great to meet some of the guys I've only talked to in the arena. Perhaps I can convince my dad to let me take the digicam along too. Expect photos if that happens.

Now for lunch, and some frenzied practice. Wish me luck!

Thursday, March 02, 2006

Fortune continues to smile...

In my last post, I had promised to blog about the Code4Bill experience. Unfortunately, this isn't going to be the drawn out, in depth look at it that I was planning, mostly because I'm too tired to write a long blog at the moment. Just a few lines about what happened, and then I'll chill and read The Golden Transcendence. Perhaps I'll write a more detailed account later, but I wouldn't bet on it...

The website told us that we were going to get interviewed in Bangalore on the 25th, so I arrived in Bangalore on the 24th, along with Nishant, Arijit and Vishwesh. Got to meet them in person for the first time, which justified the trip in itself.

The next day, we turned up at Microsoft's Global Tech Support Centre at 8 AM(yawn!), handed in our marksheets, resumes, et al, and went into a nice big hall to wait for everyone to arrive. And luckily for us, they gave out copies of the schedule for the day, so we could scare ourselves to death while we waited.

The schedule informed us that not everyone would have the interview - there would be a technical test until lunch time, and only the top 40 scorers would get interviewed. I cheerfully resigned myself to going home at lunch.

Once everyone had arrived, they showed us a little movie about the Imagine Cup 2005(obviously because they wanted us in the Imagine Cup 2006 ;) ), gave us a few speeches, and then sent us off to our assigned rooms for the test.

The three problems in the test were algorithmic - we had to write C code for the first, come up with an algorithm and code for the second, and just design an algorithm for the third.

The first one simply involved subtracting two linked lists, and I cranked out three increasingly elegant versions. No problems there.

The second one was designing a primitive regular expression parser(?s and *s only). I spent a little too much time on this, but in the end I had a nice recursive algorithm that would do the trick. I managed to write down the algorithm, but was only half way through the code when the time ran out, and it was time for the last question. I wasn't feeling particularly happy at this point, but I hadn't even expected to get this far, so I was only slightly disappointed.

The third problem had us designing an efficient method to detect contention between threads on a multithreaded system - it was extremely simplified(the guy in charge admitted that it would be completely useless in real life), but a little weird. I got rather hung up on the 'efficiency' part here, and only came up with an algorithm so vague that I wondered if I was delirious. Time ran out once again, and it was lunch time. Before that, we were asked to collect our 'Microsoft goodies'. These consisted of a certificate informing us that we were among the top 1000 contestants, a t-shirt testifying that the wearer was a 'geek god', and a copy of Visual Studio 2005 Express Edition(which is available for free download, for God's sake!).

So we went off to eat, but not before we were subjected to a speech by a bloke called Srini Koppulu. He's the big cheese in charge of Microsoft's India Development Center, and he gave us the low down on MS's operations in India in general, and at MSIDC in particular. Not too boring , since he was a techie after all...

Now before the results were announced, there was some customary hemming and hawing by the organizers, during the course of which we found out that we were not the top 1000 but the top 400 - it seems they were handling 100 finalists on each of the 4 days involved.

Now for the shortlist - 40 people who will survive and go on to the interviews. I didn't expect anything, so I figured I'd sit back and listen for Nishant and Arijit and Vishwesh's names. As it turns out, I got to hear their names all right, followed by my own, and all in the first 12 names they read out!

At this point, I was half inclined to find a window and see if the sun was moving the right way...

After this, I had the interviews - 2 of them, in fact. The first was mostly about binary trees, and I didn't do too badly there. The second one was a little more general - puzzles about manipulating arrays and so forth. This didn't go all that well, and I was a bit disappointed with myself here. It was fun, though :).

And that was it for Code4Bill. I took a rickshaw back to where I was staying(in the Air Force Mess, with my uncle, as a matter of fact), called home, etc, etc. Went home the next day, on yet another terribly delayed Air Deccan flight...

So now we're left with two possibilities:
  1. I may be bad, but most people are worse.
  2. I'm actually pretty good, but I underestimate myself.
Since this went off so well, I've decided to underestimate myself routinely now - who knows what might come of it? ;)

Moving on, I did the TCO Qualification round yesterday, and placed 45th in my problem set, easily qualifying for Online Round 1. TCO t-shirt - here I come!

Side note: Used my bragging rights in college today, and abused my newly acquired divine status('geek god', remember?).

And now, I shall attack the 3rd book in the Golden Age trilogy, The Golden Transcendence. Highly recommended!

Cool excerpt from Book 1(slightly abridged):

"What it is you want of me, Master Hortator?"

Neo-Orpheus spoke without inflection: "Commit suicide. This will save us all from embarrassment and mild discomfort. We offer for your use a number of memory and thought alterations, to make the process pleasant, even ecstatic, and to replace your values with a philosophy that not only does not object to the self-destruction but actively approves of it. We can then redact you from the memories of all people whom we can influence or intimidate; your existence would sink into myth and be forgotten."

"Why in the world would I accede to so foolish and wicked a request?"

"The good of society requires it."

The perfect shamelessness and impertinence of the comment left Phaethon speechless for a moment. Phaethon said curtly, "Your good be damned, sir, if it requires the destruction of men like me."

I swear I shall never forget that exchange(especially the last paragraph) as long as I live. Sums up the essence of a truly moral society so beautifully.

Time to end the trilogy. Toodle-oo!

Thursday, February 23, 2006

Off to Bangalore

I'll be leaving for Bangalore tomorrow, for Stage II of Code4Bill. Let's see what Microsoft has in store for us. After all, the worst they can do is find out that I'm running Linux...

OS Update: Now on Ubuntu 5.10.

Now reading Eric Raymond's The Art of Unix Programming. Seriously not what I should be doing for an interview with MS, but the chances of qualifying were always infinitesimal anyway. I'm rather astounded that I've made it this far - India must be suffering from a terrible shortage of skilled computer science people...

WTF of the week:
For our robotics practicals, we have to write some code that converts a grayscale image to binary. This involves constructing a histogram of the image, using which we figure out a threshold value. Two guys from my class came up with a rather inspired way of doing this.

(For those who don't know, an image histogram essentially contains a counter for each possible gray level in the image, indicating how many pixels of that intensity exist in the image. The obvious thing to do is create an array of integers, indexed by gray level. So the number of pixels with intensity i is stored in cnt[i], and then you can just plot the histogram. Nice and general. Also blindingly obvious, or so I thought...)

The guys in question clearly believe in working hard, and their code reflects that. Right at the beginning you see a line which exemplifies the style of their entire program.

WTF #1:
int c1, c2, c3, c4, c5,...., c16;

WTF #2 is peripherally visible in WTF #1 - they've numbered their gray levels from 1 - 16, completely forgetting the fact that they're numbered from 0 - 15, so you can store gray levels in 4 bits. Under normal circumstances, testing would catch this error, but they'll come up with their own tests, so they won't have any problems....

Then again, they just might - I wouldn't be surprised...

WTF #3:
for(...)
for(...)
{
if(img[i][j] == 1)
{
cnt1++;
}
else if(img[i][j] == 2)
{
cnt2++;
}
....
....
....
}

Need I say more? Yep, since I have a real sadistic streak(fiendish grin)...

WTF #4:
The logical culmination of all the previous wtfs, catalyzed by the existence of primitive copy and paste facilities in the obsolete edifice that is Turbo C++ 3.0.

Draw line using c1
Draw line using c2
Draw line using c3
...
...
...
Draw line using c16

Graphics savvy readers should mentally replace each "Draw line..." with a call to line(x1, y1, x2, y2).

And that, ladies and gentlemen, is a prime example of the kind of matchless talent we see these days. I couldn't equal such greatness even if I tried.

*Sigh* - at first I thought that these two unfortunates had forgotten about the existence of arrays and loops, but a closer look revealed that they had in fact used both in their programs. Apparently thinking too hard causes selective amnesia in some people...

And now to finish packing...I'll be back on Sunday evening, so expect a post on the M$ experience in a couple of days. Ciao!

Sunday, February 19, 2006

Blogging from Linux

This blog is brought to you by Ubuntu Linux 4.0, courtesy of a failed hard disk and a strange concatenation of circumstances, which will be explained in excruciating detail below.

For the past few days, I've been having problems starting up my computer. It's been rather like a game of Russian Roulette, since I never could tell which startup attempt would result in the blue screen of death. When this insanity finally started affecting Firefox and assorted other applications, I decided it was time to reinstall Windows.

Now, for some reason my dad lives under the mistaken impression that the techs who handle his office comps know a bit more about these things than I do. Evidence to the contrary fails to change his mind, even when presented with innumerable situations like this:

Me: The comp is busted. I'll just do x and fix y.
Dad: No no, I'll call one of the techs over. Let them decide.
(A few days later, the tech arrives. After a long examination...)
Tech: The comp is busted. You need to do x and fix y.
Dad: Go ahead.

At this point, I usually struggle to keep from saying "I told you so", with limited success.

Over time, I've gotten used to this sort of thing. At the very least, it saves me some donkey work, though sometimes I get impatient and take matters into my own hands.

This time, I began to suspect hard disk problems when a scandisk informed me that there were bad sectors on my disk, followed by a barrage of blue screens and disk i/o errors. My dad thought there was a virus, and then proceeded to blame games, chat programs, P2P, and so forth. I stopped listening to these improbable ideas years ago, but they're still faintly amusing. It's interesting to note how non-technical people just don't seem to have any sense of context when it comes to these things. Come to think of it, that's often true of technical people too...

Anyway, I didn't have another hard disk to backup my data(grrr....) so I was forced to wait for the chap to come over from dad's office. He turned up and said that a simple reinstall could fix things. No need to format, though naturally most applications would stop working and would need to be reinstalled. He proceeded to do just that.

It worked like a charm for about half a day. I'd already begun to believe that it was just a case of some program crashing and corrupting some system files or something, when out of the blue, it crashed again. *Sigh*...

So yesterday the tech turned up, figured out that it was a disk problem, and left me a temporary hard disk on which he hastily installed windows. Thankfully the old HD is still under warranty, so I should get a replacement pretty soon.

Hawk eyed readers will have noticed my usage of the word 'hastily' in the previous paragraph. Translation: he installed Windows on a 2GB partition, leaving only about 17 megs of free space on that partition. The others, of course, were huge in comparison, and he told me to install new stuff there. Fine, I said. Turns out I spoke too soon.

Some time after it was done, I started installing my ISP's download client. Now these buggers have a strange policy of installing a tiny antivirus prog along with their dialer. Slightly annoying, but not a big problem by any standards. The real WTF is the useless programming of their installer. Not only does it insist on installing to the windows partition, it attemps to install the antivirus there too! There isn't even an option to change the install location, and when you run out of disk space, it's too dumb to tell you. Yeesh. If you wanna do something right, you've gotta do it yourself...

The obvious solution is to use Partition Magic, and resize the partitions. And here we run into the Catch-22 for the day, viz. how the hell am I supposed to download partition magic if I can't get on the internet?!

There are dozens of other solutions, but one I liked presented itself this morning, when I remembered the old Ubuntu CD lying in my drawer. I proceeded to install this, and voila - i was on the net again!

Now I just have to wait until my new hard disk turns up. Until then, vive Linux! And when it does, vive Linux again! For some reason, the feel of Linux is really conducive to coding. I'll be doing my next SRM from Linux, just to see if it helps.

Code4Bill update: I'll be flying to Bangalore this Friday, with Arijit and Vishwesh. Nishant will fly Indian Airlines, since he gets free tickets. He'll be meeting us in Bangalore. It's turning into a MU TopCoder's meet, really. Microsoft is kinda taking a back seat in my mind, and I don't have any illusions about being one of the final twenty with my lack of MS specific skills. The smart money is on Arijit, who seems to know every technology under the sun, and Nishant, who can do it on sheer brain power alone.

And now, I shall go and take a nice warm shower. Toodle-oo, people.

Wednesday, February 15, 2006

Monday, February 13, 2006

Life is good!

I've been experiencing an incredible streak of good luck over the past few days. It's as good as anything to blog about, so here goes...

First off, universities have finally started replying. I've only got two replies so far, but one of them has been incredibly positive. The University of Central Florida wants me in their CS Ph.D program, and what's more, they're giving me an assistantship too! It's a pretty good program, so unless something even better turns up, I might just be in Orlando half a year hence. My childhood ambition of visiting Disneyland might actually be possible now...;)

Of course, it is a Ph.D, so I'm scared out of my wits. On the other hand, one look at the stuff I'll get to learn sends my enthusiasm levels through the roof. Besides, I'm not exactly dumb, and it's a fun way to spend the next few years...

All this exultation is somewhat premature, since I still have to hear from the rest of the univs, but it's good to have something in the bag, so to speak.

At this point, a few people will be wondering why I haven't mentioned the reasons that they would undoubtedly find most convincing for going to Florida. For their benefit, I'll mention a bunch of keywords which should keep them happy. Here they are: tropical weather, theme parks, beaches, babes. Putting these together is left as an exercise to the reader.

Ok, that's it for the first piece of good news. On to the second...

Remember Code4Bill? Well, it turns out that despite my useless performance in all 3 rounds, Microsoft is convinced that I'm among the top 5% of all Indian students(their words, not mine). So either next week or the week after that, I'll be going over to Delhi or Bangalore to be interviewed by a bunch of Microsoft people. They're only picking 20 people for the internships, so I'm probably out - after all, there have to be 20 people in this country smarter than I am...Still, it looks great on a résumé, eh?

I finally made it to USACO section 3.3. The problems look rather scary now, so I have a feeling it's gonna be slow going.

I just hope this streak of good fortune doesn't suddenly reverse itself(to preserve balance or some such thing). I'm rather terrified of that happening, especially since the results will be coming out soon...Anyway, there's no point in worrying about that.

Half a day of boring lectures tomorrow...thankfully I have several USACO problems in my head to occupy me. Time now to hit the sack. Toodle-oo.

Friday, January 27, 2006

Recent events

Once again, it's been a long time since I last blogged. Seems like it always is. Anyway, here's the latest update on stuff I've been doing/am doing, as well as other stuff in which I'm mostly a passive component, so that it's being done to me, as it were.

First off, I finally received my Google Code Jam t-shirt! Whoopee! Wore it to college a few days ago, and received a bunch of 'New Pinches' in return. (NB: A 'new pinch' is a rather quaint custom which involves pinching someone who has recently acquired something new. As far as I know, it's limited to India, but my experience is limited...) Thought that was rather childish, but then we let children have their fun...

Second, I took part in the first round of Code4Bill, and cleared the first round(held last Saturday) without any major problems. Eight questions, six hours, out of which only two and a half were really required. Made me realize how much my problem solving ability has grown since I started TopCoder. The next round is tomorrow, and only three hours long, AFAIK.

Third, I've been reading Gödel, Escher, Bach all this while, and I can say this - it is absolutely PHENOMENAL! Excuse the caps - they're rather reminiscent of a stylistically-challenged friend of mine, but they're the only way to express the sheer superlativeness of this book. Extremely thought-provoking, beautifully structured, fascinating ideas - I could sing its praises all day, so I'd better shut up quickly. Perhaps I'll put up a review of it when I've finished. That won't be any time soon, since the book isn't exactly light reading - it takes a lot of thought to process(this I like), and I also like to keep an eye out for the weird recursive structures he's left all over the dialogues, so I often go back and forth searching for common features.

TopCoder seems to have suddenly increased the difficulty levels of their Div 1 250s, leaving a whole bunch of blues bouncing back and forth between divisions. I'm not one of them so far, but I haven't been having any great matches lately. Started up a new style of practice, based on the Coding Kata idea mentioned here. Hopefully this will work.

On the college front, we have the usual 4/7 week, so we don't suffer too much. At least not yet. In stark contrast to our previous semesters, we have two thoroughly bogus teachers, whom I shall not talk much about, having essentially given up on the 'Univ/College sucks' rant concept. Suffice it to say that one of them requires a translator to understand, and the other continually produces a never ending stream of WTFs. Each one also has some proficiency at the other's 'super power', so we often end with a bunch of WTFs delivered in poor excuses for spoken language...

In MU, it's often helpful to mentally decouple the subject from the person teaching it, as well as the inevitable exam, since you might end up mistargeting your hatred/annoyance/angst/general boredom. In this spirit, I shall now consider the subjects we have, while banishing all thoughts of the person teaching them from my mind. Not an easy task, given the urge to burst into laughter in two cases...

Robotics: Incorporates elements of Mechanics, and as those who know me will testify, anything with sensible mathematics in it makes me happy.

Multimedia Systems: I'm not generally a big fan of this sort of subject, since they often boil down to remembering all sorts of weird standards and specifications, which is almost always a complete waste of time. Still, we get to mess with Flash, Dreamweaver, Maya, and so forth, so it can't be all bad. Plus there might even be some algorithms in it, so it might actually be fun. At least I hope so.

System Security: This sounds absolutely fascinating, but I fear it will lack the pragmatism that's necessary for a real understanding of the subject. Plus there's always the risk of pointless classifications which are of no real use, except to give certain kinds of teachers some questions to ask without having to think too hard. However, we have some cryptography, and this makes me very happy. As a matter of fact, I have Stallings's book already open right now, and will probably consume a bit of it today.

Distributed Systems: This sounds pretty interesting too, but the prof teaching it is due to come back from leave only at the end of this month, so I really don't know much about what it's like. Time will tell, I suppose.

For those of you who might be interested in Junior and his family, I'm afraid that the story ended rather sadly. First Junior vanished, having ostensibly decided to leave home for good. A couple of days later, the crows filched Mrs. Pigeon's two eggs. She put on a few heart-rending scenes searching for the eggs, but my mom eventually got bugged and removed the flowerpot, ending the association of the Pigeon family with our kitchen windowsill.

Hopefully I'll have something new to blog about soon. For now, I intend to introduce myself to the very delicious bowl of chicken soup next to me. Tallyho and all that...

PS: Looks like my visitor counter finally crossed 2000! Not a huge achievement, but thanks are due to anyone who reads my frequently senseless rantings. I salute your masochism.

Tuesday, January 17, 2006


The very picture of maternal patience... Posted by Picasa

Mrs. Pigeon, the queen of her castle.... Posted by Picasa

Wednesday, January 11, 2006

Sibling rivalry?

It looks like Junior has two siblings on the way. His mom has wasted no time in producing two eggs to fill up the flowerpot again...

Says something weird about her, doesn't it? One kid leaves and she produces two more to take his place. Let's hope this isn't a geometric progression...

My sister has threatened violence unless I mention that her prelims have ended. Therefore, I hereby mention that her prelims have ended. She's also urging me to change something for the new year. I wonder if I can get me a new sister somewhere ;) ...

Back to the usual stuff...

Tuesday, January 10, 2006

Up, up and away!

Ladies and gentlemen, Junior has left the building. The little chap finally found his wings this morning. He hasn't been seen since.

His mother, on the other hand, shows no inclination of moving out of the maternity ward(read flowerpot). This is annoying my mom a bit, but she suspects that another egg is on the way. I'm pretty sure that's not the case, but we'll know soon enough. If it's not here in another week, Mrs. Pigeon is going to be evicted in absentia, so to speak...

I missed this morning's SRM because of Eid, but that was a blessing in disguise - some weird confusion resulted in everyone failing the div 1 250/div 2 500. Since the 250 is all I get in division 1 anyway, this would have messed things up royally for me.

There's some talk about the match not being rated, or perhaps leaving the 250 unrated or some such thing. Systests are done and practice rooms are up too, but no sign of ratings yet. I figure that one of the following is the case:
  1. The match won't be rated.
  2. The admins are trying to figure out how to tweak the rating formula or something.
Off to the practice rooms...

PS: Good luck, Junior - wherever you are.

Monday, January 09, 2006

Have Wings, Won't Fly

Why doesn't Junior learn to fly already?

If you don't know who Junior is, I'm too lazy to enlighten you. Go and read some of my older posts.

Junior's been jumping around for a few weeks now, but surprisingly, he hasn't made any real attempts to fly. Mom and sis have spotted him flapping his wings frantically a few times, but he hasn't actually managed to achieve lift-off yet. He's almost as big as his parents now, and there's a hell of a battle when they try and feed him, with lots of 'chirping and flapping of wings'.

Oh yeah - 50 brownie points to the first person to figure out the original phrase that the quoted text in the last sentence is based on.

In moments of idleness, I amuse myself by formulating increasingly dumb theories about why he hasn't learnt to fly yet. Subtracting out the bored humor and combining variations, I end up with the following possibilities:
  1. He's scared.
  2. His parents are over-protective, and are having trouble letting go.
  3. His parents are having trouble figuring out how to give him a demo from such an unconventional perch(the grill outside my kitchen window).
  4. His wings haven't matured to that point yet.
Since we're talking about pigeons, we can usually toss out (1) and (2) - I'm not sure their minds are that complex. That leaves us with (3) and (4), which make much more sense.

Hopefully he'll get his first flying lessons soon. That boy needs some wheels...er, wings - no wait, that's not right...*bails out just as the metaphor explodes into a million pieces*.


Read two more of the Vorkosigan books today - one short story and one whole book(Cetaganda) to be precise.

Feeling somewhat lethargic at the moment. Not really up to coding or reading Hofstadter's explanation of Godel's Incompleteness Theorem, even if it does involve Achilles and a tortoise...

Listening to Aerosmith - Dream On. Nice song. Recommended.

Sis has her Maths-II prelim tomorrow. This means insane torture for me - the kind that takes days to recover from.

In an almost poetic event, I was just interrupted to solve a problem. Sis is getting increasingly irritated.

And that's it. I'm too bored to think up a conclusion. Consider this to be one.

Tuesday, January 03, 2006

Reading like crazy

After the coding spree I mentioned in the last post, I seem to have switched gears and started an insane reading spree. Even by my standards, it's a bit of a record.

Here are the books I've been reading:
  1. The last three books of Isaac Asimov's Robot saga, namely The Naked Sun, The Robots of Dawn and Robots and Empire.
  2. One of Asimov's Empire series - Pebble in the Sky. I still have two more left - The Currents of Space and The Stars, Like Dust.
  3. Four books from Lois McMaster Bujold's Vorkosigan saga - Shards of Honor, Barrayar, The Warrior's Apprentice and The Vor Game.
And let's not forget Programming Ruby: The Pragmatic Programmer's Guide. I haven't read all of this, but enough to build up some skill in the language. It's absolutely wonderful - I can see why Ruby programmers are such an ardent lot...

I'm thinking of rereading Ray Kurzweil's The Age of Spiritual Machines. I loved it the first time I read it - always been a closet transhuman even before I knew what the term meant...

I'm stuck in section 3.2 at USACO. The first problem was fairly easy - minimum spanning trees, after all. The remaining three are still resisting my feeble attempts to solve them. I have an idea for one of them which I'll try out in a bit...

Junior Update: For those who came in late, Junior is the offspring of a certain female pigeon who took up residence outside my kitchen window a few weeks ago. He hatched a while back, and has been growing at a ferocious pace. He began to flap his wings a bit two days ago, but his parents don't seem very inclined to let him out of the nest, and defeat his efforts by the simple expedient of sitting on him(I kid you not). Maybe they're having trouble letting go of their only child, or they might be instinctively aware that it's too early, or some such thing...

I think I'll try out USACO now, and I've also had my eye on The Art of Java for a bit. The book contains, among other things, an implementation of a recursive descent parser. I've been thinking of reading up on it and then writing my own version, as a sort of guided exercise in good design. Maybe I'll take the Mentat approach this time, concentrating on the questions rather than the answers. Off I go...

PS: Happy New Year, world.