Posts from August 2012

Who’s New in Google Summer of Code 2012: Part 4

Friday, August 31, 2012

For the fourth installment of our series of posts highlighting new organizations participating in this year’s Google Summer of Code we have three organization administrators from the Open Lighting Project, Monkey and SimpleCV discuss their projects and their students’ work below.

The Open Lighting Project is an effort to build high quality, open source software for the entertainment lighting industry. As new control protocols were developed, we recognized the need to develop a comprehensive test suite to evaluate protocol implementations and check for cross-compatibility. In 2011, we developed a test suite, but running the tests requires familiarity with the unix command line and access to a Linux or Mac machine, something many manufacturers don't have.   
Our Google Summer of Code project for 2012 was to build a web frontend to the protocol tests, with the aim of making it much easier for manufacturers to run the tests prior to releasing a product. Over the course of 12 weeks our student, Ravindra Nath Kakarla, designed and built an interface which has received very positive reviews from engineers in the lighting industry. Ravindra's code has been merged into our main repository and is part of our latest release. We plan to start distributing stand alone testing appliances based on a Raspberry Pi and running Ravindra's code within the next month. 
With the availability of low cost testing appliances, there is now no excuse for manufacturers not to thoroughly test their products before release. We expect this to increase the general quality of equipment and reduce the number of inter-operability problems within the industry. 
By Simon Newton, Organization Administrator for the Open Lighting Project 
Monkey is a small, fast and lightweight web server for GNU/Linux. It has been designed focusing on embedded devices, and is therefore, scalable by nature. It has a low memory footprint and CPU consumption, leading to an excellent performance.  
This is our first year as a mentoring organization in the Google Summer of Code and it has been a great experience in terms of how the community is growing plus the many goals achieved by our two students. Lauri Kasanen, from Finland, converted our base code in a HTTP shared library and several code base cleanups. Finishing his project pretty quickly Lauri also wrote a new CGI plugin from scratch, plus many other code base optimizations. Sourabh Chandak, from India, implemented a Redis support package for our web services framework called Duda, and is now creating a new package to support Memcached. In addition, during his work he helped troubleshoot issues and propose new features for the core API. All of these student contributions exceeded our expectations, and we are very happy with all of the work completed this summer. 
Thanks to everyone for this great opportunity, we are glad to contribute and support new people joining our community. 
By Eduardo Silva,  Monkey HTTP Daemon - Google Summer of Code Organization Administrator 
SimpleCV is an open source python library that makes writing computer vision applications simple and fun. Our focus is creating a user interface that is intuitive so that computer vision can be used as a tool by makers, educators, and practical problem solvers. SimpleCV is a little over a year old, so we are still working on adding core functionality to the library.   
We had the pleasure of working with three Google Summer of Code students this year: Vijay Mahantesh, Jay Rambhia, and Victor Silva. Over that course of the summer we collaborated with the students to add tools to the library that expanded its functionality, but also resonated with the student’s interests in the subject of computer vision. We wanted the students to get a broad understanding of the tasks involved with supporting a large open source project. To this end the students spent a significant amount of time supporting users via our help forum, generating blog posts and videos to publicize their work, and maintaining the library by fielding bug reports and feature requests. It was a great summer. 
A few of the new features the students added to SimpleCV include:
  • Jay implemented a full tracking library that features mean shift tracking, Lucas-Kanade tracking, and Kalman Filter Tracking. He has also implemented a semi-working python port of OpenTLD. 
  • Feature point detection is a hot topic in computer vision as it allows users to identify objects irrespective of the camera’s viewpoint. Our student Vijay devoted significant time to improving our feature extraction library. 
  • Victor created a project template for making SimpleCV cell phone applications. This application allows you to quickly upload an image from your cellphone to a remote server for processing with SimpleCV. The processed image can then be returned to the user’s cell phone or displayed on the web. 
  • Our student, Jay, helped us fill in some of the gaps in SimpleCV by adding support for frequency space filters, the Sobel operator, enhanced line finding support, enhanced ipython notebook features, and Ubuntu installation scripts.  
  • Two cameras are often better than one and this is why humans and animals use stereo vision to navigate the world. To help students better understand depth perception Vijay added a complete stereo vision processing suite to SimpleCV.  
  • Animated GIFs are the currency of online bulletin boards and forums. They are also a great way to embed animated illustrations of vision processing algorithms. For this reason our student Victor added an animated gif library to SimpleCV to allow us to save SimpleCV results as animated  gifs and post them to the web. 
