It is that time of the year again when the exams are coming. For me, this is the sign that I have reached the end of my four year journey with the Linux User Group (or what is left of it).

Looking back, I can see that I have sacrificed much, only to achieve nothing of my original plans. Yet I have not exactly lost everything either.

I have sacrificed my shot at greatness. I have cocked, aimed, shot and halfway through, I made the ball leave its course. I have missed at the last minute. I have missed not once, not twice, but numerous times. Thus much have I lost.

I have tried and failed. I have struggled with my conditioning. Some of it I have conquered. Some of it I have not. I have known freedom. And I have known freedom only to find that I am in a cage. I have been forced to see my weaknesses. And I now know my strengths. Thus much I have gained.

My stint with Linux began in February 1996. I was then a first year student at the (then) department of information systems and computer science. I had dreams, just like anybody else; dreams of CMU, Stanford, Berkeley... the Dean's List and all that crap that comes along with wanting to be a high flyer.

As a freshman, I had known that UNIX existed, but did not know what it was until July 1995, the week I was given my account. This was later than the rest; I had matriculated as a Science student, about to read computational science; but realizing my mistake towards the end of national service, I quickly re-matriculated in the second (or third?) week of July.

The fire in me burned strong then already. I was going to do what I was going to do. And my name was "rhandeev", not "singhrha". For those who wondered, yes, this is why my userid is the way it is. In this world, nobody will help you receive justice. You have to fight for what you want to get. It was easy for me, because I had to register my account separately, because I was a computational science student, and I was going to read computer science instead.

A week later. My account would be activated by then, as promised. I dived in head first into a UNIX shell. Anxiously keying in my password, out came a prompt. It looked nothing like the DOS prompts I had been accustomed to. It was something new. It was a system of great antiquity. There was wisdom of the ancients in it. I was going to master this system, whatever it took. This was a big iron, a mainframe. This was horsepower. (I later learned it was far from a mainframe, but it's all in the mind anyway.)

Until, of course, I realized that I did not know what the hell to type into that prompt.

I looked around. Nervously. I was an expert user in DOS. I did things most users would never understand, nor ever have to. And I never dreamed I would ever have to stoop so low as to ask someone how to list my own bloody files. It was humiliating. I was 100% illiterate. I was naked. All my knowledge about DOS was, in the blink of an instant, almost complete trash. I was suddenly obsolete.

"Umm... excuse me. May I know how to do a dir please?" "

"Oh, just type ls."

"Ummm... I tried that. It doesn't work."

"That's because you haven't got any files yet."

*blush maroon* "Oh. Thanks."

That senior was evil. He did not tell me to read the man pages. In so doing, he had forced me to be a parasite, constantly feeding off other people. I hated it. I could not bear it. One day, I could not stand it anymore.

"... so that's how you view your files. Got it?"

"Where did you learn about pico? Surely there's a manual somewhere?" (I had no idea the TIC existed; nor did I actually need to know)

"Haven't you heard of man?"

Thus did a kind senior free me from bondage. (I never learned his name.) And like any newbie, I had never heard of Linux. And I would not hear of it for the next seven months.

But I did not know, did not care, and did not have to care. I would never ever again have to ask anybody about any fragging UNIX command that existed. I have access to the whole damn manual, and it was online all the while -- it was right under my numb nose!

Until I actually tried to read the man pages. It was like trying to read machine code. I still needed to ask seniors. At least, this time, I had an excuse. I asked them to explain the man pages to me as I went along.

It was in the (then) X-terminal room of S16-02 (now a meeting room) that I was first introduced to the UNIX X-windows system. At the time, I had no inkling of the true extent of its capabilities, nor any idea of its network capabilities. I did not even know that rsh existed, let alone what TCP/IP stood for.

Up until then, I had used UNIX dumb terminals whenever I needed to log in. I never used the windows machines -- they took more than 20 times longer to log in than the dumb terminals (I calculated). I was disgusted that "obsolete" technology was so much more efficient than "cutting edge" stuff.

And with my involvement in hall life (five activities, plus nightly hall play rehearsals), I had no time to wait for some bloody OS to waste my time. I had big iron to learn and tutorials to do. No time to waste.

So it was time to work on a UNIX and C Programming exercise on vi (IC173, since discontinued). I had heard of emacs from a senior, who said "No, I don't know vi. I don't use vi." And, with characteristic zealot eye sparkle with an expression that said "only pigs use vi", out came his confession: "I use Emacs!"

That had made up my mind for me. I did not need to learn vi. Who cares that it was examinable. I was going to learn Emacs. I was going for the grand challenge, instead of the spoonfeeding. I was actually going to learn something my way for a change.

I switched to another subject.

A January afternoon, in 1996, I sat in the X-terminal room. It didn't matter that hostellites were going home. It didn't matter that some were preparing for the big night. It didn't even occur to me that it was Saturday.

It was time. I was going to learn Emacs. And nobody was going to make me leave that room until I could use Emacs. (Except the bloody lab tech who just HAD to lock the @#$%ing lab at 4:30pm.) Surely an editor couldn't be that hard to master. Surely half an hour was more than enough. I had used dozens of DOS editors. Emacs would be a piece of cake. I'd memorize the keys by 2:30pm, then I'd work on my IC102 assignment. And I would use Emacs. A great plan, right?

I was chased out of the room at 4:30pm, still struggling with a bloody editor (I had no idea that it was much more than an editor at the time).

Emacs turned out to be much harder to use than any editor I had ever known in my life at the time. (To date, there are only two editors I know that are harder. The first is vi. But the real champion that I still use is ed.)

That was to be the beginning of a whole slew of afternoons that I would later spend learning lisp -- just so that I could write my first emacs configuration file. I had never before laid eyes on lisp in my life. But I hated the default Emacs key bindings -- so unintuitive! If I had to learn lisp to change them, then I was going to learn lisp, whatever it took.

A February afternoon, 1996. I was beginning on my first steps of writing C in Emacs. I hated pascal. Pascal was ultra-boring. Pascal was IC101 and IC102. Pascal was zero market value. C was the way to go. 70% of the world's software is in C. UNIX is in C. In fact, I (thought I) already knew C++. Piece of cake (yeah, right). All it took was a Peter Norton C++ Primer during the December 1995 holidays (or so I was conned into believing -- my advice to you is to use Bjarne Stroustrup's book instead. Norton stinks, but back then I did not know).

Beside me sat a young man. Pimples. Pale. Undernourished. Oh, and stressed, definitely, by the looks of it. Frantic typing. Turns to me while I'm still trying to figure out where that damn bug is. "Are you rhandeev?"

"Yes, why?" *stare at his screen, notice spy running, didn't at the time know what spy was, see my name there*

"Would you like to buy a Linux CDROM?"

Thus began my first encounter with Xinwei, founder of the NUS Linux User Group.

My world was about to change drastically, and I had no idea.

Kan: Rhandeev ([email protected]) is a humble Linux guru, who in his free time, dabbles with Linux kernel codes as well as creating safe and secure systems. He is actively promoting Linux in his university as well as giving out Linux advice to fellow mates.