Hypercyber   The boing demon

Boing: an excercise in bleeping featurism.

The boing program

Some of the source URLs in the embedded images in my pages use a CGI program called boing.cgi to generate the images.  The program boing.cgi returns a redirection request to an image whose pathname was encoded in its URL. The image serves as normal decoration in the page.  But before it prints out the redirection, boing.cgi sends a datagram containing your host name, part of the PATH_INFO environment variable, and the whole QUERY_STRING environment variable to a server (the boingd) that I run while I'm logged in on my workstation.

The boing server

When a datagram arrives at the boing server, the server interprets its first segment (up to a hash mark # or a trailing newline) as the name of a file relative to a dedicated directory.  It copies that file to /dev/audio, which means that I hear it, usually via a pair of two loudspeakers that I keep plugged in.  (It also checks to make sure that the path doesn't leave the directory - don't even think of cat'ting /vmunix.)  As a net result, my workstation makes ``boing'' whenever someone reads my hotlist, ``gong'' whenever someone reads the C page, ``blueeep'' whenever someone reads the page on the GSM 06.10 speech compression algorithm, etc: I can hear what's going on in my document subtree.  (In addition, the text after the # is printed on the server's standard error output.)

The whole project was inspired by Chuck Musciano's simpler suggestions for generating Audio Feedback From Your HTTP Daemon.


Bug reports and comments welcome; send email to jutta@cs.tu-berlin.de.