I was recently asked to write memoirs of my college life for a guest editorial for my alma mater’s alumni newsletter, and I jotted down a few thoughts while reminiscing the past. Long-time readers may not find these stories new. For the others, I have hyperlinked the related old stories for your online reading pleasure:

Every time I remember PESIT, it reminds me of three things – hectic schedule, great peers and great teachers. In hindsight, that’s what a good life is all about.

Let me explain.

About the hectic schedule – PESIT made us attend a lot of classes and do a lot of extracurricular activities. Like any other typical student, we used to curse our fate for that. When I look back now, it was a great training for us to prepare for life “in the real world”, i.e. the professional life. They prepare you for the hustle. It’s not enough to have opportunities, it’s how you make use of them that matters.

Speaking of peers – we had quite an eclectic batch who had a wide range of interests which made for interesting discussions. Today, they are musicians (Gaurav Vaz is the bass guitarist in The Raghu Dixit Project), screenplay writers (Pawan Kumar wrote the screenplay for Manasaare and Pancharangi kannada movies), entrepreneurs, managers and, of course, robot scientists and engineers. Imagine people of such calibre hanging around together in college. Fun times indeed.

Speaking of teachers – there are two teachers who have made a distinct impression in my mind and my appreciation for computer science – Shrividya madam who taught us Compiler Design (I’m a Computer Science student) and Shylaja madam who taught us Data Structures. A good teacher can make all the difference between a subject being drab or it being exciting and interesting. I must thank lecturers such as these for keeping my enthusiasm for computers going and prodding me to enjoy and learn the subject deeply.

Seniors – There are many seniors in our college to whom I’m indebted. Right from how they used CAT (the Clarion Aptitude Test) to prepare us for campus interviews, to teaching us the upcoming areas of interest such as Linux. Everyone takes Linux for granted in the industry today, but it was not so 6-7 years ago, and I’m glad our seniors took the effort and interest to introduce us to the topic when we were in college.

In fact, that was what led me to my interest in entrepreneurship and technology. Let me give you two examples.

Entrepreneurship – Back then, in the days when dial-up internet was the fastest service you could get, it was hard to get the latest versions of Linux which used to be multiple CDs, for example, 3-4 CDs of 700 MB would take months to download over dial-up. So we hit upon an idea to acquire such CDs and then sell CD copies over the Internet. I think we were in 5th or 6th semester at that time. We called the service lincds.com (no longer present) and we sold it all over India and even sent a few CDs all the way to Mombasa, Kenya. We also sold CDs to our own college, thanks to encouragement by Nitin Pujari sir. He ordered 100 CDs from us so that it can be used in the college. I still remember burning CDs all night long while watching a cricket match and I used to walk over to the desktop every six minutes to pop in a new blank CD to burn! And I spent the rest of the weekend installing Red Hat Linux on all the computers in the Aryabhatta lab. Great memories.

pesit_alumni_newsletter_1

Technology – When Red Hat Linux 9 was released, thanks to LinCDs.com, I got access to it early and was learning my way through and learned a few things. In CS stream, we have to write a project using databases. Everyone used VB and Oracle. My project partner and myself, influenced by our seniors, wanted to use open source, so we requested to use Qt and MySQL respectively instead. This was met with resistance from our lecturer saying “MySQL is a small utility on Linux, it is not a real database” and did not let us proceed. We were lucky that Nitin Pujari sir and Badri Prasad sir intervened and let us do it our way. In hindsight, they exercised great faith in us and I thank them for that. We built a software for managing a medical laboratory and had a good learning experience. Little did I know that that experience would eventually lead me to an internship and subsequently a job at Yahoo!. At Yahoo!, we used MySQL to run massive critical systems :). I’m grateful that our HoD supported us in our quest to learn.

On the same note, we used Qt to build the user interface of our software. At the last minute, we were informed that we had to write an installer that we have to run in front of the external invigilator to install our software on any new machine. Other students had it easy because Microsoft Visual Studio would automatically generate it. We had no such alternative. So I ended up learning Python language and writing the installer in that because that could run on any machine. One thing led to another and I ended up writing my notes on learning the language and called it a book with the title “A Byte of Python.” I was recently informed that this is a compulsory text book for computer science students in PESIT! I wish those students who read the book know that I wrote that when I was still in PESIT :)

