• About

    Swaroop C H is 29 years of age. He is a coder and startupper. He has previously worked at Yahoo!, Adobe, his own startup and Infibeam.


    Read more about him


    Email: swaroop (at) swaroopch.com

  • Subscription

    If you want to know when new stories and articles appear on this website, you can receive them via:

  • I'm a Wannabe Hacker

    The Glider: A Universal Hacker Emblem

Posts Tagged ‘fossdotin’

It’s a small utility

Wednesday, November 23rd, 2005

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.

Memories of Linux Bangalore 2003

Sunday, November 20th, 2005

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:

Speaking of foss.in…

Monday, October 24th, 2005

Looks like the first shortlist of talks for foss.in was not enough, we now have the first list of special speakers: Jeremy Zawodny, Harald Welte, Brian Behlendorf, Rasmus Lerdorf, Dave Phillips, Danese Cooper, Alan Cox (yes, I said Alan Cox)… the list is impressive!

LB2005

Friday, July 15th, 2005

Preparations for this year’s FLOSS meet in Bangalore is well under way. The working title is still LB2005 (Linux/Bangalore 2005) but the name will be changed to something more suitable. As Chitnis mentions, the idea is to promote FLOSS in general, including FLOSS on Windows and proprietary software on Linux.

If you want to find out what’s happening or want to voice your opinion on how things should happen, please join the mailing list.

Gopal

Monday, February 28th, 2005

My friend Gopal V joined Yahoo! today. Welcome to the gang, Gopal! :)

Gopal V

Gopal spoke about Parrot and DotGNU at Linux Bangalore/2004. He is one of the major contributors to DotGNU. He is also the admin of DotGNU. He is a true blue hacker and knows so much about VM and compiler internals stuff that he positively scares me ;)

LB2004 Day 3

Friday, December 3rd, 2004

I woke up late today and so I missed half of Premshree’s talk on Ruby… :( … I want to go through the slides when it will be available on the BLUG site. Surprisingly, Pradeep and Vinay too arrived just 5 min after me… not just our interests, but our timings are also similar ;)

Pradeep had to set up PHP and SQLite on Vinay’s laptop and so we were looking for a place to plug the laptop and work on it … then, we bumped into Arun (who was the head of volunteers for LB04) and he showed us the way to the Speakers’ Lounge… we find out where it is on the last day of LB!!

I went to Harish’s talk in the 250-seater hall and took some snaps of him… he was speaking quite well and I sat down to listen to him, although I didn’t originally plan to, since most of what he would speak wouldn’t make much sense to me (I have no idea how the Linux kernel works or how it is structured….)

Then, I got back to the lounge and Pradeep was making changes and preparing… I then got interested in a discussion between Sirtaj and Gopal on DotGNU … and I then realized this was the same Gopal whose name I keep seeing pop up in the DotGNU ‘latest news’ section!! I was overawed by the amount of stuff they’ve gotten working and especially the SWF implementation… Gopal was going to present a talk on DotGNU on Simputer and other embedded systems – now is that cool or what?

I then attended the session on ‘Tales from the Dark Side of the Moon’: what it actually takes to successfully deploy and maintain open source software by Andrew Cowie… I really liked the metaphor of the ‘dark moon’ and he gave an interesting talk on the real world business side to seeing open source software… the gist was that changes keep happening, be it upgrades or patches, etc. and you need your best people working on the sweeping changes that usually happen (as opposed to incremental changes that we assume) and you need the other guys fighting the fires….

Next was Pradeep’s SQLite – he delivered a good interesting talk and I was surprised to know that SQLite supports subqueries which even MySQL 4.0 doesn’t have! I have to take a look at SQLite in future, seems to be an interesting project. Unfortunately, I missed the ‘.NET on Embedded systems’ talk by Gopal which was during the same time..

Then, me and the guys again met up and were just discussing stuff.. the general concensus was that we were missing the ‘Miguel and Nat’ charm of LB2003… but other than that, things were mostly good this year, although there were a few wrinkles.

After that, me and PKG had a great long discussion…. especially where we will be one year from now :)

Then, I got a call from office, there was an urgent problem that needed fixing… so I went back to yahoo for some fire-fighting…

Talking Python

Thursday, December 2nd, 2004

I tried to get some work done yesterday but after a long day and me being the lazy guy that I am, I just went to sleep after getting back… I woke up today morning and started working on the slide and had a few more practical examples comparing some Perl vs Python code and so on… I finally complete some changes, although quite not satisfied but I thought the slides, as they are, will have to just do.

