My Software
This is software that I have written over the years, in the form of source code. You should take
an open source approach to this software:
 There shouldn't be any bugs, but every programmer knows how that goes ... If there is
a bug that wipes out your computer, I can't be blamed, sued or anything like that.
 If you want to modify or improve this software, contact me first.
 I don't have any binaries here, so you will usually need to compile it yourself. The Java
programs can be compiled by saving the file to an empty folder, opening up a "terminal",
changing to that directory, and typing
javac PROGRAM_NAME.java
java PROGRAM_NAME &
where PROGRAM_NAME is the name of the program. Make sure you have the most recent version
of Java. (Yes, I use closures sometimes, so that means 1.8 at the very least.)
Now for the software, in roughly reverse chronological order:
 PCG.java, a program to generate random pseudocode that doesn't have to do
anything useful. Generates "good" problems, which you can find the running time for.
Runs as a window; you can select some parameters. Output is in Unicode and Plain TeX. (November 2014)
 LCALC.java, a Lukasiewicz CALCulator that handles matrices,
and which can be programmed. I used this before I got Maple installed on my MacBook.
(Łukasiewicz discovered Reverse Polish Notation.)
Runs as a window. (March 2014)
 EBoFoG.java, or Equivalent BOolean FOrmula Generator.
Generates pairs of boolean formulas (involving AND, OR, NOT, and possibly IMPLIES, IFF, XOR)
which are equivalent.
Runs as a window; you can select some parameters. Output is in Unicode and Plain TeX.
(January 2014)
 PropCalcProblem.java, or
PROPositional CALCulus PROBLEM Generator. Generates problems of the form: Assume that the
following boolean formulas are true; prove that another boolean formula is also true, using
Rules of Inference (such as Modus Ponens, Modus Tollens, etc).
Runs as a window; you can select some parameters. Output is in Unicode and Plain TeX.
(August 2013)
 goFigure.java, a Java applet that generates random "Go Figure!" puzzles.
Runs in a webpage.
(December 2012)
 HLE.java, or Hidden Line Eliminator, an implementation of
Goodrich's algorithm. Takes a list of planar polygons and removes parts of edges which are
invisible from a certain perspective. Works with orthogonal projection, perspective, and pseudo
"Fish Eye" projection. Draws a picture and provides PiCTeX macros.
Runs as a window.
(December 2012)
 The program GEMBED, which tests for embeddability of graphs on
the projective plane, the torus, and the spindle surface. Available
as a gzipped tar file. (Version 5.3A, some compiling errors fixed
by Keith Briggs. Version 6.0J will incorporate the JGraphT package in Java,
and the code will be cleaned up.
Don't hold your breath waiting for the next version.)
 Coding the Even Directed Cycle algorithm for the
Computing
Even Cycles page (last update: September 1999). [Be sure to enable Java]
 The program
discharge.pas, which can be found among the rest of the
Four
Color Theorem files (last update: January 1997).
The Four
Color
Theorem
also has its own Webpage.
