QOTD

“First they ignore you. Then they laugh at you. Then they fight you. Then you win.”

Mohandas Gandhi

From the Red Hat website.

Modern Panchatantra story

I got this story in my mail today, a modern take on an ancient story :)

Once upon a time, there was a software engineer who used to develop programs on his Pentium machine, sitting under a tree on the banks of a river. He used to earn his bread by selling those programs in the Sunday market.

One day, while he was working, his machine tumbled off the table and fell in the river. Encouraged by the Panchatantra story of his childhood (the woodcutter and the axe), he started praying to the River Goddess. The River Goddess wanted to test him and so appeared only after one month of rigorous prayers. The engineer told her that he had lost his computer in the river.

As usual, the Goddess wanted to test his honesty. She showed him a match box and asked, “Is this your computer ?” Disappointed by the Goddess’ lack of computer awareness, the engineer replied, “No.”

She next showed him a pocket-sized calculator and asked if that was his.

Annoyed, the engineer said “No, not at all!!” Finally, she came up with his own Pentium machine and asked if it was his.

The engineer, left with no option, sighed and said “Yes.”

The River Goddess was happy with his honesty. She was about to give him all three items, but before she could make the offer, the engineer asked her, “Don’t you know that you’re supposed to show me some better computers before bringing up my own ?”

The River Goddess, angered at this, replied, “I know that, you stupid donkey! The first two things I showed you were the Trillennium and the Billennium, the latest computers from IBM !”. So saying, she disappeared with the Pentium!!

Moral: If you’re not up-to-date with technology trends, it’s better to keep your mouth shut and let people think you’re a fool than to open your mouth and remove all doubt.

Linked Lists #1

[Tech]

[Health]

Google Summer of Code 2008

GSoC_08_transparent_new

Google released the Summer of Code results last night, and I’m in! I’ll be working on the VP3/Theora encoder for FFmpeg this summer. They sent me a nice email right around the deadline time, and the site was updated after an hour or so. They also added me to the GSoC students’ private mailing list, which is currently flooding my inbox with everyone’s(~1000) introductions.

Leslie Hawthorn posted some stats about this year’s edition here. She also mentioned in the mailing list that we were getting a surprise gift(probably an autographed book) as a ’start-of-program’ reward. And of course, the famous SoC t-shirt will be sent to all those who stay till the end of the program. :)

My mentor for the project will be Mike Melanson, aka ‘Multimedia’ Mike. Mike was/is(I’m not sure) a lead engineer on Adobe’s Flash Player team. He writes on several blogs, including Penguin.SWF - Adobe’s blog on the Linux Flash Player, Breaking Eggs and Making Omelettes - his personal blog, Gaming Pathology - where he attempts to document every known game’s multimedia details for posterity. He maintains the Multimeda wiki, the information repository for all multimedia hackers. He also created and maintains FATE, the FFmpeg Automated Testing Environment. (He recently added a FATE test for the BFI subsytem!) He is also a double-time Summer of Code mentor, having mentored Kostya(who is also in this year) in the previous two editions.

My end semester exams will be over by early next week and I can’t wait to get started!

BFI playback subsystem

BFI playback subsystem

Finally, after a couple of nights of slogging it out, I managed to beat the BFI video decoder into shape. Here’s the subsystem playing the title track of Flash Traffic: City of Angels. Mike Melanson wrote a review of this game sometime ago, which is pretty much the last word on this game. The patch for the video decoder is here.

The completion of this task makes my Google Summer of Code application eligible for consideration by FFmpeg. The results will be out at around midnight(IST), on Monday and already, I’m getting the shivers that usually come around before high-profile exams. There are several very good student developers in contention so it’s quite competitive. Whatever happens, I’m quite pleased that I managed to contribute code to an open source project.

Mike posted a small overview of this subsystem with a screenshot, so check it out!

Very special thanks go to Michael Niedermayer and Mike Melanson, both of whom very patiently answered my pertinent queries throughout the process of coding…Michael’s suggestions really improved the code a lot.

