SPY HILL Research Spy-Hill.net

Poughkeepsie, New York [DIR] [UP]

The BOINC "Russian Roulette" application

This test application plays "Russian Roulette" with BOINC. It was written to test error code handling. It runs for a short while and then exits with a randomly chosen error code, which can include zero (success). An optional input file can specify a sub-range of error codes to be tested.

Last modified: 27 October 2006
This BOINC application was written at the request of Christian Beer to test handling of BOINC error return codes. All it does is run up some credit for a given number of seconds and then exit with a randomly chosen error code. There are no graphics or checkpointing.

BOINC error codes presently range from -100 to -194; you can set the range in roulette.h (as positive values). We also allow for zero (success) by making -99 one of the possibilities and then mapping this to zero. Thus running this program is a lot like playing Russian Roulette with about 100 possible outcomes and only one "success" outcome.

An optional parameter file can specifiy the range of error codes to be tested. The file should just contain one line with two numbers, the lowest and highest possible error codes (as positive numbers). If you allow for values outside of the range 100 to 194 then any value outside that range maps to zero (sucess). You can thus use this to increase the odds of getting a zero by specifying a range which includes more values outside of the range of valid error codes. For example, specifying 0 to 200 will give "success" about 50% of the time.

Tested on Windows and Linux. Source code: roulette-4.52.tar.gz

Update: I'm told that when you play the game with a revolver where all but one chamber contains a bullet then this is refered to as "Sicilian Roulette". This seems a more appropriate characterization of this application.

Please send corrections or suggestions for improvement to

Last modified: 27 October 2006 Copyright © 2006 by Spy Hill Research http://www.spy-hill.net /myers/help/boinc/roulette.html