A mentor of mine keeps telling me that “There are two times in your life that you innovate – one is when you’re in college, and the other is after you retire.” If there are any current students reading this, my humble request to you is please don’t waste your precious college years. It’s a great time to both have fun and to learn – please make the most of it. PESIT gives many good opportunities such as PPR and many other avenues. You will not realize the value of this until you step into professional lives, so I would advise you to not regret later and put in all your efforts now when in college. It’s better to struggle now for four years and enjoy the rest of your lives than have masti now and struggle for the next forty years!

Lastly, I want to thank all my teachers in PESIT, I am constantly amazed at their untiring efforts in teaching students and working towards their best interests despite the students’ general lackadaiscal attitudes. I hope this small note reassures you that you are all making a difference and I thank you for that.

Swaroop C H

Student of 2004 batch of B.E. in Computer Science.

pesit_alumni_newsletter_2

Note 1: Special thanks to Sriranga Chidambara for sending me the scanned copy of the printed newsletter.

Note 2: No, that photo and profile was not my idea.

Cal Newport, one of my favorite bloggers ever, wrote about the upside of deep procrastination last week. I had a few thoughts on the subject.

So what is deep procrastination? You know you’re in it when “No matter how dire the stakes, starting work becomes an insurmountable prospect.”

I remember this starkly happen to me when I transitioned from 2nd PUC to B.E.

I had the fortune of studying in a school which exposed us to computers very early. I remember playing a lot with Logo and fascinated that you can draw circles and rectangles on a screen. I knew back then that I wanted to study computers.

So in PUC, I had chosen to study computer science (PCMCs) and not choose biology at all, compared to most of my peers who wanted to “keep their options open”. No sirree, computers was for me.

I couldn’t wait to get to “B.E. in Computer Science” so that all I would do was learn about computers.

Uh oh.

I found myself studying about “strength of materials”, about the different materials used in construction of a building, about the calculation of the weight that a pillar has to support, blah blah. WTF.

I was disgusted. I was very demotivated. I was in deep procrastination. I had stopped studying. And I didn’t care.

I have usually stood in the top 2-3 ranks of my class throughout my school and pre-university days (well, geeky was the word used to describe me…). In engineering days, I was given a rap for having attendance shortage.

But something happened. I soon started to enjoy it.

I explored a lot in those days – from lots of trekking (which meant travelling outside the city with friends! Whoa!) to reading tons about technology.

Because I studied well in PUC and got a good rank in CET (463, out of lakhs of people), my grandpa surprised me with a gift of 5000 rupees (don’t remember the exact amount). I had never seen so much money in my life (back then).

I blew it all up by sitting in a cybercafe. I used to download web pages, put it in floppy disks, come back home and read them on the home computer. I fondly remember reading about a lot of open source projects and a lot of Tim O’Reilly’s essays.

Those were amazing days. And legend has it, that it all began with a few good seniors who taught us Linux and open source, and I eventually ended up writing a book (stop yawning alright!).

Fast forward by 5 years… As a good friend likes to say: “There are only two times you innovate in your life – 1. when you’re in college 2. when you retire.” True enough, I don’t think I have ever read deep tech stuff since then. Nowadays, reading the LLVM Blog makes my brain hurt. Sigh.

The point of my story is this: Since I stopped focusing on studies in college, I let my curiosity guide me. All that curiosity has led me places and I’m forever grateful for that.

My Advice: The key to get out of deep procrastination is to have a constant balancing act between hard focus and curiosity. Leaning towards either for an extended period of time can be completely demotivating.

I believe that working on projects that will have long-lasting impact and simultaneously priming your curiosity, and engaging with the unlimited number of topics to explore out there, will keep you on an even keel and a good frame of mind. Maybe even a happy frame of mind.


39 people have asked me “The case for master degrees. Should or Shouldn’t ?” This article is for those 39 people.

Well, the correct answer almost always is “It depends.”

But let me give a few points to think about. Obviously, I’m answering from the perspective of CompSci students. Students of all disciplines can draw analogies to their respective fields.

Question: Do you want to focus on theory or on practice?

If you picked theory, why aren’t you thinking of a PhD? If you picked practice, why aren’t you thinking of the actual practice of coding and joining a job? Remember, Software engineering is not the same as Computer Science!

In other words, what are your reasons for doing a Masters? Be specific and clear. List down the pros and cons of doing an M.S. degree.

