• About

    Swaroop C H is 27 years of age. He graduated in B.E. (Computer Science) from PESIT, Bangalore, India. He has previously worked at Yahoo! and Adobe.


    Email: swaroop (at) swaroopch.com

    Read more about him

  • Subscription

    If you want to know when new stories and articles appear on this website, you can subscribe to the RSS feed or have them emailed to you.

  • Want me to write about something?

  • I'm a Wannabe Hacker

    The Glider: A Universal Hacker Emblem

Archive for the ‘Open Source’ Category

The magic of foss.in

Wednesday, December 9th, 2009

Why do I keep going back to foss.in? Because I’m the kind of person who needs extrinsic motivation. That’s why having a good circle of friends with a positive attitude is so important to me. And that’s why the foss.in community is so important to me. Because one must always strive to be in an environment where you are “the dumbest guy in the room”, i.e., be surrounded by really really smart people, so that you are forced to work on raising your own level. That’s how I feel when I’m in the midst of fantastic people such as bluesmoon, t3rmin4t0r, Srinivas Raghavan, and so many others. They are perfectionists who deep-dive into anything they are passionate about, and are invariably good at whatever they focus on.

The Good

Attending foss.in/2009 felt great for me because I took comfort in the fact that there are still people out there who are passionate about code and passionate about software. That is becoming rarer and rarer off late. I think it’s the “5 year limit” that I have observed in batchmates, most of them don’t want to code any more, and have moved on to so many other fields. While that is okay, the problem is that it has become a fashion to dis IT and software field.

Another factor was that everything is in the cloud and everything is a website these days, so does open source as a process matter anymore? First of all, the applications are not open source and even if we have the code (rare situation), you and I can’t fix the application/website unless you host it yourself.

But the foss.in community made me remember the joy of coding and joy of hacking.

Kudos to Team Foss.in for making the only community event and only IT event that is worth attending. It was fantastic to see how the concept of workouts had just taken off. And everyone’s been saying that all the keynotes have been fantastic.

In case you are wondering, I’m not the only one who was so enthralled by the event, for example:

fossdotin_janakiramm

fossdotin_ramblinggeek

See Lakshman’s writeup on the same. And so on.

Bottom line? Shut up and hack!

The Bad

Will miss the direction of Atul Chitnis.

What was missing

What I felt was missing is a discussion on the state of the art of software in each field, not just specific PoTDs. And I think this is more of a community perspective rather than the organizers’ perspective — organizers just provide the platform, community provides the content, as Atul keeps reminding us.

For example, consider my pet topic, the state of NoSQL databases – what’s good, what’s not, is it strange or expected that so many of them have come up in the last 1-2 years and all of them are open source (or at least the ones that we hear of). Taking it a step further, how it affects other fields of software. I’ve attempted to ask this before in a session at barcamp on whether webapp frameworks will adapt to NoSQL.

Similarly, what is the future of compilers, will LLVM + clang replace GCC (as @artagnon was speculating)? Will WebKit and V8 take over the world and leave Mozilla + Tracemonkey behind? Why are there so few projects using AGPL? What does it take to get full database dumps out of Wikipedia ? Will open source phones never take off? How does Eucalyptus help have an alternative with EC2? How does appscale help have an alternative to GAE? And so on.

In toto, I think there are three parts to this and I believe only the third part of which is done well already by the community and organizers: (1) what are the different fields and layers of software, (2) what is the state of the art of open source software in those fields, (3) getting people started and involved. I feel that only when we think on these lines, we will achieve Atul’s stated vision of “open source being the mainstream, proprietary software being the special case”*.

Thoughts?



* No flamewars please. I believe that the world will be better off by having all the infrastructure as open source software and having only the business logic / trade secrets as the proprietary part. At each stage of evolution of software, the stack grows higher, and the infrastructure/open source stack can grow higher along with it. For example, Robot Open Source and the Hadoop umbrella.

Wish for browsers : Adopt MHTML format

Tuesday, September 15th, 2009

This is a request to the communities behind all the open source browsers: Please adopt the MHTML format (or even better, the Mozilla Archive Format) and make it a native part of the browsers.

