Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

opensource.google.com

Menu

Around the world in 126 days celebrating Google Summer of Code

Wednesday, May 7, 2014

To celebrate our 10th Google Summer of Code (GSoC), members of the Google Open Source Programs Office have been traveling the world attending conferences, hosting events at local Google offices and holding meetups at universities where we have had high student participation over the last nine years of the program.
Smiles in Singapore
Students from 97 countries have participated in the program so far and we wanted to try to visit some of the countries to recognize the students, mentors and universities that have helped to make this program a success over the last decade.
University of Moratuwa, Sri Lanka
The team visited 10 countries starting in late October beginning with the United Kingdom, then on to Canada, Romania, Poland, Australia, Sri Lanka, Belgium, India, Singapore and concluding with the FOSSASIA conference in Phnom Penh, Cambodia in early March.
GSoC Reception at the University of Toronto
This travel has been eye opening and an opportunity of a lifetime for all of us.  We met friendly and enthusiastic students, teachers, mentors and open source enthusiasts from so many backgrounds and cultures — all with a love of open source.
Politechnic University of Bucharest, Romania
There have been over 7000 student participants and 7500 mentors since the program’s inception. These are incredible statistics, but actually meeting the people behind these numbers was rewarding in ways that we didn’t expect.  Hearing stories time and time again from students about how they found their confidence and built their skill set during the summer they spent coding in GSoC was heartwarming. And almost all talked about the invaluable guidance they received from their mentors. To have a program where mentors from every time zone imaginable take up to 20 hours a week out of their busy lives to help guide a new open source contributor in their community is tremendous. We also spoke with many former students who are now active contributors to the open source communities they worked with during GSoC and quite a few have also become mentors for GSoC and/or Google Code-in (GCI).

Cambodia - FOSSASIA
Picture by Hong Phuc Dang
Cat Allman and I traveled to Norton University in Phnom Penh, Cambodia in late February to talk about the open source programs we run, GSoC and GCI, and spend time with past GSoCers, and GSoC hopefuls. FOSSASIA helped organize travel for 10 former Google Summer of Code students to come from China, India, Singapore, Sri Lanka, Taiwan and Vietnam to talk about their experiences with the program and take part in the conference.

Cat gave an inspiring keynote, “GSoC: Past, Present, and Future”, which touched on opportunities the program offers both organizations and individuals to improve not only the state of open source software, but also their lives and the world.

Friday afternoon continued with four tracks of talks throughout the day ending with a panel discussion of Women in IT. The panel included Cat, three former GSoC students from 2013—Sindhu Sundar (GNOME), Sneha Priscilla Makini (GNU Mailman), Richa Jain (MediaWiki), and many other inspiring women.

Saturday morning I gave a talk on GCI, our contest introducing 13-17 year olds to open source software development. Most of the audience wasn’t familiar with GCI but I was quite pleased with the many questions posed by attendees including interested teachers that want to get their classes involved in our next contest.

Next up were GSoC lightning talks by all ten of the students that FOSSASIA organized travel for to attend the conference. Students talked about their experiences in GSoC and a few also gave very helpful tips about writing proposals and how to approach the GSoC application process. With eight tracks of talks on Saturday alone there really was a session for everyone.
GSoC Lunch in Phnom Penh, Cambodia
The enthusiasm we found in Cambodia and throughout our travels during this “world tour” celebrating GSoC was remarkable. We are all excited to start this tenth year of GSoC coding next month and to see what this year’s 1300+ students can accomplish during their 3 months of coding.  Currently the students and mentors are engaged in their community bonding period where students learn more about their org’s code base, become involved in the communities and start their prep work for their coding which begins May 19.

Last but not least, the Google Open Programs Office would like to extend our thanks and gratitude to all of the volunteers who graciously hosted our team, spent countless hours organizing events, and toured us around your beautiful countries. It was an experience of a lifetime and one we won’t soon forget.

By Stephanie Taylor, Open Source Programs

My road to Google Summer of Code

Monday, May 5, 2014

As part of our celebration of the 10th instance of Google Summer of Code, we are highlighting some of our student participants on the Open Source blog. Today’s story comes from Hesham AL-Matary, a GSoC student for RTEMS for the past three years. Student participants have already been announced for GSoC 2014, but Hesham provides some great tips for those who may be interested in participating in the future.

In 2012, I learned about a program called Google Summer of Code (GSoC) that Google organizes for students to work on open source software projects. Like most Computer Engineering students, I knew GSoC was a great opportunity — if only I could have the chance to participate!  My expectations of being accepted were very low. But I figured, why not give it a try? What could I lose? I decided to take the first step.

I scanned the GSoC program website and searched for the keywords that matched my interests: embedded systems, operating systems, RTOS, and C. It was great to see that's exactly what RTEMS tags included in their organization profile. I clicked on the link to the RTEMS website, read more about the organization, and searched for open projects. Not surprisingly, there was an open project that appealed to me. I completed some additional research, read more of RTEMS’ documentation, and finally felt ready to submit a proposal. I submitted my proposal early on in the program period and quickly realized this was a smart move; I was able to get lots of valuable and detailed comments and feedback from the folks in the RTEMS community.


