Projects

The Big One!

ZeroTier: A Smart Switch for Planet Earth: A serious effort to radiacally simplify networking to save time and money and help decentralize the Internet.

More Recent and Still Useful

fenc: a tool to just f--king encrypt a file: I wrote this in a bout of rage after trying several times to remember how to do simple symmetric encryption with gpg and its utterly inconsistent obtuse command line semantics.

kissdb: super-minimal key/value store: An exercise in minimalism with in-filesystem data stores, used in some early versions of ZeroTier and apparently has found use in a few indie games.

huffandpuff: super-minimal Huffman coder: An exercise in minimalism with Huffman coding.

Older and Maybe Still Useful

headhunter: script to pull every GitHub repo in a geographical area: Something we used at ZeroTier to look for employees.

flatland: N-dimensional plot tool: A simple n-dimensional plot tool based on star coordinates. It's old but still works.

hyperdrive: Java N-dimensional arrays: N-dimensional arrays in Java

nanopond: tiny C artificial life system: A tiny C program that generates and executes evolvable computer programs in a 2d array world and demonstrated undirected evolution by natural selection.

archis: an artificial life system in Java: A college project implementing an evolvable artificial life system in Java with support for plugins, clusters, experiments, and genesis from randomness (it generates programs until one can replicate). This is the original web site and is pretty much completely unmodified since roughly 2002. I tried it a few years ago and it still worked on a modern JVM.

Really Ancient Projects

This is really ancient stuff, like code that no longer works on modern systems and IRC hacks written when I was a k-r4d 31337 teenager in the late 1990s.

Mersenne Twister for the IBM Cell Broadband Engine SPE: A C implementation of the Mersenne Twister pseudo-random number generator for the old (and now discontinued) IBM Cell Broadband Engine heterogenous parallel CPU's "SPE" unit.

EXEPAK 1.1: A Linux file compression program that used the LZO compression libraries. It was very fast and efficient. I have no idea if this will still work on modern Linux systems.

AnsiCat and libvcs: This is a really neat little library and program to print ANSI graphics (such as the old ANSI art from back in the BBS days) to a Linux console. It will only work on a real Linux console, as it writes directly to video RAM via the vcs devices in /dev. It even supported a neat delay feature that would simulate the effect of seeing an ANSI print out over a slow modem connection. I'm not sure if it works on modern kernels.

TextBox version 6.21: Yes, this is the infamous textbox.irc in all it's glory. It is written for ye olde IRC client (ircII) and was one of the first really huge everything-and-the-kitchen-sink IRC scripts. It was also the first script to introduce the /clonebots command. This resulted from my discovery of the DCC RAW functionality of the IRC client. Sorry.

PurePak version 2.07: This is PurePak version 2.07. PurePak was my second IRC script and was an almost total rewrite of TextBox. It was the first script to feature modules and it's own module interface that almost resembled an API. It did things with a simple language like IRC script that should not be spoken of. I had way too much time on my hands back then.

SUMO nick collider: This was my first nontrivial C program. It was a robot that sat on IRC and tried to "nick collide" people. You see, back in the old days of IRC you could kick people off the network by duplicating their nick on another server immediately after they changed nick. This would cause both connections to be dropped when the servers attempted to synchronize with each other. This will not work anymore on modern IRC networks, so it's just here to show everyone how 31337 I was when I was 15. :)