My first post of the year! So here I am, whiling away the last day of my winter vacation at home. December '09 has been rather fruitful, I learnt a lot about NS-3 and even became a contributor to the project. I also managed to make a good deal of progress with my work on Security Issues in Mobile Ad hoc Networks. :)
Anyhow, the only problem with working from (my) home is the dial-up connection I'm stuck with. My laptop doesn't even have a dial-up modem and hence, I'm forced to use my trusty (maybe not) 8 year old Windows box, which has housed and nurtured generations of malware. There's this weird one that forces a click on a particular section of the screen, another one that blocks keyboard input for a while (and surely records/sends it somewhere) before allowing me to continue, and a million others. This system won't even boot from a USB which ruined my efforts to install Linux on it. And yes, I'm too lazy to go out of home and buy a blank CD/DVD. Anyhow, the dial-up is so slow, I always have a Solitaire window open to keep my fingers busy while my browser struggles to load pages over the connection that gives me blazing speeds of around 1KB/sec. This obviously implies that I've played Solitaire a LOT over the month, and this allowed me to make a few observations about it in the progress. Here goes:
1) No matter how many times you hit F2 (New Deal) under a second, the deal won't change and you'll end up with the same decks of cards. This kind of implies that their new deal function (which would be using a randomise function) is using the current system time for a seed value.
2) This observation was made possible thanks to all the malware who've worked persistently to slow down my system. Upon opening a new card from the deck on the top left (after there's another card already open on the same deck), and then hitting undo, you can see (only on my machine of course, because mine's the only slow system on the planet) the entire set of cards upto the previous one flashing by, one after the other. So my guess is, all decks are being maintained as linked lists with a pointer to the card on top and the one just before it. When you opt to undo your action, the entire linked list is traversed (and shown on screen) upto the previous one with the help of the 'previous-card' pointer. Guess they took advantage of processor speeds to hide it from the user under normal circumstances. :P
I might be wrong (my guesses usually suck), so feel free to correct me. And do let me know if you've made any observations as well. :)
Happy New Year and uhm... Happy Solitairing. :)
I typed this entry on board a flight from Delhi to Coimbatore. I spent the first two hours of the flight fiddling with ns-3, and I'm slowly getting a feel of it's code. Anyway, it's a beautiful view from aboard the plane, with a stripe of orange lissing the dark horizon of the clouds and blending into the darkness of the night. But that's not going to stop me from ranting away, so here goes. :P
I happened to watch 'The Zeitgeist' a few days ago and that prompted me to write this by the way. Yes, I am quite late to join the Zeitgeist bandwagon; I usually miss good releases by an entire era. Quite amazing I'd say. With the kind of interest I have in religion (in spite of being an atheist), I was already familiar with most of Part I which was all centered around religion. Religion is by far the most successful hoax ever and I wonder how it can ever solve the world's problems. Oh wait, it's _creating_ problems. I pity the stereotype that Muslims of today have to put up with. While on the bus I'd taken from Jaipur to Delhi yesterday, I happened to sit next to a middle aged man. I opened a conversation with him and we talked for a while. When I asked him his name, he replied, "Ahmed", paused for a few seconds and then said, "I'm Muslim." I couldn't figure out how that piece of information was going to help me judge him in anyway, so I asked him if there was any specific reason why he was telling me that. To that, he replied, "Because that's the way it is these days." Our conversation ended there.
Ignorance kills, and it makes one vulnerable to deception. It fools people into buying products that'll never help them, into accepting beliefs that are baseless and into letting corrupt people govern them. If everyday Joe asked me to fix a problem on his computer, I could easily setup a Trojan in front of him and give him a stupid explanation to convince him that it's there for a good reason. Heck, ignorance helps the quacks and charlatans of all areas on a daily basis. Look at Ankit Fadia for instance. Anyone who's got as much as a grain's worth of knowledge about security knows better than to believe that Fadia has the skills required to be a 'security consultant'. Yet, he rode the media all the way to popularity and fame, because, to your everyday noob, he's a prodigy and an 'ethical hacker'. And regardless of whether or not you know what being a hacker is all about, please read this article by Eric S Raymond. I'm pointing even those who 'know' to that link because there are a lot of people I've met who think they know what it means to be a hacker but are just as misinformed as the others.
Need I even get started about religious rituals which are supposed to cure diseases and other problems? How about an AIDS vaccine people? Or how about you all get together and cast "Heal the World Level 3"? While you're at it, you could possibly follow it up with "Fulfill all UN Millenium Objectives Level 100" as well. If you can't it's ok, you can still help by trying out those really cool mass suicides. At least we'll end up with a better planet that way.
Will the educational system ever evolve enough to overcome these brick walls? Maybe yes. Maybe not. Bah!
* Disclaimer: Even though I'll try to tone things down, this article might end up disgusting most of you, to the point that you might want to turn yourself inside out in the process. Any harm caused is the reader's fault and not mine. You have been warned. *
The MNIT hostels have always had a reputation for not being really clean; reasons being bad mess food, a poor maintenance cycle, and mostly, plain old sick people.
So having lived here in these hostels for my fourth year running, you can say I've been inured by the 'exposure' gained. The most noteworthy part of these hostels involve the bathrooms themselves, the conditions of which I'd like to enlighten you all with. Every trip to one of these common bathrooms is a new experience, as the occupants of these hostels are never out of ideas to churn your guts.
In any case, I'll be drawing out a list of things you _don't_ want to see when you walk into one of these bathrooms. So here goes:
- A rat the size of a kitten running towards the latrine, and disappearing down the toilet.
- A snake disappearing down the toilet. No kidding.
- The bathroom drains being blocked (because someone thought he'd stuff his empty can of shampoo down the hole), and the entire room being flooded with water upto ankle level. Note that the water's connected to the toilets, the bathing area, the wash basin area and the urinal section.
- Someone walking bare feet through the above mentioned flooded room.
- The toilet with a hell lot of shit left untouched. (Abides well with Murphy's law, as it happens only when you've got to take a crap, and very badly that too).
- Same situation as above, but you notice two different sets of shit. (Guess why?)
- Plastic bottles lying around inside the toilets. This might be a little hard to figure out for people who're on the cleaner side of life, so I'll tell you. The said people use those instead of mugs (they share a bottle which they leave in the latrine itself).
- Now it starts getting weird: A packet of chips lying inside the toilet. Cigarette buds too.
- The next one usually happens the night after every exam: the wash basin clogged and filled to the brim with puke. You know. Good ol' booze?
- A variant of the above involves puke all around the toilet and absolutely none inside it. Talk about horrible aim.
- A guy putting his hands down the toilet to get his key which fell through it. Just kidding. :P
Anyways, call me sick for even bothering to post this. Yeah whatever.
I _love_ eye candy. :)
I know a lot of people would disagree, claiming that it doesn't offer any increase in productivity for a developer and only uses up resources, but what the heck! I've got 4 Gigs of RAM to burn, and even when I'm running two OpenSolaris VMs in my Ubuntu, my Compiz doesn't chug! This in spite of the fact that I'm using an Intel based shared memory graphics card. :)
Anyhow, I recently installed Terminator which is a really slick x-term emulator that offers you a single terminal window which you can split into multiple ones (either horizontally or vertically). I'm used to leaving Alt+T as my key binding to start a new terminal, but the problem is, when you set this binding from the System->Preferences->Keyboard Shortcuts menu, it is set to launch gnome-terminal instead of your default x-terminal-emulator. Now since I was in one of those lazy moods where I didn't feel like finding out the right config file (among the millions out there) to tweak, I decided to go for the not-so-graceful way of solving the issue:
$: sudo mv /usr/bin/gnome-terminal /usr/bin/gnome-terminal-old
$: sudo ln -s /usr/bin/terminator /usr/bin/gnome-terminal
Done! Here's my Desktop with terminator running (that's cairo-dock on the left by the way):
I was in the process of getting transcripts issued for a senior of mine, so after getting all the necessary photocopies made, I made my way into the Dean of Student Affairs' Office, which MNITians lovingly (not!) refer to as 'dosa'. The folks in that office are well known for playing ball with you. While that would be fun under normal circumstances, it isn't quite that way when 'you' are the ball as is the case here. No one there really has a clue of what he/she has to be doing, so if you ask one person, "Sir, I want <insert requirement here>", he'll calmly point towards some chair behind some other desk. I say chair here because that's what you see; there's usually no one occupying it. I have a feeling that that's part of their plan. Leave an empty chair behind a desk and when you don't know what the student's asking you or you're not interested or simply because the sky's blue, just point towards the empty chair. That's like the 'default' case in a select-case block. Only thing is, the actual cases are useless code, written poorly and no input will ever reach those branches of code. The game ends when the ball leaves the office in a spite of frustration, after visiting all the desks.
Anyhow, I got rather lucky that day and my request got a HIT in the first try. Since I was getting eight sets of transcripts, each with nine sheets, the guy proceeds to write the following calculation for the amount I was to pay on the request letter:
9 x 100 = 900
8 x 9 = 63 * 2 = 126
Total = 1026
Guess I don't even need to explain this.