Their comments made me believe that what I was proposing was something important and needed by users; a feeling that I never had before.  After a few more weeks of discussions and project modifications, my proposal was ready. Once I submitted my proposal, I was comfortable with what I did and I knew I could not have done any better. A few weeks later, the projects were announced and I had been accepted! Without a doubt, that moment was a turning point in my life.

Participating in GSoC that first year with RTEMS allowed me to learn more about software engineering than I ever would have imagined. Specifically, I now know how important the design phase is, the benefits of feedback and discussions, and of course, why it’s useful to interact with the community via mailing list and IRC on a regular basis. My technical expertise has been enriched in a variety of areas including C programming, RTOS, gdb, gcc, simulators, hardware, embedded systems, git, source control, documentation and so much more. Last but not least, making connections with some great mentors at RTEMS was one of the best aspects of participating in GSoC for me.

You may be surprised to know that I actually enjoyed having deadlines, challenges and troubles. I feel that’s what GSoC is partially about (aside from encouraging students to work with open source software): a real world work experience. People in RTEMS, and any other organization, want you to complete your project successfully. They are thrilled to help you with the challenges you face. Thanks to my mentor at RTEMS I was able to pass both the midterm and final evaluations — I could finally brag that I was a former GSoC participant!
Statement of accomplishment - GSoC 2012
I am now in my third year of participating in Google Summer of Code with RTEMS.  I also was able to participate as a mentor in Google Code-in, an open source contest that targets 13-17 year old students.This summer I’ll be working on my most challenging project yet!

GSoC helped me achieve the following:
  • I learned a ton about open source software.
  • I am hooked on open source and RTEMS.
  • I got hands-on experience with real world software.
  • I made connections with great developers.
  • I completed great projects (and got a nice stipend doing so).

If you are a student and considering applying to GSoC, here is my advice:
  1. Don’t worry about your modest experience, you're bound to learn more as you go along in the program. Basics are enough.
  2. Submit a proposal and get in touch with the organization community via IRC or their mailing list. Do both early!
  3. Ensure your proposal is well structured and detailed. It should explain how you will work on the project and give a clear and reasonable timeline as well as deliverables. Most organizations provide a template for writing proposals.
  4. Choose a project that appeals to the organization and its users while also matching your interests.
By Hesham AL-Matary, Google Summer of Code Student, 2012-2014

GStreamer hackfest in Munich

Thursday, May 1, 2014

The Google Open Source Programs Office recently sponsored a hackfest for GStreamer, an open source, multiplatform multimedia framework used in various environments from desktop applications to embedded devices. Stefan Sauer from Google’s Munich office talks more about the event below.
Over the weekend of March 14-16th, the Google office in Munich, Germany hosted 20 developers of the GStreamer project for a hackfest. GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback and audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

During the hackfest, we worked on a variety of topics related to both the framework and applications. The group prepared new releases and discussed plans for version 1.4 and beyond. Last but certainly not least, we discussed how we can improve our documentation.

Some of the progress made on the framework side includes:
  • the integration of the opengl-plugins from a standalone repository into the gst-plugins-bad module.
  • a new torrent based streaming source.
  • improvements in many plugins (mpeg-ts, libva, dvb, dash), port the winks plugin to 1.0 and the design of new elements (v4l2-decoders).
  • a new device probing api that has been worked on for a long time finally got merged - this will allow applications to query hardware inputs and outputs together with their capabilities and select a specific one.
  • at the last GStreamer conference, we discussed the need for a better tracing infrastructure - during the hackfest, a prototype was demoed and next steps were discussed.
On the application side, we fixed some bugs on the Pitivi video editor, the Transmageddon transcoder, and the gnome-sound recorder.The Pitivi developers released the first stable GES/GNL/Gst-python packages in the 1.X version. These are the foundation for the non linear video editing.

Finally, our buzztrax developer got one tricky feature working: editing the pipeline structure (the data processing graph) while the playback is running. This work will lead to new sample code to help other projects and improvements in the documentation. Overall, it was a very productive two days!

Stefan Sauer, Google Engineering

GSoC meet-up at the University of Neuchâtel, Switzerland

Monday, April 28, 2014

Today’s blog post comes from Verónica Estrada Galiñanes, a 2013 Google Summer of Code participant and current student at the University of Neuchâtel in Switzerland. Speaking of GSoC, the accepted students for 2014 have just been announced and the community bonding period is currently under way. Please visit the program website for more information.

Last December, our Google Group organized a meet-up event in ETH Zurich, Switzerland. Since I am currently completing my PhD at University of Neuchâtel (UniNE), I thought it would be nice to repeat the experience for those living in Western Switzerland.
The first step was to propose the idea to UniNE faculty and find potential speakers. Several people offered to help and the idea took off. From Zürich, our previous speakers Seon-Wook Park, Iurii Chernyi and Wolf Bergenheim signed up again as potential speakers. From Geneva, Spyros Gasteratos showed interest to talk about his experiences as a student and a mentor for the OWASP Organization. From UniNE, my colleague Emanuel Onica said he had previous experience and advice to share. The icing on the cake was the generous offer from my supervisor, who offered to buy pizzas for the event! We finalized the date for February 27th.


