We have created an image with the contest environment on it. The image is derived from the current Ubuntu Long Term Support (LTS) release called Precise Pangolin (12.4). It is meant to be used in booting from a USB flash drive. Not all the computers used in the contest have 64 bit processors, so we use the 32 bit version of Ubuntu.
Plug in a flash drive that is at least 8GB in size.
Unzip the Windows USB installer and run the exe file.
Select the flash drive, select the binary image of the contest environment.
Click "Write to UFD". (Multiple USB flash drives can be written this way.)
When complete, the USB drive can be used to boot an Intel PC into running the contest image. The hardrive of the PC is unchanged and inaccessible. On first boot the team number and printer IPs may be set using the administrator password "admin", otherwise press 'cancel' and log in as a user.
The compilers can be tested at the command line by running the script: testPrograms.sh
Some languages have significant differences according to version and platform, in particular, library support sometimes change. The implementations listed above are the only implementations used in the contest. Implemenations might have bugs in them.
More details about compiling and running can be found at the Sample Contest WWW page. Included there is a script which can be downloaded and used to test if the contest environment has all the compilers properly installed.
To print a file (to the default printer or class of printers), invoke the command:
pcpr filenameat the command line. Only files printed this way, will be delivered to the team.
By the way, printing is administered by CUPS.
Here are some command-line actions for internal reference.
lpstat -a # a list of all printers lpstat -d # the name of the default printer lpstat -c # a list of printer classes lpstat -o # list all active print jobs lpstat -t # all printer information lprm <job-id> lpadmin -p hplj1 -v socket://192.168.0.6:9100/ -E # add & enable a network printer lpadmin -p hlplj -L "FIT: in the backroom" -D "The first of two printers for the contest" lpadmin -p hplj2 -v socket://192.168.0.17:9100/ -E # add & enable a network printer lpadmin -p hplj1 -c contest # create class 'contest' and add printer to it lpadmin -p hplj2 -c contest # add printer to class 'contest'