Without a doubt, dispense is one of the most singularly important things in the UCC. It is a mish-mash of software and hardware and over the years has evolved from a simple way to electronically dispense drinks to your UCC electronic wallet. Dispense was replaced in 2011 with OpenDispense2, which is a cleaner and simpler open-source substitute written by JohnHodge [TPG]. Much of the original software was written by an eighteen-year-old! Printing, phone calls, memberships, drinks and snacks are all paid for with dispense. It even allows Door group to open the electronic door lock.
Maintaining Your Coke Account
The UCC drink and snack machines do not accept money directly. To get at their delicious contents you will first need some coke credit. The usual method of doing this is to shout “Is anyone here in Coke?” in the clubroom. Assuming someone says “Yes!”, you can ask them to please add some money to your account. Present your money to the coke member, who will count it and put it in the safe.
Using Dispense from a Console
The traditional way to use dispense is via a UNIX terminal on Motsugo or Mussel. Typing dispense at the prompt will bring up a list of purchases available to you. You will not be able to select items you do not have enough credit for. If you do not wish to select an item you can press q to return back to the prompt. Dispense has options to pay for other items besides drinks and snacks. The selection of such items will depend on the time of year, but commonly include tickets to events and items like the UCC T-shirt. You can also pay for phone calls and paper for the laser printer this way. You can then ask someone in Coke for your item, informing them you dispensed the item.
Viewing the Cokelog
The 'cokelog' file which contains the history of dispense actions executed by the Snack Machine can be found at /home/other/coke/cokelog. You can view recent actions from a terminal with less cokelog, or the history of your own actions using cat cokelog | grep INSERTUSERNAMEHERE.
Using Dispense from the Snack Machine
The snack machine has also been connected to dispense. You can access dispense through the snack machine keypad. However first you will need to set up your account for this access. Use the ucc-set-pin command from a UNIX prompt on Motsugo or Mussel to do this.
You can now type in your 5 digit user id, followed by your four digit PIN to authenticate to dispense. As well as the two digit codes for snacks in the machine, you can request a drink by selecting the slot number followed by an 8 (the machine will tell you what drinks are available if you wait for it to all scroll past; coke is always 68). If you were in Door group, you could also use the machine to open the door.
It is also possible to use a MIFARE based smart card once it is enrolled to login and then dispense drinks. The reader is located on the front of the machine to the left of the keypad behind the glass.
Troubleshooting
The snack machine is on but unresponsive
You go to the snack machine, only to be greeted with the text "WORLD" (or "GOODBYE CRUEL WORLD", if you catch it in time). What do you do?
- Type "fixme" on the terminal next to the snack machine.
If that doesn't work, log into merlo.ucc.asn.au, and try restarting VendServer by running systemctl restart vendserver.
- Unplug the snack machine and plug it back in again.
Fun facts
- Merlo is an ex-industrial control computer with a bunch of serial ports.
- The snack machine connects to this via Modbus.
- The card reader and drink machine are connected to this via serial.
Merlo then runs vendserver, which controls these and interacts with Dispense.