For example, here are few arguments for not doing a M.S.:

  • You have been studying for 16 years (10 + 2 + 4) or so. Instead of studying for a further 2 years, why not take a break and work for the same 2 years? You can still do a M.S. after that if you please and you would have earned money to support yourself as well.

  • If you haven’t been able to decide during graduation on what it is that you want to do in life, how are you going to gain this knowledge when you’re in post-graduation? Does giving yourself “2 more years to decide” really work? Even if the answer is yes, at what cost?

  • Maybe the question you should be asking yourself is How to Get a Valuable Education Without Mortgaging Your Life? Josh Kaufman answers it beautifully, but obviously he has a strong opinion on the subject. You should draw your own conclusions.

  • Now that you have read the arguments, against doing an M.S., write down your arguments for doing an M.S.

    Update : Read the excellent comments below on the positive aspects of doing a Masters.

Once you have a pros-and-cons list, it will be far easier to decide what to do. If you are still asking the same question, you might as well ask “Should I learn Java or C++?”

Whether you decide to do a Masters or not, I would recommend keeping two things in mind:

  1. Focus on building up an impressive list of things you’ve done. Follow the Zen Valedictorian Philosophy.

  2. If you already have a few ideas in mind that you want to achieve, then just go ahead and apply The Pyramid Method.

Thinking from a big picture perspective, perhaps The Real Question is: What do you want to do with your life?

If you don’t know the answer, then the answer is:

Fix the lifestyle you want. Then work backwards from there.

Cal Newport

Update: See “The obsession of Indians with the MBA degree”, a similar discussion at StartupDunia.

A while ago, I was asking myself Where are the killer applications on
the web for India?

Today, when I read ReadWriteWeb’s article on The State of Innovation
in India
,
a thought struck me about the relationship between innovation and
universities. Everyone knows the story of about how many companies
like Yahoo!, Google, Sun Microsystems all started at Stanford
University, how FreeBSD came out of Berkeley University, and so on.
I hope you also know how the great Nalanda University in the 5th
century
was a hotbed of
advancements (more on that in another story).

Is it that a strong ideas culture is instilled only in a good
university environment and the ecosystem around it which includes
startups and businesses
? Perhaps this explains why there is such
amazing stuff being incubated at the TeNeT, IITM.

It reminded of an article by Prabhakar Raghavan, Head of Yahoo!
Research

where he says:

India’s real infrastructure problem–with no solution in sight–is
not airports or electricity; it is the virtual nonexistence of
graduate education and research in information and other crucial
technologies. Consider this for starters: The U.S. produces about
1,400 Ph.D.s in computer science annually and China about 3,000. By
stark comparison, India’s annual computer science Ph.D. production
languishes at roughly 40. That number is about the same as that for
Israel, a nation with roughly 5% of India’s population size.

Now you may ask why is this important? That is best explained by
C.N.R. Rao, Science Advisor to India’s Prime Minister speaking about
why money is spent on moon rockets when there is poverty to address:

You cannot be industrially and economically advanced unless you are
technologically advanced, and you cannot be technologically advanced
unless you are scientifically advanced.

Amen.

Last Thursday (24th November, 2005), there was a FOSS Day at PESIT, my alma mater.

Typically, I managed to leave office and reach PESIT at 4.10 when I was supposed to be there at 4. The venue had shifted from the hall in the “new” building to the MCA seminar hall, because of confusion on who had booked the original hall or rather who gets to use it.

When I entered the MCA hall, there were quite less number of students, but they slowly started trickling in and finally filled up the place. I met one of my teachers (after 2 years) and he still remembers me by name. That was cool.

The first talk was by Tejas on ‘Why FOSS?’ where he gave the “free as in freedom, not free as in beer” speech. I don’t think there has ever been a FOSS introductory talk without that phrase. Then, he dispelled some FUD on FOSS. Yes, open source software does not necessarily mean free software but the vice versa is true.

Next was Anush talking on FOSS development.

![67103133][Thumbnail][]
![67103478][Thumbnail][]

Then, it was my turn to give my usual ‘Slither Away with Python’ talk. This must be my fifth or sixth Python intro talk that I have given :-).

I was worried that my coughing would affect the talk, but Vicks VapoRub came to the rescue. Man, that stuff is powerful. Anyway, I digress…

