I love coding (just like everybody else in Computer Science). I am interested in Operating Systems, Computational Mathematics and any kind of low-level system programming (including embedded system coding).
I am a hard-core C/C++ fan and I am in the process of learning Java. From my limited experience with Java, I can feel that Java makes programmers impotent. May be I haven't learnt enough to understand its power. My choice of operating system is Linux (Mandriva flavor) for tons of reasons.
My first programming experience started during my 11th grade when I learnt the BASIC programming language in a MS-DOS environment. I did all kinds of cool stuff mostly playing with graphics commands in BASIC. I am one of the old timers who loved everything about computers and all I had at that time was limited access to a 386 machine with 4mb RAM in my school. Looking at a color monitor for the first time in my dad's office was an experience comparable to the experience of a disciple meeting his God.
After school I joined an engineering college and pursued electrical and electronics engineering for four years. I am an electronics junkie, with an insatiable interst towards circuit design. Also I had the opportunity to learn my mother tounge C++ in those four years. I did tons of system programming in DOS environment using a Borland compiler. Writing TSRs were my favorite past time. This low-level programming experience gave me an insight into why DOS is a bad operating system. I wrote a bunch of DOS games using C++ that access the graphics memory directly to draw pictures. We totally bypassed the operating system and managed the disks through C++ system calls. Understanding the FAT partition tables and managing the files in a floppy disk were interesting endeavours. Well, writing virus like programs were just a funny by-product of this new found hobby.
My final year project was as Computer Controlled Robot designed and built by a team of three. This encouraged me to pursue my education and I decided to do masters in US.
I came to Univ of Utah during the fall 2002 as a grad student in Electrical Engineering and promptly switched to Mechanical Engineering due to its relevance to Robotics. After I completed my masters in Mechanical Engineering, I applied for Computer Science and joined in the fall of 2004. Now, I am in computer science where I originally belonged from the first. I think the interest in electronics might've been due to its well established relevance to computers :). Anyway, I am glad that I am finally home.
To learn more about what I am doing right now, check my research page.