GSoC/GCI Archive
Google Summer of Code 2010

Portland State University

Web Page:

Mailing List:

We're the Portland State University Summer of Code team, participating in a sixth year of this fine activity. In the past five years, we've successfully mentored 29 students through projects in a variety of areas ranging from the immediately practical to the forward-looking esoteric.

Our specialty is projects that clearly benefit the student, the open source community, and society in general, but have no obvious fit in the standard mentoring organizations. In particular, we tend to focus on small-scale or individual, risky but promising open source "seed" projects that we think will grow into something great.

We like to mentor projects in the technology end of the open source space, including Linux kernel driver work and open hardware/software systems work with a solid code component. That said, a number of our projects have been at the library and applications level as well; one of our strengths is the ability to track down mentors for a wide variety of different kinds of activity. Portland, Oregon is an amazing place, and we're lucky to have access to a strong, diverse open source community.


  • Cockerel: A Web-based Educational Proof Assistant Based on Coq Using the Coq theorem proof assistant, we will connect a javascript based web editor that allows new students of logic to write and verify proofs. This will give instant feedback to students, allowing a more efficient learning process, and make the grading of these results easier on instructors.
  • Improving Linux kernel configuration using a boolean satisfiability constraint (SAT) solver The main idea of my project is to integrate a proper boolean satisfiability constraint (SAT) solver into the kernel configuration system. The SAT solver takes as input a list of boolean variables and constraints (formulae which must be true) for these variables, and finds assignments for the variables such that the constraints are satisfied. Using a SAT solver would greatly improve the usability and safety of the kernel's configuration system.
  • PatchMetrix: Understanding and improving OSS patch contribution process capability Although, the patch contribution process is very important to OSS projects, it has many issues. The aim of this project is to develop a tool, PatchMetrix, to collects data in order to gain better understanding of the OSS patch contribution process capability, and improve the process. PatchMetrix will includes patch statistics and visualization. The information provided by PatchMetrix will help identify key process problems, and guide the community in making improvements.
  • Shogi Application for Android I will port the program GNU Shogi to the Android platform, and create a polished touch-friendly interface to it. Shogi is a Japanese board game that belongs to the Chess family. As I am developing the program, I will maintain a blog that will detail the process involved in taking a command-line Linux application and converting it to a portable format. This tutorial series will amplify the effect of my work by teaching others how to port open-source programs to Android.
  • Symbolic Framework for Quantum Computation in Sympy Quantum computation is an exciting new field that promises to turn many hard problems into computationally practical ones. Sympy is a powerful symbolic library for python that produces highly human-readable code. Using the symbolic framework of Sympy, I plan on creating a set of libraries that will symbolically simulate a quantum computer in a notationally clear way.