It’s fun to introduce a language like python to students who know only C/C++. The first thing that amazes them is that you can type at the interpreter prompt and gives back results immediately, no edit-compile-run cycles. One of the evergreen examples is the swapping. I asked them on the algorithm we learn on how to swap variables in C and they promptly gave me the function that uses pointers to achieve the same and I said ‘This is how you do it in Python’ and typed b, a = a, b. Of course, you can do that in almost any modern interpreted language these days, but they didn’t know that, heh. One of the cool things that is specific in python is the slicing such as a[:4] to get the first 4 characters of a string and the for..in loop, which the audience was impressed with.

![67103354][Thumbnail][]

Shreyas was next. He was my classmate, I was meeting after a long time. He was supposed to speak on debugging. Although, he had a 17″ PowerBook with him (with a “Suse Linux inside” logo, although he was still using Mac OS X :-P), he didn’t have any source code to demonstrate the talk and there was no connectivity at college.

![67103695][Thumbnail][]

He did talk about the importance of real world skills and how learning to read code is one of the most important skills that a programmer needs to learn. He gave some examples from his own experience. One of the examples was how he was working on some OpenOffice bug along with Michael Meeks and Miguel de Icaza. He started working on the problem while these guys went out for a break and when they returned, they solved the problem in a jiffy. He asked “How did you guys solve this so fast?” assuming he was pretty smart compared to them (no comments there from me). They said “I had seen the code before.” There you go. Simple and straightforward answer, but a lot to understand from that. The students were quite inspired by his talk.

![67103794][Thumbnail][]

This was followed by Praveen speaking on the education software initiative.

Atul was late for his slot. Unfortunately, quite a few students left during this gap. Well, it was their loss, because Atul’s talk was thought-provoking and he really made the students feel that they can do something innovative and they can do it now. He gave many examples of students such as Kalyan, Shreyas and even me (okay, I admit it, I was surprised to be part of that list).

![67102997][Thumbnail][]

Two of his slides said “There are two times you can innovate. One is when you are a student. The other is when you retire.” …. I hope that’s not an absolute statement, because that means there’s no hope left for me! However, it is true that I have not been able to do so many things that I wanted to do, compared to my college days when I had done a lot more.

When you are a student
The other is when you retire

Overall, the day was successful and it seems quite a number of students have got enthu to do stuff now.

Note: Tejas and Praveen have entries regarding the day on their blogs.

When Atul commented about open source being “seen as some kind of ‘hobbyist’ thing” in India, I was reminded of another incident in college.

In 6th semester of VTU B.E., we had a DBMS (Database Management Systems) lab. We were supposed to write some software that demonstrates database design, ‘understanding’ of SQL and using databases in a programming language.

As per the norm, 98% of the class used pirated copies of Oracle and Visual Basic, but Yashwanth and myself had a policy of doing “doing interesting things” and the Oracle-VB projects had been done to death especially with the same topics appearing every year. We were big open source fans by then as well. Moreover, we had a policy of not programming on Windows*. There was only one project we were forced to work on Windows in the entire B.E. and we flicked that one. I think it was Graphics lab where we had to create a paint program using Turbo-C on DOS… later, I found out that there were alternatives such as the Allegro library that Amit Gandhi Manu Bhardwaj used.

Coming back to DBMS lab, we were seeking to do a “real world” project, and finally came up with creating a medical laboratory management software for an uncle who was a doctor. He planned to use the software to manage the diagnostic laboratory where he is a partner. So, we two got all excited about it, and uncle wanted us to do the software on Linux. I would’ve never imagined a doctor asking for a software to be developed on Linux. We immediately got started and worked on the “analysis” and database design during the one month of holidays we had before the actual semester started. I called it “Diamond” which stood for DIAgnostic Medical centre OrgaNizing Device (or something like that).

The choice of database was MySQL since it was easy to get started with, at that time. We were discussing which GUI toolkit to use and we had to choose between Qt and GTK. I wanted to use GTK but Yashwanth wanted Qt. He said, in very strict terms, “We are going to use Qt only” and finally I caved in. In hindsight, that was a good decision. Soon, we went through all the tutorials and learnt to use the Qt Designer (that thing totally rocks).

