Posts from July 2011

Who’s New in Google Summer of Code: Part 9

Friday, July 29, 2011

Every Friday all summer long we have spotlighted three or four new organizations participating in Google Summer of Code. This time organization administrators from Evergreen, and Xapian give more insight into their projects and discuss some of the tasks their students are working on this summer.
The Evergreen library system provides a public catalog interface for libraries and manages library operations such as circulation (checkouts and checkins), acquisition of library materials, and sharing resources among groups of libraries. In 2004, the Georgia Public Library Service chose to build an open source solution to satisfy their need for a scalable catalog shared by approximately 285 public libraries in the state of Georgia. The first version of Evergreen was released in 2006: today almost 1000 libraries across the United States, Canada and many other countries run Evergreen.

We were delighted to have two Google Summer of Code students join us in this, our first year in the Google Summer of Code program, as their projects are addressing two of the major pain points with Evergreen:
• A kinder, gentler configuration user interface. Evergreen's flexibility as a system that can be used by a consortium of hundreds of libraries or just a single library by itself has come at a price, as hundreds of configuration options were added over time, but the usability for Evergreen administrators has not kept pace. Joseph Lewis has made use of online usability testing in his quest to improve the the experience of Evergreen administrators.
• Improved packaging and deployment. Evergreen is currently distributed only as a tarball, requiring administrators to go through the standard configure / make / make install cycle. After eliminating some long-standing issues with our build infrastructure, Ben Webb has automated the creation of Arch, Debian, Fedora, and Ubuntu packages, and is working towards automating the creation of LiveCDs and virtual machines to help with advocacy and testing.

By Dan Scott, Organization Co-Administrator for Evergreen

---------- is a computer vision system that takes as input arbitrary images—snapshot, amateur astronomer, or professional—of the night sky, and returns precise meta-data about where those images are located in the sky, and the identities of the astronomical objects visible in those images. If you have a photograph of the night sky, can identify the constellations, stars and galaxies in the picture. This is not just a cool trick, it makes citizen scientist and badly calibrated astronomical imaging useful for science. That means amateur astronomical images taken in backyards and historical images gathering dust in library archives can be used to make novel astronomical discoveries.

Our Google Summer of Code students, Kevin Chen and Carlos Lalimarmo, are building an image processing and sharing web site where astronomers can process images, share data, use our code, and learn from one another. This site is powered by our core code which can be downloaded and run anywhere, but is accessible to casual users and those who don't want to install the core code. Carlos and Kevin know a lot more about coding for the web than we do at headquarters (we are astronomers, not coders), so they are making our user experience and our system far better than we ever could have without them. They have re-built our web presence from the ground up and created an integrated API for interfacing with other services, like flickr, where we run on user-submitted images. With Carlos and Kevin's help, is going from a set of static web pages to a user-generated, interactive community site that is inviting and easy to use. This sets us up for some qualitatively new kinds of citizen science.

By David W. Hogg (NYU) & Dustin Lang (Princeton), Organization Administrators


Xapian is a Search Engine Library which aims to be fast, scalable, and flexible. It's used by many organizations around the world, including Debian, Ubuntu, One Laptop per Child, and the Gmane mailing list archive. It supports probabilistic ranking and a rich set of boolean query operators. The core library is written in C++, with bindings to allow use from C#, Java, Perl, PHP, Python, Ruby, and Tcl.

This is our first year as a mentoring org in Google Summer of Code, but we've been involved with Xapian-related projects for other orgs in previous years, and Xapian has been under development since 1999. We're mentoring four students this year:
• Nikita Smetanin from Russia is working on an assortment of enhancements to Xapian's existing spelling correction support. This involves such enhancements as allowing multiple possible corrections to be suggested, making use of phonetic algorithms, and handling typos which run words together or move a character from one word to the next. He's also made some substantial performance improvements.
• Xiaona Han is from China, and has been adding support for using Xapian from the programming language Lua, which wasn't previously possible. An early portion of this work has already been merged, and appeared in last month's Xapian 1.2.6 release to make it easy for interested users to try out.
• Dai Youli from China is working on segmenting Chinese text to allow it to be more usefully indexed and searched. Chinese text is usually written without spaces or other indications of where the word breaks are, so Youli has been working on implementing an algorithm to determine where the word breaks are. This is a challenging problem, as the algorithm needs to be reliable, fast enough to process large volumes of text, and robust in the presence of words it doesn't know about.
• Parth Gupta is from India, and his project is adding a "Learning to Rank" framework to Xapian. Learning to Rank is one of the hot topics in Information Retrieval research at present - it's the application of machine learning to tuning the relative weighting of the different features used to determine the order to present results to the end user. Parth recently completed a Master's thesis on Learning to Rank, which has given him a good theoretical background for this project.