Thanks to another GSoC enthusiast, Etienne Riviere, the event received publicity at six universities including University of Bern, University of Neuchâtel, University of Fribourg, University of LausanneUniversity of Geneva  and the University of Applied Science Western Switzerland. I also designed the event website, a Facebook public event and a registration form. The event was further promoted in the local newspaper and announced in the official UniNE website and calendars.

Events sometimes come with a few surprises and in our case, two confirmed speakers canceled the day of the meet-up. However, we found a solution that allowed the speakers to join via a Google Hangout which turned out to be quite successful.

The evening of the event arrived, and we were excited to see we had almost achieved 100% attendance! Our audience was quite diverse, with computer science students from all level of studies participating in the event. Some had experience with open-source projects but few had previous experience with GSoC.

I opened the informative session by giving a general talk to explain the what and why of GSoC. We then moved to the next subject — the experience of the student and mentor in GSoC. I gave a short overview of my student project on file sharing in Freenet Project. The guest speakers, Seon-Wook, Spyros and Emanuel did a great job by sharing inspirational stories and giving valuable advice. The event closed with a question-answer session driven by Wolf through a hangout. Questions like: "What kind of projects are selected by Google?" or "Should I apply to a project in which I am already involved?" were addressed by the speakers. In the end, we all enjoyed pizza and other snacks while chatting about our future plans regarding GSoC.
Speakers: (above from left to right) Seon-Wook, Emanuel, Spyros, (below) Wolf (via hangout) and Verónica

The video of our talks can be found on YouTube (slides only) and the complete version is found here (speakers and slides sync).

By Verónica Estrada Galiñanes, GSoC 2013 Freenet student
Pictures by Raluca Halalai

Google Summer of Code meet-up at NIT, Warangal

Thursday, April 24, 2014

Today’s post is from Rashid Kahn who represents the Google Developers Group in Warangal, India. The group recently held a meetup to introduce local students to Google Summer of Code.

The Google Developers Group - NIT, Warangal held a Google Summer of Code (GSoC) meet-up on 2nd March, 2014. GSoC is an annual program run by Google for university students and provides an opportunity for students to work on real software projects during their summer vacations. Project topics can vary and range from Content Management Systems to Artificial Intelligence, but all are focused on free and open source software.
NIT meetup india.JPG
The main agenda for the day was to introduce the students to open source software and give more insight into how things work in these communities. I gave a talk about my experience as a student participant for Tomboy.OSX and GNOME Calculator. The talk covered many aspects of GSoC and clarified any questions students had about the program. After my presentation, we brought in a Leap Motion Controller for the event to show the students some of the latest developments in technology.
leap motion.JPG
The last part of the meet-up was a hands on session introducing the Git versioning system. We believe knowing a version control system is essential for today's software development and it forms the backbone for supporting any project development — especially those distributed over continents. We felt the best choice to teach was Git, due to its distributed nature and ease of learning. The students were showed the usage of basic commands used in Git, and were encouraged to try them at the event. 

The day came to end with students trying out various apps on Leap Motion Controller and trying out Git. We were excited for a great turnout of students to learn more about free and open source software and of course, GSoC!

By Rashid Khan, Google Summer of Code Student, 2013

Students Announced for Google Summer of Code 2014

Monday, April 21, 2014


GoogleSummer_2014logo.jpg

Congratulations to the 1,307 students accepted for our 2014 Google Summer of Code! It was very tough for the 190 mentoring organizations to choose from the huge number of applications we received— 6,313 proposals from 4,420 students — and we want to thank everyone who applied.

Students will now enter the community bonding period where they will get to know their mentors and prepare for the program by reading documentation, hanging out in the IRC channel and familiarizing themselves with their new community before beginning their actual coding in May.

If you are interested in learning more about the 190 organizations that the students will be working with during the summer or reviewing important dates, please visit the program website.

We look forward to an exciting and productive summer of coding.

By Carol Smith, Google Open Source Programs Office

Google Summer of Code 10th year celebration in Singapore

Tuesday, April 15, 2014

During our whirlwind tour of SE Asia, the Google Open Source Programs team made a stop in Singapore to hold an event celebrating the 10th year of Google Summer of Code at the local Google office. Guest writer and GSoC enthusiast Ellen Wang shares her experience of the event below.

On February 25, the Google Open Source Programs team held a 10 year celebration for the Google Summer of Code (GSoC) program at the Google office in Singapore. I was proud to attend the event as a GSoC enthusiast and second year CS student at the National University of Singapore and also very eager to learn more about how the program works. It was so exciting that a team from Google flew all the way from San Francisco to visit us.

GSoC, a program that continuously attracts new blood into the open source world, is celebrating its 10th instance this year. Following on the success of the GSoC program for university students, Google started Google Code-in (GCI), a contest for pre-university students (e.g., high school and secondary school students ages 13-17) with the goal of encouraging young people to participate in open source.
singapore 10things.jpg
On the day of the event, over 60 people attended the event including past GSoC students and mentors, professors from National University of Singapore and prospective students.  After a warm welcome to all the invitees, two Googlers from the Open Source team, Stephanie Taylor and Cat Allman, talked about the steps involved in applying to this year’s program. Specifically, they talked about the  “10 things” GSoC initiative and described how the program will be enhanced to celebrate a decade of GSoC. One of these enhancements includes a 10% raise in the student stipend to 5500 USD. Stephanie then spoke about GCI and encouraged the audience to help get younger students involved.