By Katherine Scott, SimpleCV Organization Administrator

These are just a few of the 45 new organizations participating in their first Google Summer of Code. Stay tuned next Friday for our fifth post where we will spotlight even more new organizations in this year’s program.

By Stephanie Taylor, Google Open Source Programs

8th Year of Google Summer of Code draws to a close

Tuesday, August 28, 2012

We are pleased to announce the conclusion of another successful Google Summer of Code, our program designed to introduce university students from around the world to open source development.

In late May, 1,212 university students from 69 countries began writing code for 180 open source organizations with the help of 2220 mentors from 66 countries. We are excited to announce that just over 88%* (1072) of the students passed their final evaluations. Meanwhile you can view a variety of statistics on the previous seven years of the program. Mentoring organizations will also be posting wrap up reports over the coming weeks so stay tuned!

Now that the program has ended for the summer, the students are busy preparing their code samples for all eyes to see. Soon you will be able to go to the program site where organizations will have links to the student’s code repository on

Thank you to all of the students, mentors and organization administrators that have helped to make this 8th year of the Google Summer of Code a great success!

By Carol Smith, Open Source Programs

* This number could rise slightly in the next few weeks due to delayed evaluations.

Who’s New in Google Summer of Code 2012: Part 3

Friday, August 24, 2012

For our third post in the summer series highlighting new organizations participating in Google Summer of Code 2012, three organization administrators describe their student projects below.
We have all watched with excitement as Google unfolded the Google Knowledge Graph, giving insight into answers for questions that we never thought to ask. Similar "knowledge graph" initiatives from researchers in academia and industry have been underway to develop a global graph of Linked Data, where structured data on the Web is directly available for programmatic access in standard ways. 
One of the most prominent Linked Data sources is DBpedia, a data set built by sharing (as structured data) facts extracted from Wikipedia. DBpedia has been serving as a nucleous for this evolving Web of Linked Data, connecting cross-domain information from numerous data sources on the Web, including and, by transitivity, the Google Knowledge Graph. 
DBpedia Spotlight is a tool for connecting this new Web of structured information to the good old Web of documents. It takes plain text (or HTML) as input, and looks for 3.8M things of 360 different types, interconnecting structured data in 111 different languages in DBpedia. The output is a set of links where ambiguous phrases such as "Washington" are automatically "disambiguated" to their unambiguous identifiers (URIs) Washington, D.C. or George Washington, for example
During Google Summer of Code 2012, we had the pleasure and honor to work with four students to enhance DBpedia Spotlight in time performance, accuracy and extra functionality. 
  • The core model we use for automatic disambiguation is based on a large vector space model of words. One student project by Chris Hokamp, included processing all the data on Hadoop, as well as analyzing the dimensions of this model using such techniques as Latent Semantic Analysis and Explicit Semantic Analysis. 
  • Joachim Daiber implemented a probabilistic interpretation of the disambiguation model and provided a key-value store implementation that allows for efficiency and flexibility in modifying the scoring techniques. 
  • Dirk Weissenborn spent his summer developing topical classification in our model and live updating/training of the models as Wikipedia changes (or news items are released) so that DBpedia Spotlight can be kept up to date with the world, as soon as events happen. 
  • Finally, the fourth project by Liu Zhengzhong, provided an implementation of collective disambiguation. In this approach, each of the things that are found in the input text contribute to finding the meaning of the other things in the same text through graph algorithms that benefit from the structure of our knowledge base.
