Code snippets
Preamble
This is a collection of bits of code that I have written over the
years but that hasn't ever been released as a full project. There are
lots of bits and pieces in here that I'm sure will be useful to
someone.
I have no plans to properly document, package or support this code. If
you find it useful then that's great, but I already have enough free
software projects to keep me busy so I won't be spending a lot of time
on this stuff.
Downloading
Most of this code can be downloaded using anonymous cvs, bzr,
rsync, ftp or http. I leave it as a challenge to the reader to work
out how.
License
Unless specified otherwise (either in the source code or in some
documentation) you can assume that this code is released under the GNU
General Public License version 2 or later. If you want to use the code
in a piece of free software and the GPL doesn't meet your needs for
some reason then feel free to contact me and I may offer that bit of
code under a different license.
Author
Most of this code was written by Andreas Bauer.
Code snippets
In order to provide you with an idea of what is involved to start
and run the programs below, I have added to each project the name of
the programming language it is mainly implemented in.
- Agoris - A chess game development library [C++]
Agoris is a simple and free chess library. It is written in C++ and allows you to base your own chess games and front ends upon it.
The library provides move generation, rule checking and various search algorithms.
- ASEAM - The ANU's first web-based student enrollment and marks system [Java, SQL]
ASEAM was the first web-based student enrollment and marks system used by the Australian National University, and
is still in use today. Although by now a complete rewrite occurred, traces of the original ASEAM are still recognisable.
- CBE - A change blindness experiment/environment [C++]
A project that's been started during my psychology studies at the Ludwig-Maximilian-University in Munich.
Its aim is to provide a graphical (three-dimensional) environment for Change Blindness experiments.
- Dragon's Keep - A roleplaying game [GFA BASIC]
Dragon's Keep is a Roleplaying Game for the Atari ST, heavily inspired by Ultima IV. After more
than 13 years, I finally found the disk containing the sources and graphics for this program.
-
folparser - Ocaml binding for FOL-RuleML [Ocaml]
The FOL-RuleML language is a W3C due for standardisation XML-based language which allows
the expression of structured rules and first-order logic
formulae. folparser is a simple Ocaml parser binding for this language.
- GnoScan - A Gnome network scanner [C++]
GnoScan is a multi-threaded network scan and security utility with an intuitive graphical user interface.
It runs under the Gnome environment and is an independent application that does not need further third-party toolkits.
- JGraphs - A simple Java program to demonstrate graph algorithms [Java]
JGraphs is a simple Java program to demonstrate graph algorithms. It will go through each algorithm in a step-by-step manner
to make the core functionality as transparent to the user as possible.
-
Keep - A CURSES-based roleplaying game [C++]
Keep aims at being a role-playing game similar to Ultima and
Angband. Basically, it is a remake of something I started as a 13 year
old, and haven't managed to finish until today...
-
libcnf - Light-weight zchaff wrapper [C++]
libcnf is a light-weight C++ library that, essentially, is a
wrapper around the SAT-solver zchaff to handle and manipulate
arbitrary Boolean formulas represented in clause normal form
(CNF). It provides a single class and a '==' operator for
testing equality.
-
libmonitor - A simple FSM library [C++]
libmonitor is a C++ template library that implements the
functionality of a simple (determinisitc) finite-state
machine. It lets you define states and transitions in the AT&T
DOT file format, and accepts as inputs a generic (user-defined)
type.
-
LSAT - A light-weight SAT-solver [C++]
LSAT is a light-weight SAT-solver with a special emphasis on diagnosis, based on
propositional models. It accepts an (altered) DIMACS format and is then able
to return all possible, or minimal truth assignments/diagnoses.
-
LTL2ABA - An LTL to alternating Büchi automaton converter [Ocaml]
This is more of a toy, rather than a serious program,
although it does what it advertises to do: it converts
an LTL formula into an ABA. The program is my toy to try
some features of the Ocaml language and its toolchain.
Perhaps you find it useful anyway.