Summer 2010

BWAPI, by Luke Perkins

The Brood War Application Programming Interface (BWAPI) is a free and open source C++ framework for creating AI modules for Starcraft: Broodwar. Using BWAPI, programmers can retrieve information on players and individual units in Starcraft as well as issue a wide variety of commands to units, opening the doors for custom AIs with new micro and macro algorithms.

CAGE, by Michael O'Keefe

CAGE is a software platform for controlling computers based on hand gestures.

Donor Database, by Ryan Dignard

Based on the project of last summer to develop a database for an Indian charity for cancer patients, this project

Ease, by Nate Stedman

A presentation application for the GNOME Desktop, based on GTK+ and Clutter.

Fire Department Management System, by Joseph Dougherty

The Fire Department Management System is a program which greatly simplifies the process of logging and tracking the large quantity of data that fire departments deal with on a daily basis.

Flagship Geo, by Brian Michalski

Flagship Geo is a unified map framework enabling anyone to easily add support in an application for custom maps with points, paths, and polygons without having to write their own custom map code for your desired map provider.

Floodlight, by Graylin Kim

A transparency centered web app built on the Open Legislation API hosted by the NY Senate CIO.

Glide, by Robert Carr

Presentations for GNOME

Gmail Adventures, by Jason Zalinger, Jeremy Therrien, and Eric Newsom

Can you learn anything new about yourself by "playing" your Gmail as a video game? This research question is the fundamental driving force behind Gmail Adventures, an open-source, Python video game that downloads a users Gmail in the hope of encouraging them to explore their own digital history. The program was built on the philosophy that we are all digital storytellers, historians and autobiographers of our own lives, and for millions, Gmail is one of the primary tools we use every day to record the bits and bytes of our narrative life. We argue that Gmail is a new kind of storytelling platform upon which we are building and storing the various audio, visual and textual elements that make up our life stories. We are very good at capturing personal data, but we are not very good at helping users make sense of it. Thus, Gmail Adventures is designed to test new ways of “seeing” and understanding our digital history. We are attempting to re-imagine email interfaces. The program needs one more summer of work while I conduct semi-structured testing and interviews with participants in preparation to submit for publication to a peer-reviewed scholarly journal. I already have IRB approval to interview users about their experience "playing" the game. This summer, I am confident my programmer, Jeremy Therrien and artist animator, Eric Newsom can not only finish an innovative program but can also begin data collection for a publishable paper that contributes new knowledge to how we interact with what I call "narrative systems" like Gmail. The source code may be downloaded here: http://code.google.com/p/gamecomic/

IntuiTask, by Anthony Loven and Brittany Jason

Agenda manager for the Android mobile platform. Summer 2010 goal: create a highly customizable agenda manager with category specifications that is suitable as a replacement for the default. Fall 2010 goal: Incorporate GPS into the program to alert the user when they are close to a relevant location for a high or medium priority task - groceries, prescriptions, etc..

JumpStart, by Ryan Baltazar and Ben Shippee

We will be documenting the process of setting up and maintaining a mapping data server with JumpStart International for others to use.

NYSS OpenLegislation Library, by Graylin Kim

An open source Python library developed to assist developers in working with OpenLegislation, the new legislative information service from the New York State Senate.

OMG: Open Math Game, by Ben Shippee and Ryan Baltazar

Educational game focused on math and logic. Suitable for grades 4-6.

OpenGambit, by Jacob Katz

This project works to match a simple chess engine with an intuitive GUI. The ideal end result can be deployed on decrepit PCs and teach chess wordlessly, through "doing", as it were. In addition, the bundled engine will add to the thin ranks of open source chess engines, perhaps providing a legible jumping-off point to hobby coders with interest in AI.

Project Community Connected, by Matt O'Brien

Open-source community bulletin board

Sahana Eden Development, by Stephen Trombetti and James McMillan

Assisting in the development of the Sahana Disaster Management system.

Swooge, by Yonatan Naamad

Development of some prediction market software. Somewhat confusingly, there are two competing implementations at this point.

