Gitweb Portal


A type-inferred language and compiler, written in Rust, based on ML, Rust, and Python, and using LLVM as the backend. It can compile to LLVM IR bitcode, which can be further compiled to a native binary. See github for more details.

Nerve Control Network

A server program written in python3 that controls and coordinates devices in the home. This project ties together the Android Remote, RGB Nodes, and Desk Clock projects, along with various other control and data sources, such as VLC, XMMS2, IR-controllable equipment, and MySensors wireless nodes. A built-in web server is used as the primary user interface.

Android Remote

An Android app that acts as a remote control for devices and computers in the home, working in conjunction with the Nerve Control Network. The app uses a webview with javascript enabled to access a Nerve server to control everything from a phone or tablet.

RGB Node

An Arduino-based controller for RGB LED strip lighting. The controller has an IR receiver programmed to read the codes from a repurposed TV remote, as well as to receive commands through USB from a computer. Multiple controllers are able to work in unison via a MIDI-based communications bus. The controller also has a generic IR transmitter which can be used to control audio/visual equipment (a TV and stereo in the current setup).


A web-based multi-user shared hallucination, in the spirit of the MUDs, MUSHes, and MOOs of the 80's and 90's.

A Bug's Life Simulator

An artificial life simulator written in Rust and using the Piston game engine. Circular creatures move around in search of food on the tiled ground with an effect that looks like bugs.

Desk Clock

A desktop companion device using an Arduino controller; the desk clock provides an 16x2 character LCD screen, 8 buttons and 4 LEDs for programmable use by the connected computer. An easily-modified python script connects the XMMS2 music player running on the computer with the buttons and LCD to provide music control and to notify the user of the current playing song name. A date and time are also displayed (hence why it is a clock).

Meteor Games Website

A website written using the Meteor node.js framework, for playing some card games and tile rummy. Play in real time against other human players. This project was not fully completed and has a lot of rough edges. A demo site may be available at


An IRC bot that primarily logs the chat to text files and makes them available via the web. Logarithm also provides some helpful features such as trivia, a decision maker, a calculator, and a system of polling/voting among channel users. It's been in use 24/7 since 2002.


A simple moo engine written in Python that connects to an IRC network like a bot and acts as a collective MOO for users. Users who have joined a common channel are allowed to open a query with the bot, through which they control a simulated character in a world shared between all the channel's users.

Super Duper Moo

A MOO, inspired by LambdaMOO, that allows users to connect with an IRC client (originally intended to have support for multiple protocols). Written in C++, it contains it's own Scheme-like scripting language and stores the object database in XML.


An obtuse and needlessly tedious interpreted language in which almost everything is a function. The interpreter is written in pure C and the language itself is vaugely Scheme-like with no specific definition. The interpreter itself can be configured for a number of different language features (different parsers, different scope rules, etc.).

Stutter IRC Client

A text-based IRC client written in C and designed for portability. The client is/was usable and was my main IRC client for a few years, before neglect and a lack of features drove me to use other programs.