Friday, October 7, 2011

The Drumming Song

He is awake at the crack of dawn. She is getting ready for her race. Nervous but excited, and very glad that it is not raining.
He waves good bye and good luck and turns to home. He sits down and replies to an email from a dear friend, a little guilty for not initiating the thread himself. When done, he turns to the problem that has taken much more time than he estimated. Which task has ever taken less time than he anticipated? Is it a sign of overconfidence? Or just hope?

He's followed all the instructions, tried all the suggestions on all the forums but cannot get the simplest program to run on his notebook; to make processes pass messages to each other. He goes back to the drawing board. Perhaps the test program itself is not right. He starts from the low-level "Hello World", adds a broadcast. Ok. He adds a non-blocking send. Ok. He adds a non-blocking receive. Ok. Deep breath, and a blocking send + receive. It works! Looking closely at the other examples, he finds the possibility of a dead-lock. Alright then, but why does the package not work?

Now the drilling begins. An incessant grinding against cement to complement it. Glorious. Construction has accompanied several phases of his life. At college, the bulldozers ran riot under his window. Now the lift upgrading program here. And his own apartment only to be ready in 2015!

As a last attempt (for today), he re-compiles the library, adds fluff to Makevars and installs the package once more. No luck with the interactive mode again, although that was expected. His last hope is that the batch mode version will run. And it does! Possibly the interactive session causes a deadlock because of the infinite try-catch loop that it induces.

Time to celebrate, he thinks. Such perseverance deserves a treat, no? No, another problem to solve. Amazon rejects his download, stating that only members who are resident in the States can download their songs. He changes his default address back to the old one and tries again. Done!