A few weeks after the semester started, we had to register our project details, and our teacher came up with an objection for us. He told us not to use MySQL. We asked “Why?”. He said “MySQL is a small utility in Linux to store data. You should use a database system like Oracle for your projects.” It took us several moments to recover and then I started arguing that there are many companies using MySQL and besides this software will be actually used by someone instead of being thrown away like every other project, and so on. He still didn’t accept it. We finally went to the Asst. HOD and fought with him. He finally relented after he realized that we were not going to change our minds. It helped that I had a good rapport with him.

So, after the roadblocks were cleared, we worked on the project and we had an awesome time learning MySQL and Qt while working on the project. The demo in our lab exam went smoothly and our (internal) invigilator was very impressed. It was unfortunate that the software itself was never used by my uncle due to reasons that are beyond me. However, I was glad that I did the project because I learnt a lot.

Readers of my book will recognize that the next part of the story is where I learnt Python.

If only I could tell that teacher about the kind of things for which we use MySQL at Y! ….

* I don’t hate Windows nor people who use them. It’s simply a matter of personal choice and preference. I prefer Linux and Mac OS X.

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…

Why did I recollect all this today? Well, foss.in, the newly-renamed Linux Bangalore conference is just 9 days away. So, go ahead and register yourself (if you haven’t already).

Update:

I have completed nearly one year and one month as a Yahoo i.e. including my internship. I even have a blog post on that on the day I joined.

It’s hard to remember that just one year ago I was just a college kid. Just one year ago, I used to be run to class every morning because I never managed to get up early. Just one year ago, I used to sleep in class and do techie stuff at night with a meagre dialup connection. Just one year ago, friends used to meet just like that and no planning was required (unlike today)…. I guess you know how the story goes :) … but one year in yahoo… what a rush!

When I first joined Yahoo! Bangalore, there were about 60-70 people, we had that nice startup feel going. Now, we have nearly 300 people. There are plans to increase the headcount to 500 by hiring 200 more people by end of next year! That’s right, that statement is straight from the horse’s mouth … err, the Y! Blr CEO’s mouth.

So, if you are interested to come and join the gang here (you would be crazy not to be interested), I will mention five simple requirements from you:

  • You have to have a passion for computing.
  • Go through the bangalore.yahoo.com portal to better understand what we’re really about.
  • You have to know at least one programming language really well.
  • Write a minimal search engine. If you can design, implement and run a simple search engine in 2 hours, then you’re ready for the Y! interviews ;) … think about this question, it is not as hard as it looks. Remember ‘minimal’ means fancy features are not required (but go ahead if you want to), what is required is just something that works well.
  • If you still think that you “have it in you”, send your resume alongwith a small paragraph explaining your skill set and the areas in which you are technically strong.

Update : One of the positions that is open right now is a MySQL-oriented developer position for the 360.yahoo.com :D

Travel

I travelled to Trichur (also called Thrissur) in Kerala on Friday to attend Renaissance 2005, a FOSS festival at GEC, Trichur, Kerala, India. The festival was conducted by the MCA students of GECT. It was a 3-day event but I attended only the 2nd day – I was there to give a talk on Python.

Moonwatching
The room
A view from the room

(Tip : Hover the mouse over the photos to get insightful info ;) Also, as usual, click on it to see the bigger version of the photo )

The train arrived in Thrissur at 5 in the morning. Two of the students came to pick me up and took me in the big Tata Safari to the Government Guest House where I was lodged. Apparently, one of the ministers suddenly showed up, so I got bumped from an AC room to a non-AC room. Well, no big deal.

Morning

After a light snooze, I met with Shuveb Hussain of NatureSoft in Chennai. He was going to speak on High Performance Computing. We went down for breakfast together and we instantly hit it off. He was a delightful person. 4 years ago, he graduated from B.A. in Literature where he studied Shakespeare. Today, he was going to speak on clusters and kernel patches. Amazing, eh? It seems Linux and OSS excited him so much that he started to dabble in it a lot and eventually made a career out of it.

God's Own Plate?
Doctor, my pen is ill!

It was a government guest house, so most of the stuff, from the pillow to the plate, was branded with the famous "God’s Own Country" slogan
After breakfast, we still had some time left before our hosts had to pick us up. So, we went for a stroll and we came across a ‘pen hospital’ :shock: . Apparently, its very real and they do ‘heal’ pens. I didn’t know whether to laugh or be shocked. I remember from my last Kerala trip where I saw a building with its name ‘Hilarious Building’. Heh.