Together, these four projects will greatly enhance DBpedia Spotlight towards achieving its objective of serving as a flexible tool that can cater to many different applications interested in connecting documents to structured data. By the way, through links between DBpedia and Freebase you can use DBpedia Spotlight to obtain and use links from Web  documents to the Google Knowledge Graph. How exciting is that? 
By Pablo Mendes and Max Jakob, DBpedia Spotlight co-creators and Google Summer of Code 2012 Organization Administrators 

Sigmah is a free software project for the integrated management of humanitarian projects, run by an open group of eleven NGOs facilitated by Groupe URD. Sigmah was created following a needs assessment carried out in 2008-2009, commissioned by a group of French NGOs who, like many, were suffering from infoxication (information overload).
Sigmah has continued to grow and in 2012, through the Google Summer of Code, some of its goals are going to be met: 
  • Sigmah v1.0 released in June 2011 was solely a solution to enter and structure your data. With the highly skillful help of Google Summer of Code student Sherzod Muratov, we will have a new feature, as part of Sigmah’s core, to export data in spreadsheet format (.xls/.ods). With this increased capability to analyze all information collected in Sigmah, humanitarian workers will be able to more easily learn lessons from their experiences and improve the quality of their work. The Sigmah project is young and its community continues to grow. The website needed to be improved in many ways. Sharada Mohanty has tackled a couple of Sigmah’s immediate needs: improving tools for inner governance and deploying the means to enforce a community-driven culture for the user guide. 
  • With all of this work, our project is getting stronger by responding to the needs of our users and our community is attracting more users to take part in the project. Icing on the cake: both our students have expressed interest to continue to contribute to our young project aiming to make life easier for humanitarian project management. For Sigmah the Google Summer of Code has been the best part of 2012! 
By Olivier Sarrat, Sigmah project facilitator
Twitter is a simple real-time information network where the unit currency is 140 character messages called Tweets. Twitter connects you to the latest stories, ideas, opinions and news about what you find interesting. To run this service, we produce and consume a lot of open source software. Last year, we established our Open Source Office (@TwitterOSS) to support a variety of open source organizations that are important to us. We’re grateful to the open source community for their contributions, and want to maintain a healthy, reciprocal relationship.
We were thrilled to have a chance to participate in Google Summer of Code this year. We had three students work on a variety of projects: 
  • Federico Brubacher spent time adding machine learning capabilities to Twitter Storm
  • Kirill Lashuk added more internationalization and localization capabilities to Ruby via the TwitterCLDR project. This should help anyone in the Ruby community that needs to provide robust internationalization support for their application. 
  • Ruben Oanta worked on adding MySQL codec support to Finagle, which is a network stack for the JVM set of protocol-independent tools. 
What was unique this year for us is that we also worked with Blake Matheny from Tumblr on mentoring the Finagle MySQL project. From my perspective, it’s great to see multiple companies helping students get involved with open source. Thanks again to Google for providing a medium to do so. 
By Chris Aniszczyk (@cra), Manager of Open Source at Twitter

Stay tuned next week for more posts from a few of this summer’s new Google Summer of Code participating organizations.

By Stephanie Taylor, Open Source Programs

Who’s New in Google Summer of Code 2012: Part 2

Friday, August 17, 2012

