Tag Archives: students

Google Summer of Code 2016 wrap-up: CloudCV

This guest post is part of our ongoing series of posts from the students, mentors and organization administrators who participated in Google Summer of Code (GSoC), a program which gets university students contributing to open source software.

Google Summer of Code 2016 was a memorable one for CloudCV. Despite being a relatively “young” organization (this is just our second year as a mentor organization), there were many excellent applicants who put a tremendous amount of effort into their proposals and ramp-up tasks. It was difficult to choose!

CloudCV began in the summer of 2014 as a research project within the Machine Learning and Perception Lab at Virginia Tech, with the ambitious goal of democratizing computer vision and machine learning. We’re run exclusively by students and are working to enable developers, researchers, and fellow students to leverage artificial intelligence technology as a service and to share state of the art algorithms with the research community.

In line with this goal, we decided to build two tools that cater to computer vision researchers and hobbyists alike: CloudCV-fy your code and CloudCV-IDE. Though building two new platforms from the ground up was going to be challenging, our students’ motivation was overwhelming and their performance surpassed all expectations. We even demonstrated their work at CVPR 2016, a top-tier computer vision conference!

CloudCV-fy

A recurring use case for computer vision researchers, and many others, is to build a web-based demo and REST API to demonstrate the capabilities of their creations to the world. But web development involves writing hundred of lines of additional code across multiple languages (HTML, CSS, JavaScript, etc), which takes time away from research.


Our first student, Ashish Chaudhary, took on this problem by building CloudCV-fy. Over many iterations of design and development, Ashish delivered a tool that allows a user to simply write lightweight wrappers around their machine learning model/library and be done. CloudCV-fy automatically builds web-based interactive demos for them -- no need to tinker with HTML, CSS or JavaScript. Code to demo. Done.

The demo can be hosted on our servers, the user’s own server or any third party cloud service. As a result of this, researchers can focus on what they do best: designing and training models. CloudCV handles the rest. You can learn more in the write-up Ashish did on his blog.

CloudCV-IDE

There has been an explosion in the number of deep learning frameworks and it is difficult for researchers to keep up with all the latest tools. CloudCV-IDE, built by student Gaurav Gupta, addresses this by allowing a user to build a deep learning network with a drag-and-drop interface, then export to the deep learning framework of their choice (Caffe, TensorFlow, etc).

Gaurav also added support to import model configuration files in order to visualize any architecture. This is one of the first attempts to do this.



By the end of the summer, Gaurav delivered a great UI to visualize models with robust support for Caffe and TensorFlow back-ends. This was a successful start that we plan to build on by supporting more frameworks and facilitating collaborative building of deep learning models.

Overall, this was a highly productive GSoC for CloudCV. Our tools are under active development and we welcome contributions and ideas for new features.

We will definitely apply for GSoC 2017. If you are a student interested in participating we encourage you to get involved early! Feel free to reach out to us on our Gitter channel or on our mailing list.

By Viraj Prabhu, Organization Administrator for CloudCV

Intern Impact: Brotli compression for Play Store app downloads

