Some useful software
These programs were written by Andrew Myers and are
freely available for use, subject to some provisos contained in individual
distributions. These programs are free, but come with absolutely no
To receive notification of updates to any of the software offered here,
please send mail.
- The Condorcet
Internet Voting Service makes it easy to set up
your own secure, anonymous elections across the Internet, using
state-of-the-art algorithms for ranking choices.
- bibweb is a flexible HTML bibliography generator.
Instant-feedback sliders for talks.
XSokoban is the X version of the classic puzzle game.
- relplot generates
high-quality PostScript plots of relations on
two variables, expressed as equations.
- rcsview displays RCS and CVS files by using
color to indicate which version various text came from. It allows rapid switching between
viewed versions while maintaining the same position in the file, and convenient display of
log messages. It requires Tcl/Tk.
- mvsed is a simple but useful script that allows easy manipulation
of files while applying substitution patterns to the filenames. For example, mvsed makes it
easy to change file extensions, to change filenames from upper- to lowercase, or to move files between one directory structure and another.
- grader is a program for
generating appealing plots of exam scores and other sampled data, using
a posteriori principles to form a hypothesis about the "true"
probability distribution being sampled (or at least a nice excuse for
- netview displays
the packets being sent on a local network in an
unusual and intuitive dynamic animation. It works on Linux and
Windows. (This program was developed with Saikat Guha, building on an
older program that was developed with Bruce Karsh and Paul Haeberli.)
- ccube displays the
current X colormap in either a standard 8x8 grid or by the colors' positions inside the
RGB color cube. Handy for seeing how various programs are using the colormap.
This is version 2.9.3 of the Cornell thesis style document class,
originally written by Sergio Gelato and modified by several others
including me. This version corrects some bugs in previous versions,
relating to line spacing, page number placement, page size and page
centering. It also includes a sample thesis document and a sample Makefile
for building a thesis. [Cornell thesis information]
- ttquot.sty. This package has seen a lot
of use for writing technical documentation and papers. It's very simple: the double
quotation marks (") put their contained text into typewriter font, and underscores
put contained text into italics, except when they occur in math mode or inside
"". Thus, documents written using ttquot are readable both before
and after formatting.
- exam.sty supports writing
examinations. It has reasonably nice formatting, but
the best feature is that it keeps track of how much questions and
parts of questions are worth and makes sure that everything totals up
correctly. The solutions and the exam itself can be written in a single file,
with options controlling which version is generated.
An example exam is
available (and here it is formatted
and as solutions).
supports UTF-8 encoded LaTeX documents, including most commonly used math characters.
Since most text editors now support UTF-8 encodings, this feature allows
more concise, readonable math.
The mappings currently include more than 500 characters:
the most commonly used math symbols, the ISO-Latin-1
characters, and the Greek alphabet. Modern LaTeX distributions do
include some UTF-8 support via
inputenc, but it
currently seems to support only Latin-1 characters. The
utf8math package also comes with
a set of Vim bindings for entering all the
characters; just set the Vim variable encoding to
utf8 (Eclipse has a similar setting).
If you'd like support for additional characters,
make a pull request to the GitHub repo.
makes it easy for authors or editors of a paper to add PDF comments
colored by author, building on the pdfcomments package.
It supports controlling whether comments are visible,
so you can easily toggle between a draft version where comments are
visible and a final version that turns them off.
My research group's standard template for writing papers using LaTeX.
Includes utf8math and authcomments.
These are some not very useful but fun PostScript documents.
- A dodecahedron viewed either
as wireframe or as a lighted model. A different view angle on each page.
[ dodeca.ps ]
- Want to make a paraboloid? Here is a paper model (8 copies needed)
and the program that generates models like it.
[ para8.ps, paraboloid.c ]
- Need some graph paper? This file will make it. Contains various
parameters that can be adjusted.
[ graph_paper.ps ]
- Penrose tiles.
- A circular calendar
- A sundial including corrections for eccentricity of Earth's orbit.
[ sundial.ps ]
Useful software I don't distribute
I wrote the original graphical diff/merge tool, called gdiff, in 1989 when
I worked at Silicon Graphics. I was inspired by the interactive
textual diff program, sdiff. Since then there have been several
nice spinoffs that add features like text editing and directory-level merging.
Examples are mgdiff, xxdiff, kdiff3, and meld. Many of them still look very much
like the original gdiff!