Programming / Software
“The more closely you look at one thing, the less closely can you see something else”
A small collection of programs I developed over the years. Beware they may develop random features, so use them at your own risk. You can also visit my GitHub (external link, opens in a new tab) profile.
Recently updated
The entries whose repositories were pushed to in the year to 23 September 2026. Dates read from GitHub then — a snapshot, not a live feed.
Programming Languages
- J% Ports: Ported Java Applications to J%
From the publications: A Type-safe Embedding of SQL into Java Using the Extensible Compiler Framework J% (2015)
JavaJ% - J%: An Extensible Java Compiler
From the blog: A Small Guide to J%
From the publications: Design Concepts of the J% Programming Language (Revised Edition) (2026) · Integrating Domain-specific Languages to General-purpose Languages (2015) · J%: Integrating Domain Specific Languages with Java (2009)
JavaJ% - Java
- CKJM-ext: Chidamber and Kemerer Java Metrics Tool, Extended
From the publications: Generating the Blueprints of the Java Ecosystem (2015)
Java
AI
Utilities
- biblio.py: Command-line BibTeX Manager
From the publications: Python Tutorial -- Handling Bibliography with Python (2008)
PythonBibTeX - Python
- Java
Papers & Datasets
- Generating the Blueprints of the Java Ecosystem
From the publications: Generating the Blueprints of the Java Ecosystem (2015)
MSR 2015 - The Bug Catalog of the Maven Ecosystem
From the publications: The Bug Catalog of the Maven Ecosystem (2014) · The Vulnerability Dataset of a Large Software Ecosystem (2014)
MSR 2014 - Dismal Code: Studying the Evolution of Security Bugs
From the publications: Dismal Code: Studying the Evolution of Security Bugs (2013)
LASER 2013 - Comparative Language Fuzz Testing: Programming Languages vs. Fat Fingers
From the publications: Comparative Language Fuzz Testing: Programming Languages vs. Fat Fingers (2012)
PLATEAU 2012
Math
Combinatorics, written to be run rather than proved.
- CWin32Linux
- Win32LinuxMac OS X
Games
Old games brought back, playable right here.
- JavaScriptDOS 16-bit
- Sokoban
From the blog: The two applets I was never going to rebuild
JavaScriptJava - The 8-puzzle
From the blog: The two applets I was never going to rebuild
JavaScriptJava
Application Libraries
- FIRE/J
From the publications: FIRE/J: Optimizing Regular Expression Searches with Generative Programming (2008) · Compiling regular expressions into Java bytecodes (2004)
Java - Java
- JavaWin32
Deprecated
Old-skool packages (I've been at this a long time, it seems). Software that will need more effort to install and play with.
- Win32
- Java/applet
- Java/applet
- Win32
- Win32
- DOS 16-bit
- Perl
- Win32
- Java
- Java
- Java
- PerlPythonJava
- blog-py
From the publications: Python Tutorial -- Blogging in Python (2008)
Python - Java
- SDriver/XPath
From the publications: Fortifying Applications Against XPath Injection Attacks (2009)
abandonware - Node.js
- Node.js
- Node.js
- Node.js
- HerokuPython
- HerokuNode.js