This month, the Google Play team in our London office was hyped to welcome back Anamaria Cotîrlea, who joins us from Romania, where she studied in the Faculty of Mathematics and Informatics at Babeș-Bolyai University. As a software engineer at Google, Anamaria will be building upon the incredible impact she made as an intern on the Play team this past summer,  when her work resulted in saving users an expected 1.5 petabytes (that's 1.5 million gigabytes) of data each day.




Back in 2015, Anamaria did her first internship with Google in Krakow, Poland. The technical skills she honed at that time set her up for her second Google internship this past summer with the Google Play team. During that internship, she integrated Brotli compression with the Google Play Store in order to streamline app installs and updates. This is hugely meaningful because Android users download tens of billions of apps and games on Google Play — totalling over 65 billion times (and growing), in fact!


It takes a lot of data to download new apps and updates to your existing apps, and we know users care about how much data their devices are using. Play is continually investing in making these installs and updates smaller, and in December 2016, we announced that we started using a new approach to delivering updates, known as File-by-File patching, which reduced the average update size to 65% smaller than the full app.


Anamaria’s project was to add support for Brotli for both new app installs and app updates. Brotli is a compression algorithm developed by Jyrki Alakuijala and Zoltán Szabadka of the Compression Team at Google Research Europe. Brotli was initially launched in 2015, offering enhancements in generic lossless data compression, especially when used for HTTP compression. Its compression rates, speed, and memory usage have been continuously improved, and it has proven to be a powerful tool for app compression, generally outperforming GZIP.


During her internship, Anamaria evaluated Brotli’s performance on our app library and made the changes necessary to our servers and the Play Store app to deploy Brotli for app delivery.


Here are a few examples of Brotli’s compression rate compared to GZIP’s:


Description
GZIP download size (MB)
Brotli download size (MB)
Percent Brotli saves over GZIP
Update Pinterest
4.64
3.70
20.27%
Update WhatsApp
5.75
4.73
17.63%
Install WhatsApp
13.95
13.04
6.52%
Install Pinterest
24.76
24.14
2.51%


Not only is this great news for our Android users, but it is also a terrific example of the real-life problems that Google interns are helping to solve, as well as the impact a Google intern can have in just a few short months. Brotli compression for app downloads is rolling out now, and users should start to enjoy the benefits over the coming weeks.

Googlers on the road: FOSDEM 2017

The new year is off to an excellent start as we wrap up the 7th year of Google Code-in, ramp up for the 13th year of Google Summer of Code, and return from connecting with our compatriots in the open source community down under at Linux.conf.au. Next up? We’re headed to FOSDEM, Europe’s famed non-commercial and volunteer-organized open source conference.

FOSDEM_logo.png
FOSDEM logo licensed under CC BY.

FOSDEM is hosted in Brussels on the Université libre de Bruxelles campus and runs the weekend of February 4-5. It’s a unique event in the spirit of the free and open source software and is free to the public. This year they are expecting 8,000+ attendees.

We’re looking forward to talking face-to-face with some of the thousands of former students, mentors and organization administrators who have participated in our student programs. A few of them will even be giving talks about their recent Google Summer of Code experience.

If you’d like to say hello or chat about our programs, you’ll be sure to find a Googler or two at our table. You’ll also find a number of Googlers in the program schedule:

Saturday, February 4th

2:00pm    Bazel: How to build at Google scale by Klaus Aehlig
3:25pm    Copyleft in Commerce: How GPLv3 keeps Samba relevant in the marketplace by Jeremy Allison

Sunday, February 5th

10:40am  gRPC 101: Building fast and efficient microservices by Ray Tsang
10:50am  Is the GPL a copyright license or a contract under U.S. law? by Max Sills
12:45pm  The state of Go: What to expect in Go 1.8 by Francesc Campoy
1:00pm    Analyze terabytes of OS code with one query by Felipe Hoffa (more info)
2:50pm    Like the ants: Turn individuals into a large contributing community by Dan Franc

See you there!

By Josh Simmons, Open Source Programs Office

Announcing the Google Code-in 2016 Winners!

Drum roll please! We are very proud to announce the 2016 Google Code-in (GCI) Grand Prize Winners and Finalists. Each year we see the number of student participants increase, and 2016 was no exception: 1,340 students from 62 countries completed an impressive 6,418 tasks. Winners and Finalists were chosen by the 17 open source organizations and are listed alphabetically below.
First is a list of our Grand Prize winners. These 34 teens completed an astounding 842 total tasks. Each Grand Prize winner will be flown to the Google campus for four days this summer to meet with Google engineers and enjoy the Bay Area.

GRAND PRIZE WINNERS
Name Organization Country
Matthew Marting Apertium United States
Shardul Chiplunkar Apertium United States
Michal Hanus BRL-CAD Czech Republic
Sudhanshu Agarwal BRL-CAD India
Alexandru Bratosin CCExtractor Development Romania
Evgeny Shulgin CCExtractor Development Russian Federation
Joshua Pan Copyleft Games Group United States
Shriank Kanaparti Copyleft Games Group India
Dhanat Satta-awalo Drupal Thailand
Utkarsh Dixit Drupal India
Kaisar Arkhan FOSSASIA Indonesia
Oana Roşca FOSSASIA Romania
Raefaldhi Amartya Junior Haiku Indonesia
Vanisha Kesswani Haiku India
Ilya Bizyaev KDE Russian Federation
Sergey Popov KDE Russian Federation
Anshuman Agarwal MetaBrainz India
Daniel Hsing MetaBrainz Hong Kong
Dhruv Shrivastava Mifos India
Sawan Kumar Mifos India
Ong Jia Wei, Isaac Moving Blocks Singapore
Scott Moses Sunarto Moving Blocks Indonesia
Mira Yang OpenMRS United States
Nji Collins OpenMRS Cameroon
Cristian García Sugar Labs Uruguay
Tymon Radzik Sugar Labs Poland
August van de Ven SCoRe Netherlands
Deniz Karakay SCoRe Turkey
Jacqueline Bronger Systers Germany
Soham Sen Systers India
Filip Grzywok Wikimedia Poland
Justin Du Wikimedia United States
Sampriti Panda Zulip India
Tommy Ip Zulip United Kingdom

And below are the Finalists. Each of these 51 students will receive a digital certificate of completion, a GCI t-shirt and hooded sweatshirt.

FINALISTS
Name Organization
Bror Hultberg Apertium
Kamil Bujel Apertium
Ngadou Sylvestre Apertium
Apratim Ranjan Chakrabarty BRL-CAD
Tianyue Gao BRL-CAD
Trung Nguyen Hoang BRL-CAD
Danila Fedorin CCExtractor Development
Manveer Basra CCExtractor Development
Matej Plavevski CCExtractor Development
Daniel Wee Soong Lim Copyleft Games Group
Jonathan Pan Copyleft Games Group
Oscar Belletti Copyleft Games Group
Ashmith Kifah Sheik Meeran Drupal
Heervesh Lallbahadur Drupal
Neeraj Pandey Drupal
Adarsh Kumar FOSSASIA
Ridhwanul Haque FOSSASIA
Sanchit Mishra FOSSASIA
Dmytro Shynkevych Haiku
Stephanie Fu Haiku
Tudor Nazarie Haiku
Harpreet Singh KDE
Sangeetha S KDE
Spencer Brown KDE
Daniel Theis MetaBrainz
Divya Prakash Mittal MetaBrainz
Tigran Kostandyan MetaBrainz
Illia Andrieiev Mifos
Justin Du Mifos
Tan Gemicioglu Mifos
J Young Kim Moving Blocks
Maxim Borsch Moving Blocks
Quinn Roberts Moving Blocks
Shivani Thaker OpenMRS
Tenzin Zomkyi OpenMRS
Yusuf Karim OpenMRS
Emily Ong Hui Qi Sugar Labs
Euan Ong Sugar Labs
Pablo Salomón Ortega Quintana Sugar Labs
Basil Najjar SCoRe
Jupinder Parmar SCoRe
Thuận Nguyễn SCoRe
Muaaz Kasker Systers
Muhammed Shamil K Systers
Phoebe Fletcher Systers
David Siedtmann Wikimedia
Nikita Volobuev Wikimedia
Yurii Shnitkovskyi Wikimedia
Cynthia Lin Zulip
Rafid Aslam Zulip
Robert Hönig Zulip


The Google Open Source Programs Office is proud to run this contest each year. The quality of work from our participating students is incredible, and each year we look forward to meeting our Grand Prize winners in person. It’s exciting to see the next generation of coders emerge! We also owe a huge debt of gratitude to all of the mentors who helped guide each of the participants through their tasks. Without their tireless work over the past 7 weeks, GCI would not be possible.

Stay tuned to the open source blog - we’ll regularly post Google Code-in 2016 stories in the upcoming months including a full breakdown of contest statistics, wrap-up posts from the organizations, student highlights and more.

By Mary Radomile, Open Source Programs Office

Join the POSSE Workshop on Student Involvement in Humanitarian Free and Open Source Software

Are you a university or college instructor interested in providing students with experience in real-world projects? Are you interested in supporting participation in humanitarian free and open source software (HFOSS)? If so, join the Professor's Open Source Software Experience (POSSE) workshop being held at Google’s San Francisco Office, April 20-22, 2017.

Over 100 faculty members have attended past workshops and there is a growing community of faculty members helping students learn within HFOSS projects. This three-stage faculty workshop will prepare you to support student participation in open source projects. In the workshop, you will:

  • Become part of the community of educators which involves students in HFOSS
  • Learn how to support student learning within real-world project environments
  • Motivate students and raise their appreciation of computing for social good
  • Meet and collaborate with instructors who have similar interests and goals

Workshop Format

Stage 1: Starts February 23, 2017 with online activities. These activities will take 2-3 hours per week and include interaction among workshop instructors and participants.

Stage 2: The face-to-face workshop will be held at the Google San Francisco office, April 20-22, 2017. Participants include the workshop organizers, POSSE alumni and members of the open source community.

Stage 3: Comprises online activities and interactions among small groups. Participants will have support while involving students in an HFOSS project in the classroom.

Please click here to learn more about the POSSE workshop in April.

How to Apply

To apply, please complete and submit the application by February 13th. Prior work with FOSS projects is not required. The POSSE workshop committee will send you a confirmation email to notify you of the status of your application by February 23rd, 2017.

Participant Support

POSSE is supported by the National Science Foundation (NSF) and Google. NSF funding will provide two nights lodging and meals during the workshop. Travel costs will be covered up to $500. At this time,we can only support US-based faculty members. However, if you can support your own travel, please do submit an application!

Why is Google participating?

Google is participating in order to help educators overcome challenges identified in the POSSE workshop held last June, and to better support FOSS education in academia. We are very happy to host the first POSSE workshop located on the west coast of the United States.

See you in San Francisco this April!

By Helen Hu, Open Source Programs Office

Google Summer of Code 2016 wrap-up: Orange

This post is part of our ongoing series of guest posts from the students, mentors and organization administrators who participated in Google Summer of Code (GSoC). GSoC is a program that pairs university students with mentors for a summer where they apply their computer science skills to building open source software.

Orange Data Mining is a data mining suite with visual programming and interactive data analysis at its core. Orange was developed at Bioinformatics Lab at University of Ljubljana, Slovenia, it is written mainly in Python, and you can find it hosted on GitHub.

This was our third Google Summer of Code and we were given five slots and decided to select students based on two criteria: their proposal joined with their coding skills and the importance of the project to our organization.

Great work was done over the summer and we are proud to present our students’ projects!

Recommender Systems add-on by Salva Carrion

Salva independently implemented a new Orange3 add-on for recommender systems. He developed a scripting library for collaborative filtering for the core of the add-on, which includes a number of published matrix factorization algorithms. The scripting library is then further extended to include GUI-based widgets for visual programming.

Educational add-on by Primož Godec

Primož took on a task of developing a series of educational widgets for Orange3. The end result was a full Orange3-Educational add-on with four widgets that can be used to demonstrate key data mining and machine learning procedures in the classroom. These widgets are useful for helping beginners understand the inner workings of key algorithms in data mining, and for teachers to be able to visually explain the various methods. They include interactive and step-by-step visualizations of k-means, polynomial classification, and gradient descent.

Text add-on by Aliaxey Sukharevich

Orange3-Text add-on was already an active project before GSoC, but Aliaxey took it to another level. Twitter and Wikipedia public RESTful services were introduced as widgets to allow acquisition of data from new sources. Many widgets were boosted with new functionalities and methods (e.g. HDP, LDA and LSP methods in Topic Modelling widget). Preprocessing was redesigned and reimplemented such that it now handles n-grams and POS Tagging.

CN2 Rule Induction by Matevž Kren

The goal of this project was to implement a CN2 rule induction algorithm, and Orange widgets for learning and exploration of inferred classification rules. At the heart of the project is an implementation of a scripting library, which can be easily extended with additional divide and conquer algorithms or its components.

Porting Orange codebase to Pandas by Sašo Stanovnik

This was a gargantuan task and Sašo handled it beautifully. The goal was to consolidate Orange data structures and management routines to support data from Pandas. Sašo redesigned Orange data management core, did a massive amount of refactoring and improvements and removed legacy and unused code. The biggest challenge was of course preserving as much compatibility with the existing Orange interaction as possible while providing full Pandas flexibility. The result is a functional Pandas-based core Orange.

All contributions were committed on GitHub (Orange3, Orange3-Text, Orange3-Recommendation and Orange3-Educational repositories) and most of them are already pip-installable. The only contribution that has not yet been merged is the migration to Pandas, which will require adaptation and careful compatibility checking of other components of the system.

We are extremely grateful to be given the chance to participate in Google Summer of Code and to have had such amazing students at our lab. We can’t wait to apply again next year!

By Ajda Pretnar, Organization Administrator for Orange

Google Summer of Code 2016 wrap-up: QEMU


This post is part of a series of guest posts from students, mentors and organization administrators reflecting on Google Summer of Code (GSoC) 2016.




QEMU is a machine emulator and virtualizer. It can run operating systems and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC).  It is also used by hypervisors like KVM and Xen to virtualize x86, ARM, POWER and other architectures so virtual machines can run at near-native performance.

