The VTU letter exhorting principals to motivate students to attend foss.in is a far cry from my college days, and perhaps even farther from Kalyan’s days.
I remember asking our department’s Assistant HOD (I don’t remember his exact designation) whether our semester laboratory internals tests could be postponed so that we can attend the 2003 Linux Bangalore… he rubbished me and shooed me away from his office.
My partner Yashwanth and myself still wanted to attend Linux Bangalore at any cost. So, on the first day, we reached our college lab early and requested our ma’am to take a look at our project early so that we can attend Linux Bangalore. It was our fortune that ShriVidya ma’am (she had contributed to GCC in the early 90′s, wow!) agreed and sent us off even before the previous batch students’ projects were looked at. We then got on our bikes, raced off towards IISc and had a terrific time. The Miguel-and-Nat show was the highlights of course, and I enjoyed every moment.
Later that day, we had to again rush back home and actually do our Perl/CGI project to show the next day. We had never worked on the project in the whole semester because I had already created our (erstwhile) LinCDs.com where we used to sell CDs with Linux for reasonable costs. We submitted the same as our project and it was already running live. So, we had to make some changes to make it more VTU-compatible and we were done in just a few hours.
The next day, Yashwanth was hanging out at the Yahoo! booth and I was hanging behind Miguel and Nat. Eventually, he got into Yahoo! interviews and finally joined as an intern. During his interviews, he mentioned our LinCDs.com and the interviewers were (sort of) impressed with the website and after finding out that I had written it (I used my own XML schemas and used the XML::XSLT CPAN Perl module to render the site….) and asked me to send my resume. So, I thought, sure, why not. Then, I got into the programming tests. After that, there was the programming round where I was asked to write a shell. I was happy that they gave me a problem which I actually had some clue about.
I was asked to implement program execution, tab completion and a history, and was given any choice of language (the platform had to be FreeBSD though), and about 3-4 hours of time. So, I chose Python and although they were surprised, they asked me to go ahead. I struggled for nearly 2 hours trying to get character-by-character input working! I just didn’t know how. I finally asked Kalyan (who was sitting in the same cubicle as me) whether I could use the internet and he said of course. Duh! Then, in two seconds Google (yes, Google) led me to a Python Cookbook recipe which solved the problem for me. After that, it was a piece of cake to use the os.spawn method to run the commands, used
os.listdir to get the directory contents for tab completion, and finally just used a list to maintain history. I was so relieved that I actually got it working.
When a different set of interviewers came to ask me about the implementation, they were surprised to know that I wrote the program in Python and even wrote a “book” on it. A funny moment was when they asked how much history I was maintaining, and I said unlimited, because the Python list can store as much as the computer’s memory allows, and they didn’t quite expect that, mostly because they were used to
#define SIZE 100 in C++ programs written by other students.
So, that’s the story of how I got into Yahoo! It’s interesting how it all started with Yashwanth and myself playing around with Red Hat 7 Linux and getting interested in open source…
Pramode reminisces about he became involved with computers and open source as well.