By Olly Betts, Xapian Organization Administrator

We had 48 new organizations participating this year in the Google Summer of Code. For a complete list of the 175 organizations participating please visit our program site.

By Stephanie Taylor, Open Source Programs

LevelDB: A Fast Persistent Key-Value Store

Wednesday, July 27, 2011

LevelDB is a fast key-value storage engine written at Google that provides an ordered mapping from string keys to string values. We are pleased to announce that we are open sourcing LevelDB under a BSD-style license.

LevelDB is a C++ library that can be used in many contexts. For example, LevelDB may be used by a web browser to store a cache of recently accessed web pages, or by an operating system to store the list of installed packages and package dependencies, or by an application to store user preference settings. We designed LevelDB to also be useful as a building block for higher-level storage systems. Upcoming versions of the Chrome browser include an implementation of the IndexedDB HTML5 API that is built on top of LevelDB. Google's Bigtable manages millions of tablets where the contents of a particular tablet are represented by a precursor to LevelDB. The Riak distributed database has added support for using LevelDB for its per-node storage.

We structured LevelDB to have very few dependencies and it can be easily ported to new systems; it has already been ported to a variety of Unix based systems, Mac OS X, Windows, and Android.

LevelDB has good performance across a wide variety of workloads; we have put together a benchmark comparing its performance to SQLite and Kyoto Cabinet. The Riak team has compared LevelDB’s performance to InnoDB. A significant difference from similar systems like SQLite and Kyoto Cabinet is that LevelDB is optimized for batch updates that modify many keys scattered across a large key space. This is an important requirement for efficiently updating an inverted index that does not fit in memory.

LevelDB is available on Google Code, we hope you’ll find it useful for your projects.

By Jeff Dean and Sanjay Ghemawat; Google Fellows

Announcing Git Support for Google Code Project Hosting

Monday, July 25, 2011

We’re pleased to announce today that in addition to supporting the Subversion and Mercurial version control systems, Google Code Project Hosting now supports Git. Git is a popular distributed version control system (DVCS) like Mercurial, and it is used by many popular projects including the Linux kernel and Android.

Now, when you create a project or visit your existing project’s Administration > Source tab, you have the option of choosing Git as your version control system. You’ll enjoy all the same great Google Project Hosting features, like project updates, advanced issue tracking, and an easy-to-use VCS-backed wiki—only now, you can do it with Git. You can also create an instant server-side clone of any existing Git repository by clicking the “Create a clone” button on the project’s checkout page.

For more information, including an introduction to Git and tips on converting existing Subversion and Mercurial repositories, see the new Git section of our support wiki.

Under the Hood
Since our original announcement of Mercurial support, Git has grown significantly more popular and user-friendly, and on the technical side, it has added an efficient “smart” HTTP protocol that fits with Google’s HTTP-based infrastructure. (Note that this feature is only available in version 1.6.6 and later.)

Like our Mercurial implementation, our Git implementation stores object data in a custom data store built on Bigtable, which provides us with efficient, scalable source code repositories with near-instantaneous replication to multiple datacenters around the world. To fit with our existing Python-based system, our Git server implementation is powered in part by Dulwich.

By Dave Borowitz, Google Git Engineer, with thanks to Augie Fackler, Lucas Bergman, Jacob Lee, and Shawn Pearce

Who's New in Google Summer of Code: Part 8

Friday, July 22, 2011

For the 8th Friday this summer we're highlighting organizations participating in their first Google Summer of Code. The organization administrators and mentors from Catroid, Komodo OpenLab, and the International Neuroinformatics Coordinating Facility (INCF) are featured today to give more information on their projects and discuss some of the tasks their students have been working on all summer.
Catroid is an on-device Lego-style graphical programming language for Android devices. Besides empowering children to easily develop their own games and animations using only their smartphones, Catroid fosters the sharing and remixing of these games and animations under a free and open source license through Catroid’s community website.

For Google Summer of Code we have 4 students: Roman Mauhart is working on making our community website multilingual, Alex Nicoara is implementing a program which allows building stand-alone Android apps out of Catroid projects, David Reisenberger is improving the usability of the Catroid IDE for children, and Manuel Zoderer is extending Catroid to let kids control external hardware via Bluetooth through an Arduino board.

We are excited and grateful for Google’s support and believe Catroid will have significant impact by spreading programming skills and understanding of free open source software among the children of the world!

By Wolfgang Slany, Catroid Organization Administrator