Use cases

  1. Every time a user wants to send across content that doesn’t fit into an email, the user has to then decide between using .doc, .docx and .pdf formats. This implies additional software that needs to be installed on the recipient’s computer. This is unnecessary because browsers already do a fantastic job of rendering content, why should that be outsourced to other software simply for the reason that they don’t have a common document format?
    • Think product help documentation, resumes, small galleries of photos, and so on.
    • PDF is pixel-level which means it is good for printing, and HTML/MHT is presentation-level which means it is good for viewing while still maintaining full fidelity.
  2. Because there is simply no good “File Save As” solution. This is especially useful to store pages offline so that the user always has access to them, e.g., the Markdown text formatting syntax, and so on.
  3. Print to PDF is abysmal because most websites don’t have appropriate print stylesheets. Currently I’m using the Aviary “To Image” bookmarklet to save pages and preserving decent presentation at the same time. However, saving the document as an image means that I cannot search for text. If only the browser had a proper “Save As” solution, then we would have the best of both worlds.
  4. The future is full of small screen devices Netbooks, Chrome OS, CrunchPad, iPhone, Android, etc. Do you see PDF readers or office suites on all of these devices? Unlikely. But what they do already have are web browsers. So why not have a browser-native document format that works across all these platforms.


Format Possibilities

The MHTML format is already adopted by IE and Opera. Firefox has the UnMHT addon and also has alternatives such as the Mozilla Archive Format. Safari does not support MHTML but instead has its own .webarchive format.

Each browser supports its own file format, clearly demonstrating that there is a use case for storing documents in single files. The gap is whether browser vendors can agree to adopt a common format. That would mean that the file format would actually be useful since it does not need assumptions on the platform/installed software of the recipient.

What I’m hoping for is the browser vendors to bring the vision of the MAFF file format and KDE WAR file format to life.

Extensibility

  • PDF is read-only by design. The new file format could support highlighting and annotating features such as those present in Scrapbook addon.
    • Use case: The highlighting feature means that I can save an online article, mark the parts that I think that are relevant and important and send the annotated file to a friend via email.
  • If the new file format has a container structure (zip, tarball, etc.), then we can include images, videos and other multimedia, just like the office suites’ formats. Continuing that line of thought, can all the browsers adopt one of the office suite file format standards? What if every browser had “Save as DOCX” and “Open DOCX” options? DOCX is appropriate because it is a ISO standard and it will be interoperable with the most popular office suite out there.


Summary

The wish is that the “Save as MHTML” feature will bundle the webpage into a single file, which can be stored, transmitted, and viewed later using any web browser. This will also be useful for small-screen devices of the future which have browsers but not necessarily have dedicated format readers and office suites. If a container structure format is used instead of MHTML, then features such as highlighting, commenting, multimedia, etc. can be added.

I hope this sparks a discussion about whether this idea has potential and could be something useful, or is completely unnecessary.

Update 1: Thanks to “Rik|work” on irc.freenode.net#webkit, got to know about two open bugs in the Webkit bugbase which exactly talks about this — Bug 7168 – Support reading of MHTML (multipart/related) web archives and Bug 7211 – Support save as “Web page, complete” in Firefox format, and as pointed in the comments to the latter bug, Chromium/Google Chrome already supports this! So it is not an outlandish idea as it seems :)

Update 2: Thanks to “Mardeg” on irc.mozilla.org#firefox, got to know about the this proposal from Alexander Limi called Making browsers faster: Resource Packages.

Update 3: Thanks again to “Mardeg” for pointing out these filed proposals in Firefox – Bug 18764 – Full rfc2557 MHTML multipart/related support in browser (filed in 1999!) and Bug 40873 – Save as rfc 2557 MHTML; complete webpage in one file (filed in 2000!).

Update 4: Continuing the discussion with “Mardeg”, it seems there is already a format that can solve this purpose – SVG. It is supported in all modern browsers and Google is working on svgweb which is a JavaScript library that any website can use that enables IE to render SVG using Flash Player behind the scenes. Very interesting! If only IE natively supported SVG along with browsers and word processors having a “Save as SVG” option, this pain point would just go away.

