Programming Projects

Programming is addictive, and fortunately lucrative (or I'd be out on the streets). I like to work on "free software", also known as OpenSource software -- that is, projects whose source code is open to the public, encouraging spontaneous collaboration and code-sharing. If you don't know what I'm talking about, see the Free Software Foundation's web pages for an incomprehensible explanation.

All of my programming projects are kept under CVS:

cvs -d :pserver:anonymous@cvs.red-bean.com:/usr/local/cvs
For password, use "the key", and check out the module kfogel-code, or any of these individual modules:

cvs2cl Convert CVS log to ChangeLog stable, released; in active maintenance
bkgo A networked Go Game in furiously active development with Ben Sussman. Note that the CVS module is elsewhere, though.
btdtdb The "Been There, Done That DataBase" package stable, in maintenance, used in a few places (including these web pages)
chaffwin an encryption package running, development complete, a collaboration with Ben Sussman
listerizer Web-based mailing list administration stable, in active development, running on a few sites
which An enhanced version of the Unix "which" command stable, you can use it
soforth A cute little Forth interpreter for educational purposes
screensavers some X-windows screensavers small, working
scrypt An encryption system in progress, development semi-suspended
jifei A network usage accounting system in progress, development suspended
bookmark Save named locations in files stable, now part of Emacs
mail-hist Autodynamically store and retrieve sent mail messages stable, now part of Emacs
saveplace Automatically saves your place in a file stable, now part of Emacs
yank-match Choose clipboard selections by regular expression stable, an add-on for Emacs
jump-def Jump to the beginning of a named function definition stable, an add-on for Emacs


Here's the beginning of a Go board I'm writing in Java -- it doesn't play the game itself, but it knows the rules. Eventually what I want is to have a game-in-progress constantly displayed on a web page, where I'm one player and some random person on the Net is the other player. However, all it currently does is display a board, let you make moves, and remove captured stones for you.


(Back to Karl Fogel's home page.)