Hi! I'm three different people on the Internet, and you're probably looking for only one of me. I'm a Ph.D. student at Stanford University, I'm a hobbyist game programmer, and I'm working at an Internet startup. Who are you looking for?
The best way to contact me is through email, because I read that from home, school, and work. However, I don't always respond right away because I'm swamped with email (usually 400-600 messages a day).
School
I am a Ph.D. student at Stanford University studying programming languages. My thesis work is about Obstacl, an object extension to Standard ML. I also worked on a web proxy server that alters Java applets to make them more safe. Since I have Java applets turned off in my browser, I decided to add some features to this proxy that would be more useful to me: filtering banner advertisements, reporting and blocking cookies, mangling URL redirects, spotting web bugs, removing pop-up windows, and generally reformatting web pages so that I can read them better). I have more about my school-related projects on my other home page.
Home
I've been working on games and other software in my free time. I generally like to release the software (including source) for free. While writing games, I research topics that are related to games I'm working on or want to write in the future. I have collected some information about these topics in a web page about programming topics for computer games. I also write tools for games and web pages, and I've put up some of my Python libraries, including Yapps (yet another python parser system).
In 1990, I wrote a game called Solar Realms Elite
(SRE). It was a multiplayer text game that ran on electronic
bulletin board systems (BBSes), and the last version (from 1994)
is
still available for download. You can also download flavors
like SRE-Trek
and Animaniacs
SRE. This game spawned a family of somewhat popular "Solar
Realms" games, including SRE's sequel, Barren
Realms Elite (BRE). Curiously, some unrelated door games
and BBS systems supported the DOORFILE.SR
format I
wrote for SRE to get information from the BBS software. In
1996, I lost both my SRE source code and my backup copies, due
to a hard disk disaster. Since then, several people have asked
if I would release the source. Alas, I would but I can't!
I am encouraging them to write a clone of SRE, and at least eight people have been
interested in writing SRE clones.
If you're interested in cloning SRE, please let me know! I've collected some of the notes about SRE's design. One thing that I agonized over was winning: the original design of SRE allowed the first player to win, rather than the best player. This seems to be an accepted dot-com wisdom. The problem is that this sort of game isn't necessarily fun.
Believe it or not, someone has written a strange sci-fi story that mentions the characters waiting for their SRE turns! People also write stories with weird BRE references.
I also worked on a multithreaded strategy game called SimBlob, but I never completed this project. I wanted to bring environmental simulation (water, soil, air, fire, and so on) to a strategy game, and explore the strategies that would be possible when the player could build dams, fight erosion, deal with deforestation and forest fires, build canals and reservoirs, and provide irrigation systems for farmers. The source code to SimBlob is available, but it's not actively being developed.
In addition to games, I'm interested in a wide variety of things. When I find really interesting or useful web pages, I'll add them to my list of interesting things.
Work
In addition to working on my Ph.D. degree, I'm working at an Internet startup called Google. One problem with Google is that it's far more fun than working on my dissertation. I play two roles there — one as Chief Lumberjack, analyzing log files to learn how people use the search engine and what we can do to improve their experience — and another as Google Ranger, working with everyone in the company on a thousand different things, like the Linux/Google logo and the BSD/Google logo. Since I have log files, I can track the ups and down of all your base are belong to us or other such silly things.