Dr. Damith C. Rajapakse, a professor from the School of Computing at National University of Singapore, then gave a speech on his TEAMMATES project which was accepted as a mentoring organization in the 2014 instance of GSoC. National University of Singapore was also recognized for having the 3rd most students from a university participate in this program over the last nine years.

The event then featured local Singapore mentors and past GSoC students who gave talks on their projects, shared their personal experiences, and gave constructive ideas on how to develop a great proposal. This was perfect timing for someone like me, as the application period for students opened just a couple of weeks after the event.

The evening concluded with a networking session for students to talk with mentors, former GSoC students and the visiting Googlers. Guests were also treated to an abundance of  well-prepared food and refreshments. The attendees enjoyed the event very much — it was very successful in raising the awareness of GSoC and open source development. It was a huge help for me as well! I applied to GSoC 2014 (students will be announced on April 21) and I hope to start regularly contributing to open source development. Many thanks to the Google team!

By Ellen Wang Zi, Computer Science Student, National University of Singapore

MediaGoblin: our summer of awesome

Friday, April 11, 2014

Our final in a series of wrap-up posts from Google Summer of Code 2013 comes from Christopher Webber at MediaGoblin, a free software media publishing platform. MediaGoblin also took part in the Outreach Program for Women, a program inspired by GSoC to help get more women involved in free and open source software. Students from both programs are highlighted below.
MediaGoblin had a really great summer. We were lucky to participate in both Google Summer of Code (GSoC) and the Outreach Program for Women. Read more about the great work accomplished last summer below:

Google Summer of Code Students:
  • Aditi Mittal’s blogging media type works, and we are polishing it up before we get it merged into master. Several exciting things came out of her work, including efforts to generalize media types as plugins (which they now are!). We use this new plugin infrastructure with the blogging media type, which now has its own panel and view.
  • Praveen Kumar got his search plugin up and running using Whoosh; efforts are now being made to merge and polish up with the present codebase.
  • Rodney Ewing went above and beyond all expectations for the summer. Not only did he finish “pluginifying” authentication (adding multiple plugins including LDAP, OpenID and Persona), he helped immensely with code review and many other projects, including most of the work on the “pluginification” of media types.
Outreach Program for Women projects:
  • Emily O’Leary worked on various testing tasks: improving the speed of unit tests (merged), working on a Jenkins testing setup set up for MediaGoblin, and getting a functional testing setup with Selenium. In the process, we also discovered some issues about how hard it is to get functional testing working nicely with MediaGoblin; many lessons learned), as well as the bonus task of ticket triage!
  • Jessica Tallon worked on federation support in MediaGoblin via the Pump API. Jessica wrote a wrapup post which can give you some sense of things, but things have continued even after that blogpost was originally written. PyPump has been rewritten and works really well, can do all sorts of new things. Updating MediaGoblin to include the appropriate endpoints for the Pump API is currently in progress; there is much work still to be done, but an image has been successfully submitted to MediaGoblin via PyPump.
  • Natalie Foust-Pilcher’s administrative interface work is now in place and pending review. The new admin interface includes new features such as the ability to set the terms of service / code of conduct for a site, the ability to submit reports on problematic users, and the ability to review and take actions on said reports. Additionally, some work has been done under the hood, including a nice new, "foundations," framework for adding default values into the database, and a new permissions/privileges system. All this thanks to Natalie’s work.
Overall it was a great summer. Thanks to the hard work of all our students we are much, much closer to MediaGoblin 1.0 than I would have dreamed. The only "downside" is that I now have a large pile of code to review and get cleanly merged with mainline MediaGoblin. Talk about problems you can’t complain about.

Thanks to all our students mentioned above… you all rock! And thanks also to our mentors: Sebastian Spaeth, Joar Wandborg, Aeva Palecek, and Aaron Williamson (well, and myself). Without you all this summer would not have been possible. And now, onward to use all this summer of awesomeness to make MediaGoblin the best media publishing software ever.

By Christopher Allan Webber, MediaGoblin Lead Developer

Google Summer of Code meets Hungary!

Wednesday, April 9, 2014

Today we have a guest post from a former Google Summer of Code student, Dániel Géhberger, who is eager to spread the word about GSoC to his fellow Hungarians! The student application period for GSoC 2014 is now closed, but we are happy to report that there were 6,313 proposals by 4,420 students this year.  Accepted students will be announced on April 21, 2014.

In 2013, 17 Hungarian students (including myself) participated in Google Summer of Code. Although this is a decent number, I was certain there were many more talented people around these parts who could participate in the 2014 program. I decided to hold an informational session at the Budapest University of Technology and Economics to inform more students about the program.

The members of the Department of Telecommunications and Media Informatics helped me to officially organize the event. We decided to hold the event in February on the same date as when the 190 Mentoring Organizations were announced so that the students could dive into different project ideas right away. We created a flyer and sent out many invitations to various student mailing lists.
The day of the event arrived quickly and we were hoping there would be lots of interest. We were pleasantly surprised that the room was completely full five minutes before the official start of the meetup.  We eventually had to move into a larger room as students kept arriving.  We ended up with over 90 students at the meetup! 

