Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

opensource.google.com

Menu

Introducing FarmHash

Monday, March 31, 2014

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

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

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

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

By Geoff Pike, Software Engineer

Google Code-In 2013: RTEMS project report

Thursday, March 27, 2014

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

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

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

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

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

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

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

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

By Gedare Bloom, RTEMS Project Org Admin

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

Monday, March 24, 2014

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

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

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

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

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

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

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

By Christophe Rhodes, Org Admin for SBCL

Google Summer of Code: a celebration of India

Friday, March 21, 2014

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

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

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

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

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

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

Sri Harsha Pamu, NRNB 2013 GSoC Student

Open Source Release: LiquidFun 1.0

Tuesday, March 18, 2014

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

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

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

By Dave Friedman, Fun Propulsion Labs*

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

Progress in person: the 2014 Buildroot Developers Meeting

Monday, March 17, 2014

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

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

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

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

By Thomas Petazzoni, Buildroot Org Admin

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

Wednesday, March 12, 2014

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

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

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

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

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

Katie Cunningham (right) with two Young Coders

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

By Adam Fletcher, Google Site Reliability Engineer

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

Monday, March 10, 2014

Cross Posted from the Official Google Blog

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

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

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

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

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

Google Code-in and Haiku: four years strong

Friday, March 7, 2014

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


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

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

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

By Scott McCreary, Org Admin for Haiku

Google Summer of Code wrap-up: OSGeo

Wednesday, March 5, 2014

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

FOSDEM: an explosion of Google Summer of Code support

Monday, March 3, 2014

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

Next stop: Phnom Penh and FOSSASIA 2014!

Wednesday, February 26, 2014

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

Oppia: a tool for interactive learning

"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 www.oppia.org.

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

Mentoring Organizations for Google Summer of Code 2014 Announced!

Monday, February 24, 2014

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

Google Summer of Code Wrap-up: Mifos

Thursday, February 20, 2014

Another new organization for Google Summer of Code 2013 was Mifos, a diverse community of microfinance institutions, technology professionals, business people, volunteers, and contributors. Today’s guest post comes from Mifos Community Manager, Edward Cable.
mifos_color_updated.jpg
I'm proud to call our four student contributors, affectionately known as the A Team, graduates of the 2013 Google Summer of Code program. The three months of coding flew by in an instant and I marvel at the amazing work our students made across all areas of the platform. In addition to the dedicated efforts of our students, a big thanks must go to our team of mentors who guided our students on their journey throughout the summer. One mentor, Michael Vorburger, put this summer in perspective:
"How amazing is it that GSoC gets us four students — from Germany, China, Sri Lanka and India, coached by mentors from India, Ghana, and, Switzerland — to collaborate purely in cyberspace together on adding features to a microfinance platform... the world truly is flat."
Below is a list of projects our students worked on:
  • Anuruddha Premalal completed two projects — sr-side pagination and distributed caching, both of which have been shipped in our public releases with the caching being delivered in our 1.10.0 Release.
  • Yanna Wu’s  XBRL integration work is merged into the master branch and can be tried out on our demo server under the reports menu. You can follow her documentation as a guide. This can be used straightaway for integration with MIX Market and also sets us on the right path for integrating with other centralized reporting tools.
  • Andreas Weigel’s user-generated document module with mail-merge and WYSIWYG functionality has also been merged into the master branch; final documentation is on the wiki. Once a few more sample templates are complete, this will be shipped as our admin documents module; we'll also be re-using the templating engine as a major component of our SMS notifications module.
  • We are packaging up Avik Ganguly’s Excel-based import tool for an upcoming release; this tool is already being used for a live migration of data for Grameen Koota's individual lending operations.
Looking back on our first Google Summer of Code, we knew from the start that we had an awesome group of students that would be joining Mifos. Our community is already enjoying the benefits of their contributions and our students have continued on as active members of the community. Most importantly this is only just the beginning of their time with Mifos. We look forward to years of contributions and transforming them into future mentors for GSoC!
By Edward Cable, Mifos Community Manager

Public Lab and Google Summer of Code: Sky Camera, Infragram.org, and spectral database matching

Friday, February 14, 2014


