Below is a listing of my various open source projects / contributions. I'm always working on something.
- 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.
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
scrotwmspectrwm 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)
- Stats Helper (2004)
- 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.