Saturday, August 30, 2008

Computing and Me


My first brush with a computer was in the summer of 1986, when my dad bought me a ZX Spectrum with 48Kb RAM (wikipedia). The first six months or so, I spent endless afternoons being wowed by games such as Dynamite Dan and Commando, until I realized that more could be done.

The computer had a primitive BASIC language compiler, and slowly at first, and later with great enthusiasm (like the one that characterizes kids who've just learnt to bicycle), I began writing programs, and that was when I essentially fell in love with the machine. My grades at school suffered initially, but if I can make any claims to being somewhat logical, then that slice of history ('86-'92) had a lot to do with it. It was a great time.

Later at IIT Bombay (95-99) I was introduced to this thing called Unix (which atleast then was the dominant if not only OS on campus), and later during my senior undergrad thesis to Linux. I remember the fun and suffering as the gurus (more "keedas", really) unleashed "write"s to remote machines with ominous messages, popping up "xeyes" on unsuspecting classmates surfing the web for naughty stuff on lynx :). It was my introduction to the networked environment, and I loved it.

During graduate school at Michigan, we were forced in large part to use Apples, which were the only computers with departmental support. Although things did get better after OS X, it wasn't until in 2004, that I switched back to Linux, pretty much full time. Now about 5 years thence, all my machines run some kind of Linux, including the Ubuntu laptop on which I am doing my writing right now.

I am immensely impressed with what I can do, both personally and professionally using extremely high quality and free software (programs on my University webpage). I routinely use Gnuplot, Octave, OpenOffice, GIMP, Maxima (occasionally), awk, JabRef, LaTeX , which run gracefully under Linux. Other things that I like are the (i) ability to automate routine tasks with shell scripts (ii) the ability to schedule jobs and control their priority from anywhere, and (iii) multiple Desktops, which I cannot live without anymore.

There is much more I have to say about this topic, but I'll come back to it later.

No comments: