I will eventually be updating this page to include more information about my software and projects. For now, here are a few details about some items of interest:
Scripts and hacks
- reblog, a feed reposter.
- WHATEVER is Will’s Hastily-Assembled Toolkit for Experimental Validation, Execution, and Recording.
- samplesink, a generic C++ class for estimating mean and variance parameters for (potentially very large) streams of samples.
- mazegen, a simple script to generate PDF files of random mazes. (Mazegen is also available as a RubyGem.)
Frameworks and larger tools
- DIMPLE, a declarative analysis framework for Java programs.
- capricious, a framework for repeatable randomness including a family of pseudorandom number generators and several probability distribution simulators. (capricious is also available as a RubyGem.)
- SPQR, a framework that dramatically simplifies the process of developing QMF agent applications in Ruby. SPQR also works well with Rhubarb, a mixin that allows developers to creating classes whose instances persist to a SQLite database; this post contains some examples of both in action. (Thanks to my colleague William Henry for the “rhubarb” name.)
- I added support for querying and writing Java 5 annotations to the Soot compiler framework; my patch was accepted into Soot version 2.3.0.
- I contributed some (very minor) fixes for running the Yap prolog system as a 64-bit application on OS X.
- I maintain a directory of research compilers and tools for programming languages research.
- I keep some interesting code snippets and trivial scripts on gist.