Feeds

I just moved over my feeds to FeedBurner. All previous subscribers should probably not have any problems, but in case you were a previous subscriber and missed this post in your feedreader, then try subscribing again.

Pownce

If you’ve used Pownce, you must surely have been struck by the beauty of it’s design. I found out some interesting things about Pownce -

  • Pownce uses Prototype and Scriptaculous.
  • The Audio Player and some other stuff are actually Flash objects embedded through Javascript calls. They seem to be storing the user-uploaded files and music on Amazon S3.
  • All images are stored under /img. For example, this( Q. Why does Pownce call it’s logo as apple-icon.png? ) is the Pownce logo and this is the array element in the wood background.
  • The user profile pictures under /profile_photos/x/y/z/xyzabc where xyzabc is your name. For example, this, this and this are the large, medium and small versions of my profile image. Notice the number associated with the username in the URL, it looks like it could be broken by brute force if you knew somebody’s username. A huge privacy risk! Unless they kept changing the number from time to time….which I don’t think they’re doing since mine has remained the same for quite some time now.
  • I think the alphabetical ordering in the profile_photos directory is to maintain the number of files in a directory under the operating system’s(Debian) maximum limits - but every user’s page is accessible at pownce.com/username and not all users can have their stuff in the same directory under the same directory limits, which probably means that they’re doing some soft-linking here…
  • They seem to be self-hosting their servers from their DNS lookup.
  • They use Google Analytics.

Long time, no see

Don’t bother about the grammatical acccuracy of the title, I heard someone use the phrase sometime ago and it seemed to evoke the right meaning without remotely being correct in the grammatical sense - hence. So, I’m back at the Wordpress admin panel, typing stuff like I did a few months ago, except that the posts are going to be more coherent and I hope, useful as well, this time. A blogging break always helps and it takes a break to understand that. :)
For the past few weeks, I’ve been working on FFmpeg, and I’m pleased to inform that my first (ever!) patch was accepted and is now a part of FFmpeg. The patch adds demuxing support for BFI(which stands for Brute Force and Ignorance), a container format used for the videos in the game Flash Traffic: City of Angels. This was my patch and this was the major part. It feels nice at the end of the day when you see your name on someone else’s website, more so when it’s part of code - and as an author - and as a part of a major open source software!

Of course, none of this would have been possible had it not been for the superb FFmpeg community. I’m just happy that my first patch was for FFmpeg and I feel it was great learning opportunity for someone interested in contributing to open source. Michael Niedermayer, Mike Melanson and everyone else in the community patiently answered my pertinent queries in the mailing list, and Vitor Sessak asked me more than once to complete the demuxer first before working on the decoder(I was working on both of them simultaneously) and that really helped me get it committed earlier. It feels really nice and incredibly fun to contribute to open source.

I’m working on BFI decoder presently and hope to get that committed soon. A couple of bugs seem to be messing things up a bit and the fact that it is in C makes the work all the more challenging - ah, but talking about C is another post. I hope the decoder will be complete before the next post so that I can post some screenshots of the decoder doing it’s job. Take care!

Saluting the Constitution

It’s the 58th Republic Day today! The stocks are trembling world wide but that’s no reason not to spare some time thanking all those because of whom the idea that YOU are FREE is not questioned anymore.

“No stock exchange or no market in India will remain unaffected by America.”

Indian traders are finally understanding Globalization, albeit in a very unfortunate way.

‘Another broker who is plays in the derivatives market said: “This is terrible (Bau kharab thayu). We were hopeful. I was far too positive. Actually, many of us discounted India’s future in 2009 and 2010. But, today, we have learnt a lesson. No stock exchange or no market in India will remain unaffected by America.”

More:

‘A jeweler turned stock-investor says: “We are astounded. When we (the country) have 9% growth, when Indian companies are still doing good businesses and promise robust dividends, why should I not be hopeful? Why should the American sub-prime crisis make me so vulnerable? I really do not understand. I have no idea what lies in the future.”‘

From Rediff.

Next Page »