This is our second post in our summer series highlighting new organizations participating in this year’s Google Summer of Code. Three of the organization administrators give a brief description of their projects below. promotes localization and internationalization with the specific aim of improving usage of Bengali in Free and Open Source Software projects. The group is involved in internationalization and localization efforts, especially content development, translations, and the development of tools, utilities, widgets and APIs that help facilitate a wider community of like minded collaborators to participate in a community building process.  
Our contributions to localization and internationalization have been primarily in the area of making sure that as a language Bengali is easy to use. This has led to devising new keyboard layouts, new input methods, testing fonts, contributing to user interface and document translations and so forth. 2012 is the first time that we have participated in the Google Summer of Code as a mentoring organization and, our project ideas reflect our strengths and our assessment of the work that remains to be done.  
The Google Summer of Code experience has been fascinating for us - from an organization perspective we received a tremendous amount of valuable guidance and support from the Program Administrators and the mentors from other organizations who have been participating for a number of years. The response to our project ideas from the students was very high and the majority of the proposals were well thought out and high quality. Based on extensive conversations with the applicants the organization decided to go forward with four project ideas:
- A translation editor for DTD resources
- New Visual Keyboard for Bengali
- Develop a system with multi-lingual capabilities in order to receive answers to user specific queries.
- Improve the accuracy of OCR tools for Bengali language to 98% 
The mid-term evaluations revealed the need for some course corrections but overall the projects have been very positive. The intensity of engagement of the students to learn and contribute has been really interesting to observe and participate in. We are looking forward to a strong finish for all of the projects. 
By Sankarshan Mukhopadhyay, Organization Administrator 
For 10 years, Cidadania Cooperative has been promoting and carrying participative democracy to every place that we could. Starting this summer we wanted to take that real life experience to the internet with the e-cidadania project. We are very excited to participate in the Google Summer of Code. We didn't expect to be participating this year since we don't have a proper community yet, but we are very glad that Google gave us this opportunity to push the platform forward. Since the start of the this year’s Google Summer of Code both Brazil and Macedonia have become interested in using the platform in their countries. 
The work from our four students has been great, their main job was to finish some important parts of the platform so the first public beta can be released. Their work included a rebuilt proposal system, creating a secure voting module, making a test framework for the platform and of course, some optimizations related with caching and queries. We are proud to say that we have achieved all that in what has been a short, but productive summer. 
By Oscar Carballal Prego, e-cidadania Organization Administrator 
The Concord Consortium is a non-profit R&D organization dedicated to transforming education through technology. Our deeply digital tools and learning activities capture the power of curiosity and create revolutionary new approaches to science, math and engineering education that bring out the inner scientist in everyone.
We were thrilled to have two Google Summer of Code students help us with a couple of sticky problems. 
* First, we're excited to be converting much of our Java-based software to HTML5 so it can run directly in modern Web browsers. In December, funded the conversion of our Molecular Workbench software. Now Google Summer of Code student Piotr Janik is extending a converted version of our original Energy2D software, which simulates all three aspects of thermodynamics: conductivity, convection, and radiation. Piotr is optimizing the computational fluid dynamics algorithms in a JavaScript implementation of this software, since JavaScript in modern browsers is now capable of running these kinds of computational physics simulations at reasonable speeds. He's also taking advantage of new WebGL browser capabilities and investigating how the algorithms in Energy2D can be effectively parallelized so the calculation and rendering power of computer graphics processors can speed the JavaScript versions of these simulations. 
* Second, we've created a number of portals allowing teachers and students to access hundreds of our free models, activities and student reports, but each requires a separate login. Thanks to Google Summer of Code student Vaibhav Ahlawat, we're developing a single sign-on authentication system for accessing all the portals, this will also make it easier to embed our materials in learning management systems.
Our goal with both projects is to make it easier for teachers and students to access our free resources and run them on whatever device they choose. 
By Cynthia McIntyre, The Concord Consortium Organization Administrator
These are just three of the 45 new organizations participating in their first Google Summer of Code. Stay tuned next Friday for our third edition of this series where we will spotlight more new organizations in the program.

By Stephanie Taylor, Open Source Programs

Geek Time with Karen Sandler

Tuesday, August 14, 2012

During LibrePlanet 2012, Jeremy Allison had some quality Geek Time with Karen Sandler, Executive Director of the GNOME Foundation. Some highlights from their chat can be found below.

Jeremy asks Karen to describe her role at the GNOME Foundation and what she does for free software. (0:40)

Karen chats about what makes GNOME different from other desktop software. (1:57)

Jeremy points out that Ubuntu uses its own separate interface, Unity, rather than using the GNOME 3 shell. Is there a chance Unity can be ‘unified’ with GNOME 3? (4:20)

Karen discusses the real challenge in the GNU Linux space, reaching new users.  (5:05)

Jeremy asks Karen if GNOME collaborates on technology with the other Linux desktops like KDE?  (6:15)

Karen answers the question what is GNOME doing to address the complete change in computing from desktop computing to tablets or phones in recent years? (8:05)