This year was QEMU's sixth time participating in Google Summer of Code and we had 6 students from around the world. Here are highlights from GSoC 2016:

Pranith Kumar worked on Multi-threaded TCG, a larger effort to make QEMU's just-in-time compiler multi-core friendly. He studied the memory ordering CPU instructions for many architectures supported by QEMU and devised a TCG opcode that can represent the memory ordering semantics. His patches allow TCG to correctly translate memory ordering instructions (previously they were ignored!). This is one piece of the puzzle to support multi-threaded translation and will help emulation scale to many cores. Pranith also contributed to testing and debugging multi-threaded TCG issues that he encountered while contributing to this cutting-edge part of QEMU.

Gerard Garcia worked on packet capture support for AF_VSOCK in Linux, tcpdump and Wireshark. QEMU recently gained support for the virtio-vsock device that allows socket communication between guest and host. The AF_VSOCK address family didn't support packet capture yet, making it hard to debug and observe communication between applications. Gerard’s patches implement the kernel interfaces and tcpdump/Wireshark functionality needed to monitor traffic over AF_VSOCK. This project was challenging because it required getting code merged in multiple open source projects. Gerard pulled it off with great skill!

Every year QEMU applies to participate in GSoC and we’re delighted for the opportunity to mentor students interested in systems programming, emulation, compilers and low-level code like firmware. You are welcome to get in touch on IRC or our mailing lists any time of the year to find out about contributing to QEMU. We also have a wiki page with small tasks you can get started on as your first step in QEMU programming.