Komodo OpenLab is a “not-just-for-profit” organization that develops and commercializes open and inclusive technologies that facilitate the daily lives of people with disabilities. This is our first year as a mentoring organization in Google Summer of Code and we are working on two projects developed in collaboration with the Inclusive Design Research Centre. The first, Tekla, is a collection of mobile open source and open hardware applications that may be used to enable access to, and extend the functionality of, mobile devices for people with motor impairments. And the second, tagin!, is an open source location tagging engine that may be used to create indoor, location-based services and applications (think indoor GPS).

From the moment these projects were published on the Google Summer of Code website, we were overwhelmed by the amazing quality of the applications we received from students. Choosing the right students for each project has definitely been the most challenging part of the program for us and they have all been doing an excellent job. Here is a sneak peek of what they have been working on:
• Rishabh from India has been systematically coding different approaches to solve a problem that keeps preventing our target users (people with mobility impairments) from being able to access some parts of the Android operating system using the Tekla App. He will soon move into the implementation of a 3rd-party framework that any Android developer will be able to use to make their apps accessible through direct access to the Tekla Shield, an open hardware Bluetooth interface that provides remote control of Android devices by means of the adapted interfaces people with mobility impairments are already familiar with.
• Sara from the USA has done outstanding work coding a 3D tag cloud for tagin! which will act as a demo app showcasing the new tagin! SDK and its ability to retrieve location-based information indoors, in real time, and completely offline. Sara has not only created top quality code, but has also provided us with very comprehensive and detailed documentation, which will make it extremely easy for us to include her work into the first release of the engine scheduled for mid-September.
• Primal from India, a rising star in stackoverflow and hacker extraordinaire, has been almost single-handedly re-writing the entire tagin! engine and SDK complete with benchmarking tools and API. His work will be instrumental in allowing Android developers (and later iPhone developers) to create location-based applications that work indoors.

So, as you can probably tell, we could not be more pleased with the work of these fine students. We hope to contribute to the success of the Google Summer of Code and we can’t wait to continue mentoring these and other top-notch students for many years to come!

By Mauricio Meza, Komodo OpenLab Organization Administrator

The International Neuroinformatics Coordinating Facility (INCF) was established through the Global Science Forum of the OECD to help meet the challenge facing the neuroscience research community: how to collect, integrate and model the rapidly growing collections of diverse types of data from different experiments in order to produce new insights about brain function and disease. INCF coordinates the development of an international collaborative cyberinfrastructure for neuroinformatics, which will facilitate the acquisition and annotation of diverse datasets to achieve multiscale and multiomic neuroscience data integration – from genes to behavior. We bring together the world’s leading scientists to solve challenges in standardization and interoperability, within the framework of our Scientific Programs.

We are a first-year participant in the Google Summer of Code, but the researchers in our scientific community nonetheless managed to generate a large number of interesting and challenging project proposals. Our two Google Summer of Code students are working on tools that will benefit the scientific community and help make new neuroscience research and analysis possible. One of our students is developing a web-based data analysis tool for multi-channel time series data, and the other is working on a build platform and continuous integration infrastructure to improve the accessibility and quality of neuroinformatics code.

By Malin Sandström, PhD, INCF Scientific Communication and Public Relations Officer
These are just a few of the 50 new organizations participating in Google Summer of Code this year. For a complete list of the 175 organizations participating in the Google Summer of Code visit our program site. Please check back next Friday when we feature still more new organizations.

By Stephanie Taylor, Open Source Programs

More Numerous Numbers for Google Summer of Code

Wednesday, July 20, 2011

As we go into the final half of this year’s Google Summer of Code we wanted to share a few more interesting statistics from this year’s program. Our previous statistics post focused on what countries the 2011 students were from: now we’d like to share more information about the students, organizations and mentors.

Returning Students
  • We have 1115 students participating this year, 202 of which also participated last year in the program, - that’s 18.1%!
  • There are 35 students who have participated in 2009, 2010 and are currently working on the 2011 program, so 3.1% are 3 year students!
Open source organizations
  • We have 997 mentors assigned to a particular student and another 1,099 that are co-mentoring their students with others in their organization.
  • This year’s mentors are from 55 countries. This is our first year with mentors from Bangladesh, Belarus, Bosnia-Herzegovina, Kingdom of Cambodia, Egypt, Iceland and Indonesia.
Every Friday this summer we have highlighted some of the new organizations participating in Google Summer of Code: check out our most recent post. For more information on our Google Summer of Code program please visit our program site and timeline.

By Stephanie Taylor, Open Source Programs

