Google Summer of Code wrap-up: Portland State University

Friday, October 16, 2015

We’ve enjoyed featuring new organizations to Google Summer of Code over the past six weeks. But it’s now time to turn our attention to our veterans. Portland State University is one of our longest running participants – 2015 marked their 11th year in the program!
Portland State University, in our eleventh year with Google Summer of Code (GSoC), is a relatively unique organization. Portland State is obviously not an open source project; neither are we focused on a particular kind of software or service. Instead, we concentrate on two attributes of projects: individual focus and academic relevance. Portland State serves as a home for projects that might otherwise not find an organization within GSoC, either because they require especially theory-based or academic mentoring or because there is no GSoC organization that fits. Even more than most organization, we insist that students do a self-contained piece of technical work. Many of our projects are "from scratch".

As with every year of GSoC, the results for Portland State this year are fantastic. We supervised projects covering a wide range of activities. Below are snippets about each of our student projects. You can view the full project descriptions and outcomes on our blog.

Alexia Ingerson: Efficient Parallelized Bitmap Compression
Alexia implemented a parallelized compression algorithm in C in order to run some CPU and cache analyses. She and her mentor originally hypothesized that the decrease in speedup was caused by an increase in cache misses, but analysis showed that it was in fact the I/O that could be significantly improved.

Hisham Benotman: Multiple Diagram Navigation Drupal Module
Multiple Diagram Navigation (MDN) is a Drupal module that allows website authors to incorporate diagrams, maps, infographics and other visual structures in their sites. The diagrams are supplied in SVG format. Using MDN, website authors can both connect shapes in a diagram to related shapes in other diagrams and to related Drupal nodes. Based on these connections, users can browse the website content using multiple diagrams which provide multiple points of view for the content.

Jon Barnes: Web Application for Geologic Thin Section Mapping and Mineral Analysis
Jon worked on Python-based code to identify minerals in geologic rock thin sections. The focus of this project was to work on a website to analyze and share data about thin sections between geologists. The first half of this summer he focused on building and designing the website, and the second half of this summer was focused more on getting the Django code to work for the site.

Josh Leverette: High-Precision Open Source Indoor Tracking System
Josh took on the task of getting a COTS 9-DoF Inertial Measurement Unit, the STM LSM9DS0, working with Linux and implementing sensor fusion with the goal of building a portable embedded system that could track a person through a building. His intended target was emergency First Responders, but the system has a variety of uses.

Karthik Senthil: A Tool To Build Definitional Trees
Karthik built an open source tool useful in the compilation and execution of Functional Logic Programming languages; this tool is related to research conducted with his mentor. The tool was completed successfully and fielded in demonstration projects.

Maxim Grishin: Commercial-Quality Sound In MuseScore
Maxim took on the task of improving MuseScore, a high-quality open source music composition tool that was not part of GSoC this year. In particular, the MIDI and audio generation needed some help, especially after the release of MuseScore 2.0 which made fundamental architectural changes.

Melissa Fabros: WebLogo: Making Sequence Logos Easy and Painless
A "Sequence Logo" is a graphical representation of RNA, DNA, or protein multiple sequence alignments. Melissa worked to rewrite portions of a web tool, WebLogo, for managing Sequence Logos. She modified WebLogo's front-end to enable the web application€™s use on mobile computing devices and to incorporate dynamic web features, modernized the HTML and CSS to meet Responsive Design€ standards, and added substantial capabilities around Sequence Logo upload, download and sharing.

Michael Kennedy: A Mobile Application Privacy Testing Tool
The aim of Michael's project was to develop a network privacy testing tool for Android applications. This tool detects the disclosure of personal information and specifically two disclosure issues: the "leakage" of personal information through unencrypted network traffic, and inappropriate disclosure of personal information to third-party providers such as advertisers (in encrypted and unencrypted traffic).

Nalin: XBoard Enhancement and Accessibility
XBoard is an open source cross-platform C program that is one of the oldest and most-used interfaces to Chess engines. Nalin took on the task of fixing some user interface issues in XBoard with the specific intention of improving accessibility for users with disabilities, under the mentorship of two of the XBoard authors.

Tim Cooper: Adding gRPC support To The Mumble VoIP server
Tim worked on the server-side code of the Mumble project, an open-source VoIP system that is primarily used in the online gaming community. He added support for Google's new gRPC library, one that allows developers to remotely invoke functions on a server. These changes allow Mumble server owners to write code in several different languages to interact with and change how their Mumble servers operate.

Vaibhav Sharma: Face Detection and Recognition In Videos
Vaibhav took on the task of recognizing actors' faces in videos using machine learning. Building the infrastructure alone was a major effort, and there were countless challenges in algorithms and techniques. One major hurdle was building a good corpus for training and evaluation.

Overall this was one of the best years ever for Portland State. I was really impressed with the students and with the work that they produced. I learned some valuable lessons that will be applied to the program if we are accepted next year, and as always really enjoyed the process.
Huge thanks to all the mentors and students who made this year so successful.

Bart Massey and Team, Portland State University