By Stefan Hajnoczi, Organization Administrator for QEMU

Now accepting organization applications for Google Summer of Code 2017



We’re heading into the 13th year of Google Summer of Code (GSoC) and are now accepting applications for open source organizations. GSoC is a global program that gets student developers involved as open source contributors. Students spend three months working under the guidance of mentors on projects to expand and improve open source software.

Last year we had 178 open source organizations and 1,200 students participate. Open source organizations include open source projects and the umbrella organizations that often serve as their fiscal sponsors.



Do you represent a free or open source software organization? Are you seeking new contributors? (Of course!) Do you love the challenge and reward of mentoring new developers in your community? Apply to be a mentor organization for Google Summer of Code! Starting today we are accepting applications from open source projects who would like to serve as mentor organizations for enthusiastic student developers.

The deadline to apply is February 9 at 16:00 UTC. Organizations chosen for GSoC 2017 will be posted on February 27.

Please visit the program site for more information on how to apply, a detailed timeline of important deadlines and general program information. We also encourage you to check out the Mentor Manual and join the discussion group. You can also learn more by exploring our series of guest posts written by mentor organizations who participated in GSoC 2016.

Best of luck to all of the applicants!

By Josh Simmons, Open Source Programs Office

Google Summer of Code 2016 wrap-up: GitHub

