Google Summer of Code 2008 - A preview
The list of selected applicants for GSoC 2008 is out! And I'm on that list (big grin here). Honestly, I lack the ability to express my nearly orgasmic joy. It only happens to be my birthday today as well, so this is like the best birthday present eva. Um, a hi-5 anyone?
For those of you who aren't familiar with what GSoC is all about, it's an awesome program conducted by Google to promote open source development. A lot of open source projects register mentors with Google, after which students start applying for these mentoring organisations. This year, the mentoring organisation list was pretty diverse. Students can either implement some of the ideas proposed by the organization, or propose some ideas of their own (like I did). The mentors go through applications, deciding what's best for their project, and checking to see if the applicant is capable of pulling it off. If selected, the student spends his summer directly interacting with the project. Google steps in only as a mediating body, and of course to pay the cash. 'Course they're responsible for putting this all together. Kudos to them.
What's in it for the student? Well, first of all you get to do something you really want to, and get recognized for it. It's a quick access into the the world of open source. You're guided by someone whose been there, done that, and is all in all a 'cool' dude (as all open source contributors are). For those who aren't satisfied by the thrill of contributing, well... they probably shouldn't be doing this in the first place. All the same, you get a credential from Google, and that's no joke to have in your resume. Finally, Google does spend a large sum on each applicant. A special Google SoC t-shirt and a whooping 4500 USD to be precise (plus an additional 500 USD to the mentoring application for each student they mentor). Rumours are that Google'll be sending a book to all applicants as well.
The best part of GSoC is that it's a concentrated effort to improve the state of FOSS applications. Looking through the applications, there's going to be a quantum leap in FOSS quality before and after this summer. Let's have a look at what this summer will bring us all. This is of course a biased list, I'm only writing about what I am personally interested in.
- Integrating Vim with Anjuta (Arun Chaganty): Yup that's me! Well this happens to be my blog, and therefore, it's my prerogative to pimp my own project. Anjuta is the epitome of integration, and I believe that's the way FOSS should be. It integrates in gdb, valgrind, glade, creates call graphs using graphviz, has svn integration; you name it. But it has this lame old text editor. That's the only thing that keeps me from using it on a ordinary basis.
Well, this summer, I'll be working on integrating (or actually, embedding) gVim (the best text editor eva) into Anjuta. Anjuta already supports two editors GtkSourceView and the popular Scintilla (both of which are nice, but hey it's not Vim). Another reason that I'm enthusiatic about this project is that once it's done, I should be able to write plug-ins for Anjuta a lot easier. That means I can try and automate a lot of the code reports I'll have to make for my future CS assignments into the IDE. Go open source!
P.S. I've seen another proposal to integrate Vim into Microsoft Visual Studio. Wow.
On-the-fly Code Checker for Vim (Birgi Tamersoy): Intellisense for Vim. That's all I need to say. Once Vim has this, there's nothing that can stand between Vim and world domination! Muhahahaha. On a side note, all improvements in Vim will be reflected in my Vim-juta plugin. Go open source!
- Yet Another Voice & Video Application (Micheal Ruprecht): This project proposes to finally implement protocols into Pidgin (the most awesome chat client ever) to enable voice and video communications. This is something I know a lot of people want, because it finally means they can use GoogleTalk on Linux! That should cross off a Windows-to-Linux-switching dealbreaker.
- PiTiVi Video Editor (Brandon J Lewis): For so long, people have griped that Linux sucks with media editing. This of course put me in a fix, as I couldn't come up with any reply. Yay for this. Once again, I must take out my notebook and cross out another item on the list of Windows-to-Linux switching dealbreakers.
- Modern Download Manager for GNOME (Johan Svedberg): This is another program I really want. D4X exists, but a) it sucks, b) it sucks, and c) it sucks. It doesn't have multiple simultaneous chunk downloads (more wget's fault), like most other clients, like FreeDownloader or Download Accelorator Plus. The UI is terribly designed, and half of the time it forgets my list. Lots of times it fails to start the download itself, though wget works. Yeah, I have lots of cribs about it, but I still use it. There isn't anything else.
- SuperRandom: Predictive Listening for Rhythmbox (Charlotte Curtis): Rhythmbox rocks! This project proposes to analyse your listening tastes, and recommend songs of similar genre. According to the proposal, it says that it'd do this using signal analysis/feature extraction. That seems a bit too computationally intensive for me, but hopefully it could be optimised so as not to increase the load that much (Rhythmbox already hogs like 90Mb of RAM). Amarok has a feature called "Dynamic Playlists" which is a bit similar, but not quite so advanced or custom. It uses Last.fm to find similar tracks (Rhythmbox uses Last.fm just as a radio). It probably could be an alternative implementation method. There are a couple of other options to dynamic playlists like the most recent songs, best rated songs, least heard songs (that's a good feature for me; I have a huge collection and I actually haven't listen to quite a few songs on the list). Hopefully somebody will come along and implement it (or who knows, I may as well when I find some free time). All in all, cool feature, and a terrible misnomer (since this is less random than the usual playlists).
- Tagging and Emblems on the GNOME Desktop (Clemens Buss): I had another proposal for GSoC which is in similar taste to this idea (I will post about my other proposal soon). Basically, what this guy wants to do is to add tags to files and use it as a method of file organisation. Similar to how you organise mail or photos you could do the same with files (why you'd want to, I'll discuss later). I believe that this leads to the future of the desktop; a semantic desktop (a very high funda way of saying a desktop where your files and programs are organised in a more human-intuitive manner). I have a lot of thoughts about this, and I'd like to dedicate a post to that (once I get the time).
Python Memory Profiler (Robert Schuppenies): This is the only thing on my list that isn't a feature/application. And that's because there's so much Python on the Linux desktop. While I do love Python with all my heart, it is quite a memory hog, and this should help developers reduce memory usage.
As always, this isn't an exaustive list of awesome GSoC projects and again, this is simple a sample of projects that interest me. Have a look at the list yourself and see what's in store for the future of open-source. I'd like to end by thanking my mentors, Johannes Schmid and Sebastian Granjoux, and of course, Leslie Hawthorn for her excellent work in coordinating the entire application process. A hearty congrats to everyone else who got through.