gsocneurostarsbookie

Google Summer of Code 2014

Read all my posts about Google Summer of Code using the tag gsoc!

Google Summer of Code (GSoC) is a prestigious program in which Google selects some solid free and Open Source software projects (FOSS), recruits top students from all over the world, matches students with projects and sponsors their work for an entire summer.

GSoC clearly aims to foster the FOSS world and to attract new software developers to worthy projects. It is held every year since 2005 and it was born directly from the idea of Google’s founders, Sergey Brin and Larry Page.

As I decided to resume my studies in mid 2013 and work on my thesis until mid 2014, I thought that GSoC would be a great opportunity for me to get a deep look inside a solid FOSS project.

For the 2014 edition Google chose 190 mentoring organizations. Every organization has a list of ideas. Ideas are a collection of tasks, issues, features or just a rough description of how an existing project could be improved. They are the starting point for students to submit their proposals. This is f.i. the ideas page for Django: https://code.djangoproject.com/….

I am willing to deepen my knowledge of Python and 53 are the orgs with ideas involving Python projects.

Students should carefully read org’s ideas and elaborate actual proposals. A proposal is a detailed list of activities to perform and results to achieve during GSoC, while working on an org’s project. Any student can submit proposals but only the best students with the most solid proposals are selected.

My Proposals

I spent weeks reading all the ideas involving Python projects, taking a look at codebases and contacting mentors and then I wrote my proposals for 2 projects: NeuroStars and Bookie.

NeuroStars

The project I got selected for!!

NeuroStars is a question and answer website for the neuroinformatics community. The project is owned by the International Neuroinformatics Coordinating Facility (INCF). The mentors are Roman and Satra. Another key person is Istvan, author of BioStar the engine which powers NeuroStars.

I chose this project because of the set of technologies involved in the present and future development like web development, Python, Django, Docker, Ansible, semantic web, RESTful webservice and others.

More information are available in the NeuroStars project page. Read all my posts about my GSoC experience using the tag gsoc!

Bookie

Bookie is “an open source Python-based bookmark application in the spirit of the old delicious.com. The project has now grown into a whole set of libraries and tools that enable users to manage, find, and share their bookmarks”.

I was very excited about Bookie because it could be a great match with my project Moogle. Future developments of Moogle will include a bookmark indexing feature: the moment a bookmark is saved in the browser (on a computer or a mobile phone), Moogle fetches the HTML page and creates a sort of snapshot. The page is then indexed using a full text search engine which parses the content and performs some text analysis (HTML tags stripping, language detection, lower case conversion, stop words filtering, stemming, …). The idea here is to give users the ability to search for their bookmarks not only against the title, tags, and url but also the actual textual content of the bookmarked pages at the time they were saved (and not later on, because those pages might have been edited). And this feature is very similar to what Bookies already does!

I finally got chosen for NeuroStars, so I didn’t have the opportunity to work much on this project. Anyway I did prepare an accurate proposal and wrote a couple of fixes for pesky bugs. Hopefully I’ll get the time to contribute to this project again in the near future!

Bookie is powered by Pyramid, Apache Solr and YUI library.