Hacking
Hacking is a passion of mine. No, not cracking into other people's
computers, but simply writing my own software for doing my own thing.
The great thing about a *NIX OS is that hacking is easy.
The great thing about a well-documented, stable, and
correctness-focussed *NIX like
OpenBSD is that hacking is
fun.
This page is host to some of the software I've written over the years for
recreational/slacking purposes. I only include un-maintained
software for (1) my own pride, and (2) other hackers who may find it useful.
Current Distractions
Projects I'm currently engaged in...
- vitunes (2008 - today)
-
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.
- ?talk (2009)
- 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)
-
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.
- scrotwm-color-bar
-
A small patch that can be added to
scrotwm to enable coloring
the text displayed in the bar using a simple markup language.
- phpSymon (2004-2009)
- 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!
- xstatbar (2009)
- 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
scrotwm
(the window manager I use).
- batalert (2009)
- Whenever I'm on my laptop with no power source around, I always
lose track of how much battery time I have left. This program 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.
- 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.
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.
- 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).
- 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.
- 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 (2001)
- This is a Wolfenstien-like game that's written in 100% x86 assembly. It
was for an assembly class I took at UC in 2001... 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.
|