After that, we stopped to get a coconut. The coconut water was simply delicious and the white kernel was so thick! Well, after all, Kerala is the land of coconuts. I wish I could get such tasty coconuts in Bangalore. Then, we headed to the campus.

The GECT campus is really huge – over 100 acres! They teach almost every kind of engineering branch and have so many labs. I heard that GECT is one of the best engineering colleges in Kerala, probably next only to the Trivandrum engineering college.

There were some paper presentations going on in the main hall. These students were talking about ext3 file systems and optimization of IPC in the kernel and so on. Yikes.


There was a short break after the paper presentations got over and before the techie talks started. The HOD of the MCA department was sitting next to me and the nice lady was telling about the GECT college and I was curious about the college and stuff. She pointed out that one of the judges was Pramode C E, a well respected personality who teaches students in his own computer learning lab. I had heard a lot about Pramode previously from many students. I don’t think you can find a single CompSci or IT student in Kerala who doesn’t know about Pramode. He has also written many articles for Linux Gazette and Linux For You magazine. I planned to meet him later on.

The next thing I know, Pramode comes over to us and talks to Shuveb and myself. He looks at me and says ‘Hello BangPyper’ and then says ‘I am a big fan of your blog’. I was speechless. We three soon got talking about lots of techie stuff, everything from favorite distros to Python (of course) to our work and so on. I convinced him to join our BangPypers group as well.

Techie Talks

Then, the talk on embedded Linux by Sree Kumar of NeST, Thiruvananthapuram started. He explained how Linux was taking the embedded market by storm and the kind of work his company was involved in. He gave a good overview of embedded Linux and tried to convince the students that a career in embedded Linux is very rewarding as well.

Shuveb
The audience
Shuveb

Next up was Shuveb who talked about high performance computing and clusters. It was interesting to hear about openMosix and other software which autodetects other computers in the network which are also running openMosix and automatically start to work as a cluster. No need to edit any sort of config file! He uses a cluster in his office environment and uses it for compiling lots of stuff and apparently, this setup gives a lot of performance.

Python talk

It was 1 pm by now and a lunch break was due. The speakers were taken to a separate room (by the looks of it, a staff meeting room) and we were served lunch there. One of our hosts, Brajesh asked us to eat ‘without formalities’. I said ‘Well, you made it too formal already!’. I also learnt my first word in Malayalam – ‘Vellam’ means ‘water’.

After the sumptuous lunch, I had the formidable task of talking to students in the post-lunch session. I started off with finding out the programming background of the students. Majority knew C and C++. None knew Perl and about 3-4 knew Python (again, taught by Pramode). So, my task was a bit easier since explaining a dynamic language like Python is always exciting to a person from a static language background.

I talked with relative ease (having had quite a bit of practice in recent months and students seemed to be listening. I was worried that they were not asking questions but I ignored that for the moment. I could see the sparkle in the eyes of few students when I typed programs at the interpreter prompt and showed instant results. That’s exactly what I love about giving these talks.

Pythonic audience
Python talk
Talking snakes
Momento

The talk went on for about an hour and I am always surprised to see that Jython and IronPython make a significant eyebrow-raising experience for students. The fact that you can write Python programs and run it on all the three – native (i.e. C), Java and .NET platforms, seems to be a big plus point for everyone.

We finally had the Q&A session and I then faced a barrage of questions. The session lasted a good 15-20 minutes with questions like "Will Python take a chunk of the Java market ?", "What about it’s speed?", "What kind of people use Python a lot?" and so on. I was relieved after this session because the range of questions seemed to indicate that the students did listen to the talk and did become interested in Python.

Campus Tour

I then went out of the main hall and decided to go for a stroll around the college. Two students followed me and volunteered to guide me around the campus. They kept calling me ‘Sir’ inspite of my request not to. (It seemed kinda strange to me for people older than or the same age as me to be calling me ‘Sir’).

Foundation stone
College garden
Playground

As I had said earlier, the college campus is really huge. I would’ve loved to have studied in a college like this – big, full of greenery and lively. I came to know that the foundation stone was laid by Jawaharlal Nehru.

There are so many labs in the college including a ‘Fluid Dynamics lab’ (whatever that is)! They showed me the ‘MCA Tree’ where the MCA students hang out after classes (and even during classes ;) ). Then there was the mini-forest inside the campus where the ‘coolest classroom’ (literally) was located. It seems the girls hostel is next to this side of the campus. No comments on that one.