Over the last few months, we have been featuring wrap up posts from veteran Google Summer of Code 2013 organizations. We’d now like to spend the next few weeks highlighting some of the orgs who participated in their first GSoC. Today’s wrap up comes from the org admin at Public Lab, a community where you can “learn how to investigate environmental concerns.”

 

Our first year in the GSoC program went well; with three students, we finished the summer with three exciting new projects, and our user community is already diving in and starting to use them.

Sky Camera

Mohit Meena (mentor: Chris Fastie) tackled a project to develop a new Android app which turns a cheap Android phone into a timelapse camera for use in turbulent conditions. For example, while suspended from a balloon or kite and taking aerial photographs. This app is designed to support the open source mapmaking toolchain of the Public Lab Balloon Mapping Kit and the online mapmaking tool MapKnitter.org. Mohit developed two versions for newer 4.x devices and older 2.3.x phones (which are probably more likely to end up tied to a balloon at 1500 feet). The app also sends a small preview image and a set of GPS coordinates to an email address you specify.  Find out more and install the app here: http://publiclab.org/wiki/sky-camera


Infragram.org  

Our second student, Bharat Bhustan (mentor: Don Blair) contributed to a highly collaborative effort to develop post-processing image compositing tools for Public Lab's open hardware project called the Infragram — a multispectral camera. The basic web-based conversion software fell into place quite quickly, but an exploratory branch of the project called Infragram Sandbox yielded some really interesting results. The Sandbox tool allows for compositing infrared/visible images with simple math expressions (which we're calling "infragrammar") which let you mix new images using terms for red, green, and blue (R,G,B) input channels. It's already become a powerful new way to do image manipulations for plant analysis, all in the browser. You can read more about this interface and watch an intro video here.



                       Spectral Database Matching


Our third student, Sreyanth Chary (mentor: Jeff Warren), tackled one of the hardest projects this summer — that of finding the most similar spectrum to any given spectrum in Public Lab's open spectral library at SpectralWorkbench.org. We wanted an optimized way to find the best matches from amongst the 10,000+ (and growing) open source spectra. While there were many ways to approach the problem, after seeking input from our open spectrometry discussion list, Sreyanth committed to one approach and did a great job, developing a technique that returns a ranked list of similar data in less than a second of database searching. He then ported the code from Python to Ruby once he'd proved his technique. Sreyanth’s documentation was extremely clear and well illustrated. 

Our students faced some unique challenges in integrating open source code with prototype DIY open hardware, and engaging with a community with perhaps more hardware hackers than software hackers. We're very happy with the results and hope to have the opportunity again! Thanks to all our super students and mentors!

By Jeffrey Warren, PublicLab.org

Google Code-in 2013: Numbers, Numbers, Numbers

Tuesday, February 11, 2014

In January, Google Code-in, our contest introducing 13-17 year olds to open source software development, finished up with really exciting results.

We had 337 students from 46 countries complete an astounding 2,113 tasks in the seven week contest. Students worked with 10 open source organizations on coding, documentation, training, user interface, research, outreach tasks, and quality assurance tasks. 60.2% of students completed at least three tasks in the contest.

Countries
The countries with the most students completing tasks are shown in the pie chart below:

This year there were six countries who for the first time had students complete tasks in Google Code-in:  Bangladesh, Ecuador, Greece, Hong Kong, Lebanon and Pakistan.

Pre-university/high schools
The five schools with the most students completing tasks in Google Code-in 2013 are:
  • Dunman High School in Singapore took the top spot this year with 20 students participating in this year’s contest, up from 13 in 2012.
  • Technical School Electronic Systems (associated with Technical University- Sofia) in Bulgaria was in the top five for the 4th year in a row with 18 students.
  • Sacred Heart Convent Sr. Sec. School, Jagadhri - India - 7
  • Thomas Jefferson High School for Science and Technology - Virginia, USA - 5
  • Freehold High School - New Jersey, USA  - 4

Age of Students
The graph below depicts the ages of the students participating in this year’s contest.

Mentors
There were 194 dedicated mentors from 40 countries guiding students throughout the contest. This year we had mentors from a few new countries including Egypt, Jamaica and Liberia.

More interesting stats
  • 67 students participated in at least one previous Google Code-in contest
  • 9.5% of the students are female
  • We had 11 grand prize winners this year range that were 15 or younger at the start of the contest
  • Wikimedia and Apertium both had a whopping 273 tasks completed by students

