Fork me on GitHub


Below is a listing of my various open source projects / contributions. I'm always working on something.

Current Projects

vitunes (2008 - now)
A curses-based equivalent to iTunes ®. It can index any tagged media files and provides a quick, easy-to-use vi-like interface for browsing/playing media, and creating playlists.
xstatbar (2009 - now)
A simple system monitor for X, showing CPU usage (supports multicore CPU's), memory & swap usage, number of processes, battery status, and volume info. I wrote this to replace my xosd-* applications below, which do not integrate well with tiling window managers such as spectrwm.
?talk (2010 - now)
As avid users of talk(1), Neal and I are often bitten by the limitations of it... namely, no saving of sessions. We're putting together a talk(1)-compatible replacement with features we would like. We're still working on a name.
nooBSD (2009 - now)
Not really a new distro, but a project dedicated to help noob's with OpenBSD.

Completed & Maintained

These are projects that I've completed (for now), but actively maintain because I use them.

phpSymon (2004 - now)
A simple PHP package that connects to a symon server, grabs the system stats for a given host, and displays those stats in a graphical fashion on a webpage.
Featured on undeadly.org! (September 2005)
batalert (2009 - 2010)
Whenever I'm on my laptop with no power source around, I always lose track of how much battery time I have left. This is a portable program that tries to be as annoying as possible in alerting you that your battery will die soon.
minftp client (2007)
A simple RFC 959 compliant ftp client. It supports slightly more than what is listed in § 5.1 “Minimum Implementation” of RFC 959.
SapioGo, libnnet, libsane (2005)
My undergraduate senior design project with Kevin Upchurch, which won 2005 Senior Design Project of the Year in Computer Science at UC. We created a program called SapioGo which uses the genetic algorithm SANE to evolve a neural network at playing the game of Go. libnnet is the neural network library I wrote, and libsane is the SANE library I wrote.
project graveyard

Completed & Un-Maintained

These are projects that I've completed but no longer use or maintain. So sad, all that time spent for each (they were worth it). This is just a handful. I record them here for (1) others to use (some still do), (2) others as a reference, and (3) my own pride.

xosd-clock (2004-2009)
A simple, text-only, easily configurable clock for X. Display can be configured using any format acceptable to strftime(3).
xosd-systat (2009)
A simple, text-only, system monitor for X, showing (essentially) the first few lines of top(1).
xosd-battery (2009)
A simple, text-only battery monitor for X, where information is queried using sysctl(3) rather than the apm(4) device (handy for some laptops with bad apm(4) support but a working sysctl(3) for battery info).
scrotwm-color-bar (2009 - now)
A small patch that can be added to scrotwm spectrwm to enable coloring the text displayed in the bar using a simple markup language.
find-sensor-mibs (2008)
This program can be used to find the MIBs (Message Interface Buffer) of all sensors available via sysctl(3), which is necessary to actually query that sensor. Although one shouldn't hard-code any MIB, this code shows you how to search through all sensors attached in sysctl(3) and find one matching the “name” you want.
DisplayOrdinal (2004)
A simple C program and JavaScript page that can be used to show the set-theoretic representation of natural numbers (a.k.a. the ordinals).
Stats Helper (2004)
A simple JavaScript page that can be used to quickly calculate various statistics about a set of numbers. My wife was taking a statistics course and we couldn't afford one of those fancy calculators that made life easy... so being the good nerd I am, I put this together.
Realms (2003)
This is a 2D, sprit-based game (similar to Zelda ®) that was a LaRC project. It was never completed, but might serve useful to anyone interested in creating a similar style game. The documentation actually shows the evolution of the architecture over about the 3 month period it was developed.
BJ's Compound (2000)
This is a Wolfenstien-like game that's written in 100% x86 assembly. It was for an assembly class I took at UC in 2000... sweet lord, this was a class-wide group project with 12 people, 5 of which did nothing, and those of us who wrote this did NOT follow any good software design/engineering approach.... when writing assembly. This project was hell, and it's a true testament to pure hacking, poor design, and the insomnia we all mastered that quarter.
using html5 | css3 | uikit
by ryan flannery