The server is accesable at <http://alumni.caltech.edu:8000/>, source for
the program is also available there. A fair number of people have poked
around there, but so far no one has made any comments. I view it as
an interesting exercise, but probably not useful for anything real.
My current opinion is that client-side state is definitely the way to go.
One reason: the user can pause the client, vacation for a week, then
continue querying with the state saved in the client (or saved to a
client-side file somewhere). If the server keeps state, no matter what
form, it must at some point decide when to discard that state, a problem
for which there is no good solution. (The session concept has the same
problem: will you let a user keep a connection open forever, or will it
be shut down after some amount of inactive time?)