Posts from April 2014

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


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