A huge thank you to all of the students, mentors and organization administrators who made Google Code-in 2013 a success! And thank you to all the parents and teachers who encouraged students to learn more about open source software development.

By Stephanie Taylor, Open Source Programs Office

A Decade of Google Summer of Code Celebration in Sri Lanka

Friday, February 7, 2014

This post comes to us straight from Sri Lanka courtesy of our guest writer, Lali Devamanthri. The Google Open Source Programs team recently held an event at The University of Moratuwa in Sri Lanka - a university which has had the most Google Summer of Code students for an impressive 7 years in a row. Read more about the event below.

Google Summer of Code, a program that pumps new blood into the open source world, is celebrating its 10th instance this year. Behind-the-curtain faces who initiate this unique program have been visiting the countries with strong participation numbers in the program.

As a result, a team from Google’s Open Source Programs Office visited University of Moratuwa in Sri Lanka on January 23, 2014. Since the program’s inception, 203 students from University of Moratuwa have participated, making it the highest number of students from a single university in the world. In total, there have been 265 students selected for the program over the last 9 years from all over Sri Lanka.

Over 320 people attended the event including past participants and mentors, open source luminaries, and prospective students. The event started by Kandyan dancers leading the way into the auditorium followed by the lighting of the traditional oil lamp.

After a warm welcome to all the invitees, the chief guest of the occasion, Hon. Vice Chancellor prof Ananda Jayawardena from University of Moratuwa spoke about the impact of open source software and how GSoC has worked as a driving force in the past several years. The Hon. VC also thanked all GSoC participants for bringing prestige to the University of Moratuwa.

Chris DiBona, Director of Social Impact and Open Source at Google, then spoke about how Google Summer of Code started, and expressed his excitement at the high participation rate from a small country like Sri Lanka. He concluded his talk with ideas about how to influence the younger generation to start participating in open source development. Two other Googlers from the Open Source team, Stephanie Taylor and Mary Radomile, talked about the steps involved in applying to this year’s program and 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!  Google Code-in (GCI), an open source coding contest for 13-17 year old students, was also introduced to the audience.

As the final invited guest speaker, Dr. Sanjiva Weerawarana spoke to the audience about the history of IT challenges in Sri Lanka and how open source communities have taken on a major role in solving them. He reminded GSoC participants to carry on contributing to the open source community past the end of the program and into their everyday lives.
Dr. Sanjiva Weerawarana
The event concluded with the exchange of gifts, including a plaque presented by Google to the University of Moratuwa celebrating it’s exceptional participation rates in Google Summer of Code these past nine years. Guests were also treated to modern Raga music, local cultural entertainment, refreshments, and informal discussion between guests and students.
University of Moratuwa students enchanting the crowd with Raga music
The event successfully raised the awareness of GSoC and open source development. Attendees were highly motivated by the event and I’m sure there will be more and more Sri Lankan faces in both Google Summer of Code and Google Code-in in the years to come!

By Lali Devamanthri, GSoC 2012 Fedora student and GCI 2012 Fedora Mentor

Mentoring Organization Applications Now Being Accepted for Google Summer of Code 2014!

Monday, February 3, 2014

Interested in finding bright, enthusiastic new contributors to your open source project? Apply to be a mentoring organization in the Google Summer of Code program! The organization application period is now open.

Celebrating its 10th anniversary, Google Summer of Code is a program designed to pair university students from around the world with mentors at open source projects in such varied fields as academic research, language translations, content management systems, games, and operating systems. Since 2005, over 7,500 students from more than 100 countries have completed the Google Summer of Code program with the support of over 440 mentoring organizations. Students gain exposure to real-world software development while earning a stipend for their work and an opportunity to explore areas related to their academic pursuits, by “flipping bits, not burgers” during their school break. In return, mentoring organizations have the opportunity to identify and attract new developers to their projects as these students often continue their work with the organizations after Google Summer of Code concludes.

To celebrate our 10th anniversary this year we will accept 10 more organizations that we ever have before -- that's 190 organizations. We hope we also get a record number of applicants!