We began the event with a general introduction of the program, covering the basic rules, dates, number of participating organizations, etc. The second part was dedicated to short talks about the personal experiences of past GSoC students. We strived to show that GSoC can suit a variety of students. We had one BSc student and two former MSc students speak — their projects ranged from embedded development Linux based systems and games, to an HTTP 2.0 implementation in JavaScript.

During the talks, we tried to emphasize some critical points for new students including choosing realistic projects, proposal writing, and most importantly, how crucial early communication with the organizations is. We also pointed out that participating students can make new connections which, in the long run, can be much more important than the money.
All in all the event was quite successful, and I strongly hope that we will see a huge rise in the number of Hungarian students in 2014. The Google Summer of Code program has opened endless opportunities for me— I hope it can do the same for others!

The slides (in Hungarian) are available on the webpage of the event, and if you are a Hungarian student, feel free to join our mailing list.

I would like to thank everyone who attended or helped to organize the event and special thanks to our speakers: Gábor Molnár (Mozilla), Péter Bozsó (ScummVM) and László Boros (The Fedora Project).

By Dániel Géhberger, GSoC student in 2012, 2013 and mentor in 2014 at The Wiselib

Babbage: easily encode or decode data with a click

Monday, April 7, 2014

Engineers at Google deal with encoded data on a daily basis. It’s very common to handle files encoded in a variety of different formats. For example, email attachments are Base64 encoded and web requests are URL encoded. Custom encodings bring another level of complication especially when different codings are chained together. Over time this constant need to encode / decode data left me with a large, unmanageable collection of scripts. This collection was simply not scaling, so I set off to create a better solution. We needed something easy to use and extensible enough to serve our future needs.

Today, I’m happy to introduce Babbage, an open source tool for manipulating data in many different formats. With Babbage you can easily decode or encode data with just a click. Paste in “SGVsbG8h”, select base 64 decode and you get “Hello!”. You can paste in text to process with plugins (which are an easy way to transform data). Babbage comes with a basic set of plugins to cover simple encodings and obfuscation techniques such as Base64, URL encoding, XOR and others. If you have something a bit more complicated, you can chain multiple plugins together. Babbage is open source and written so that anyone can create their own collection of plugins with libraries already in use.

Babbage was written in Python and JavaScript with Google Closure on top of Google App Engine. The full source code is available on GitHub. Develop something cool and share it with the world! We are always looking for new contributions — feel free to contact us on our developers discussion group.

By Tom Fitzgerald, Google Engineering

qLabel: Multilingual content without translation

Tuesday, April 1, 2014

Today we are happy to release qLabel, an open source JavaScript library that looks up and displays the labels of entities marked-up in a Web site in the language of the user. You can use qLabel in any Web document - below are some examples of where it might come in handy.

Some web sites provide content in a very structured form - think of restaurant menus, schedules, images with textual annotations, catalogs, etc. For example, this is a map of the inhabited continents:
Providing this content in different languages is as easy as looking up how all the mentioned entities in the SVG map are named in the other language. If we want to display the content in German, we need to know that South America is Südamerika in German and replace it.
The same works for Chinese:

Or, to take a language that Google Translate does not support yet, such as Uzbek:

The labels that we have used so far are from Wikidata, a sister project of Wikipedia launched in 2012. Wikidata supports more than 300 languages, but there aren't labels for all entities in all languages yet. Let’s take a look at Hindi:
We see that the Hindi name for Australia is still missing. But adding that is as easy as going to the Hindi view of Wikidata for Australia and add the label, and likely by now someone has already fixed it (and that would be visible here if those images above would indeed be embedded SVGs instead of PNG files - see the live map demo). You can improve the content in Wikidata and make more knowledge accessible to everyone.

In these cases, there is no need for intelligent translation algorithms in order to translate the Website: it is enough to look up the label for the mentioned entities in the language of the reader and display them in place. qLabel does exactly that.

The Website author annotates the entities mentioned in the page with unique identifiers, and qLabel looks up the name for these entities in the language requested by the user and displays them. No need to wait until your translation service of choice supports your language, it only depends on the underlying lexicon of entities and the languages they support.

Every entity is marked up with a URI, which is then used to look up the labels in the requested language. Take a look at the examples: the above map, a tournament schedule, a food menu, and tour dates. You can use any URI that supports look-up using Linked Data standards, in particular Google’s Freebase and Wikidata, but you can also publish your own set of entities and labels as RDF or JSON-LD and use them — and at the same time releasing them to the Semantic Web!

Read more about qLabel and how you can use it. Contributions to the code base are more than welcome, the source code is on Github.  Let us know about how you use qLabel!

Thanks and kudos to rdfquery, Wikidata, any23, Freebase, Universal Language Selector, the Wiki Atlas, and the Wikidata Multilingual Picture Dictionary.

By Denny Vrandečić, Ontologist, Google Knowledge Graph 

Introducing FarmHash

Monday, March 31, 2014

We’re pleased to announce the new FarmHash family of hash functions for strings.  FarmHash is a successor to CityHash, and includes many of the same tricks and techniques, several of them taken from Austin Appleby’s MurmurHash.

We’re heavily influenced by the types of CPUs that are common in Google’s datacenters, but FarmHash’s goals don’t end there. We want FarmHash to be fast and easy for developers to use in phones, tablets, and PCs too. So, yes, we’ve improved on CityHash64 and CityHash32 and so on.  But we’re also catering to the case where you simply want a fast, robust hash function for hash tables, and it need not be the same on every platform. To that end, we provide sample code that has one interface harboring multiple platform-specific implementations.

