GSoC/GCI Archive
Google Summer of Code 2015

Portland State University

License: MIT license

Web Page:

Mailing List:

We're the Portland State University Google Summer of Code team. We've participated in the past ten years of this fine activity. During this time, we've successfully mentored 72 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 also do well with students whose coding projects have an academic bent. We often mentor projects in the technology end of the open source space, including hardware/software systems work with a solid code component. We have also partnered with other organizations, including Weave, SymPy and Washington State University, to mentor their students while they prepare for the GSoC org admissions process.

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.


  • A high-precision, open source indoor tracking system for first responders I propose that it is possible to use an inertial measurement unit consisting of a digital accelerometer and gyro to track the location of a person in three dimensions solely using inexpensive MEMS IMUs. IMUs are notorious for losing accuracy over time, but they are reasonably accurate for short periods of time. This technology could be used to share real-time location information with nearby responders to make search and rescue more effective, and to allow precise rescue of trapped responders.
  • A Mobile Application Privacy Testing Tool My project proposal is the development of a privacy testing tool for mobile applications. The aim of this tool is to identify common network based privacy threats in mobile applications, with the target audience being Android mobile developers. Privacy tools exist for users of mobile applications to detect privacy threats and some provide options to prevent personal data disclosure. However, there is a lack of tools available for mobile application developers to detect privacy issues.
  • A tool to build Definitional Trees A Definitional Tree is a hierarchical structure of the rules defining an operation in a program. For investigating and experimenting with evaluation strategies and compilation techniques for a program it is convenient to start with a definitional tree without the machinery and complexity of a compiler. Unfortunately, building a definitional tree by hand is a lengthy and tedious process. This project aims at building a tool for easily constructing a definitional tree for a given function.
  • Add grpc support to the Mumble VoIP server Mumble is an open source VoIP system that provides a free, high quality, voice communication alternative to proprietary software such as Teamspeak and Ventrilo. Mumble allows server-side scripting using a proprietary RPC library. The library allows programs such as chat filters and custom user authentication schemes to be written for a Mumble server. This project will add RPC support to the Mumble server using Google's new grpc library; an RPC library based on Google's protocol buffers.
  • Efficient Parallelized Bitmap Compression I will be implementing a parallelized bitmap compression system system that supports three of the most widely used compression algorithms: WAH, PLWAH, and VAL-WAH. I will use performance profiling tools such as Valgrind and OProfile to analyze caching patterns and memory performance in order to ensure high-performance when it comes to this compression.
  • Face Detection and Recognition in videos My project focuses on building a software that can easily identify famous personalities in a video using semi supervised learning techniques.
  • Improving sound in MuseScore up to the level of commercial software MuseScore is an open source scorewriter and the main goal of this project is to create a tool for engraving notes. MuseScore can play created composition, but the sound is limited. Better sound is a top requested feature in MuseScore for years, and a lot of people can't move to MuseScore from commercial software because of poor sound. My goal is to improve sound in MuseScore by simplifying connection with other software.
  • Multiple Diagram Navigation Drupal Module A picture is worth a thousand words. A diagram is sometime worth a ten thousand words [1]. Diagrams, maps, infographics, and other visual structures can provide a helpful overview to website content. MDN will allow Drupal website authors to incorporate different diagrams in their sites to provide different perspectives.
  • Web Application for Geologic Thin Section Mapping and Mineral Analysis A web application for geologic thin section data analysis and GIS mapping. Users will be able to upload optical microscope images and SEM data. The images will be converted to slippy maps with different layers for each microscope image type. Users will share locations, elemental data, and get a detailed PDF report. This project combines image analysis, GIS, SEM data, and mineralogy based geology - all open source and as an online tool for user collaboration around the world.
  • WebLogo --Making Sequence Logos Easy and Painless WebLogo is designed to easily generate a graphical representation of RNA, DNA, or protein multiple sequence alignments. WebLogo’s sequence logos provide a richer and more precise description of sequence similarity than consensus sequences, and WebLogo rapidly reveals significant features of the alignment otherwise difficult to perceive. WebLogo’s web site is available to all users without a fee, or WebLogo’s source code can be run on a local server.
  • XBoard Enhancement and Accessibility I understand that XBoard needs a GTK developer from their webpage. And it is still using Gtk2 not the updated version of Gtk(3). And also it seems that XBoard GTK demands for some more accessibility features. What i have noticed is that there is no navigation of pieces using arrow keys and also it does not help a visually challenged person to know current position of pieces in the board. it is also noted that ORCA(Screen Reader) does not right away announce the movement played by the opponent.