Votebox, by Nicholas Steele

droidViz, by Sean Austin, Griffin Milsap, and Diana Mazzola

Android Visualization Library that runs on the NDK using the Highest Level of OpenGL available. This will provide developers the ability to integrate their own generating ideas to feed into our library that will produce unique and stimulating visuals.


Spring 2010

Android Development, by Zachary Alberico, Brendan Ashby, Baran Bagcilar, Matthew Gerrior, Lindsey Kennard, Maria Montenegro, and Zhenzheng Zhou

We're creating an RCOS android development group that will develop several applications for google's gnu/linux based mobile platform. We've chosen android because it closely aligns itself with the open source community and is relatively new allowing better market penetration for our applications. Currently we have three ideas: 1. An 'Academic Toolkit' that will provide the following... -Grade tracking for multiple classes. -Computes average based on guidelines set by professors. -Updates average when new grades are added. -Provides user with graphs showing averages for different assignment types, as well as current average throughout the semester. -Ability to compute GPA for current semester. -Alert students when their average falls below a predetermined amount. -Computes grade needed on certain assignments for user to maintain their current letter grade, or improve it. 2. A college text book selling/buying application that eliminates the middleman. 3. A college car pool application to help students find rides within their university. We're going to start with the Academic Toolkit application because it's lack of network features will make it easier for us to learn the characteristics of android and get an application to market.

Automatic Paper Classification, by Allen Lavoie

I'll be working on applying methods from machine learning to automatically classify academic papers as either computer generated or genuine human productions.

Awesome-Wav, by Timothy McMullan and Tom Rozanski

The awesome-wav project is a project designed to encode any data file into a PCM WAV audio file and be virtually undetectable. The potential uses for this project are many and varied.

CAGE, by Eric Allen and Michael O'Keefe

Michael O'Keefe and Eric Allen will be working on a gesture recognition system using the eZ430-Chronos wristwatch and custom desktop software. This system will allow users to make gestures using their hand (equipped with a wristwatch) that control their PC. The system will consist of a library for interfacing with the wireless system, a suite of applications that leverage the library on the desktop, and custom firmware for the wristwatch. Applications will include mouse control, slideshow control, and character data entry. If time permits, we will develop software that allows interaction with the wristwatch itself using gestures, without the aid of the desktop.

CHASM, by Ben Boeckel, Robert Escriva, and Joe Werther

CHASM is the Cryptographic Hash Algorithm Secured Mirroring solution. An ambitious project to replace rsync as the leading mirroring solution for Linux distributions and other large projects with multiple mirrors with a peer-to-peer system that also provides assurances about the integrity of mirrored data.

Clutterhs, by Matt Arsenault

I’ve been working on Clutter bindings for Haskell.

Computer.Build, by Eric Allen

Computer.Build is a high-level language for defining computer processors and their instruction set. The high-level Computer.Build code is compiled to an intermediate hardware description language, which is then translated to VHDL. As a computer science research project, Computer.Build is implemented in both Ruby and Clojure. The primary goal of Computer.Build is to compare and contrast the metaprogramming facilities available in Ruby and Clojure, while the secondary goal is to create a useful tool for rapidly prototyping microprocessors.

Ease, by Nate Stedman

I will be developing a new desktop presentation application for GNOME, entitled "Ease". Currently, the de facto choice in this area is OpenOffice.org Impress, which is poorly integrated into the desktop and is, in my opinion, a very clumsy and badly designed application in general. Compared to Apple's Keynote or even PowerPoint, Impress is a decidedly weak option.

Firmant, by Robert Escriva

An open source content management system that stores content in revision control and builds static files.

Floodlight, by Graylin Kim and Cihan Caglayan

Floodlight is an open source data visualization tool for legislative data being built for use with the NYS Senate Open Legislation API.

GNOME Contact Management, by Tim Horton

Design and Implement Contact Management System for GNOME Desktop

Glide, by Robert Carr and Amy Wielizcka

We plan to develop a presentation software for gnome desktop - building bottom-up and a compact software.

