Everyday I get emails from readers of my books that makes me wonder: Am I continuing to make an impact everyday? Can I have the same impact again through my work? Maybe, let’s see.

But still, it’s difficult to top this:

I’m a 16-year-old boy from Guangxi,China.

Thanks for the book named A Byte of Python of yours.I learnt lots of things from it.

And this:

Dear Sir,

I have never been able to program before but with your byte of python I actually managed to not only write the small programs but even understand. For me this is good because I am 57 years old and I always gave up any programming I attempted to learn before no matter how desirable a goal it seemed. The real problem I run into is what the words mean. I consider myself fairly literate but when I run into a special word I do not know the meaning of, it frustrates me, especially when I cannot find a definition, and there goes the understanding. Also, there are gradients of knowledge that are skipped. One minute you’re riding along nicely and the next minute you’re behind the 8 ball. Along the way, one quits. You, on the other hand, seem to have undercut this better than anyone I have encountered before. Your explanations are clear and concise and you define words well so I understood more of python than I have of any other language including Basic which I tried and gave up on years ago and the understanding flows very well. And you’re giving hope to an older person who really wants to learn to program!

Thanks so much

These emails are enormously humbling and reminds me to continue to focus on the impact of what I do.

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.

55 people have asked me to write about:

Indian companies just don’t take Python seriously, not as much as Perl. Why is that?

28 people have asked me to write about:

Most companies opting for Ruby as their programming language of choice instead of Python

51 people have asked me to write about:

The future of the Perl programming language?

Phew, that is quite a lot of people asking about programming language adoption!

The TLDR version of my thoughts on this topic is: Companies are choosing the right tool and the right community for the right job. Which programming language is used in your company depends on the kind of work they are doing.

Ruby and Rails ecosystems are built by and built for web programmers. That is why you will see web programmers switching from PHP and Python to Rails. For web programming, I do believe that Rails has an edge, not just because of the framework itself, but because of the community rallying around it. The amount of amazingly useful stuff that they churn out outpaces any other community w.r.t. web-dev, and they even have quick effective screencasts to make it digestable, hence their edge!

Data analysis is the hot thing these days and as per O’Reilly, Python is the choice of language for data analysis even though Ruby gets more buzz in the tech news. It is the same reason why scientists are switching away from Ruby to Python.

Similarly, I believe that Perl is still used a lot as a “glue language” and “text munging language” which has always been its forte and continues to be its forte, although Python and Ruby have been slowly entering that territory. Even though there are marketing reasons why Perl is no longer as popular, if you do use Modern Perl, you can be as effective as with the other two languages [1]. For example, if you notice the recent announcement of Amazon “Simple Email Service”, you will notice that their scripts SDK is written in Perl! Also, if you read the latest Perl news it is not lagging behind the other languages, it just doesn’t get the “buzz” factor these days. Programming languages are like fashion, they keep coming back in cycles. Remember the days when JavaScript was considered a pain and today, it’s the new hotness? (same goes for Haskell) We owe a lot to Perl and perhaps Perl 6 will teach us the future of things yet again, who knows!

So I have a question back for the 134 people who asked the above 3 questions – Is the programming language chosen by your company match the kind of community we have described here?

What would you say to these 134 people?

[1] Perl was the original magical language which I still have a soft corner for, since I have written a lot of Perl code at Yahoo! and thoroughly enjoyed it.