Skip to content

Software Development News: .NET, Java, PHP, Ruby, Agile, Databases, SOA, JavaScript, Open Source

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

Google Open Source Blog
Syndicate content
News about Google's Open Source projects and programs.
Updated: 10 hours 37 min ago

Students Announced for Google Summer of Code 2014

Mon, 04/21/2014 - 22:19

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
Categories: Open Source

Google Summer of Code 10th year celebration in Singapore

Tue, 04/15/2014 - 18:00
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

Categories: Open Source

MediaGoblin: our summer of awesome

Fri, 04/11/2014 - 18:00
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

Categories: Open Source

Google Summer of Code meets Hungary!

Wed, 04/09/2014 - 18:00
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

Categories: Open Source

Babbage: easily encode or decode data with a click

Mon, 04/07/2014 - 22:09
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
Categories: Open Source

qLabel: Multilingual content without translation

Wed, 04/02/2014 - 17:31
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 

Categories: Open Source

Introducing FarmHash

Mon, 03/31/2014 - 23:54
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
Categories: Open Source

Google Code-In 2013: RTEMS project report

Thu, 03/27/2014 - 20:00
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.pngBetween 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.

  • 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

Categories: Open Source

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

Mon, 03/24/2014 - 20:00
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

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

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
Categories: Open Source

Google Summer of Code: a celebration of India

Fri, 03/21/2014 - 20:00
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
Categories: Open Source

Open Source Release: LiquidFun 1.0

Tue, 03/18/2014 - 20:00
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.

Categories: Open Source

Progress in person: the 2014 Buildroot Developers Meeting

Mon, 03/17/2014 - 20:00
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, 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

Categories: Open Source

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

Wed, 03/12/2014 - 20:00
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
Categories: Open Source

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

Mon, 03/10/2014 - 22:27
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!

Posted by Carol Smith, Google Open Source team
Categories: Open Source

FOSDEM: an explosion of Google Summer of Code support

Mon, 03/10/2014 - 18:06
Earlier this month, as part of the Google Summer of Code (GSoC) 10th year celebration, three of us from the Google Open Source Programs Office (Cat Allman, Jeremy Allison and Stephanie Taylor) traveled to Brussels, Belgium to attend the FOSDEM open source conference. We joined over 5,000 other FOSS enthusiasts to talk about GSoC and highlight the work of some of our students and mentors. 

We were honored to have a table dedicated to all things Google Summer of Code this year.  Twelve past students and mentors from 10 projects were kind enough to join us and talk to attendees about their organizations and projects. We even had a robot walking along the conference floor thanks to our friends at The Italian Mars Society!

During the two day conference Cat, Jeremy and I had the opportunity to meet and chat with hundreds of people. It was such a rewarding experience for all of us to have a chance to meet  many of the former students and mentors who have been part of the GSoC success story. We also talked to many members of open source projects interested in learning more about how to apply to this year’s GSoC program. The timing couldn’t have been better -- the GSoC organization application opened the next day! 

Interested students came to the table and inquired about a variety of topics including the skills needed for the program, the time required to participate, best practices for writing a student proposal and the types of orgs that have participated. A list of all 440 mentoring organizations from the past nine years was available for folks to peruse. 

It was great to see so many students and mentors sporting GSoC t-shirts from many years ago, some of which could almost be considered vintage! There were also some Google Code-in shirts mixed in the bunch too.

Something we often hear from prospective students is that they don’t think they are “good enough” to be accepted as a GSoC student so they are leery of applying. We stress that the program is about hard work, dedication, and an interest in learning more about open source software development. You don’t have to be the most amazing coder the world has ever seen, but you do need to be hardworking and excited about the organization and project you are working on to be truly successful.

We’ve just recently announced the 190 open source projects that will act as mentoring organizations for 2014.  These two weeks before the student application period are a KEY time for students to research the organizations, find two or three of interest and learn more about how they work. This includes reaching out to organizations directly (before proposals begin on March 10), discussing the project’s proposed ideas list and really getting a feel for what organizations are looking for from a student proposal. 

Thanks to all of the students, mentors and open source friends who stopped by at FOSDEM. We hope to see you again next year!

By Stephanie Taylor, Google Open Source Programs
Categories: Open Source

Google Code-in and Haiku: four years strong

Fri, 03/07/2014 - 19:00
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

Categories: Open Source

Google Summer of Code wrap-up: OSGeo

Wed, 03/05/2014 - 19:00
Today is the final post in our series of guest posts from veteran Google Summer of Code 2013 organizations. OSGeo is a not-for-profit organization whose mission is to support the collaborative development of open source geospatial software and promote its widespread use. They have participated in Google Summer of Code for the past seven years!

OSGeo participated in Google Summer of Code 2013 with 22 accepted students from 15 software projects. This has been the seventh consecutive year of participation for OSGeo, with the highest success rate ever — 21 of 22 students got a positive final evaluation from their mentors. Two projects from 2013 that were particularly successful were:

ScribeUI: A GUI and tools for MapServer mapfile editing - Jessica Lapointe, mentored by Julien-Samuel Lacroix.

OpenTripPlanner: a stable and improved Android client for walk, bike, and transit routing based on OpenStreetMap and GTFS data - Vreixo Gonzáles, mentored by Stefan Steiniger.

