Here is my résumé.
stuff that interests me
logic
I like to collect old text books, especially those about symbolic logic.
For my BS project I wrote a resolution theorem proving program in Lisp on a
Dandelion workstation. I must be a slow learner, because for my
MS project I
again wrote an RTP program, only this time it was written in Turbo C on DOS and
used the connection graph proof procedure and a new
linear unification
algorithm. Maybe it attracts me because I have
never seen a program so complex that does so little.
All the source code is available
here.
In 96 I was learning Java so I ported parts of the Pascal and C simulators to produce Java Impact 2.3 which was selected by Gamelan "Best of Java" CD-ROM. It is by far my most popular freeware, because I think the Java GUI makes it so easy to play with it.
After that I was determined to write a 3D collision physics sim, and I started writing one in C++. It fell by the way, though, when I got a job (three actually) developing 3D physics simulations for rigid bodies, jointed bodies, and cloth.
When I was in college, Alex Mitchell and I wrote several ecology simulations. The ECO3 program, for example, simulates carnivores and herbivores in the CGA text screen.
On a similar theme, I wrote a text mode version of Conway's LIFE
game, but with a twist: my life allows two species of cells, black
and white,
and you can modify rules for each species. A rule is (type,#enemy,#friend)
for instance, (0,0,1) means if an empty cell has one black neighbor
then it becomes black (reproduction). Conway's life is simply
(0,0,3) (1,0,2) (1,0,3) I think. Two people can play my game against
each other and see who can think up the best rules. The only problem
is that I lost the source code, so I only have the
program (inside the zip).
algebra editor
The hardest part in implementing Impact (and rightly so) was deriving the formulas for general 2D collisions. I got the six equations with six unknowns from Dynamics (Pestel and Thomson, 1968). Actually solving them only took about 20 minutes, but it took me over 6 hours to get the same answer twice in a row and verify it (by substitution in the original). Doing that gave me another idea for a program. I wanted to make a math program that can format complicated formulas nicely, and that understands basic algebraic manipulations so that you can say "subtract this part from both sides" and it will do it and show you the result. If possible it'd be nice to have some of the advanced operations, too, like "find rational roots", etc. Best of all, it would be cheaper than Mathematica. So in 94 I started working on Algebra Editor. The first version of alged had no graphics and only supported postfix notation for input (yuck), but I got lots of great feedback from users. The latest version of alged supports SVGA 3D graphics and many other nice features.
I used Alged to work out formulas for 3D impact.
virtual reality modeling language
Once upon a time I was hot on learning
VRML2.
I made very simple scene,
a three-body gravity demo,
an inner planets simulation,
and a quaternion rotation demo.
Nowadays VRML is virtually dead. Fortunately it is being replaced with another open standard 3D web protocol called X3D. Watch this space.
One time, I took a class, Introduction to Quantum Mechanics, at the U of M. Sometimes it seemed like I was learning about quantum mechanics, but mostly it seemed like I was learning advanced differencial equations and other forms of indiscreet mathematics.
Like tiles, Peano curves are recursively defined drawings. I wrote a little DOS program to draw Peano curves. The input is a file with the coordinates of the curve and max recursion. I entered data for several of the curves in Mandelbrot's book. Later I discovered the L-system in fractint. L-system produces similar output, but the input is rules, instead of geometry.
One day I was staring at the Windows starfield screen saver and it annoyed me that the stars seem to pop into existence instead of slowly coming into view, and also no matter how directly they are coming at you, they never get very big. It must have annoyed me a lot, because I wrote a Java starfield simulator. If you have a Java browser try it and tell me if it isn't better that Windows'.
Some other stuff I wrote
Over served since Aug 18, 1997.
aimless wanderings
Warning, these links are really really old.