Green campus
Lost in College?
Boy Scout and Girl Guide
Forest in the College

Phoenix

I then went to the other hall where Pramode was going to give a talk and demo the Phoenix project. I had heard about this before and knew it had something to do with Physics but didn’t know much else about it.

Pramode introduced that PHOENIX stood for ‘Physics with HOme made Equipments and iNnovatIve eXperiments’. Nifty acronym. It was a electronic circuit designed by B. P. Ajith Kumar, a researcher working with the Nuclear Science Centre of India. It is designed as a general-purpose circuit to help students create experiments to understand and learn Physics, Electronics and much much more.

The Phoenix box
Pramode explains Phoenix
Phoenix
Manipulating the circuit

The idea of the Phoenix project is to provide a computer interface to the electronic circuit. This allows the student to write simple programs and manipulate the circuit and then observe the effects. Ajith Kumar has provided an interface in C. Obviously, it is difficult to expect a non-CompSci student to learn C and write programs for this. So, Pramode has written a Python interface to this program and now a student can write simple calls at the interpreter prompt and see results instantly!

He ran this program at the prompt:

[python]
p = phoenix()
p.write_outputs(‘11111111’)
[/python]

and then voila, the bulb was lit! This might seem boring to you now but try to think back as a student when you did your first experiments in the laboratory. This would’ve been fascinating to do then. Physics seemed too theoritical for me but projects like these can make a big difference. Pramode even showed how to use the setup as an oscilloscope by running a small TkInter Python program and showing the graph on screen real-time. Changing the wavelength changed the graph instantly!

Phoenix
Measure the waves
Measuring gravity


One of the major plus points of Phoenix is that all the parts used to make the circuit are locally available and it costs just about 2000 rupees. Compare this to an oscilloscope which costs 20,000 rupees. Also, the Phoenix circuit board design, the C API and the Python API are all free for everyone. Anybody can contribute further to the project as well. This is the power of free and open source software and this is an example of innovative projects in India at the same time.

Pramode has written a full article at Linux Gazette about Phoenix.

Evening

After an enlightening session on Phoenix, the fest part of the day was over. I took a few snaps of our wonderful hosts and the girls who took care of the speakers as well as the speakers ourselves.

Beautiful hosts for the day
Three Pythonistas

The guys – Ragesh, Arun, and others (our hosts) offerred to take Shuveb and myself to the Central shopping mall in Thrissur. This part of the city looked like MG Road and Brigade Road to me. Lot of hustle-bustle and commercial shops here. The Central shopping mall looked like the kind of place where all the cool kids hang out. We had dinner in one of the hotels in the mall and the 5 of us enjoyed talking about lots of stuff and joking around.

Fountainhead
Central Mall
Lights of Water

Then, it was finally time for me to catch the bus back to Bangalore. My only regret was that I couldn’t stay back another day. Ragesh told me about a good trekking place just 2 km from Thrissur. Damn, I missed that! The guys have already invited me for Renaissance 2006 in advance :smile:

To summarize, a lot can happen in a day!

Also, the complete set of full-size photos is in my Renaissance 2005 photoset.

I just wrote the only paper in our last semester of B.E. – Cryptography and Network Security (CNS for short). It was a tough paper! The questions focused on small things such as Hill Cipher for 20 marks! And the others were questions where we were clueless. It’s not fair. We chose a tough subject like this one because we wanted to ‘learn’ something and not study Management In Engineering (MIE) where questions like ‘Explain the difference between CV and resume’ fetches 10 marks! And that too, they get an easy paper!

I guess, VTU is not the place where you want to ‘learn’. It’s the place where you learn things by rote, write long answers with proper underlining and get ‘good marks’. It’s not the first time I’ve felt this way.

Juniors, one piece of advice, choose the path of least effort when choosing VTU electives. I’ve been bitten by wanting to ‘learn’ and by experience, my advice is to learn on your own. For example, since we are relatively free during 8th semester, I was able to do some productive work like my my book on Python.

At the end of the day yesterday, I joked (but unfortunately not smiling) that CNS stands for ‘Continue Next Semester’.

Thank god for my friends who helped me get out of my dejected mood.