Life after Google Summer of Code

My name is Oscar Castañeda, I am a student from Guatemala currently doing a master’s in Computer Science at Delft University of Technology (TU Delft) in The Netherlands. For the 2010 Google Summer of Code I completed a project with the Google Open Source Programs Office as my mentoring organization and professor Michel van Eeten (TUDelft) and Nitin Bhide (Founder SVNPlot) as my project mentors.

In my research I study behavior in code production for all open source projects in the Apache Software Foundation (ASF) from 2004 to 2009, and this research was the subject of my Google Summer of Code project. I contributed to SVNPlot, a tool that creates various type of graphs and statistics from Subversion logs. My contributions enable SVNPlot users and developers to generate networks of file co-authorship that can be used to study behavior in code production, like the graph below which shows code production in the Apache Hadoop community and sub-communities in 2009.

After having finished my project in August, one remaining goal I had was to give a talk about my project, so presenting at ApacheCon NA this year was a good opportunity to accomplish that task.

I was able to travel to Atlanta and attend ApacheCon thanks to sponsorship from the ASF’s Travel Assistance Committee (TAC). The experience has been outstanding and packed with lots of fun. Other students and open source enthusiasts from all over the world were also sponsored by the ASF. We assembled into what became known as the “TAC Team.” As part of the TAC Team, we were in charge of chairing conference sessions, hosting Meetups and helping out behind the scenes. Best of all, we could attend the full conference and all the fun events that followed.

For me the experience was particularly interesting because I met many of the committers that power the ASF. Having done research on how ASF developers organize into communities, attending ApacheCon allowed me to put faces to usernames several times.

My challenge at ApacheCon was to give a talk to the very people whose code production behavior I had studied. The approach I took was to practice, practice, practice.

BarCamp offered an initial ice breaker in the preparations for my talk. The unconference style of BarCamp made it easy to propose a topic to talk about for 30 minutes. I simply posted a sticky note on the white board with the title “What is Meritocracy?” As soon as my slot started I noticed that BarCamp would be an interesting experience. Rather than just a presentation, the BarCamp talk I had proposed turned into an active exchange of ideas where I received many challenging questions.

Chairing conference sessions also helped me prepare for my talk. As session chair I was introducing speakers and assisting them with time management. In addition, I was sitting in on sessions, and seeing the speakers present helped me get into the flow of speaking at a conference. I found extraordinary examples in talks on Hadoop, Tuscany, and Mahout. And finally, the day came for me to present.

I was scheduled for the first morning session in the community track. It was a pleasant surprise to see that over 30 attendees showed up for my talk. All of them were well-prepared with mugs full of coffee, ready to listen to my morning talk. And in the end I found that practice does pay off. I wasn’t nervous and felt confident giving my presentation, a feeling that was reinforced when I saw that the audience was actually awake! However, deeper into the session I lost track of time. Luckily a fellow TAC team flashed the 20 minutes card, showing me that I could finish all my slides and still leave time for questions. The slides and a recording of my talk are available for those who want to know more.

Overall the experience has been very gratifying. I met lots of interesting people and learned more about open source and new developments there from the developers themselves. I highly recommend future Google Summer of Code students to consider including presenting their project at a conference as one of their project goals.

Adding Robots to Wave in a Box


Starting this past July, I had the opportunity to spend some time “Down Under” working as an intern on Google Wave. Since I had worked with Google before on building the open source software that runs the Google Summer of Code and Google Code-in, I joined the Wave open source effort this time. I was primarily focused on open sourcing the Robots API, so that non-Google wave servers could support robots for their users.


One month into my internship, Google announced its plan to discontinue developing Wave as a standalone product, however Wave technology will continue to move forward as an open source project.

The Wave open source project, renamed Wave in a Box, is aiming to become a server for hosting waves inside a small company or community. With a few extra steps you will even be able to talk to other wave servers all over the world, based on a concept called “federation.” Over the past few months the Wave in a Box team has made a lot of improvements, for instance the panel for viewing waves now supports much more of the functionality from Google Wave, and it looks better and is a lot faster too!

The Robots API has now also been included in Wave in a Box and has most of the functionality available on Google Wave. One of our example robots, Echoey, for Google Wave also works on Wave in a Box. This robot — as the name might suggest — echoes whatever is being typed. Due to the realtime nature of Wave, the echoing happens while you type!

Wave in a Box still has a ways to go and the future of the project is being discussed at this week’s Wave Summit in San Francisco. Keep an eye on the Wave in a Box website for videos of the sessions. If you are interested in running your own wave server or want to help make Wave in a Box better, take a look at our repository and mailing list.

By Lennard de Rijk, Google Wave Team