kernelthread.com

My Experiments with Sickness

People tend to be very understanding when I say "I am sick". In fact, I find that sickness has infested the world by investing herself in countless manifestations. The previous sentence was sick, language-wise, and thus is a paradigm (like "Apt alliteration's artful aid ..."). People are understanding of sickness because they don't really understand it. That's understandable, because it's easiest to understand things that are formidably complex (for example, it's hard to find a "common" man who doesn't understand politics thoroughly ... try striking a conversation).

"I am sick" is a tautology. Change the context appropriately, and it stands rock solid. "I am sick (of this world) ...", "I am sick (of you) ...", "I am sick (because I went out in the rain) ...", "I am sick (because I have life-size posters of the Fuhrer in my room) ...": the possibilities are amazing.

My current sickness is of the body. I went out in the rain last Sunday, and fell sick - pretty conventional so far. What I did not realize before falling sick was that this would be the first time I'd fall sick solo! Previously, someone had been with me on all occasions I've fallen sick: it used to be my mother when I was a child, and in New Jersey, where I lived before moving to California, it used to be my room mates (who had the dubious distinction of being my friends of several years). I actually liked falling sick. It gave me a break from everyday life, and the pampering I received increased manifold. I also somehow liked that dreamy woozy feeling in the head when it's warm with fever. I was therefore not too disappointed when I realized I was going to fall sick. My nose had started to run, my head was heavy and I felt a warm tingling all over, accompanied by pain.

I was at Fry's Electronics (not that it's relevant here, but I don't know why the media consistently refers to a Bay Area professional's perfect evening as the one spent at Fry's), and some part of my head told me to go home. I went to my workplace instead, and for good reason too. It had been a couple of hours since I had checked my email (due to certain reasons unprecedented in the history of computing, I don't have a phone line installed at home). It was 7:00 pm, and my mailbox was brimming with new mails. The pleasure graph fluctuated as usual as I went through the ritual of expecting some "worthwhile" emails, and then finding and not finding them. Thereafter I peeked at some internals of Solaris, loaded a module that panicked the kernel big-time, logged onto some obscure hosts in India, and finally got an invitation to play ping-pong from a peer. Perfect!

Ping-pong was good. We played for a few hours. Then we went to assemble a new computer that had recently arrived. Then played some more ping-pong. All this while the feeble voice in my head implored upon me to go home, which I had little difficulty ignoring. Finally, at 2:00 am (the next day!), I decided to call it a "day".

I reached home and was incredibly exhausted. I pretended not to understand why. There were many copies of Paracetamol (chemical name of a fever reducing tablet) in my medicine box, and I consumed two of them just in time before my body could bear it no longer. I collapsed. To my dismay, sleep refused to parley with me, and I failed to seduce her in spite of the impressive array of techniques in my repertoire. Frustrated, I sat up, and gazed at wall number 3 of my bedroom (there are four vertical walls of course, numbered 0 to 3. I had a pretty dynamic experience looking at the wall. No, it didn't disintegrate, but it did undergo infinite contortions, and shapes of all imaginable kind emerged from it. After it appeared like a normal wall for the fifth time, I tried to sleep again. By now, I was running so high a fever that I was worried about the comforter catching fire and the smoke alarm going off. I guess they make comforters pretty heat-resistant these days. I did get to sleep a couple of hours as I woke up at 10:00 am. The fever had subsided a little, but I was the proud recipient of the complete sickness package: fever, runny nose, sore throat, cough and headache! I decided to be a sport and went to work.

Before going to my office, I bought some extra-strength medicinal stuff from the pharmacy, and consumed a dose. I think that's what kept me on my feet during most of the day. By evening, the symptoms were returning with a vengeance. Backlash time! I thoughtfully decided to go home early (for those not well versed with the concept of Silicon Valley start-up's, "early" in this context means something like 8 - 9:00 pm. "Regular" would be around midnight, although that's a bit early'ish too ...). Destiny arranged for sleep to have a tryst with me that night.

I woke up next morning. That's all the up I was going to do I figured, since I could not get up. There was no way I could go to work today: I understood that easily. I consumed more medicine, and waited for the sickness to go away. I spent almost all of the day, and the following night, lying in my bed, and having a dynamic experience with the ceiling for a change.

A C compiler on Unix is a potent weapon (and something that I might prefer to the maiden if I were the proverbial survivor of a shipwreck). Following is the bullshXt that came out of my feverish mind that day.

#ifndef _ARGCARGV_H #define _ARGCARGV_H 1 #if (!(defined(__i386__) && defined(__GNUC__))) #error "valid only for GNU C on the x86 architecture" #endif #define aa_EBP(r) __asm __volatile( \ "movl %%ebp, %0;" \ : "=g" (r) : \ ); #define aa_XREG(r, a) __asm __volatile( \ "movl (%1), %0;" \ : "=g" (a) : "g" (r) \ ); #define aa_AA(argc, argv, base) __asm __volatile( \ "movl 8(%2), %0;" \ "movl 12(%2), %1;" \ : "=g" (argc), "=g" (argv) : "g" (base) \ ); inline int __find_main_frame() { int base = 0, _base = 0, __base = 0; aa_EBP(__base); base = __base; DOXREG: aa_XREG(__base, _base); if (_base == 0x0) return base; else { base = __base; __base = _base; goto DOXREG; } } #define argcargv(argc, argv) aa_AA(argc, argv, __find_main_frame()) #endif /* _ARGCARGV_H */