Skip to content
Personal codebase of utilities, programs, and projects.
HTML Java GAP JavaScript PHP CSS Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

This is my main Java codebase. It contains some applications and some one-off projects.

  • chess: A chess-playing program. See the driver in scripts/chess with test puzzles. It's pretty weak, but still beats me handily.

  • jawa: A library for converting HTML (or any text) template into a Java class for static build analysis.

  • mario: A reverse side-scroller. You click where you want the ball to go, and it figures out how to do it. Try it with ./gradlew mario.

  • render: A ray-tracer. This was mostly so I could experiment with ambient occlusion.

  • tictactoe: This is an unfinished experiment to see if the computer can pick moves in Tic-Tac-Toe that are most likely to cause human error. Normally a Tic-Tac-Toe-playing program will see the entire tree, realize it's a tie for best play, and play anything. But surely some moves will have obvious replies and some non-obvious best replies, and this attempts to figure that out. Turns out that Tic-Tac-Toe is too simple a game for this. Chess is probably too complex to effectively evaluate.

The scripts directory is a set of Java programs that can be run using my java_launcher script. This script compiles and caches the class file, making it pretty easy to write short single-file Java programs without the overhead of a build script.

You can’t perform that action at this time.