InsertWebsiteHere / Wax PHP Framework, by Joe Chrzanowski

InsertWebsiteHere uses concepts developed and refined in the RPI off-campus housing system as well as several other systems with a dynamic data model. The theory is that there is generally 1 primary data model and then all primary functionality is based around that one model. In the case of the housing system, that model is an apartment listing. In the book example, the model is a book.

Lightbulb, by Peter Hajas, Priti Kumar, and Aileen Sheedy

Lightbulb is the open-source RFID-based computing environment designed to make computers accessible to everyone.

MateriaLab, by Anna Cyganowski

MateriaLab aims to fix this void in educational gaming by helping students (and other curious learners) gain an intuitive appreciation for the field of materials science. In its completion, it will be a world in which users absorb basic concepts by exploring a virtualized integrated circuit fabrication facility.

Progcomp, by All RCOS/UPE Members

Group effort to automate ACM/UPE/RCOS programming competition submissions, grading, testing etc with a hope to make this available to other universities.

RCOS Dashboard, by Eric Allen, Robert Escriva, and Nate Stedman

RCOS Dashboard started out as a little app I threw together in a couple of hours to keep track of all of the projects in RCOS. Since then, it's become integral to the RCOS process, automating many tasks for the group and providing transparency into the projects during the semester.

RPInventory, by Josh Elser

RPInventory is an open-source web-based inventory management system. Written in PHP, RPInventory aims to allow users to store many organizations' inventory in one easy to manage system.

Stater, by Ben Boeckel

Command-line client for status.net and Twitter.

Synergy+, by Brendon Justin

Synergy+ enables the sharing of one mouse and keyboard between networked computers, similarly to a KVM switch but in software.

Tapku Library, by Devin Ross

’ve been working hard to prepare my application Attic for launch on the App Store. Most recently, I’ve been working on squashing any last minute bugs and localizing the application for different languages. I’m happy to say that testing the application now consists of acting like a 2 year-old pressing the screen in randomly until something breaks. I’ll be writing about all promoting the application and more once the application finally is published, so stay tuned. I’ve been working on other tapku library as well.

Universal Decompiler, by John McMaster

Embedded targeted decompiler. Features configuration file driven CPU and analysis features including some support for converting binaries to object files. Semester work focused on FLIRT technology (IDA FLAIR toolkit) compatibility.

Votebox, by Joseph Dougherty, Matthew Heffler, and Brian Heller

Votebox is an open source electronic voting machine. The Votebox team is planning to have five prototype machines ready for use in RPI's Spring Grand Marshall or Fall Freshmen election, a campus wide event in which students will vote for and elect a new Grand Marshall/Student leader of the student body.

civscore-tools, by Peter Healy, Jimmy Kiselak, and Bryan Yudkin

Tools for working with the Freeciv civscore.log file

droidviz, by Sean Austin, Richmund Fries, Diana Mazzola, and Griffin Milsap

We're working toward an open source visualization engine for the Android platform (think milkdrop).

gitswitch, by Robert Escriva

Create a new public project from command line.

medialist, by Jonathan Rosenberg and Justin Lipton

medialist is a set of code that allows an admin to create a site for the comparison of various types of media. It allows an admin to specify what his users would like to compare tastes in, the characteristics of those things, and to create a database specifically tailored to those characteristics. It includes a forum, an implementation for user pages, lists, and groups, and a database for storing descriptions of the media to be compared. Functionality includes a quick compare of compatibility with other users, as well as discovery of similar users, or media correlated with the tastes of a user.

notifier-general, by Peter Healy, James Kiselak, and Bryan Yudkin

This project aims to create a general purpose and customizable notification system for various data sources. Other systems like this exist(google text alerts, yahoo sports alerts) but they are not customizable, one has to choose from the alerts that are provided.

uctui, by Corey McClymonds and Patrick Stetter

Uctui is a collection tool user interface. Uctui will serve to fill a niche in music collection management. If you've ever used Picard (and if you haven't, I really recommend you do), you'll understand the value in tools to help manage music libraries.