The deadline for applying to be a mentoring organization for Google Summer of Code is Friday, February 14 at 19:00 UTC (11am PST). The list of accepted organizations will be posted on the Google Summer of Code site on Monday, February 24th. Students will then have two weeks to reach out to the accepted organizations to discuss their project ideas before we begin accepting student applications on March 10th.

Please visit our Frequently Asked Questions page for more details on the program. For more information you can check out the Mentor Manual, timeline and join the discussion group. You can also check out the Melange Manual for more information on using the program website. Good luck to all of our mentoring organization applicants!

By Carol Smith, Open Source Team

Google Summer of Code Veteran Org: KDE

Friday, January 31, 2014

Next week the application period for mentoring organizations for Google Summer of Code 2014 begins. For our 11th veteran GSoC post, the KDE team talks about a few of their students and their overall experience in the 2013 program.

Google Summer of Code 2013 saw 50 enthusiastic students coding for the summer, guided and assisted by their KDE mentors. In a span of ninety days, the students learned, innovated, created and contributed to one of the largest free and open source communities, and developed software that may affect users all over the world. As members of the KDE community, they've gained insights into the way the community functions and have had enlightening interactions with enthusiastic community members.

GSoC students and mentors have shared some quick thoughts on their experiences below:

Matěj Laitl (who worked on Amarok) joked that what he loved most about GSoC was that he got to spend his summer flipping bits instead of burgers!

"The satisfaction of working on a real life project and writing code for software which would perhaps be used by millions of people is indescribable.” -- Akshay Ratan (Plasma Media Center)

“The entire journey was truly remarkable and cannot be forgotten." -- Lukas Appelhans (Muon

Albert Vaca (KDE Connect) felt that he learned a lot throughout GSoC and was happy to work with such awesome mentors and believed that without their help and advice the project wouldn't have been possible.

"I first saw the GSoC poster in 2012, but at that time I didn't believe myself to be qualified enough to participate in it. But this year, my final year in college, I had made up my mind and this entire journey was a great learning experience for me!"  -- Yiou Wang (DigiKam

"It has been an amazing summer during which I've learned so much. I have evolved from a web newbie to a web enthusiast and had the chance to meet great people." -- Andrei Duma (Marble

Claudio Desideri working on Gluon as a part of GSoC said, "the possibility to learn new things, work on so many parts of a project, with so many technologies" kept him motivated!

Utku Aydin discovered something interesting during GSoC, "...that one can have a love–hate relationship with C++."

Lydia Pintscher, the main org admin and a driving force of GSoC in KDE, said, "I'm thrilled to see our community take such a large number of young bright people by the hand. Google Summer of Code and KDE have made such a profound difference in the lives of the students of previous years. I am looking forward to seeing where this year's students are going and how the projects they worked on are going to turn out."

Students worked on a vast array of KDE projects and developed new features this summer including:

  • A new collaborative text editor based on KTextEditor and KDE Telepathy
  • Animation support in Krita, a digital painting suite for real artists—professionals and those who create for the love and fun of it
  • Communication between a user’s Android phone and their KDE desktop, with features such as desktop notification of new messages, syncing photos over WiFi, pausing music automatically during a call and more.

New KDE applications were added by GSoC students, such as:

  • Artikulate – a foreign language pronunciation trainer
  • Khipu - an advanced mathematical function (2D and 3D) plotter
  • A web interface for KDE project reporting that provides information along with statistics and graphical reports
  • A localization team management tool that handles tasks such as application booking and the review process. Localization includes translation, documentation, and internationalization. KDE is translated into more than 100 languages.

To learn more about KDE participation in Google Summer of Code, please read this comprehensive report.

Thank You
A big thank you to the people in the KDE community who have been so supportive and have encouraged students to contribute to open source as part of the community. And thank you to the mentors for the time and effort put into guiding these students and for your assistance from the beginning—proposing meaningful GSoC projects—to the completion of those projects. And many thanks to the GSoC students who worked so diligently on their projects, helping to bring new ideas and energy to free and open source software.

Google Summer of Code is many months of hard work for everyone involved. It produces surprising results and fresh enthusiasm. It helps shape minds and attitudes, provides valuable experiences and delightful, life-long memories. It fosters a new sense of freedom and opens possibilities for the participants and the people who are touched by their work. The program and its participants are the epitome of the power of free and open source software.

By Devaja Shah, KDE team

.