Gedare Bloom

Software

This page describes some of my open-source software projects and contributed work. A lot of this software was written while conducting research projects.

I’m still working on organizing this material, and almost always writing new code. Come back in awhile.

RTEMS

I am an active contributor and committer to the RTEMS Project, an open-source real-time operating system in use by industry, government, academia, and hobbyists.

Some of the larger projects I’ve done include:

Some unmerged or archival projects may be found as branches on my github fork.

I mentored the following student projects as part of Google Summer of Code or ESA Summer of Code in Space.

gem5

I hack on and make contributions (mostly bug fixes) to the gem5 simulator.

C++ STL Data Structure Profiling

I implemented some timing and operation counting within the gcc 4.7.1 (libstdc++) STL profile mode. The code is available on github, but it was not merged upstream. I updated some parts of it to 4.9.2, but the patch fell through the cracks. I described this effort on my blog.

Fetch flagged email

I wrote Python script to ease downloading and applying git patches from gmail.

Secure Bulletin Board

Stefan Popoveniuc and I implemented a secure bulletin board service for electronic voting. I implemented the back-end consisting of cryptographic multisignatures and majority-rule consensus among mutually untrusting servers in C with the Spread toolkit. Stefan implemented the front-end. The code is not currently available, but I might drop it on github someday.

Healthcare Informatics

As an applications analyst for Bloom Road Consulting Group LLC I wrote a handful of C++ data processing applications, along with a number of scripts and modules for Word, Excel, and Base. This software was all proprietary, although I do retain the right to produce derivative works in most cases.

Particulate Matter Segregation

As an industry-funded undergraduate research project, Justin Ter Avest and I implemented a Monte Carlo simulation of particulate matter segregation in Unified Parallel C (UPC). I implemented the back-end physics engine and collision detection algorithms, and Justin implemented the graphics and networking subsystems. The code is not currently available; I have it archived, but I am not certain about my intellectual property rights to it. At any rate, I doubt anyone would find it terribly useful, but if you are curious drop me a line and I can find out if I can share any of it.

Driving Simulator: Super X Racer

4 fellow students and I implemented "Super X Racer", a 3-D driving simulation written in C++ with OpenGL and GLUT as a semester-long project in a software development undergraduate class. My primary responsibility was to implement the physics engine, which included acceleration, braking, environment interaction (friction, collision detection), and turning radius enforcement. We all participated in the software requirements specification and design. The code is not currently available, although I think I have it somewhere on a CD.

Diablo II Item Descriptor

My earliest released code was a relatively simple program that I wrote in High School that let users explore the range of item modifiers in Diablo II. I put the software up on some fan-site that collected such applications. It was downloaded over a thousand times, which made me feel pretty cool at the time. Of course, the users were probably hoping it actually was an item hack, which it was not. (Much h8 for cheaters.) I never released the source code, although I do still have it; I don’t think it is particularly any good or useful.