bhOndOO meets his advisor once every week. Therefore, if we count the number of days before meeting, they should start from 6 down to 0. However, being an ardent software engineer, bhOndOO’s countdown contains only binaries: it starts from 1 and reaches 0. For the remaining days, he is off to some other work. He is so busy!
The grand realization of the meeting gets prevailed on bhOndOO before 00011000 hours. “Shit!”, he exclaims, not because he has not done anything since past meeting, but because Tuesday is approaching! For 00000110 seconds on his bed he remembers the enjoyment he underwent in the past week till last night: Lili’s birthday party, Shami’s job treat, Gullu’s birthday party, Friday movie — Pirates of the Caribbean, trek to Bheemeshwari, inter-department cricket. And it is Monday again!
bhOndOO gets ready, has lunch, and goes straight to the lab via a zig-zag road. He knows from a talk on Time Management that if time is the constraint, work should be done in parallel. But he looks more worried with the thought. He has two tasks to do:
- read a paper on pointer analysis.
- implement the algorithm given in the paper!
Yuck! He has to do sequential processing. He remembers another gem from the talk: plan your work apriori. He plans: I have 00010110 hours left for the meeting. 00000110 gone in sleep (negotiable), 00000010 gone in snacks/dinner/transit, effectively 00001110 hours for the work. This is enough time: I can spend a couple of hours in understanding the paper and remaining in implementing it! Things seem in control, he starts breathing again.
By snacks time, he has read abstract, introduction, and conclusion of the paper, played Quake III, gone for coffee, read a few blogs and the recent Dilbert cartoon, updated his own blog, and chatted with …
bhOndOO is very upset with his mid-day performance. But friends around the snacks table make him merry again. Enthusiastically, he returns to the lab. I must finish it in another hour! He starts reading theory behind the algorithm, and soon the notations manage to puzzle him. He re-reads the section. He re-re-reads the section. He understands! He goes through the given algorithm and the worked out example. How did they partition the variables? May be like this (there is no time to go back and confirm, and moreover, it is so straightforward!). He browses through experimental results, reads conclusion again, closes his eyes, and asks himself, “What does the algorithm do?”. His mind bluffs something to him which he considers a valid answer.
“Coming for dinner?”, friends interrupt.
It is 00010110. I need to have a night-out.
At 00000011, the program is crashing for some unknown reason. This compiler is crap, Linux is for experts only, why dont they build a nice gui for gdb?
At 00000100, the program works for one input and crashes royally for others, and bhOndOO wishes to crash in his bed, he is dead tired minorly because of debugging business and majorly because he is cursing himself for not initializing the array. He gets into a deal (with himself): I will sleep for 00000011 hours, take breakfast, come back, and work for another 00000011 hours. Sounds good (anytime after a nightout).
Crap! When did I switch off the alarm! It is already 00001010! I have a meeting within an hour and the algorithm barely walks, let alone runs. Within 00001111 minutes he is in the lab. A few minutes before the meeting, he finds another logical bug. Oh! This is how they partition the variables! He makes changes, compiles, runs the program. Boy! it is working. Fantastic! Nightout has paid! I am the happiest man in the world!
“Hi! Come in! I have an urgent meeting with some of the IBM folks. Can we meet tomorrow?”.