Every year open source organizations, mentors, and university students come together to build and improve open source software through Google Summer of Code (GSoC). This guest post is part of a series of blog posts from people who participated in GSoC 2016.

GitHub-Mark-120px-plus.png


Open source maintainers at GitHub mentored 5 students in Google Summer of Code this year. The students did great work that we’d like to highlight and congratulate them on:

Updates to GitHub Classroom 

GitHub Classroom helps teachers automate their work and interact with students in issues and pull requests. Last summer two students took on projects to help teachers work more efficiently and with greater insight into their classrooms.

Classroom Project #1 

Cheng-Yu Hsu is a student who worked to implement new features suggested by teachers using GitHub Classroom, including due dates for assignment submissions and visualizations of classroom activities. In reflecting on the project, Cheng-Yu said:

"Having a great community is one of the most important factors of a successful open source project, so participating [in] the community is also a huge part of this project. It is great to have chances responding to user feedback, helping people resolve issues and brainstorming new features with them."

Classroom Project #2

Shawn Ding worked on student identifiers and team management for GitHub Classroom. This means that teachers using GitHub Classroom can use things such as student emails to identify their assignments. Teachers can also now manage their students and teams of students using GitHub Classroom via drag and drop in the settings page which then updates the data on GitHub.

Front-end controls for Jekyll