Update 5 (Oct 19, 2009): Looks like MHT is indeed not an obscure file format, Zoho Notebook has “Export to MHT” and “Export to HTML” as the two export options for notebooks and pages.

Mindmaps

Tuesday, March 31st, 2009

Ever since I read about how Arif Vakil uses a “My World Mindmap” to organize his life, I started using mind maps. It is such an utterly simple concept but yet I still find it fascinating.

If you don’t know what a mind map is, think of it as writing a single topic idea on a piece of paper, then drawing out a tree with new ideas as branches. You can draw as many branches and sub-branches as you like. That’s it.

There are two purposes for which I use mind maps:

1. Brainstorming

Nothing gets my brain thinking and crazily jotting down thoughts like a mind map can. This happens because it is not a linear format and encourages branching out in different directions. At the same time, you can group related ideas together which means you don’t have to detail each idea, the phrases should have quite obvious meanings from the branching hierarchy.

2. Attention Economy

“Pay attention to what has your attention” is another gem that I learned from Arif.

I have forced myself to spend an hour every week and update a mind map that lists my actions in the past week. If my intentions on how I would like to spend my ideal week does not match my actual actions, then, the problem becomes quite obvious. Otherwise, it will be yet another case of “What? A week is already over. Time just flies…” and then months and years fly by (and it has) and you’ll wonder what you’ve been doing all along.

To break this chain, I started being conscious of what I’m doing. At first, I was shocked at the drastic gap between inspiration and execution. But by constant review of this attention mindmap, I’m getting better at todo lists.

XMind

The best mind mapping software that I’ve come across is XMind. It also happens to be open source and cross-platform.

It has a very nice simple and fluid interface, intuitive keyboard shortcuts, nice handy marker icons and most importantly, feels like a coherent software.

Install XMind and try this:

  • Click on the “Central Topic” rectangle. Press F2. Type “Life” and press enter key.
  • Press the Tab key. Press F2. Type “Career” and press enter key.
  • Press the Enter key. Press F2. Type “Finances” and press enter key.
  • Press Shift+Enter keys. Press F2. Type “Family” and press enter key.

That’s it, you’ve now created a mind map and got a feel of the keyboard shortcuts.

But there is more.

  • Click on the ‘Finances’ rectangle.
  • Right click → Markers → Smiley → Boring
  • Click on the ‘Career’ rectangle.
  • Press F3. Add tags like ‘monthly review, skill’.
  • Press F4. Add your notes.
  • Press the Tab key and add subtopics like ‘The Big Goal’.

Sample of My World mind map

Continue filling out this mind map and you would have created your “World mind map”.



P.S. I’ve been thinking about writing more about productivity and lifehacks, so if this post was useful for you and would like to read about more such topics, please let me know.

Why Stack Overflow is useful

Thursday, February 5th, 2009

In one of my previous thoughts, I had mentioned about a website called “Stack Overflow” in passing.

I’m surprised that many people do not know or use this resource and community. Just a brief search over there would answer so many questions that programmers have.

For example, there is a suggestion on my skribit page:

“how to give back to the open source community”?

And this question has 20 votes!

I wonder why this question to me, then I remembered this suggestion popped up soon after I wrote “Why use Creative Commons license?” where I had written “The book was intended to be a contribution back to the open source community. We constantly keep taking and taking – whether it is using Linux, Vim, Firefox, or countless other software, so it felt great to be useful to the community in return.”

I guess I had it coming.

First of all, I would say that the best place to actually learn such a topic would be another book (I bet you saw that one coming!) called Producing Open Source Software by Karl Fogel (which is itself an open source book) to understand how an open source project works right from the technical infrastructure to the social and political infrastructure, how to communicate, and so on. And finally, the chapter on Volunteers explains the different kinds of volunteers that are helpful to an open source project which indirectly means that those who are interested can participate in the projects in one of those roles => You’re giving back to the open source community!

But perhaps there are better suggestions in this discussion on Stack Overflow when somebody asked, duh, How to get involved in an open source project?