Over time, we plan to expand FarmHash to include hash functions for integers, tuples, and other data. For now, it provides hash functions for strings, though some of the subroutines could be adapted to other uses.

Overall, we believe that FarmHash provides high-performance solutions to some classic problems. Please give it a try! Contributions and bug reports are most welcome.

By Geoff Pike, Software Engineer

Google Code-In 2013: RTEMS project report

Thursday, March 27, 2014

Today's post comes from RTEMS, an open source Real Time Operating System that supports a variety of open standard API’s. They have participated as a Google Code-in mentoring organization for the past 7 years.
RTEMS logo.png
Between November and early January, the RTEMS Project participated as one of ten mentoring organizations in the Google Code-in (GCI), a contest for pre-university students that encourages the involvement of students age 13-17 in open source communities.

During the seven week time-frame for GCI, RTEMS Project had 39 students complete 265 tasks under the tutelage of 15 mentors. That is an average of over five tasks per day! Many new students to RTEMS completed the Getting Started with RTEMS task, which provided both useful feedback about new users interested in working with RTEMS and prepared the students for hands-on programming work with our systems. We are proud of the efforts and accomplishments of all the students and grateful to the Google Open Source Programs Office, our mentors, organization administrators, and the open source community that helped support them along the way.

Below are descriptions of some of the more notable accomplishments that the students achieved in each of the five task categories: Code, Documentation/Training, Outreach/Research, Quality Assurance, and User Interface.

Code
  • C99 “restrict” keyword added to Newlib C Library for POSIX conformance.
  • Ported the Rhealstone Benchmark to RTEMS, now available in testsuites/rhealstone.
  • Refactored over a dozen BSPs to conform to guidelines determined by Vipul Nayyar’s GSoC 2013 project.
  • Refactored portions of the monolithic sp09 test case into new, finer-grained tests.
  • Created or fixed 9 POSIX timing tests.

Documentation / Training
  • Determined guidance for doxygen use in BSPs and added doxygen comments to about 40 BSPs.
  • Fixed documentation in the RTEMS POSIX user manual and in multiple test cases.

Outreach / Research
  • Created 2 video tutorials for Getting Started with RTEMS.
  • Updated the RTEMS wiki page up to date for the first time in six years (using references from Google Scholar).

Quality Assurance
  • Investigated and/or fixed over 20 bugs in the RTEMS Bugzilla.
  • User Interface
  • Updated the rtems-graphics-toolkit repository and fixed some bugs.

Thanks again to everyone involved in making GCI 2013 a successful one for RTEMS Project.

By Gedare Bloom, RTEMS Project Org Admin

Steel Bank Common Lisp wrap-up post: new Google Summer of Code org in 2013

Monday, March 24, 2014

Christophe Rhodes from Steel Bank Common Lisp, a high performance Common Lisp compiler, is today’s guest writer on the Google Open Source Blog. SBCL participated as a mentoring organization for the first time in Google Summer of Code 2013 and will join us again in 2014.
Google's call for organization proposals in the 2013 Summer of Code program spurred Steel Bank Common Lisp (SBCL) developers to organize their thoughts and come up project suggestions that could be reasonably achieved in the course of two to three months. The construction of the list was already a positive outcome, but SBCL being accepted into the 2013 program was a huge bonus, and allowed us to work with two students on two successful projects. Read more about them below:

Modernizing register allocation (student: Alexandra Barchunova, mentor: Paul Khuong)
Alexandra proposed to improve the register allocator in SBCL by implementing a classic algorithm known to perform well on practical C and Fortran programs.  Adapting that algorithm, on top of the pre-existing register allocation infrastructure, took the better part of the summer. It also helped fix bugs and suboptimalities in related support code.

Because register allocation is such a fiddly problem, the remainder of Alexandra’s project period was spent exploring various tweaks and parameterisation for the high level iterative colouring/spilling logic described by prior research.

The new allocator has been forward-ported and cleaned up, and it can hopefully be merged in the near future. Alexandra plans to keep working on the allocator, and we hope to see the result hit official SBCL by the end of the year. Her work is at https://github.com/abarch/sbcl.

Efficient interpretation (student: Matthias Benkard, mentor: Juho Snellman)
Matthias' project was to develop an efficient interpretation scheme for SBCL, starting from strategies such as Feeley's use of closures in code generation. The idea was to develop a fast compiler from Lisp code to an internal representation while performing minimal compilation on the way, as well as an efficient interpreter of this internal representation.  Matthias successfully developed these two components, and in addition, integrated this evaluation strategy into other parts of the Lisp environment.

