Otila 0.7.3a

  • IRC quiz bot written in Python
  • named after the famous finnish quiz host Jyrki Otila (R.I.P.)
  • licensed GPLv2 (GNU General Public License 2)
  • uses PostgreSQL database system to hold the quiz questions and their correct answers
  • configuration file uses XML defined by a RELAX NG grammar
  • tested on GNU/Linux Fedora 10 and OpenBSD 4.4 but will probably run elsewhere too
  • available as a platform independent RPM (Red Hat Package)
  • the RPM package is signed with PGP. Verify it with my PGP public key
  • also available as otila-0.7.3a.tar.gz with the detached PGP signature otila-0.7.3a.tar.gz.sig
  • NOTE 1: This is the early alpha testing stage and Otila may contain serious bugs. I need your help in finding and fixing them.

    NOTE 2: I am especially interested in hearing whether the code contains a race condition in the following circumstances:

  • control is inside timer_interrupt() and an IRC event occurs
  • control is inside an IRC event handler and timer_interrupt() gets called
  • In other words, I do not know whether the Python IRC libraries serialize the IRC event handlers and execute_delayed() calls or not. If they do not, then I guess SIGALARM has to be used and block the signal when we do not want to process it.

    NOTE 3: I appreciate all feedback. If you can improve the code or the documentation, please send me patches. Thank you.

    March 3 2009