Code

XWT/Ibex/Vexi

At one time I was one of the lead developers for XWT (which was later renamed to Ibex and then forked as Vexi). Depending on who you ask I may still be considered a developer. One of these days I'll get back into it. Despite the fact that I'm no longer actively working on the project I'm still proud of the work I've done on it. This includes the native OS X port, co-authoring the js implementation (org.ibex.js), and a little bit of everything else.

NestedVM

NestedVM is a utility that allows code written in unsafe languages such as C and C++ to be run unmodified under safe virtual machines such as the JVM. It uses a unique binary-to-binary translation approach which allows it to be language agnostic and fully support the source language (because we actually use the existing compiler). Much more information about NestedVM can be found in our IVME paper.

The source code for NestedVM is released under the LGPL and is available at darcs.brianweb.net/nestedvm.

org.ibex.classgen

ClassGen (which is a terrible name) is a lightweight JVM bytecode generation library. It was initially written for NestedVM. It is smaller, faster, and (in my opinion) much cleaner that alternatives such as BCEL and gnu.bytecode.

Recently classgen gained support for what we call JSSA ("Java" Static Single Assignment). It is an SSA-like representation that can be converted to and from normal JVM bytecode. It is much easier to generate and manipulate than normal bytecode. JSSA is still in its early stages and is somewhat incomplete.

The source code for ClassGen is released under the GPL and is available at darcs.brianweb.net/classgen

org.ibex.crypto

org.ibex.crypto is a pure java implementation of many cryptographic algorithms, a parser for X509 certificates, and a full SSL/TLS implementation. The primary design goal was it make it small. It was based on Adam Megacz's TinySSL.

The source code for org.ibex.crypto is released under the GPL and is availale at darcs.brianweb.net/crypto.

GCClass

GCClass (another terrible name) is a dead code elimination utility for Java. It is based on BCEL because ClassGen hadn't been written yet.

The source code for gcclass is released under the GPL and is available at darcs.brianweb.net/classgen.

HSUtils

HSUtils is a collection of useful Haskell libraries including a number theory library, balanced tree library, html parser, curl bindings, and a library for "Type-Safe Words". More information can be found in the literate haskell documentation.

The source code for hsutils is released under the GPL and is available at darcs.brianweb.net/hsutils.

Any2Any

Any2Any is a program like Synergy. I'm not sure which came first, but when I wrote Any2Any I didn't know about synergy. I don't maintain Any2Any anymore but I still find uses for it every once and a while.

Download the soure code or win32 binaries.

Miscellaneous other Software

This is mostly just simple one-off software that probably isn't useful to anyone other than me.

Everything I forgot

Since I'll probably never update this page you should probably check out darcs.brianweb.net and cvs.brianweb.net. If I've done something cool recently it is probably there.