Jessica and Vreixo were among the most autonomous, inventive, collaborative and communicative students of 2013. Both delivered a tool ready for use and further development. You can explore a full list of our wonderful GSoC students and their projects here.

Since our participation in GSoC began seven years ago, many students have contributed to our open source geospatial projects — several of which have joined our regular developer team or have even gone on to become GSoC mentors! We would like to thank all of the students, mentors and coordinators who contributed to the success of the program.

By Anne Ghisla, Hamish Bowman and Dustan Adkins
OSGeo GSoC Admin Team

Categories: Open Source

Next stop: Phnom Penh and FOSSASIA 2014!

Thu, 02/27/2014 - 01:01
As part of our “10 Things” celebration of the 10th instance of Google Summer of Code, the Google Open Source Outreach Team has been traveling around the world to meet with GSoC students and mentors and many people interested in learning more about the program. On Friday, February 28 Stephanie Taylor and I are excited to be headed to Norton University in Phnom Penh, Cambodia for FOSSASIA 2014.
FOSSASIA works together with Open Source projects in Asia and around the world to develop Free and Open Source software for social change. Along with running this annual conference, FOSSASIA brings developers, designers and start ups together while providing infrastructure and organizing code sprints, developer meet-ups and community gatherings. In addition, FOSSASIA has been selected as a Google Summer of Code mentoring organization.
Attendees will have several chances to learn more about Google’s Open Source student programs during the conference, beginning with my keynote on Google Summer of Code on Friday, and a talk on Google Code-in by Stephanie on Saturday followed by a session of lightning talks and Q&A. If you’re a student considering applying to the program when applications open on March 10th, this will be a great chance for you to get your questions answered by students and mentors with first hand experience.

We hope to see you there!

By Cat Allman, Google Open Source Programs Team
Categories: Open Source

Oppia: a tool for interactive learning

Wed, 02/26/2014 - 22:14
"I hear and I forget; I see and I remember; I do and I understand." — Confucius
Lots of online education is delivered using video and text. However, opportunities for learners to do things and get feedback on their work are also important — after all, one does not learn to play the piano by watching videos of many virtuoso performances.

We're excited to announce Oppia, a project that aims to make it easy for anyone to create online interactive activities, called 'explorations', that others can learn from. Oppia does this by modeling a mentor who poses questions for the learner to answer. Based on the learner's responses, the mentor decides what question to ask next, what feedback to give, whether to delve deeper, or whether to proceed to something new. You can think of this as a smart feedback system that tries to “teach a person to fish”, instead of simply revealing the correct answer or marking the submitted answer as wrong. If you’d like to get an idea of what these explorations are like, you can try out some examples at

The Oppia learning interface. 

  The Oppia editing interface.                               
A unique feature of Oppia is that it allows multiple people from around the world to create and collaborate on explorations. They can do this through a web interface — no programming required.

Oppia gathers data on how learners interact with it, making it easy for exploration authors to spot and fix shortcomings in an exploration. They would do this by logging in, finding an answer that many learners are giving but which the system is not responding to adequately, and creating a new learning path for it, based on what they would actually say if they were interacting in-person with the learner. Oppia can then give this feedback to future learners.
A video by Yana Malysheva, one of the developers, explaining how Oppia works.                       
Oppia knows how to deal with numeric, text, and multiple choice inputs, as well as some more specialized types such as a clickable map and a code evaluator. We've also built an extensible framework that lets developers extend the range of input types that Oppia can understand.

The explorations created on an Oppia server can be embedded in any web page. These embeddings can refer to a particular version, so that further changes to the canonical version of the exploration do not automatically appear in the embedded one. This feature allows learning experiences that have been created using Oppia explorations to retain their integrity over time.

Oppia is built using Python and AngularJS on top of Google App Engine. You can download the source code; we hope you find it useful! Please feel free to contribute suggestions through our issue tracker, or contact us at our developers discussion group. We actively welcome new contributors, so if you would like to help out, please don't hesitate to get in touch.

By Sean Lip, Software Engineer, Google Research
Categories: Open Source

Mentoring Organizations for Google Summer of Code 2014 Announced!

Mon, 02/24/2014 - 21:00
We are pleased to announce the mentoring organizations that have been accepted for this year’s Google Summer of Code program. It was not an easy task, but after reviewing 371 applications, we have chosen 190 open source projects, of which 45 are new to Google Summer of Code. You can visit our Google Summer of Code 2014 program website for a complete list of the accepted orgs.

Over the next 14 days students interested in applying for the Google Summer of Code 2014 program can learn more about the 190 accepted open source projects before the student application period begins on Monday, March 10, 2014 at 19:00 UTC.

Each organization has compiled an “Ideas Page” that students will want to review carefully and consider how they might be able to contribute to the project. Some of the most successful proposals have been completely new ideas submitted by students, so if you don’t see a project on an Ideas Page that appeals to you, don’t be afraid to suggest a new idea to the organization! There are points of contact listed for each organization on their Ideas Page - students can contact the organization directly to discuss a new proposal. All organizations list their preferred method of communication on the organization homepage, available on the Google Summer of Code program website. We strongly encourage students to reach out to the organizations before they apply. Please see our Frequently Asked Questions page for more information.

Congratulations to all of our future mentoring organizations! We look forward to working with all of you during this exciting 10th year of Google Summer of Code!

By Carol Smith, Open Source Team
Categories: Open Source