Software I've written Archive

Nonpareil status

I’m still making progress towards a new release on Nonpareil.  Sometimes it seems like the more work I do, the more I find that needs to be done.

I just got a refurbished Apple Mac mini, with the 1.83 GHz Intel Core 2 Duo processor. It is mainly intended for use compiling my open source programs such as Nonpareil for Mac OS X. I am extremely surprised at the user experience of booting Mac OS X Leopard for the first time, [...]

The most recent release of my Bare Bones interpreter made identifiers case-insensitive, and added an optional peephole optimizer that recognizes a common idiom:

while N not 0 do;
  decr N;
  incr X;
end;

Such a loop adds N to X, clearing N in the process. Without the optimizer, this is has time complexity [...]

Bare Bones interpreter

Over the weekend I finished the homework assignment for the “Theory of Computation” chapter of Computer Science: An Overview, Ninth Edition, by J. Glenn Brookshear. Brookshear defines a very minimal programming language called Bare Bones, in which variables may contain arbitrarily large non-negative integers. The only operations available are:

clear var; — set a [...]

A few people reported problems caused by the “.d” dependency files created by the dependency analysis hack in the Makefile, so I’ve updated lcdtest to use SCons instead of make.  I’ve also now made RPMs for Fedora Core 6 available (both i386 and x86_64), and submitted a review request to try to get them into [...]

Kevin Timmerman sent me email about having built a USB version of the closed-caption decoder that Richard Ottosen and I developed.  He used an FTDI TTL-232R cable which incorporates a USB-to-serial interface chip.  He has added many new features to the firmware, including ANSI cursor addressing, XDS, and V-chip support, and also has fixed some [...]

lcdtest 1.04

lcdtest wasn’t working properly with German keyboard layouts.  It was using keysyms from SDL key events, and those only indicate what the unshifted key legend is.  The fix was to enable the optional SDL key event Unicode mapping, and switch on that rather than the keysym.  However, some keys such as escape and the cursor [...]

Nonpareil status

Several people have inquired about the status of Nonpareil, so it’s time for an update.
There are major changes in progress that are mostly “under the hood.” The released versions of Nonpareil install KML, image, and ROM files in a library directory (or with the Program Files in Windows). There has been no clear [...]

Nonpareil release 0.78

This is just a minor release to fix build problems.  Two missing semicolons were added to src/kmly.y because some versions of Bison complained about them.  The GDK initialization in src/str2png.c was replaced with GObject initialization, so that str2png doesn’t require an X server to be present at Nonpareil build time.
There is no change to the [...]

Updates to Black Box

The latest version of Black Box now uses icons to represent relfections and hits, and can be played on either the normal 8×8 board with four atoms, or the larger 10×10 board with six atoms.
I’m not sure whether I’ll do any further work on this.  If I do, I’ll probably have to write my own [...]