Andrew's Code
Radiator is a radiosity system. It implements the matrix, progressive, and wavelet radiosity with clustering methods. It also comes with a visualisation front-end useful for interactive scene rendering or teaching. It requires OpenGL to build (or Mesa ), and xforms for the front-end.
Online documentation
radiator-2.1.1.tar.gz , source code
radiator-2.1.1-1.i386.rpm , for redhat linux
radiator-2.1.1-1.src.rpm , source rpm
This is a wrapper around Utah's sun/sky model code. The original paper, "A Practical Analytic Model for Daylight", is available
and the authors kindly released the core source code for the method. 

What I've done is add a wrapper that uses the Utah code to draw plots of the entire sky or a specific window of the sky. As a bonus, it draws the CIE diagram, and various spectra, including blackbody and the CIE basis functions.

To build the sunsky program you'll need VL, the vector library below.

sunsky-1.0.tar.gz, source code
sunsky-1.0-1.i386.rpm, for redhat linux
sunsky-1.0-1.src.rpm, source rpm
VL Vector Library
VL provides 2-, 3- and 4-vector and matrix types, arbitrarily-sized vector and matrix types, sparse and sub-region types, and lots of useful functions and arithmetic operators defined on those types. It includes a debugging version of the library, with range-checking of all indices. It comes with a number of numerical routines such as Gauss-Seidel, conjugate-gradient, QR and SVD factorization.
Online documentation
vl-1.3.2.tar.gz , source code
vl-1.3.2-1.i386.rpm , for linux , for windows, MSVC 6
(Note: if the rpm breaks under your particular distribution, you can rebuild it by downloading the tar file and running "rpm -tb vl-1.3.2.tar.gz".)

SVL Vector Library
This is a simpler, cut-down version of VL; probably a better starting point for small projects. It contains just the small-size and generic vector and matrix types. 
Online documentation
svl-1.5.tar.gz , source code
svl-1.5-1.i386.rpm , rpm package , for windows MSVC 6
(Note: if the rpm breaks under your particular distribution, you can rebuild it by downloading the tar file and running "rpm -tb svl-*.tar.gz".)
A unix utility for extracting resources from a macintosh resource fork. Currently macfork only directly supports icon families, pict files, and palettes, but any resource data can be extracted to a file. 
Download macfork-1.0.tar.gz source code, macfork-1.0-1.i386.rpm for redhat linux.
Odds and Ends...
This stuff is really very dated. I leave it up here mostly for nostalgia purposes.

BibFrame for FrameMaker 5.5

There is a nice little system for using BibTex references under FrameMaker called "bibframe". The latest version, 0.8.1, is supposed to work with frame 5.0, but has a couple of problems, and the macros break under the most recent version of frame, 5.5. I have updated this with macros that work under framemaker 5.5 (and hopefully are backwards compatible with 5.x), and a bug-fix to bibframe that solves a problem with specifying reference directories. Download bibframe-0.8.1-fm55.tar.gz .


For those people being forced to swap from old GL to OpenGL, or graphics hackers wanting to use the xforms library, this contains a simple demo of how to use the xforms library with OpenGL. Download glxforms.tar.gz .

Simple Client/Server

I find this useful for quick network hacks. Contains a simple client and server which together allow you to pipe the input and output of unix commands over the net. I also have some code lying around to let you script telnet sessions, which I'll put here when I can find it. Download clientserv.tar.gz .

Client-sensing httpd

httpd-agent-patch.Z contains patches for NCSA's httpd which will allow it to serve different versions of a page depending on which client is accessing it. For instance, you can arrange it so that if netscape accesses a particular page, it gets a version with lots of whizzy extensions only it can handle, whereas if Lynx is used to access the same page, it gets a vanilla version with no inline GIFs or other fancy extras.


snap.tar.gz contains all the scripts I use to run GooberCAM . [Sadly goober died shortly before I left CMU.]

ErrorNames Extension

An extension for the Mac that provides proper error names and descriptions, rather than the usual uninformative error numbers. Currently a development release. Download it from here . , October 1999