Glossary of Terms

Dealer[http://www.computerpokercompetition.org/index.php?option=com_rokdownloads&view=folder&Itemid=59]

The program used to deal cards and manage poker matches. It is the official program used by the Annual Computer Poker Competition to run its matches.

action

A method in a controller[http://guides.rubyonrails.org/action_controller_overview.html], to which a route is mapped.

Apache[http://www.apache.org/]

A commonly used production-grade web server that is also used by this application.

background process server

A server to run jobs in background. Background processes are necessary because a TCP socket needs to be persisted in order to communicate with the Dealer[http://www.computerpokercompetition.org/index.php?option=com_rokdownloads&view=folder&Itemid=59].

Beanstalkd[http://kr.github.com/beanstalkd/]

The background process server implementation currently being used to run jobs in the background.

bot

An automated agent that can play matches against other competitors without input from a human user.

Player response

A matchstate string with an appended action, according to the format specified by the Dealer[http://www.computerpokercompetition.org/index.php?option=com_rokdownloads&view=folder&Itemid=59].

competitor

A user operating a browser or a bot. A competitor can participate in a match.

controller[http://guides.rubyonrails.org/action_controller_overview.html]

A class that inherits from ApplicationController, contains actions that render views to the browser, and delegates business logic to models and background processes.

CPRG[http://poker.cs.ualberta.ca/]

The University of Alberta’s Computer Poker Research Group.

gem[http://docs.rubygems.org/read/chapter/1/]

A plug-in-like Ruby library or application that adds functionality to another Ruby application. Gems are listed in Gemfile and are installed by running bundle install from the application’s root directory.

Javascript template

Javascript embedded in an ERB or HAML format template. It usually has an .js.erb or .js.haml extension.

match

A sequence of poker hands managed by the Dealer[http://www.computerpokercompetition.org/index.php?option=com_rokdownloads&view=folder&Itemid=59] and played by competitors.

match state

The state of a match on a certain turn during a particular hand. Strings describing the match state are sent to participants by the Dealer[http://www.computerpokercompetition.org/index.php?option=com_rokdownloads&view=folder&Itemid=59].

model[]

A class that works with data from, and provides results to, controllers.

partial template or partial

A snippet of template code (ERB, HAML, etc.) that can be inserted into full templates at run time. By convention, partial template files begin with an underscore (‘_’). See and Rendering in Rails[http://guides.rubyonrails.org/layouts_and_rendering.html] for more information.

participant

A competitor who joins a Dealer[http://www.computerpokercompetition.org/index.php?option=com_rokdownloads&view=folder&Itemid=59] hosting a match.

Phusion Passenger

Integration manager between Rails[http://rubyonrails.org/] and Apache[http://www.apache.org/].

route[http://guides.rubyonrails.org/routing.html]

A map between URL parameters and controller[http://guides.rubyonrails.org/action_controller_overview.html] actions.

template

A file that can be interpreted into an HTML page, which can be displayed in a browser. It is usually written in ERB or HAML and is a file with a .html.erb or .html.haml extension respectively. See and Rendering in Rails[http://guides.rubyonrails.org/layouts_and_rendering.html] for more information.

view

A set of templates that can be rendered by controller[http://guides.rubyonrails.org/action_controller_overview.html] actions to the browser. See and Rendering in Rails[http://guides.rubyonrails.org/layouts_and_rendering.html] for more information.

worker

A process running on a background process server. The worker script for this application (lib/background/worker.rb) is based on the Stalker gem and runs on Beanstalkd[http://kr.github.com/beanstalkd/].