Melange All Hands in San Francisco

Tuesday, July 19, 2011

Melange, our management tool for the Google Summer of Code and Google Code-in programs, is an open source project many of whose developers are former Google Summer of Code students.

Melange developers gather from around the world four times a year to spend a week working full time on Melange. In May 2011, we held our Melange All-hands (as in All hands on deck) at the Google Office in San Francisco, CA.

We launched the new UI for Melange in late March as part of the release of Melange v2 with a new architecture which is way faster than the previous version. There was a fair amount of positive feedback from our users, the Google Summer of Code community, along with many feature requests. As such, our goal for this All-hands was to implement as many of the high priority requests as possible. For example, we implemented batch mentor invites and made legacy data accessible. In addition, one of our developers worked on the Statistics module which provides various types of statistics of students and mentors participating in the Google Summer of Code program.

The new version of Melange also had one major component missing: a way to create and administer midterm and final evaluations for both mentors and students. This was a vital piece of missing functionality, so we spent a considerable amount of time designing and implementing the pages necessary to create, edit and administer these important evaluations.

We had a dedicated brainstorming session to discuss various design issues and the changes that we wanted to implement. We also decided to switch our datastore to High Replication Datastore on Google App Engine and worked with the Google App Engine team to help us set it up.

Our Javascript guru worked on refactoring a few portions of the Javascript code such as the lists display and the templates which are internally used in Melange to write Javascript modules among other things.

We also fixed a bunch of issues during this All-hands. Some of the issues we fixed are:
  • Issue 1190 - comments that contain no content get posted to student submissions
  • Issue 1191 - disable 'self' notification by default
  • Issue 1209 - error page should show current logged in user and have link
  • Issue 1137 - batch mentor invite
  • Issue 1128 - update README for Mercurial workflow
  • Issue 1162 - style: avoid justifying text in narrow columns
  • Issue 978 - change "GSoC" and "GCI" to not be hardcoded
  • Issue 1104 - make the scope of models more explicitly
With so much work done in a single week, we feel we had quite a productive week! If you are reading this and would like to contribute to Melange, please clone our repository and start contributing. We have t-shirts waiting for you!

By Melange team

Who’s New in Google Summer of Code: Part 7

Friday, July 15, 2011

This is our seventh post in our summer series where we feature three or four new organizations participating in their first Google Summer of Code each week. The organization administrators and mentors explain their projects in more detail and discuss some of the tasks the students are working on this summer.
Connexions is a free, global repository of educational materials published under a Creative Commons license so that anyone can create, reuse, remix and repurpose Connexions content. We currently house K-12 and post-secondary materials in many subjects and a variety of languages. Our content is available on the web and in many formats including PDF, EPUB, and HTML downloads, plus our open source software platform makes it easy to remix and adapt content to suit your particular needs, all while maintaining attribution to the original author. Connexions content is used by universities, community colleges, primary and secondary schools, and lifelong learners worldwide.

This is our first year to participate as a mentoring organization in Google Summer of Code and we are very excited to have two students working with us. Marvin Reimer is improving our authoring editor by creating an interface with Google Docs. David Bain will be improving our author profiles and creating an author widget that will allow authors to feature their Connexions content on their own site.

By Ed Woodward, Connexions Technical Director


Darktable is an open source RAW developer. RAW is the unprocessed capture straight from the camera's sensor to the memory card, nothing has been altered. There are multiple alternatives in the open source world for RAW development (ufraw, dcraw, rawtherapee) but darktable tries to focus on the workflow to make it easier for the photographer to quickly handle the thousands of images a day of shooting can produce. It's also one of the very few FOSS projects able to do tethered shooting. The internal architecture of darktable allows users to easily add plugins for all sorts of image processing, from the very simple (crop, exposure, spot removal) to the most advanced (simulation of human night vision).

We are a small organization and are participating for the first time in Google Summer of Code so we decided we could mentor only one student, but we were lucky and got a very active and efficient student. His project will improve a couple of areas, but already he has changed the whole code for generating the main screens (removing a dependency on libglade and allowing a more modular approach) and he has rewritten the input system to be able to handle shortcuts in a very generic way. We expect the next version of darktable to allow easy shortcuts to every possible action.

By Jeremy Rosen, Darktable Organization Administrator


Code for America, a new non-profit, recruits passionate, talented developers, designers, and entrepreneurs to use their skills to build technology that solves core civic problems and makes government more open and efficient. Each year, we select around 20 individuals for our service-year fellowship program to work hands-on with government, developing innovative software and growing local developer communities. We consider it something like a peace corps for geeks. And this year we were thrilled to add 8 Google Summer of Code students to the corps.