Someone also posted another skribit suggestion asking:

hi, can u give me a link on examples with python or projects in python book i am a beginner

Guess what? I already answered that in a discussion at Stack Overflow.

The answer is that there are two projects – the “Programming Language Examples Alike Cookbook” project and the Rosetta Code project which lists vast numbers of example programs in multiple programming languages.

Again, the person could have found this answer already by a simple search on the Stack Overflow website.

For some of the programming queries I had, I didn’t know whom to ask. There used to be an internal algorithms-discuss mailing list when I was at Yahoo!, but whom do I turn to now? The answer again was “Stack Overflow” (which at that time was yet to be launched, so I was waiting in anticipation):

How to convert floats to human-readable fractions?

Let’s say we have 0.33, we need to output “1/3″. If we have “0.4″, we need to output “2/5″.

The idea is to make it human-readable to make the user understand “x parts out of y” as a better way of understanding data.

I know that percentages is a good substitute but I was wondering if there was a simple way to do this?

And someone nicknamed “Epsilon” pointed to me to a brilliantly simple algorithm by David Eppstein which exactly answers this question.

# Usage: ./frap <fraction> <maximum denominator>

$ ./frap 0.33 10
1/3, error = -3.333333e-03
3/10, error = 3.000000e-02

$ ./frap 0.2342 100
11/47, error = 1.574468e-04
15/64, error = -1.750000e-04

Isn’t that amazing? Both the algorithm and the community at Stack Overflow.

If you want to know why Stack Overflow works so well, there is a discussion on that, at Stack Overflow you might want to read :-)

Why use Creative Commons license?

Friday, December 26th, 2008

Many people have asked me on why I released my Vim book under a Creative Commons license instead of getting it published.

(1) First of all, I did try to talk to publishers, hoping that I would convince them to release the book simultaneously under a free license as well as a printed version (which is true for many technical books these days). All the publishers I spoke to said there is no market for such a book and said no to the idea. But that didn’t deter me, because I really wanted to see such a book out there, so I wrote it anyway.

(2) Technical books readership is on the decline. It seems very few techies buy and read books, they just google it and solve their immediate problems vs. reading a whole book.

If you don’t believe me, see what John Resig, Charles Petzold, Jeff Atwood and Eric Sink have to say on the subject.

(3) I had a concern bigger than not getting it published, it was that nobody would get to know about the book and hence the book would go in vain. Since money was not a motivating factor in this particular case, I was far more interested in seeing lots of readers and widespread usage than to see fewer readers with the published book although the latter would make me more money.

Tim O’Reilly’s words remained stuck in my mind:

“Obscurity is a far greater threat to authors and creative artists than piracy.”

Of course, I did have a printed books option, so I still could have made money just like 37 Signals did with their “Getting Real” book which was free to read online plus available as a paid PDF download. Unfortunately, it seems I lack their marketing pizzazz.

(4) The book was intended to be a contribution back to the open source community. We constantly keep taking and taking – whether it is using Linux, Vim, Firefox, or countless other software, so it felt great to be useful to the community in return.

As Steve Jobs said:

You know, we don’t grow most of the food we eat. We wear clothes other people make. We speak a language that other people developed. We use a mathematics that other people evolved… I mean, we’re constantly taking things. It’s a wonderful, ecstatic feeling to create something that puts it back in the pool of human experience and knowledge.

(5) My experience has been that a lot of people would like to translate such books to their native languages to help more people use the software. So, I’m happy to see volunteers now translating the new Vim book to Chinese, Russian and Swedish languages!

I needed a balanced approach to what I was trying to achieve, and all the above reasons led me to use a Creative Commons license.

Announcing my free book on Vim

Tuesday, November 25th, 2008

Today is the first day of foss.in/2008, and on this occasion, I’m happy to announce the first public release of my Creative-Commons licensed book on the Vim 7 editor.

This book is meant for both beginners and advanced users.

For beginners, it walks you through the first steps to learning about modes, discusses about typing skills to be effective and moves on to the editing basics.