Matthias did manage to give his mentor Juho some stress and strain — most notably by informing him, a week before the `pens-down date', that a substantially different approach was likely to have some benefits, and that he was going to go for it. Fortunately, he got there in time, and it certainly did have additional benefits!  Matthias' interpreter is benchmarked as being around 10 times faster than the simple s-expression interpreter, and all is looking promising for a merge into the mainline SBCL in the near future.  His code is available at https://github.com/benkard/sbcl.

It was a good summer for the SBCL team as a whole. Participation in GSoC has been a good morale boost as well as good general publicity for our organization.  And there's no shortage of challenging and fun projects left to tackle. We are also very excited to have been accepted as a mentoring organization for Google Summer of Code 2014!

By Christophe Rhodes, Org Admin for SBCL

Google Summer of Code: a celebration of India

Friday, March 21, 2014

The Google Open Source Programs team has been on a mighty adventure the past six months. To celebrate our 10th year of Google Summer of Code, we’ve visited 10 countries, flown over 50,000 miles, and met with hundreds (if not thousands!) of Google Summer of Code enthusiasts all over the globe. One of our last stops was India, which boasts the second largest amount of participants since the program inception in 2005.  Guest writer Sri Harsha Pamu shares his experience of the event below.

Google Summer of Code (GSoC) is quite an amazing program — it provides an opportunity for students to learn and contribute to free and open source software by working on real projects (and get paid for it!). To put it simply, GSoC is a ticket to the exciting journey of the Open Source world.

The Google Summer of Code program was announced very early, immediately after the GSoC 2013 program. Though I am not eligible to participate as a student for this year’s program, I am very excited to participate as a mentor for the National Resource for Network Biology (NRNB). When the Open Source Programs team at Google announced the stunning “10 things” initiative, I was thrilled to not only see India on the list of countries the team was visiting, but also honored to participate in the event. I was especially proud to learn that India stands second in the world in GSoC participation with 1042 students and 368 mentors since the program’s inception.

The event was held at the local Google office in Hyderabad on February 21. The room was filled with students and mentors from previous years of GSoC as well as several open source enthusiasts who came from all across India to attend this wonderful event. The evening kicked off with the presentation on GSoC by Google Open Source Programs Office team members, Stephanie Taylor and Cat Allman. They also spoke about the Google Code-in, their success with these initiatives, and what the team has planned for the future. Next, there were short talks by previous GSoC students who described their projects, the organizations they worked with and their personal experience as a GSoC’er. I was one of the speakers and was happy to share my work as a student with NRNB.

After the talks, there was a raffle for all the attendees.  One lucky student won a brand new Google Nexus 7 tablet. The evening wrapped up with a scrumptious dinner, knowledge sharing, photo sessions and tons of Google swag. The event was a phenomenal success.

I would like to thank the entire team of the Google Open Source Office for initiating such brilliant  programs which encourage student programmers to contribute to free and open source projects. I hope that there will be an exponential increase in the number of Indian student participants in the coming years!

Sri Harsha Pamu, NRNB 2013 GSoC Student

Open Source Release: LiquidFun 1.0

Tuesday, March 18, 2014

Last December we announced the initial release of LiquidFun, a C++ library that adds particle physics, including realistic fluid dynamics, to the open-source Box2D. Today, we’re excited to be releasing LiquidFun 1.0!

New features in this release include:
  • Multiple particle systems
  • New particle behaviors: barrier, static-pressure, and repulsive
  • Particle lifetimes
  • Detection of stuck particles
  • The ability to apply forces and impulses to particles
  • Java support via SWIG
  • A host of new demos: inside the existing Testbed application; and, a gorgeous new “EyeCandy” demo for Android
Download the latest release from our github page and join our discussion list!

Several Googlers made LiquidFun possible: Howard Berkey, Alice Ching, Wolff Dobson, Dave Friedman, Stewart Miles, Jason Sanmiya, Kentaro Suto, and Ali Tahiri.

By Dave Friedman, Fun Propulsion Labs*

*Fun Propulsion Labs is a team within Google that's dedicated to advancing gaming on Android and other platforms.

Progress in person: the 2014 Buildroot Developers Meeting

Monday, March 17, 2014

The Google Open Source Programs Office recently co-sponsored the annual Buildroot Developers Meeting at our office in Brussels, Belgium.  Read more about their meeting below.

On February 3rd and 4th, the Buildroot project held its Developers Meeting at the local Google offices in Brussels. Buildroot is a tool that allows users to build embedded Linux systems by cross-compiling all necessary libraries, applications, the cross- compilation toolchain itself, the Linux kernel and other useful components. Buildroot is used by numerous companies and hobbyists, including Google for the Google Fiber devices, by many processor vendors and embedded system makers. It’s simple — you tell Buildroot what you want in your embedded Linux system through a kernel-like "menuconfig" interface, hit "make", and voila! Your embedded Linux system is ready to run!

The Developers Meeting brought together 12 participants from countries all over the globe including Finland, France, the UK and the United States. Over the two day event, participants discussed hot topics and made key decisions for issues that prove difficult to discuss over mailing lists or IRC. We also worked on cleaning up the list of patches waiting to be integrated — a list that has grown significantly with the popularity of the project! Meeting physically not only allowed work to get done during the meeting, but also allowed contributors to get to know each other better.  We believe it will make our interactions online much more efficient in the future.

Join us at http://buildroot.org, or take a look at the detailed report of the meeting to learn more about our progress. Many thanks to our sponsors Google and Mind who made this meetup possible.

By Thomas Petazzoni, Buildroot Org Admin

Teaching the next generation to code: Young Coders at PyTennessee 2014

Wednesday, March 12, 2014

The Google Open Source team recently sponsored the PyTennessee conference in Nashville. Adam Fletcher, an Engineer at Google and today's guest blogger, volunteered at the conference and helped introduce Python to an enthusiastic group of students. 

On February 23rd & 24th the first PyTennessee took place in Nashville, Tennessee, and brought hundreds of pythonistas from all over the nation to learn about a diverse set of Python-related topics. On Saturday the 24th, PyTennessee ran a Young Coders event, based on a similar event that took place at the 2013 US PyCon. Google was proud to sponsor this event, providing funding for the Raspberry Pi computers the coders used throughout the day.
 Mayor of Nashville, Karl Dean, with the students

The Young Coders event introduced 25 new programmers, aged 12-18, to the world of Python by providing each student with a Raspberry Pi running Linux and a day of instruction in the Python programming language. Students were taught about the basic data types and control flow in Python in the morning and then spent the afternoon making and modifying games. When the event wrapped up the students got to take home their Raspberry Pi computers to continue their programming exploration at home. Additionally, the students each got a copy of Python For Kids, an excellent introductory book.
Raspberry Pi, the compact computer the students used to learn Python

Earlier in the day the Mayor of Nashville, Karl Dean, stopped by to learn about the Young Coders event and to talk to the students. Mayor Dean was excited about Nashville as a technology center; Nashville is one of the cities being evaluated for Google Fiber, and Google has selected Nashville as one of the Google for Entrepreneurs Tech Hub Network cities.

Later, the students used their newfound Python knowledge to modify various games. Students altered the startup screen, changed the frame rates, modified the fundamental rules, and made other fun changes to games written in the PyGame framework.
Two students hard at work

Katie Cunningham (right) with two Young Coders

The Young Coders event would not have been successful without its excellent instructor, Katie Cunningham. Big thanks to her and to the entire PyTennessee team for for organizing such a wonderful event, and for providing the space to help train the next generation of computer scientists!

By Adam Fletcher, Google Site Reliability Engineer

Get with the program: open source coding with Google Summer of Code

Monday, March 10, 2014

Cross Posted from the Official Google Blog

Tobi Mueller started coding when his grandfather, who works in IT, gave him access to a spare PC. It was a sweet 286 machine which Tobi learned to program with the then-popular teaching language Pascal. He eventually became interested in free and open source software, but it was Google Summer of Code (GSoC) that helped transform Tobi into the free software contributor he is today.

Tobi was a GSoC student in 2007 for GNOME, a free software desktop environment. He’s been a regular contributor to the GNOME community ever since—and in 2012, Tobi was elected to the GNOME Foundation board of directors.

Tobi is one of more than 7,500 students who have participated in Google Summer of Code program over the past nine years. Every summer, GSoC participants work with various organizations in the open source community, building important technical skills and gaining workplace experience. Students aren’t the only ones who benefit; their projects also give back to the open source community. Karen Sandler, GNOME’s executive director, told us how Google Summer of Code “encourages and empowers” new contributors and helps “invigorate projects.”
So if you’re a university student looking to earn real-world experience this summer, we hope you’ll consider coding for a cool open source project with Google Summer of Code. We’re celebrating the 10th year of the program in 2014, and we’d love to see more student applicants than ever before. In 2013 we accepted almost 1,200 students and we’re planning to accept 10 percent more this year.

You can submit proposals on our website starting now through Friday, March 21 at 12:00pm PDT. Get started by reviewing the ideas pages of the 190 open source projects in this year’s program, and decide which projects you’re interested in. There are a limited number of spots, and writing a great project proposal is essential to being selected to the program—so be sure to check out the Student Manual for advice. For ongoing information throughout the application period and beyond, see the Google Open Source blog.

Good luck to all the open source coders out there, and remember to submit your proposals early—you only have until March 21 to apply!

Google Code-in and Haiku: four years strong

Friday, March 7, 2014

Google Code-in wrapped up in January and the 20 Grand Prize Winners have been announced. Haiku, a veteran GCI organization, is here to talk about their experience and history of participating in GCI. 


This was the fourth year of Google Code-in, and the fourth for Haiku to participate as a mentoring organization for students. This contest came at a good point this year for Haiku as our package management merge happened just a few weeks prior to the start of the contest and thus gave us plenty of ideas for tasks. Nearly half of our tasks were somehow related to writing recipes for packages to be built into .hpkg files. We also opened our Coverity scan results for students to try their hand at fixing some of those issues for the first time. Along with these tasks, there were several others which ranged from fixing specific bugs from Haiku's Trac tickets, to writing new programs. Examples include a blogging program and a spider solitaire game, and even a few projects for artistic students who created a new flyer and some new icons.

This year we had five students who completed 20 or more tasks, more than any of our students completed during GCI 2012. We had 42 students who completed a total of 245 tasks for Haiku which is more than have been completed in any previous year for Haiku, so it was a very good year for us. Of the 42 students, 19 of them completed three or more tasks which qualified them to receive a Google Code-in 2013 t-shirt.

I'd like to thank the 19 Haiku mentors, which included three former Google Code-in students, and all 42 students who completed at least one task for Haiku this year. Also a special thanks to those who were on IRC to help handle the flood of students during the contest, for their patience in answering all the questions that the students were asking. It was another very productive (and fun!) Code-in.

By Scott McCreary, Org Admin for Haiku

.