Our Google Summer of Code students have not only supported our ongoing projects, but they’ve enabled our small, new organization to develop technology that helps developers everywhere get involved in our mission:
  • Developer tools -- wrappers, gems, and eggs -- for numerous open civic data sets, such as the FCC and the World Bank, jumpstarting civic hacking by making it easy for coders to get going
  • A series of data scrapers for government websites (which are frankly often difficult to read, let alone access programmatically), which aggregate the data in a useful, federated database that will serve as the groundwork for future app development
  • A data visualization and analysis dashboard for the Open311 data standard, the growing international standard for constituent reporting, that will help any government anywhere that uses the standard to make better decisions and be more open to its citizens.
Just as important as the work they all are doing, we believe, is the experience of it all. We’re hoping to develop the next generation of civic leaders who can make a difference with technology and are passionate and committed to do so. And from what we’ve seen so far, our Google Summer of Code students are ready to lead -- we are excited to see what they accomplish this summer and into the future.

By Abhi Nemani, Code for America Organization Administrator


The Point Cloud Library (PCL) is a large-scale, cross-platform, BSD-licensed project for processing 3D point clouds. With the advent of new, low-cost hardware such as OpenNI compatible cameras and continued efforts in advanced open source 3D point cloud processing, 3D perception gains more and more importance in robotics, as well as other fields. The PCL project presents an advanced and extensive approach to this subject with a consortium of over 30 institutions, over 130 developers/contributors, and hundreds to thousands of users all over the world.

Our Google Summer Of Code projects for PCL are essential for advancing certain capabilities that many applications involving 3D perception need, such as:
  • Real-time surface triangulation and point cloud meshing from noisy data: Many applications, such as object recognition and manipulation/grasping in robotics, require surface or CAD models as input. Our meshing techniques attempt to recreate the underlying surface that a given point cloud represents with a high degree of accuracy.
  • Point cloud registration for creating 3D panoramas and large-scale maps: From indoor mapping for personal robotics, to outdoor "street view", everyone needs consistently registered 3D maps. The PCL team, in collaboration with our Google Summer of Code students is working hard to push the limits of automatic point cloud registration for a variety of applications.
  • Object recognition and surface segmentation: recognizing objects and surfaces in the world is of extreme importance for augmented reality solutions and robotics applications. Our goal is to provide a repository of recognition techniques that can be easily combined to solve a range of complex problems.
  • Fast kd-tree nearest neighbor search: Finding nearest-neighbor points in 3D point clouds is an operation that lies at the core of many of the above algorithms, so in order to have fast and scalable 3D perception capabilities, it is essential to optimize it as much as possible.
During Google Summer of Code we are working to optimize and port our current kd-tree search algorithm to the GPU.

By Radu Rusu, Point Cloud Library Organization Administrator
These are just four of the 50 new organizations participating in Google Summer of Code this year. For a complete list of the 175 organizations participating in the Google Summer of Code visit our program site. Please check back next Friday when we feature still more new organizations.

By Stephanie Taylor, Open Source Programs

Time Flies When We’re Having Fun: Google Summer of Code Midterms are under way

Thursday, July 14, 2011

This week marks the halfway point of Google Summer of Code 2011. Both students and mentors will be submitting their midterm evaluations of one another as indicated in our timeline through Friday, July 15th. If you would like to read more about midterm evaluations, please check out the "How Do Evaluations Work?" link on our FAQ.

The next milestone for the program will be the “pencils down” date of August 15th where students can take a week to scrub their code, write tests, improve calculations, and so forth before the firm end of coding on August 22nd.

There has been fantastic progress made so far, and we encourage all the students, mentors, and org admins to keep up the great work!

By Carol Smith, Open Source Programs

UCOSP: A model for getting undergraduates involved in Open Source

Wednesday, July 13, 2011

UCOSP (Undergraduate Capstone Open Source Projects) brings together students from all across Canada to work together on open source projects. Students learn first-hand what distributed development is like. Each team has students from two or three schools, and uses a mix of agile and open source processes under the supervision of a faculty or industry lead. Heading into our fourth year, we believe we have developed a good model for introducing students to open source projects during the regular academic year.

In the past year, we had 78 students from 15 universities across Canada working on 15 different teams. The projects range from web and mobile applications to video processing. We would like to thank the project mentors, faculty mentors, and our sponsors.