This book will definitely appeal more to people who are Vim users already because it helps add a huge number of tricks to their arsenal, whether it is more efficient editing, personal information management, coding your own plugins or making Vim a programmers’ editor.

I hope that fellow Vimmers will find these notes useful. Even though it is in a book format, the writing style is more like a tutorial and is informal, which should be familiar to readers of my Python book.

Both books are under the Creative Commons Attribution-ShareAlike 3.0 license, so you’re free to download it, email it, share it and improve it. In fact, the book is on a wiki, so you can just click on ‘Edit’ in the left sidebar of any chapter to improve the book in a matter of seconds. When in doubt, please use the ‘Discussion’ link to add your suggestions and comments.

For those who prefer reading books they can hold in their hand, please consider purchasing a printed copy of the book. This will also help support the continued development of the book.

For those PHP gurus familiar with GeSHi syntax highlighting, I would greatly appreciate any help in improving my vim syntax highlighting source, especially in handling Vim-style comments, etc. Please mail me if you can help.

This book has been in the works for several years, so I’m glad to see it finally in good enough shape for releasing it. Although I haven’t done as many rewrites as I would have been satisfied with, I decided it was better to <insert cliché of “Release Early, Release Often.”>

I dedicate this release to foss.in and GTD principles.

Book updated for Python 3.0

Friday, September 5th, 2008

After a gap of 3.5 years, I’ve finally updated the ‘A Byte of Python’ book.

The interesting news is that it is updated for the upcoming Python 3.0 language making it probably the first book to be released for Python 3.0.

The book is now a wiki too at www.swaroopch.com/notes/Python which means you can contribute too!

The book and wiki are now under the Creative Commons Attribution-Share Alike 3.0 Unported license. The Non-Commercial clause present in the previous edition of the book has been removed. It was becoming a hurdle for translators as well as people who wanted to use the book for genuinely good activities, so I decided it to drop the clause.

Since it is a wiki, volunteers can directly create their translations on the wiki. This eliminates the need to learn DocBook XML and its tools which had become a hindrance for many translators, and I’m glad to see this already bearing fruit with Eirik Vågeskar starting off a Norwegian translation at www.swaroopch.com/notes/Python_nb-no:Forord.

I will soon be making a printed version of the book available as I have had many requests for this.

So back to the main question: Why an update after nearly 4 years? Two reasons.

First, because of foss.in. I dedicate this new release to the foss.in community for their spirit and enthusiasm over the years which have rubbed off on me and kept me working on the update of the book.

Second, Over the past few years, the readers’ reactions have been simply splendid:

Neil (bigdealneil-at-yahoo-dot-com) said:

“(I) got an if else to work and I can follow your tutorial, which I have never been able to do no matter who wrote the thing! you’re a genius Swaroop!”

Gao shuai (ejwjvh-at-126-dot-com) took the effort taken to write an email to me in English:

dear swaroop: I am a chinese student.My name is gao shuai,”gao”is my family name. Although your book is easy to understand,but my english is bad,so what I read is the chinese edition. I have made some programs now.It is interesting.I like it very much.

I emailed back and he replied:

Mr Swaroop: I am exciting to read your back. _(Editor’s note: I think he means ‘reply’)_ Tt is the first time that I talk to foreigner though the internet. I saw that you have your own mail ab.I think You’re a great man. Thanks for your back!(*^_^*) regards, gaoshuai

The interesting part is that this student somewhere in China was being benefited by this book and he “talked to a foreigner through the internet for the first time” and that person was me. It was truly humbling.

People are even putting ads for it, and I had no clue about it until I chanced upon it myself:

An ad for 'Byte of Python'!

If that wasn’t enough, I found out that there are 8-9 university courses officially using the book, including Harvard and other institutions. And apparently even NASA is using the book in their Jet Propulsion Laboratory.

Users have suggested that it should replace the official tutorial but I really wouldn’t go as far as that :)

Recently, I had sent a sneak peek for the book’s group of readers and within a day, I had the first 10$ donation by Horst JENS. I remembered seeing that name somewhere, so I searched my emails and found this:

On Mar 4, 2007:

