opensource.google.com

Menu

Posts from February 2015

Google Code-in 2014 wrap up with Wikimedia

Friday, February 27, 2015

The Wikimedia Foundation was one of the twelve mentoring organizations taking part in Google Code-in 2014, our contest introducing 13 to 17 year old students to working in open source communities. Below, Andre Klapper shares the accomplishments of several students who participated with Wikimedia during the contest.


The Wikimedia Foundation was proud to participate for a second time in Google Code-in. In this program, young students are introduced to free and open source software (FOSS) projects and invited to make practical contributions.

Between December 2014 and January 2015, 48 students successfully completed 226 Wikimedia tasks, supported by 30 mentors from our community. Those tasks include not only code development, but also documentation, research, and testing — leading to a wide range of achievements:


Thank you and congratulations to all the students who joined Wikimedia and supported its mission to freely share knowledge! Special kudos to Wikimedia’s two Grand Prize Winners: Danny Wu and Mateusz Maćkowski — and to our finalists Evan McIntire, Geoffrey Mon and Pranav Kumar! The full list of winners across all organizations can be found here.

We also wish to thank all our mentors for their generous commitment: we are especially grateful for the time they spent on weekends, coming up with task ideas, working with students and quickly reviewing their contributions. And last but not least, thank you to Google for organizing and running this contest, creating awareness of and interest in Free and Open Software projects.

We welcome more contributions to help improve our free and open software. Check out how you can contribute and our list of easy software bugs to start with.


By Andre Klapper, Wikimedia Foundation

Introducing gRPC, a new open source HTTP/2 RPC Framework

Thursday, February 26, 2015

(Cross-posted from the Google Developers Blog)

Today, we are open sourcing gRPC, a brand new framework for handling remote procedure calls. It’s BSD licensed, based on the recently finalized HTTP/2 standard, and enables easy creation of highly performant, scalable APIs and microservices in many popular programming languages and platforms. Internally at Google, we are starting to use gRPC to expose most of our public services through gRPC endpoints as part of our long term commitment to HTTP/2.

Over the years, Google has developed underlying systems and technologies to support the largest ecosystem of micro-services in the world; our servers make tens of billions of calls per second within our global datacenters. At this scale, nanoseconds matter. Efficiency, scalability and reliability are at the core of building Google’s APIs.

gRPC is based on many years of experience in building distributed systems. With the new framework, we want to bring to the developer community a modern, bandwidth and CPU efficient, low latency way to create massively distributed systems that span data centers, as well as power mobile apps, real-time communications, IoT devices and APIs.

Building on HTTP/2 standards brings many capabilities such as bidirectional streaming, flow control, header compression, multiplexing requests over a single TCP connection and more. These features save battery life and data usage on mobile while speeding up services and web applications running in the cloud.

Developers can write more responsive real-time applications, which scale more easily and make the web more efficient. Read more about the features and benefits in the FAQ.

Alongside gRPC, we are releasing a new version of Protocol Buffers, a high performance, open source binary serialization protocol that allows easy definition of services and automatic generation of client libraries. Proto 3 adds new features, is easier to use compared to previous versions, adds support for more languages and provides canonical mapping of Proto to JSON.

The project has support for C, C++, Java, Go, Node.js, Python, and Ruby. Libraries for Objective-C, PHP and C# are in development. To start contributing, please fork the Github repositories and start submitting pull requests. Also, be sure to check out the documentation, join us on the mailing list, visit the IRC #grpc channel on Freenode and tag StackOverflow questions with the “grpc” tag.

Google has been working closely with Square and other organizations on the gRPC project. We’re all excited for the potential of this technology to improve the web and look forward to further developing the project in the open with the help, direction and contributions of the community.


by Mugur Marculescu, Product Manager

RE2/J: Linear-time regular-expression matching for Java

Tuesday, February 24, 2015

Today we’re announcing the public release of RE2/J: a pure-Java implementation of the popular RE2 regular expression library.

Although RE2/J is not always faster than java.util.regexp, its running time is always linear in the size of the input. Thus when matching larger inputs, especially against patterns containing a high degree of alternation, RE2/J may be dramatically faster. With a backtracking implementation such as java.util.regexp, it is not hard to construct a pathological pattern whose matcher would take years to run on some inputs, so RE2/J's performance guarantee makes it suitable for use in applications where the pattern is supplied by untrusted users, such as the clients of a web server.

If you are looking for a detailed technical discussion of the motivation for RE2 and RE2/J and the tradeoffs involved, please see “Regular Expression Matching Can Be Simple And Fast” and “Regular Expression Matching in the Wild”, both written by Russ Cox.

RE2/J is used widely by Java projects within Google. In many cases, it can be used as a drop-in replacement for java.util.regexp. We are pleased to be able to make this library available for public consumption.

Please head to RE2/J’s GitHub page to find out how to use it!

By James Ring, Google Engineering

Google Summer of Code wrap up: Drupal

Friday, February 20, 2015

This week’s Google Summer of Code (GSoC) wrap up is from Matthew Lechleider at Drupal, a widely used content management system used for building websites.
Hello from the Drupal community. We're an open source content management system used to create some of the coolest websites in the world and we're delighted to highlight just a few of our Google Summer of Code (GSoC) 2014 student projects. Not only did 12 students dedicate their summer contributing to Drupal, but most importantly they had fun. Many of the projects below may sound easy, but Drupal 8’s core architecture is a major upgrade from previous versions forcing many students to engineer code in our new systems.