Why are we doing this?
In academia, we have long had students working on project courses and even sometimes on open source projects within individual universities. By collaborating with multiple universities, we offer students opportunities that just were not possible at a single institution. UCOSP students are typically enrolled in an independent study course as part of a full load of courses. The infrastructure of UCOSP provides a valuable connection between the goals of an ongoing open source project and the constraints of fitting project work into the academic environment.

By including students from different schools we accomplish several goals:
  • Students learn how to interact in a distributed environment. They learn to use IR channels, blog posts, mailing lists, and code reviews to communicate.
  • Students work on real systems, with technical mentorship from a project expert and academic oversight from their home university and the UCOSP committee.
  • Students meet and compare notes with students from other schools.
  • Students from smaller schools have an opportunity that might not otherwise be available to them.
Most importantly, the students have a blast. They rave about their experiences and what they learned, telling us about communication and time management, rather than the cool technology. Of course, another advantage of working in the open source community is the opportunity for students to show prospective employers their peer-reviewed contributions to real projects.

The Code Sprint
Bringing all the students to one location for a 3-day code sprint near the beginning of the term is the key to making UCOSP work so well. All the teams put in three days of hard work to kick start their projects, and by meeting their teammates in the flesh, they develop a stronger bond, and work better together for the rest of the term. Project mentors also attend and get a chance to learn the strengths and weaknesses of their team members. This is the main financial cost of the program.

Academic oversight
One of our challenges has been convincing faculty from a variety of universities that we can provide feedback and effectively monitor the progress of their students. As the program has evolved, we have developed a system for soliciting feedback from both project mentors and students and informing the students and faculty from their home departments about their student’s progress. At the end of the term, the project mentors work with the UCOSP committee to send reports to each student's home faculty mentor. This mentor sometimes requires additional reporting from the student, and combines the committee's recommended grade with their own assessment.

The projects
Recent projects have been quite varied and many have been part of Google Summer of Code: POSIT, ReviewBoard, MarkUs, EOL, and FreeSeer. We try to work with a wide variety of projects to meet the interests of the students.

We are very happy with the success of UCOSP. We'd be happy to talk with anyone about the program and how we have made it work. We are always looking for more open source projects that students can contribute to. It has been a real pleasure to get to know the project mentors and see their enthusiasm. The greatest reward of the program is to see the students arrive at the Code Sprint looking a little overwhelmed, to watch them rise to the challenge, and to see just how much they accomplish in the program.

By Karen Reid, Senior Lecturer University of Toronto, UCOSP Steering Committee Member

Googlers Flock to Portland for OSCON

Monday, July 11, 2011

Two weeks from now Googlers from all over the world will be gathering in Portland, Oregon for OSCON, O’Reilly Media’s annual open source convention. OSCON is being held at the Oregon Convention Center from July 25th - July 29th and we are all looking forward to meeting up with 2,000+ of our friends in the open source community.

This year 17 Googlers will be hosting sessions on a variety of topics at OSCON with dozens more attending the open source conference. Below is a comprehensive list of the speakers and their sessions in chronological order.

Tuesday, July 26th

Wednesday, July 27th

Thursday, July 28th

Google will be sponsoring an “Ask Google Engineers Anything” sessions after a successful session at last year’s OSCON. The session is intended to help developers work better with Googlers and Google technology and to answer most of the questions that developers might be baffled about.

Chris DiBona and multiple Google Engineers - "Ask Google Engineers Anything"

Friday, July 29th

This year OSCON has added two additional conferences co-located with OSCON. OSCON Java, which focuses on open source technologies that make up the Java ecosystem and OSCON Data, the first event of its kind focused solely on open source data infrastructure. We have speakers at both events; for more details click on their sessions below.

OSCON Java - Tuesday, July 26th
Josh Bloch will be delivering the keynote, and then giving a talk later in the afternoon on “The Evolution of Java: Past, Present, and Future”.

OSCON Data Wednesday, July 27th

We hope to see you at OSCON!

By Stephanie Taylor, Open Source Programs

Who’s New in Google Summer of Code: Part 6

Friday, July 8, 2011

This is our sixth post in our summer series featuring new organizations participating in their first Google Summer of Code. The organization administrators and mentors explain their projects in more detail and highlight the tasks the students are working on this summer.

Unknown Horizons is a 2D real time strategy simulation with an emphasis on economy and city building. The goal is to expand your small, unprotected settlement to a strong and wealthy colony. A well balanced economy, strategic trade and sage diplomacy are the keys to increase your power and extend your realm in this New World. As a small umbrella organization, we applied together with our engine FIFE.