“Hello Swaroop, i teach a class of (3) Children how to program in Python. Just want to thank you because without your ‘a byte of python’ (that i read one year ago) i would maybe never have begun to code in python and consequently would never leaved my old job to become a Python teacher.”

A person in Vienna, Austria changed his career from a sys-admin job which he didn’t like, to teaching children about programming, a job he loves. Wow! Again, this is so humbling. I could have never imagined that a small book can make such a difference.

The point is that I’m grateful for all these people writing to me and sharing their delight and stories. The book is still alive and kicking thanks to all these people.

Happy programming!

Ideas are Cheap : Real Coding Training

Wednesday, August 27th, 2008

This is a continuation of the Ideas are Cheap series.

We all know how much disparity there is between computer science courses in engineering colleges in India and real-world coding skills.

So how about a training institute that fills this gap?

I’m sure the first question is that how is it any different from NIIT? The difference is that it is about programming skills, not about technology. Skills such as:

  1. Reading large amounts of code – which is what really happens 90% of the time in big companies
  2. Debugging – again, maintenance and bug-fixing are the major tasks in any reasonably sized company
  3. Deployment – a hugely underestimated skill/process
  4. Unit testing
  5. Performance engineering
  6. Security aspects
  7. etc.

The best part is that this can work very well with open source. I’m thinking more in terms of the Synovel/SpiceBird model where a for-profit company is working on open source code.

This means:

  • Students get to learn real coding skills and get to see the impact of their code real-time
  • Company profits because the development is being made on their main products and not simply throwaway run-of-the-mill projects.
  • Open Source means interested students can continue contributing even after they “pass out” of the training institute.

And how different is this from Google Summer of Code? GSoc is meant for college students who are already good hackers whereas as this training is to help people become good hackers.

There are tons of ideas that can be taken up and that would be sexy enough to interest students:

  1. How about an open source desktop search application that runs on Windows?
  2. How about creating an open source equivalent of Microsoft OneNote? (or at least a converter from the proprietary .onenote format to any other open format)

Interestingly enough, the training institute can grade students on their hacking skills and eventually become a resumé goldmine for companies that require uber-coders such as the Yahoos, Googles and of course, the startups.

If someone is doing a training programme like this, let me know. I can join as a student.

Ideas are Cheap – Build your mobile

Thursday, July 17th, 2008

It’s that time of the year when proto.in fever spreads. And the ideaworm has got to me.

Inspired by Vijay Anand’s “Ideas To Toss” series, I thought why not start my own occasional series as well? I’m calling it the “Ideas are Cheap” series. The name is a take on the common proverb “Ideas are Cheap. Execution is Everything.”

So here’s the idea for today:

Can we have a business where the users can customize the hardware that goes into their phone?

This is not a new idea. We are just applying Dell’s business model to mobile phones. If Dell can do it for desktops and laptops, why can’t it be done for mobile phones?

The customization can range from how much memory you want, whether you need a camera or not, etc. to choosing the color and the type of body (candybar or flip or other form factors) and so on.

The range of customization possible depends on the capabilities and costs involved in the assembly process. For example, users may be able to customize the phone by having a name for a special button called ‘Mom’ (or ‘Dad’ or ‘Son’ and so on) that is hotwired to call you. You can gift this to your corresponding loved ones. The advantage is it becomes a wonderful ‘personal’ phone and becomes easy-to-use for technophobic people.

The implementation will be challenging. For one, desktops and laptops can be assembled because of the plug-and-play IBM PC architecture as well as because the operating system easily adjusts to changes in the hardware. AFAIK, mobile phones are not built that way as of today and requires some configuration in the software based on which hardware features are present and which are not (please correct me if I am wrong). Making the software easily adaptable will be a major feature.

The other interesting part is to build a factory that facilitates this. It is very hard to build a supply-chain system for such a factory.

The good part is that the technology could be built on top of OpenMoko – after all, this is the kind of ideas that FIC (the sponsors of the OpenMoko project) had in mind in creating a mostly-open-hardware and open-source-software mobile computing project.

Personalization is one of the buzzwords that is supposed to make the big moolah for companies these days, and allowing people to customize a device that they carry around all day definitely has potential.

