Summer of Google

Self-replicating artificial life is to many the stuff of science-fiction. To some, however, the creation of artificial cells and the opportunity to study synthesized life is another day at the office. Or rather, lab. Last spring at Reed College, computational mathematics and philosophy major Devin Chalmers watched an A-life presentation on Reed alumnus Norman Packard’s Bugs model, and was hooked.

Self-replicating artificial life is to many the stuff of science-fiction. To some, however, the creation of artificial cells and the opportunity to study synthesized life is another day at the office. Or rather, lab.

Last spring at Reed College, computational mathematics and philosophy major Devin Chalmers watched an A-life presentation on Reed alumnus Norman Packard’s Bugs model, and was hooked.

“I went home that night and wrote a program for it,” Chalmers said. His advisor at Reed was impressed with the work, to the extent that Chalmers decided to take it to the next level and turn it into a full-blown programming project.

This summer, Chalmers became one of 1,125 students to join the Google Summer of Code program. His proposal to develop a scaleable A-life framework–a program that would act as a canvas for other research into artificial life–was selected by Portland State as one of the six projects the university would sponsor as part of the Summer of Code.

Now halfway through its fourth year, Google’s Summer of Code spans 90 countries and has paired students with 177 open source organizations to develop their own projects and enhance their programming skills.

The Summer of Code’s goals reflect the heart of open source: essentially, to build up a collaborative community around the development and release of code designed “for the benefit of all.”

Google has built up this ideal around supporting and training future programmers over their summer breaks. The idea is summed up in the program’s genesis phrase “flip bits not burgers” during summer holidays.

“It’s an opportunity to get new developers into the open source community,” Portland State associate professor Bart Massey said.

Students selected for the program are paid a stipend of $4,500, split into three payments: a $500 chunk at the beginning of their project, $2,000 at the mid-term evaluation and the final $2,000 is paid out upon successful completion of their project.

The mentoring organization receives $500 for each successful student project completed under their watch.Massey, who is the Summer of Code project coordinator for both PSU and www.x.org this year, said most organizations, such as the Apache Software Foundation and Wikimedia, generally look for projects that are continuations of existing open source projects already out there.

Conversely, he says Portland State actively seeks out often-quirky project ideas that stray off the beaten path.

“PSU has kind of an unusual place in the Summer of Code program,” Massey said.

Among this year’s project selections from the PSU team, Adam Bresee is working on a program that would scan information from the U.S. patent database and parse it into a clearer reading format. Another student, Ryan Crawford, is creating a real-time web-based server for a game called Nomic, where changing the rules is a playable move.

“PSU’s also unusual in that most of the organizations that Google has selected are flat-out open source organizations,” Massey said. “There are only a few organizations that are, um, not traditional open source organizations, and of those PSU is probably the least traditional.”

Massey said Portland State typically chooses projects that are freestanding smaller concepts leaning more towards an academic bend, and that are not typically part of an existing larger open source project.

“I was real lucky that PSU was around, because they’re sort of a catch-all organization for projects that don’t fit into the established open source projects that Summer of Code does,” Chalmers said.

PSU’s unique position as the odd goat in the coding herd enables program coordinators to seek input from the greater Portland community on the types of student proposals the university accepts.

“We’re really blessed in Portland–not just at Portland State, but in the Portland community, with an incredibly wide range of incredibly talented people doing open source development,” Massey said.

Massey expressed gratitude towards the Portland open source community for their continuous support and input on the projects.

“Everybody’s been incredibly generous, the amount of volunteering and support and that sort of thing,” he said. “It isn’t just that these people are amazing–which they are–it’s that they’re amazingly generous with their time.”

Loren Davis, a mathematics and computer sciences major at Portland State who is participating in the Summer of Code, is experiencing that generosity firsthand this summer.

Davis is working on creating a program that will allow faster, smoother communication between programs on machines running a Linux operating system.

Davis’ project will be the third incarnation of the Doors inter-process communication library since it was first developed by Sun Microsystems, and Massey said it has been generating interest in the field.

“I was very fortunate that Greg Kroah-Hartman, who is a pretty big Linux kernel developer, took an interest,” Davis said. “He ended up volunteering to mentor me on the project.”

By the time the projects are wrapped up in September, they will be published online to the world for further development and improvement, true to the nature of open source.

“It’s not just something I’m writing for myself now,” said Chalmers. “It’s something that’s going to be released to the community and hopefully other people will actually use.”

Portland State University 2008 Summer of Code Projects

[SPARSE] A C code “linker” based on sparse, required to build an advanced static analyzerBy Alexey ZaytsevMentor: Joshua Triplett

CocoaBugs: Novel, Usable, Beautiful Artificial Life FrameworkBy Devin ChalmersMentor: David Percy

Open DoorsBy Loren DavisMentor: Greg Kroah-Hartman

The PostgreSQL Optimizer ExposedBy Thomas West RaneyMentor: Len Shapiro

Revamping Lush’s Memory ManagementBy Ralf JuenglingMentor: Keith Packard

A System for Patent Categorization and AnalysisBy Adam BreseeMentor: Len Shapiro

OpenNomic: A Web-Based Real-Time Nomic ServerBy Ryaan Crawford CorneauxMentor: Barton Christopher Massey