Karen describes what accessibility on a desktop means to her. (10:21)

Women in computing is an important topic for Karen so she discusses a couple of the programs she is involved in, including the GNOME Outreach Program for Women (12:38) and her advisory role in the Ada Initiative. (15:44)

Karen discusses her interest and passion for free software in medical devices. (17:20)

Jeremy inquires how Karen first became involved in the free software community and her path to Executive Director at the GNOME Foundation. (21:40)

A hearty thank you to Daniel Piccirillo for filming this interview.

By Stephanie Taylor, Open Source Programs

Google Summer of Code Wrapping up its 8th year

Monday, August 13, 2012

This summer has been an exciting one for the Google Summer of Code. We had 180 organizations participating this year, 45 of which were participating for the first time in the program. In May, 1212 students, including students from Nepal and Mauritius, were selected by these mentoring organizations to participate in the program.

Currently we are in the final week of this year's Google Summer of Code. Today, August 13, is our suggested ‘pencils down’ date. Students have a week to scrub their code, write tests, improve the documentation and perform any other recommendations their mentors might make before the firm end date of this year’s program - Monday, August 20.

For more information on our organizations or the projects students are working on you can visit our program site. Stay tuned for another post in the coming weeks with the final stats for this year's Google Summer of Code.

By Carol Smith, Open Source Programs

Who's New in Google Summer of Code 2012: Part 1

Friday, August 10, 2012

As the 8th Google Summer of Code comes to a close we wanted to introduce some of the 45 new organizations that are participating in this year’s program. Three of the organizations give a brief description of their projects below.
Benetech creates innovative technology for social change in literacy, human rights and environmental conservation.  Within our literacy program, our most prominent project is Bookshare® - a global leader in providing copyrighted, digital accessible books to people with print disabilities (e.g. those who are blind or have visual impairments, a learning disability like severe dyslexia, or a physical disability like cerebral palsy).  This is our first year participating in Google Summer of Code and we're excited to talk about what our students have been working on.
Accessible smartphones and tablets are creating lower cost and richer reading experiences for people with print disabilities. Our Google Summer of Code students were tasked with expanding the capabilities of Go Read - our open source Android Bookshare reading app. 
Our first student, Trevor Barron, is entering his sophomore year at Colorado College and is currently competing in Race Walking at the 2012 Olympics in London.  He is the second youngest Olympian to compete in the sport and just completed with the fastest time ever run by an American at an Olympic event.  Trevor is working on making MathML, a markup language for mathematical expressions supported in the HTML5 spec, accessible to blind students.  Specifically, he is extending the open source MathJax JavaScript library to not only visually render MathML in browsers that lack native MathML support, but to also enable expressions to be aurally delivered via Text-To-Speech based on the MathSpeak grammar rules.   
Next, Thushan Ganegedara, a third year undergraduate from University of Moratuwa in Sri Lanka, has added access to periodicals from NFB Newsline to Go Read, a feature Bookshare members have frequently requested.  He completed his proposed work quickly and went further by developing functionality to automatically download new issues of users' favorite periodicals.  This will dramatically make it easier for people with print disabilities to stay up-to-date with news and other information.  Thushan also implemented the ability to share your favorite Bookshare books via social networks. 
Finally, Kapil Dontula, a third year undergraduate from IIIT Hyderabad in India, is expanding the target audience of Go Read to include people with learning disabilities, such as dyslexia.  Research has shown that dyslexics benefit from multi-modal presentation of books and textbooks via text-to-speech voicing synchronized with word-level highlighting.  The native Android TTS APIs do not provide word-level callbacks to support this synchronization, thus Kapil is modifying and porting a version of the open source Flite TTS engine that will provide this support as a library to Go Read. This is not a project for the faint of heart, as it has required both C and Java Android development and understanding the Flite TTS codebase.   
On behalf of the 200K+ members of Bookshare and millions of people with print disabilities around the world, we would like to thank Google and our Google Summer of Code students for furthering the role of open source software to help people with print disabilities.    
By Gerardo Capiel, Benetech Organization Administrator 
The Statistics Online Computational Resource (SOCR) designs, validates and freely disseminates knowledge. SOCR provides portable online aids for probability and statistics education, technology-based instruction, statistical computing and multivariate data visualization.  
For Google Summer of Code 2012, SOCR student projects include:
  • SOCR HTML5 Resampling, Randomization and Simulation  
  • SOCR HTML5 Motion Charts that are platform- and browser-independent 