End credits: This idea was part of a random discussion between Ramjee and myself.

On a different tangent, there are lots of ideas waiting to happen in the software. For example, it’s not only Apple that can do an App Store for their phone, this can be done for this platform too. Of course, we’ll have to start off a holy war of choosing that one linux distro…

Perhaps similar ideas can be done on top of the Asus EEE PC as well?

Why students and open source?

Tuesday, October 2nd, 2007

Two days before the BMS College Information Science Department Fest called “Genesis 2007″, I received an email from a couple of students asking me to talk about “introduction to open source”. Apparently, they were frantically looking for a speaker. Since I’m not the right person for this, I agreed to come only if they didn’t find someone else… and I ended up going there on Friday.

The talk was supposed to be an introduction for a day-long session on Open Source Hacking which was organized by few enthu students trying to get other students interested.

I started making the presentation on the midnight before Friday, so I didn’t have a very polished presentation, but I had something reasonable. The title of the talk was “How to make money from coding (or Why Open Source)”. That should get their attention.

15 minutes before the talk, there were 2 students in the hall. I wanted to start the talk on time and decided to start without much crowd anyway. My sore throat was troubling me and I was coughing every two minutes. Anyway, I started off with a funny anecdote. It flopped. Oh boy.

Then, I decided they’re not warmed up yet, and recovered quickly. 15 minutes later, the 225 seater hall was full. Phew.

Genesis 2007 at BMSCE

An hour later, they were still all there, they were asking lots of questions and they seemed genuinely interested. I hope the students do take FOSS software seriously, if not for the freedom and open source aspects, at least for their own career aspects which I detailed out in the talk. (And I’m sure once they’re hooked, they will later “get” the freedom and open source aspects.)

Why do I say that? Well, it comes down to the first question in the Q&A session – “How to get into Yahoo!?”, and I replied “Well, do you want to know how I got into Yahoo!?”. A unanimous yes. I told them the MySQL story, the Python story and few other tidbits. Now, they’re really listening. I pointed out that I didn’t have any special skills, just the knowledge of these two open source software got me the job at Y!, and it saved me from a service industry job (no offense meant, just a personal preference).

Next question: “Any regrets in college life?”. It caused a flashback
in my mind on Atul’s words
“There are two times you innovate in your life – one is when you are a student, the other is when you retire.” Back then, I didn’t believe him. Now, I do. So, I told them “I haven’t yet regretted not scoring well in college. This is the only ‘free time’ you have, so use it well.” I got lot of smirks and “oh, please, we have so much to study” looks. I said “Two years later, I’ll see how many of you come back and tell me I’m wrong.”

Genesis 2007 at BMSCE Genesis 2007 at BMSCE

Then, after the session ended, a few electrical students said they wanted to get into the software industry and don’t know where to start. I told them that some of the best programmers I’ve known are from a mechanical background, so that’s okay. You should prove your skills, that’s all, your background shouldn’t matter, although it may be difficult to get your first job because you’re not a computer science student. Then, a telecom student. I was happy about this guy because he said he wanted to remain in the telecom domain but learn coding really well, I said that’s a very good decision he’s taken and told him to see open source projects such as Asterisk and OpenMoko. He said “I’m in my final year, just 8 months to go, am I too late?” I said “8 months is a really long time, you’re not late, you just have to start now.” (8 months is a long time when you think about it, but it seems to fly away so soon).

After that, students headed towards the computer lab where I gave a crash course in using subversion. I had to get back to work, so I didn’t stay for the rest of the day, but I heard there was a “good response” from the students.

In the end, I don’t know if anyone was inspired about FOSS or not, but I did see that few students absorbed the fact that knowledge and projects are going to get them good jobs, not just marks (of course, you do have to have a decent score), and working on FOSS projects is one way to achieve that.

P.S. If you’ve read this far, and you’re interested in learning how to contribute to open source software, then you’re in luck, because the foss.in community event is coming up soon. You can start right now by reading Atul’s latest post on foss.in.

Update : A related must-read article is “How to Get a Job Like Mine” by Aaron Swartz.