2 min read

It’s a small utility

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.