Google Summer of Code students working on 2012 SOCR projects came from Europe and Asia and are mentored by researchers at UCLA, California, USA.  A number of scientific, technical, logistical and organizational challenges had to be overcome in the first 2-4 weeks of the 2012 Google Summer of Code. However, the students and mentors were extremely satisfied with the collaborative development efforts, hands-on training and progress made on these projects. 
By Ivo Dinov, SOCR Organization Administrator 
The Metalink project works at improving downloads by automatically using mirrors and detecting/repairing errors. All sorts of apps use Metalink, from system updaters (like yum and Appupdater) to browsers, p2p, FTP, download managers, and command line transfer utilities like curl and aria2. We are thrilled to be involved in our first Google Summer of Code in 2012. We have four amazing students directly, and another indirectly via GNU.
  • Hamza Zia is working on a web client interface for aria2 that uses HTML5 and WebSockets. He's also working on adding Metalink/HTTP (RFC 6249) support to DownThemAll!, a popular Firefox extension with advanced download capabilities. 
  • Aish Raj Dahal is working on Metalink/HTTP support in KDE's KGet. He is the first person from his university and the fourth from his country to participate in the program. 
  • Sundaram Ananthanarayanan has already created the first download manager as a Chrome extension and has also added Metalink support to Google Chrome. 
  • Jack Bates, a Canadian volunteering a year at the Agahozo-Shalom Youth Village in Rwanda, has been working on Apache Traffic Server cache hits for download mirrors via Metalink. 
  • İlim Uğur is adding Metalink support to wget via GNU Project. 
By Anthony Bryan, Metalink Organization Administrator
The above organizations are just a small sampling of the 180 participating projects in Google Summer of Code 2012.  Stay tuned next Friday for highlights from more of the new organizations.

By Stephanie Taylor, Open Source Programs

Leak Finder: a new tool for JavaScript

Wednesday, August 8, 2012

Leak finder for JavaScript helps web application developers find memory leaks in their JavaScript programs.

In garbage-collected languages, such as JavaScript, you cannot have traditional memory leaks by forgetting to free memory: when all references to an object are dropped, the object is garbage-collected and the memory is freed.

However, JavaScript programs can leak memory by unintentionally retaining references to objects. For example the references can be pointers to objects stored in a data structure in a JavaScript library (e.g., Closure) instead of the application code. If an object is unintentionally retained, all objects it points to are kept alive as well. This will lead to superfluous memory consumption.

Example (using the Closure JavaScript library):

goog.Disposable is an interface for disposable objects. Before dropping the last reference to an object which is an instance of goog.Disposable (or its subclass), the user code is supposed to invoke the method dispose()on the object. This method can release resources, e.g., by disposing event listeners. However, a web application might forget to call dispose() before dropping all the references to an object.

Leak finder can detect such goog.Disposable objects which were not disposed, and print out useful information (such as the stack trace when the object was created) about them. It produces machine-readable output and can be used as a part of test automation.

In order to find leaks, Leak Finder relies on goog.Disposable monitoring mode. The mode gathers all created but not yet disposed instances of goog.Disposable (and its subclasses) into an array goog.Disposable.instances_. This array will keep the objects alive. However, if an object is only kept alive by this array and other Closure data structures, it is a leak, since the user code doesn't contain any pointers to the object, and it cannot call dispose() on it.

Leak finder can be configured to detect other types of memory leaks and it can be used with JavaScript libraries other than Closure.

The Leak finder project page contains instructions for checking out the source code and using the tool.

By Marja Hölttä & Jochen Eisinger, Chrome team (Munich)