Jekyll Admin is a Jekyll plugin that provides users with a traditional CMS-like graphical interface to author content and administer Jekyll sites from the comfort of their browser. GSoC student Mert Kahyaoğlu has been using Facebook’s React framework to create the front-end that will allow you to write a new post, edit existing pages or add new files. And it will all work with GitHub Pages.

Best of all, Mert's plugin allows people to author content and administer Jekyll sites without knowledge of command line or installing an external text editor like Atom. Once installed, Jekyll users start their site as they would normally and simply append “/admin” to their site's URL to launch the WordPress-like administrative interface. Jekyll Admin's initial release is ready for use on your own site.

Octokit.net 

Alexander Efremov added support to Octokit.net for interacting with the GitHub API using a repository ID, alongside the existing support for providing the owner and repository name. This means integrators do not have to update their systems when a repository changes ownership. The changes to support these APIs were rolled out incrementally over a number of pull requests, and 0.21 release of Octokit.net made these new APIs available to the public.

We had a great time mentoring these students on their projects this year!

By Carol Smith, John Britton and Brandon Keepers, Organization Administrators for GitHub

Google Code-in 2016: another record breaking year

Today we celebrate the closing of the 7th annual Google Code-in (GCI) which, like last year, was bigger and better than ever. Mentors from each of the 17 organizations are busy reviewing the last of the work submitted by student participants.

Each organization will pick two Grand Prize Winners who will receive a trip to Google’s Northern California headquarters this summer where they will meet Google engineers, see exciting demos and presentations and enjoy a day of adventure in San Francisco. You can learn about the experiences of the 2015 Grand Prize Winners in our short series of wrap-up blog posts. We’ll announce the new Grand Prize Winners and the Finalists here on January 30.

We would like to congratulate all of the new and returning students who participated this year. We’re thrilled with the turnout: over the last seven weeks, 1,374* students from 62 countries completed 6,397* tasks in the contest.

And a HUGE thanks to the people who are the heart of our program: the mentors and organization administrators. These volunteers spend countless hours creating and reviewing hundreds of tasks. They teach the young students who participate in GCI about the many facets of open source development, from community standards and communicating across time zones to version control and testing. We couldn’t run this program without you!

By Josh Simmons, Open Source Programs Office

* These numbers will increase over the coming days as mentors review the final work submitted by students.