Then, suddenly, there’s a power cut!! The horror! I had enough sense to mail the ppt to myself but didn’t have enough UPS backup to burn the presentation and programs to a CD .. :(

So, I got ready and was hoping that some cyber cafes would be open at 9 am, so that I could take my presentation on a floppy … my talk’s at 10 am! And just then, the power came back. Relieved, I burnt the stuff to a CD and rushed to the IISc campus.

I arrived at 9.50 am (traffic was heavy, as usual) and found out that my talk (and other talks in the same track) were shifted to the 60-seater Hall C for reasons unknown :( .. Vinay had brought his cool laptop so that I could do my presentation with it.. he was kind enough to get all the Python, wxPython and other stuff installed on it yesterday. Thanks, Vinay. There were some initial problems connecting the laptop to the projector but it was solved quickly. So, the talk started at 10.10 am… I just started, introduced myself, mentioned my book and got the Python talk going …. I explained the whole deal- What is Python? Why Python? Who uses it? What’s so special about it? How does it look like? and so on…. 20 min later, people are still listening to me! ;)

I went on and gave lots of examples on the basic syntax and stuff of what you would learn in any new language … I continued giving some examples on how Python code looks like and what makes it so ‘readable’. Then, I gave demos on wxPython and explained the Twisted and Jython and IronPython software and how it is useful. Twisted wasn’t installed on the system, so I couldn’t demo but I did talk about it and showed the screenshot along with code. Jython didn’t have Swing installed :( but again I managed with the screenshot along with code.

This was followed by a Q & A session… the audience asked many questions… always a good sign… I think I was able to answer them appropriately.

Some people met me outside the hall (Kenneth started talking on web programming using Python) and some even mentioned that they have read my book and they liked it :)

All in all, things did finally go well. I knew I had spoken quite well but I had a feeling I spoke a bit fast. I got feedback later from lots of people that I maintained a reasonable pace and kept the audience involved throughout the whole session and they did show signs of interest in trying out Python after they went back home… which was the whole point of the session! So, I was happy things turned out well :)

Update

Talk details are put up at the LB site.

Slides available

Download the slides in case you were not able to attend my talk! :)

LB2004 Day 1

Wednesday, December 1st, 2004

Day 1 started with the inauguration of Linux Bangalore/2004 . LB doesn’t have the concept of chief guests, but the chief guest is the audience and so the representatives of various LUGs across India lighted the lamps, on behalf of the audience, to inaugurate the beginning of 3 days of LB2004.

Then, Atul explained how the BLUG logo and the LB2004 logo were created. The BLUG logo consists of different colored lines drawn in waves to give the effect of looking like a globe… this emphasizes many qualities of BLUG – open, techie, catering to the world and with Indian flag colors to indicate the Indian touch to it.

The LB2004 logo consists of the words LINUX BANGALORE/2004 made from photos of the past 3 years of LB to indicate that LB is really for the people, by the people and of the people :)

Then, we attended Brian Behlendorf’s (the guy who started the Apache project!) session on open source and what makes it tick… he emphasizes the key innovations by open source communities are code, community and context – the open code allows to build upon it, and to reuse and modify it and to fix bugs. The community develops knowledge and allows one to connect to it in a very easy way. The context of CVS ChangeLog and mailing list discussions lead to a history. These 3 qualities are what makes open source unique and what makes it tick… along with this, there are 3 principles that need to be followed – transparency, association of code to individuals and accessibility.

This was followed by a talk on ‘GPL is not public domain’ by Harald Welte (of netfilter/iptables fame) and he gave many insights which I was completely unaware of, such as – small bugfixes in code are not copyrightable… GPL is about distribution, not usage … and in simple words, the intent of the license is to enable the user to run modified versions of the program.

Next, was Behlendorf giving an introduction on Subversion – interesting to note the wide range of features that Subversion has and seems to be very robust. The Mono project recently shifted to svn from cvs and that surely gives confidence to many people about the viability of svn.

Then, I attended the talk on SCons – a replacement for Make. It was a very engaging session and I liked the fact that the equivalent of Makefiles are just simple Python scripts!

I had to go office to clear any backlog of work and so, unfortunately, had to miss the talk on Parrot (which was supposed to be before the SCons talk, but was postponed due to some technical problems)…

Thinking about Subversion and SCons… amazing stuff… next generation software that replaces old but true-and-tested software… boy, the software world just moves at such a rapid pace…. this is why this profession gives me a high everyday :)

Have to prepare for my talk tomorrow at 10 am!

LB 04 is just 5 days away!

Thursday, November 25th, 2004

Linux Bangalore 2004 - be there!

Hari Krishnan made this cool banner.

Don’t forget to check out the list of talks/speakers !

Some of the ‘hot’ speakers are:

Andi Kleen ( TCP/IP Stack in Linux, Linux x86-64, etc) Andrew Cowie (http://phpwiki.sourceforge.net/phpwiki/AndrewCowie) Brian Behlendorf (Apache) Harald Welte ( Netfilter/IPTables, Linux Kernel ) Michael Meeks ( Ximian Desktop, OpenOffice etc) Sirtaj Singh Kang (KDE Core developer ) Scott Wheeler ( KDE Core Developer ) Werner Almesberger ( TCP/IP Stack in Linux ) Wietse Venema ( PostFix mail server )