CGI Programming by Collin Forbes
  The story of Fish95   Updated: Sat, 8 Jul 2000  
[*] Introduction
[+] Troubleshooting
[+] Improbable Postcards
[+] Calendar of Events
[+] Expanding Menus
[+] Meme Vector
[+] Cascading Forms
[+] Insert Tab into Slot
[+] Random Redirection
[+] Simple Selection
[-] About Collin Forbes
 [*] Digital Photography
 [*] The story of Fish95
 [*] Selected links
[+] Works in Progress...

Concept
Fish95 is an ongoing experiment in interactive distributed multiprocessing systems. The user interface is divided into several Functionally Independent System Handles, or "FISH" for short. Each fish responds to user and system input differently, although many systems are redundant.

History
The Fish95 project began in April of 1995 as a 5 gallon system. The hardware was stable but confining. An upgrade to a larger 38 gallon system allowed for an 8-fold boost in performance. This upgrade has not been entirely stable however and numerous bugs (unicellular algae) are being worked out of the system.

The Fish95 biological software has seen four revisions during a short development history. Version 0.1 survived only 12 hours before encountering a fatal error. Undaunted, version 0.1.2 survived beyond the initial 'soak-in' period and featured twin processes. In the end it was remarkably stable and code from this release is still being used in a backup system. The first version shown to the public in May of 1995 was a Betta release and soon demonstrated the ability to support 9 processes simultaneously. The current release is 1.1 and has supported 5 processes continuously for over 9 months.

Support
Daily maintenance includes regular cycling of the storage media. A garbage collection routine works to keep the media as clear as possible. Daily programming exercises are also recommended.

Fish95 may be programmed using external stimuli. Performing input on only one side of the hardware will cause the processes to frequent that side of the tank. However, repeated keypresses may damage the Fish95 hardware which will result in memory leaks.

An individual makes use of the FISH application interface by pushing packets onto the stack. The fish api will take the packets dynamically and push their output into a queue which is soon removed from the environment by the garbage collection routine. The output is easily accessible to the user.

Witholding input from Fish95 will result in unpredictable behavior and an overall loss of performance.