Our three students are working on the following projects and are already producing awesome results:
Artificial Intelligence - We are very excited to have Ott Tinn working on autonomous computer players for our game. He plans to code different AI styles: aggressive and defensive players, fast and slow colonizing, different preferences with respect to resources and buildings.
Combat - Mihai Bivol volunteered for bringing both warfare and peace to our lands. Currently it is impossible to interact with other players beyond the occasional trade. After his project for this summer, players will be able to hold furious sea fights and raging land battles. Mihai will also add a diplomacy module to allow reparation of shattered alliances.
FIFE performance improvements - Kajetan Swierk's task might sound simple at first sight, but it is a tough one and really rewarding: a better FIFE performance also affects all other game clients, not only Unknown Horizons! Atlas textures and an improved rendering pipeline are just two of the things scheduled here. We already see FPS improvements of more than 100% even in this early stage. This will most likely improve even further when atlases reach production state and integrate well with the FIFE clients.

We are excited to see what the students have achieved in the past few weeks. The progress so far has been great and leaves little doubt as to what our students will be able to accomplish this summer!

By Thomas Kinnen, Unknown Horizons Organization Administrator


The Isabelle team at Technische Universität München develops an interactive theorem prover. Interactive theorem provers are tools that can be used to prove logical formulas about mathematics or computer science (e.g., program correctness). Our goal is to make it as easy as possible for the end-user to prove theorems. We have two Google Summer of Code students helping us: One is working on our new very flexible user interface based on jEdit and Scala; the other student is working on textual proof generation and refactoring.

By Jasmin Christian Blanchette, Isabelle Organization Administrator