Most students focused on porting frequently used modules to our upcoming version 8. Students such as Lucian Hangea from Romania worked on a vast array of functionality ranging from porting the Diff module with extensible new options to Jayesh Solanki from India who integrated Disqus comments. It is impressive to see contributions from students who are simply happy to be part of our open source community. We can only hope these talented young software geniuses stick around.

Shivanshu Agrawal from India not only created a working version of the Securesite module in Drupal 8 but also finished the Drupal 7 version port during his GSoC application phase. Thousands of users around the world wondered why Drupal 7 sites could not provide simple password authentication until a student made a simple change pushing the module from beta to stable.

Sachini Aparna Herath from Sri Lanka worked on adding support for schema.org mappings to Drupal 8. Helping websites and systems communicate in a standard way, schema.org enriches content allowing it to properly propagate the Internet. Because of Sachini, Drupal 8 site builders can seamlessly point/click schema.org markup to their sites using the RDF UI she built. Similar projects are available in previous versions of Drupal but not Drupal 8, making this project fairly difficult to accomplish in an early beta version.

Andrei-Marius Dincu from Romania ported XMLsitemap to Drupal 8. This module creates a sitemap which conforms to the sitemaps.org specifications and helps search engines more intelligently crawl a website and keep their results up to date. Not only did Andrei port xmlsitemap.module to our newest beta versions of Drupal 8, he continues to provide contributions to previous versions of the module and even mentored students during Google Code-in.

Our community was invited to send two delegates to the GSoC Tenth Year Reunion event held in lieu of the annual mentor summit. We selected Angela Byron from Canada, one of our top GSoC Drupal alumni, and Chandan Singh from India, one of our best students from this summer. Angie's story of beginning with Drupal’s Quiz module as a GSoC student almost ten years ago and becoming one of the most important people in our community is now legendary. We're also excited about Chandan becoming a rockstar developer pushing Drupal to the next level as a promising new contributor. Beginning by leading development of the Entity Embed module as a GSoC 2014 student, Chandan continues to be actively involved in Drupal 8 core development, became one of our essential mentors in GCI 2014, and has returned to GSoC 2015 as a mentor.

A big thanks to all the students and mentors who helped make this summer a success and of course to the entire Drupal community for their amazing support. Last but certainly not least, thanks to Google for making it all possible. The entire open source community is forever in debt to the gift Google provides us with Summer of Code.

It's never too early to start planning for next year's Code-in or Summer of Code. Join our GSoC group on drupal.org, our GCI group on drupal.org, and chat with us via IRC in #drupal-google on Freenode to learn more.


by Matthew Lechleider, Drupal's GSoC Org Admin

Google Code-in 2014: Magic in the Numbers

Thursday, February 19, 2015

Google Code-in, our contest introducing 13-17 year olds to open source software development, wrapped up a few weeks ago with our largest contest to date: 658 students from 53 countries completed a record-breaking 3,236 tasks! We almost doubled the number of student participants in 2014 from the previous year’s contest (337). Working with 12 open source organizations, students wrote code, created and edited documentation, designed UI elements and logos, conducted research, developed screencasts and videos teaching others about the software, helped find and fix hundreds of bugs and many other interesting tasks.


General Student Stats

  • 49.1% of students completed 3 or more tasks (earning themselves a cool Google Code-in 2014 t-shirt)
  • 17.93% of students were female, up from 10.08% in 2013
  • This was the first Google Code-in for 552 students (83.9%)


Countries

In the chart below we display the countries with the most student participants.

This year we had nine countries with students participating for the first time: Azerbaidjan, Brunei, Chile, Jamaica, Kazakhstan, Nigeria, Oman, Saudi Arabia, and Taiwan.

Schools

Students from 397 schools competed in this year’s contest.


The five schools with the highest participation are:
  1. Dunman High School in Singapore for the second year in a row had the largest number of students completing tasks in the contest with 58, up from 20 last year!
  2. Govindram Seksaria Science P.U. College, Belgaum (GSS) in India had 49 students.
  3. Technical School Electronic Systems (associated with Technical University- Sofia) in Bulgaria was in the top five for the fifth straight year with 48 students.
  4. Sacred Heart Convent Sr. Secondary School, Jagadhri in India is in the top five again this year with 34 students.
  5. National College "Aurel Vlaicu" Orastie in Romania had 10 students.


Age of Students

The graph below shows the age breakdown of this year’s students.


GCI 2014 Student Age.png


Mentors and Organizations



  • 203 dedicated mentors from 40 countries (including six countries with mentors for the first time: Belize, Burma, Cameroon, Kazakhstan, Singapore and Uganda) helped guide students through the contest.
  • In true “pay it forward” style, 10 of this year’s mentors were former Google Code-in students. Great job!
  • The three organizations with the most tasks completed by students were FOSSASIA (587), Haiku (435), and BRL-CAD (383).


Every part of Google Code-in was bigger this year than ever before, but the most important part of the contest is that more students were introduced to open source software as teenagers. Congratulations students on all of your hard work! Thank you mentors and organization administrators for inspiring these young adults to contribute to open source software and welcoming them into your communities.


By Stephanie Taylor, Google Code-in Program Manager

MapReduce for C: Run Native Code in Hadoop

Wednesday, February 18, 2015

MapReduce for C: Run Native Code in Hadoop


We are pleased to announce the release of MapReduce for C (MR4C), an open source framework that allows you to run native code in Hadoop.