I write a lot of code. Everything I write in my spare time I put under a free software license like the GPL or LGPL. If you have any questions, comments or feedback feel free to email me.
Flek :: 2.25.2000
The Fast Light Environment Kit is a project that I started that intends to duplicate the higher level functionality of Gnome or KDE using the Fltk toolkit, instead of Gtk or Qt.
:: home page
Black Ink :: coming.soon
Black Ink is a check book program written for the Agenda PDA. It's designed to be fast and easy to use with an interface optimized for PDA users. It uses Fltk and Flek and supports most of the standard features you will find in Quicken or GnuCash.
JSWISHI :: 12.11.1999
This is a front end to SWISH-E and SWISH++ (indexed search engines). It is "feature laden" to say the least. It supports multiple index sources for searches, multiple indexes for parallel searches (i.e. one search for images and another for documents), and uses a type of skin file for some serious configurability. All of the examples below use the same script, with different skin files.
:: source code, example 1, example 2, example 3
Concentration :: 07.21.1998
Also known as "Tiger Marmalade Concentration", I originally wrote this game for National Agriculture Week in early 1998 but have continued to add new features. It is listed on a few CGI code archives, so I have a page dedicated to it with a lot of really cool example. Concentration requires Perl 5 and CGI.pm.
:: source code, example, home page
XML / XHTML Mode for Jed :: 04.05.2000
This mode began as an extension to Jed's html mode, but I have recently ressurected it as an xml/xhtml mode. It is more like emacs' html mode than it is like Jed's. It includes tab-style tag indentation and lots of utility functions.
:: source code
replace :: 02.25.2000
This bit of code walks a directory tree applying a perl subroutine called "process" on any files that have certain file extensions. The process function currently updates one phone number area code with another, and gives a very verbose log. Of course you can change the process function to do whatever you like. The bit of code that walks directories is a fairly useful little code snippet.
::source code
renumber :: 04.20.2000
This script renumbers files that have numbers in their names. It was especially designed for working with video frames. Ever had 100 files named "frame__001" ... "frame_100", that needed to be named "frame.0001.jpg" ... "frame.0100.jpg"? Or need to renumber frames 65-70 to 95-100? This script makes an often painful task very easy.
:: source code
Post Mortem
There are a few projects I have worked on that I am proud of but I stopped working on them. This section describes some of these projects and what happened.
Extreme Wave :: 07.20.1999
Extreme Wave was an ambitious 3D modelling and animation system that supported scripting (via Guile), POV Ray export, 3DS import, forward kinematics, and some other nifty features. Dissatisfaction with Guile (which kept changing it's API and it's language constructs) and lack of interest from other developers (which I might also blame on Guile :-P) ultimately caused me to abandon the project. There is a relatively small community of free software developers who have the talent and knowledge to build a successful 3D modeller. Unfortunately none of them can agree on just about anything, which is why the 3D equivalent of the Gimp isn't already available.
guile-fltk :: 10.11.1999
guile-fltk is a scheme binding for the Fltk C++ GUI toolkit. Like Extreme Wave, guile-fltk has fallen into disrepair because the Guile API has changed drastically. guile-fltk was written as a support layer for Extreme Wave and was the first foreign language binding ever written for Fltk. The distribution also included a modified version of Fluid that would generate scheme code directly.
AgNews Poster :: 07.20.1997
I was originally hired by the Texas A&M Agricultural Communications department in 1996. My main task was to code news stories and update links for these stories. Instead, I wrote a script that does it for me. Bwahaha.. All the news content on agnews.tamu.edu is the result of this program. Over four years later this program is still being used. I stopped working on this because at some point it became more or less "complete" and I graduated from A&M. I suspect the new system administrator at A&M has continued tweaking it to add new features.
:: source code (pt 1), source code (pt 2)
JAnalog :: 03.31.1999
Analog is a statistics program for http log files. It comes with a CGI interface called analform, but this interface lacked a lot features I needed on the sites I work with. I wrote this interface (JAnalog) which works in a fundamentally different way. The author of Analog rewrote Analog's form interface ( inspired in part by my code), so I have stopped maintaining mine and recommend using the interface that now comes with recent versions of Analog. I got a small acknowlegement in the documentation if you search carefully.
:: source code, example
Yes it's all free, but if you really want to send me money because you found something I wrote to be insanely useful, you can click the paypal logo.