At Openwall, we develop free software with a focus on computer security, including Openwall GNU/*/Linux (Owl) a security-enhanced Linux distribution for servers, appliances, and virtual appliances; and many others.

We are very happy to work with our Google Summer of Code students. Vasiliy Kulikov is working on Linux kernel hardening, focusing on acceptance of patches into the mainline kernel. Submitting security hardening patches to LKML is generally a thankless job to do, but Vasiliy manages very well. Dhiru Kholia is adding support for more non-hashes to John the Ripper, our password cracker. So far Dhiru has contributed support for auditing/cracking of passwords/phrases on SSH private keys, PDF files, RAR archives (already integrated into -jumbo versions of JtR), and ZIP archives. Lukas Odzioba is adding GPU support to John the Ripper, to use graphics cards for much faster audits. Yuri Gonzaga is working with us on a new password hashing method for use on authentication servers equipped with FPGA boards. Luka Marcetic works on a C Library Unit Testing Suite, or cluts as he calls it. Luka's mentor is Rich Felker - the author of musl, a lightweight C library - but we expect that cluts will uncover bugs not only in musl, which is still in its infancy, but also in other and more established C libraries.

I wish all Google Summer of Code students good luck.

By Alexander Peslyak, Openwall Organization Administrator


Sencha Labs is a foundation that supports Open Source projects affiliated with Sencha. The projects supported by the Sencha Labs Foundation have repositories hosted on a community-accessible code hosting service, with a maintainer funded by Sencha. Most of the projects hosted by the Sencha Labs foundation use JavaScript (in a mobile context, as a 2D and 3D graphic scripting language, and also as a server-side language). Some of the projects featured as part of Sencha Labs are jQTouch, PhiloGL, the JavaScript InfoVis Toolkit, and Raphael.

The project selected for Google Summer of Code is the JavaScript InfoVis Toolkit, a project that enables developers to create advanced web standards based data visualizations. We have two students working on adding different features to the JavaScript InfoVis Toolkit. The projects are Voronoi TreeMaps (a space filling algorithm to render complex hierarchies) and other more common but extremely useful charts like Line and Scatter plots.

By Nicolas Garcia Belmonte, Sencha Labs Organization Administrator

These are just four of the 50 new organizations participating in Google Summer of Code this year. For a complete list of the 175 organizations participating in the Google Summer of Code visit our program site. Please check back next Friday when we feature still more new organizations.

By Stephanie Taylor, Open Source Programs

Google Summer of Code: Putting Haiku on the fast track of development

Wednesday, July 6, 2011

Haiku, an open-source operating system, has been a mentoring organization for Google Summer of Code for the past five years. After each of those years, the monies earned for mentoring have been used to further the Haiku project. This has been, and continues to be, handled by a 501(c)3 non-profit organization called Haiku, Inc.

For the first time ever, we have offered one of the project's long time contributors a 6 month employment contract to work on Haiku! This is literally a ground breaking event, both in terms of raising the needed funds and supplying the project with an extremely capable developer for an extended period of time. The developer is Michael Lotz (mmlr). He is well recognized within the project for his abilities and positive attitude of contributing to areas that are in need of additional help. Simply put, he gets the job done and done right. The goal of his contract is to work on anything and everything to bring Haiku closer to its first production quality release, better known simply as "R1".

On top of this, the project has just released its third alpha release, Haiku R1 Alpha 3. Give Haiku a whirl today, see what you think and discover what you have been missing!

By Matt Madia, Haiku Organization Administrator for Google Summer of Code

Who’s New in Google Summer of Code: Part 5

Friday, July 1, 2011

This is our fifth post in our summer series featuring new organizations participating in their first Google Summer of Code. The organization administrators explain their project in more detail and discuss the tasks the students are working on this summer.
The Hedgewars Project started out with a solo developer trying to offer an alternative cross-platform strategy experience just for fun. People soon noticed the potential of the game and a community of players and developers quickly gathered, providing the pleasant graphical appearance and interesting playing concepts available today. Currently Hedgewars is on all major platforms and is evolving into a professional quality game; for this reason we are constantly looking for great ideas and active contributors.

With the Google Summer of Code we were given the opportunity to attract new contributors. We have two important features being developed by our students, one involving a refactoring and expansion of the current artificial intelligence, the other regarding a port to the Android platform. We are excited for the involvement of the whole community in selecting the best ideas and in offering their help to the new developers. This is our first Google Summer of Code and we are committed to excelling so that in future programs we can continue offering new features to our game and contributing to open source software.

By Vittorio Giovara, Hedgewars Organization Administrator


DokuWiki is a popular, simple to use Wiki software written in PHP. It has very low system requirements and is running in various environments, from single user personal wikis to large enterprise installations. The project is in its 7th year now and this is our first year of participating in Google Summer of Code.

One of the main success factors of DokuWiki is its extendability through its powerful plugin system. More than 700 different plugins are already available. To make finding, installing and managing plugins easier, creating an improved plugin manager is one of our two Google Summer of Code projects. The second project aims to add one important feature still missing from DokuWiki: keeping revisions for media files like images and videos.

By Andreas Gohr, DokuWiki Organization Administrator


SETI Institute's mission is to explore, understand and explain the origin, nature and prevalence of life in the universe. Project setiQuest was started as a result of Jill Tarter's 2009 TED Prize wish "to empower Earthlings everywhere to become active participants in the ultimate search for cosmic company." SETI Institute has open sourced our entire software that searches for evidence of extra-terrestrial technology. There are four parts of this project:
  • Through open sourcing the software used for detecting signals of extra-terrestrial technology, give everyone the ability to include their ideas about improving our search.
  • Incorporate new algorithms, regardless of their source, in the search.
  • Develop apps that even non-technical people (citizen scientists) can use to participate in the search.
  • Create an environment to act on feedback from citizen scientists.
A year ago, Google Summer of Code participation was a dream for us. This year the dream became a reality with 59 students applying for our 2 slots. More important than the number was the quality of applications we received. Most applicants had put in a great amount of effort into their applications and then put in even more work to modify their proposals after discussions with our team. It was difficult to choose just two students but we are thrilled to have Khurram and Aditya working with us this summer. Khurram is creating a whole new build environment for this software, and porting the software to run on multiple Linux distributions. Aditya is open sourcing many of the algorithms that we have prototyped but not quite implemented in the open source software.

We look forward to seeing what the students will accomplish this summer. We are thrilled to have many of the students who applied through the Google Summer of Code program choose to work with us as volunteers outside of the program as well.

By Avinash Agrawal and Jon Richards, Organization Administrators for SetiQuest


This is VTK’s first year as a Google Summer of Code mentoring organization, and we are very pleased to be here. During the application period we received a large number of very high-quality proposals, and I would like to thank all of the students who applied. As it is our first year we were limited to two slots, which made choosing our students even more difficult. After much deliberation we made our decisions and I am very happy to welcome David Lonie and Tharindu De Silva as our first Google Summer of Code students!

David is working on chemistry visualization in VTK, and Tharindu is working on implementing select algorithms from IEEE VisWeek in VTK. I have seen great results from both students, and they are already taking shape after only a few weeks of active development.

This is a very exciting year for the VTK community with our Google Summer of Code participation, modularization of our source tree and refresh of the build system. There are also lots of great new features going into VTK such as new charts, improved interaction and much more.

By Marcus Hanwell, VTK Organization Administrator and former Google Summer of Code student
These are just four of the 50 new organizations participating in Google Summer of Code this year. For a complete list of the 175 organizations participating in the Google Summer of Code visit our program site. Please check back next Friday when we highlight additional organizations.

By Stephanie Taylor, Open Source Programs