Software
Here is software that I have written over the years. I am putting it here in hopes that others may find it useful. There are no guarantees given for any of this software, so if it kills your computer, I'm sympathetic but not responsible. Use with care. All of these programs were written to work with Java, Perl, PHP, or C/C++ (using gcc/g++).
If there is something described here that doesn't have a link yet, that's because I'm working on packaging the software for distribution.
Research
- I have done a lot of work on making the k-means clustering algorithm faster.
- I am the primary author of the SimPoint toolkit — for quickly identifying patterns in executing programs (c++)
- If you are interested in our G-means, PG-means, or EDCM software for clustering, please email me.
- the population-weighted centers of many European states — with explanations, results, and code.
- order statistics tree — a balanced (AVL) tree which permits fast insert, delete, and access to the Kth order-statistic of all the elements in the tree, with a special accessor for the median. (c++ template)
Utilities
- rand_passwd.c — a password-choosing program (c)
- translate.pl — language translation from the command line (Perl)
- auto_lowbatt_shutdown — script for automatically shutting down your ACPI-enabled Linux laptop when the battery gets too low.
- worlay — does text layout of multiple documents onto a single page (c++)
- world clock — displays clocks in multiple timezones (java)
- bible_books.inc — a regular expression for recognizing Bible references in text (php)
- gd_imgload.cc — a function to load PNG, JPEG, or XBM images into Octave using the GD image library (c++)
For Fun
- risk.c — an automatic dice-roller for the game of Risk, to alleviate boredom in the game (c)
- boggle — one of my favorite word games (c++)
- guidetone — finds the guide-tones of a chord progression, to aid in playing jazz (c++)
- skip-bo — a networked version of the popular card game which is still in development (java)
- madgab — a program to generate new phrases for the party game MadGab (php)
- cross — a program to solve a certain board game computationally (c++)
- hangman — the classic (c++)
Graphics
- Postscript programs (yes, these are programs, and not just documents):
- cantor.ps — a cantor set
- mountains.ps — a fractal terrain silhouette of mountains
- sierpinski.ps — the sierpinski set
- graphics lib — a library to make graphics calls simpler (Java)
Copyright © 2004 Greg Hamerly
Computer Science Department
Baylor University