Kantine software project

This page contains something as odd as software projects developed at a cafeteria (Datalogisk Kantineforening in Danish). This cafeteria, however is no ordinary cafeteria, it is a student-driven lunch-room and place to hang out at the computer science institute at the University of Copenhagen (DIKU).

Being a computer science institute we naturally make the software that we need. These are the projects we have developed over the years. Each of the projects can be found in the SVN repository where further information is provided, and some have w a dedicated web page:

Monket Calendar

We needed an online web calendar that had a few important properties: 1. could show multi-day event properly, 2. allows a user-selectable mix of calendars, 3. allows ics/rss export. The closest one we found was Monket Calendar, however it was modified in a number of ways:

Get the source code from the SVN repository or browse online here:
  svn co https://svn.sourceforge.net/svnroot/diku-kantine/trunk/monket-calendar


This project reads the status of a Royal Vendor vending machine and stores it in a database. The database can then be quiried to generate online statistics of the sales. The application has been tested using the following vending machine models:

The current sales statistics for our machines can be viewed here

The origin of the project starts with a research project (Manatee) that needed a fun demo to show off a data-dissemination idea. What kind of data could be more relevant than the number of coke's left in the coke machine? Who knows, but Coca Cola in Denmark was kind enough to provide us with a brand new Coke machine to play with.

Get the source code, documentation and more from the SVN repository or browse online here:

svn co https://svn.sourceforge.net/svnroot/diku-kantine/trunk/coke 

Old - coke

The very first coke-statistics project at DIKU. This involved no protocol reverse engineering, but a lot of soldering to get this up and running. Take a trip down memory lane and experience the original 1997 website. The hardware still exists - who knows maybe it will be put in operation again some day.

All the code, schematics, etc. is available on the original website only.


This burglar alarm was developed to secure a coin-changing machine. It is read from the PC parallel port and can be connected to sensors that work like switches (eg. switches, tilt, shake, etc.).

The main idea is, that the PC periodically probes the status of each of the triggers via the parallel port, once a switch is triggered the PCB holds this state such that the PC doesn't "miss" an alarm. This is most useful for a shake-sensor which is a simple rattling switch - the PC can maintain a low poll-rate and still sense the alarm.

The burglar alarm consists of two things:

  1. The software for PC
  2. The PCB that interfaces to a set of switches.
The software and the schematics for the PCB can be found in the
SVN repository or checked out like this:
  svn co https://svn.sourceforge.net/svnroot/diku-kantine/trunk/burglar-alarm


The coke-vending machine above was modified to include and LCD screen and a small PC. The idea was to show perhaps sales statistics, message of the day, announcements, upcoming events and so forth. In essence an info channel display (a bit like Scala).

The PC was fairly limited and we preferred Linux, so we ended up modifying slideshow. This is a mix of Pyhon and C++ that uses SDL and is able to run in the Linux frame-buffer (thus saving the overhead of X11). Presentations are written as simple Python scripts. Our modifications include:

You can get the code here and a few example presentations here, or check a copy out of the repository:

  svn co https://svn.sourceforge.net/svnroot/diku-kantine/trunk/slideshow-0.7.0-diku


A modified version of the MailListStat (mls) mailing-list statistics software. This version adds:
Martin Leopold Created on June 4, 2006
Last modification on June 5, 2006