KnightCap is a chess program.
The principal differences between KnightCap and other chess programs
are:
- KnightCap has an optional fully rendered 3D interface, giving a feel much
more like an "over the board" game.
- KnightCap was developed to run on a parallel distributed memory
machine, although it also runs on normal Unix boxes.
- KnightCap does not have an opening book---instead it keeps a file
(brain.dat) of losing moves and inserts them in the hash table at the
start of each search. At present it has about 1500 entries, and
this makes it a pretty competitive opening player.
- KnightCap learns the parameters of its evaluation function as it
plays. The most dramatic example of how this helps is an experiment
we conducted on FICS in which KnightCap learnt from a 1650 player
to a 2100 player in just 300 games. See
http://cs.anu.edu.au/people/Lex.Weaver/pub_sem/publications/knightcap.pdf
for more info on its learning algorithm.
The Java Chart Constuction Kit (JCCKit) is a small (< 100Kb) Java library and a
very flexible framework for creating scientific charts and plots.
The main purpose is to provide a flexible kit for writing Java applets and
application with the need for visualizing scientific data. If you are looking
for a lean scientific chart and plot library without all the unwanted bells and
whistles of the heavy competitors try JCCKit.
The key features of JCCKit are:
* small (< 100Kb jar file)
* highly configurable due to a sophisticated configuration concept
* extensible (1/3 of all classes are interfaces or abstract classes.)
* automatic updating if data changes
* easy programming of dynamic charts and plots
* automatic rescaling if canvas size changes
* out-of-the-box applet for presenting static data on a web page without
Java programming
* automatically generates a legend
MiniSat is a minimalistic, open-source SAT solver, developed to help
researchers and developers alike to get started on SAT. It is released under
the MIT licence, and is currently used in a number of projects.
Some key features of MiniSat:
- Easy to modify. MiniSat is small and well-documented, and possibly also
well-designed, making it an ideal starting point for adapting SAT based
techniques to domain specific problems.
- Highly efficient. Winning all the industrial categories of the SAT 2005
competition, MiniSat is a good starting point both for future research in SAT,
and for applications using SAT.
- Designed for integration. MiniSat supports incremental SAT and has
mechanisms for adding non-clausal constraints. By virtue of being easy to
modify, it is a good choice for integrating as a backend to another tool, such
as a model checker or a more generic constraint solver.
Table.el is an Emacs lisp package that extends Emacs and provides text
based table creation and editing feature. With this package Emacs is
capable of editing tables that are embedded inside a document, the
feature similar to the ones seen in modern WYSIWYG word processors. A
table is a rectangular text area consisting from a surrounding frame
and content inside the frame. The content is usually subdivided into
multiple rectangular cells, see the actual tables used below in this
document. Once a table is recognized, editing operation inside a table
cell is confined into that specific cell's rectangular area. This
means that typing and deleting characters inside a cell do not affect
any outside text but introduces appropriate formatting only to the
cell contents. If necessary for accommodating added text in the cell,
the cell automatically grows vertically and/or horizontally.
Net::Jabber
The Jabber Instant Messaging project is an Open Source project seeking
to provide a complete cross protocol messaging solution. The problem
with current IM solutions is that they are all proprietary and cannot
talk to each other. Jabber seeks to get rid of those barriers by
allowing a Jabber client to talk with an AOL user, or an IRC chat room,
or any number of other programs.
For more information about the Jabber project visit
Net::Jabber is a collection of Perl modules that provide a Perl Developer
access to the Jabber protocol. Using OOP modules we provide a clean
interface to writing anything from a full client to a simple protocol
tester.
chrony is a pair of programs which are used to maintain the accuracy of the
system clock on a computer; the two programs are called chronyd and chronyc.
chronyd is a daemon which runs in background on the system. It obtains
measurements via the network of the system clock's offset relative to time
servers on other systems and adjusts the system time accordingly. For
isolated systems, the user can periodically enter the correct time by hand
(using chronyc). In either case, chronyd determines the rate at which the
computer gains or loses time, and compensates for this. chronyd implements
the NTP protocol and can act as either a client or a server.
chronyc provides a user interface to chronyd for monitoring its performance
and configuring various settings. It can do so while running on the same
computer as the chronyd instance it is controlling or a different computer.
McStas perl tools to aid in running neutron ray tracing simulations.
McStas is a tool for simulating neutron instrumentation and experiments using
a ray-tracing formalism. Currently the main use of McStas is in the field of
instrumentation design.
This port contains a few perl-based helper tools (including a GUI) to aid the
user in setting up and running simulations. The tools are:
mcgui: A Tk/Perl based GUI.
mcrun: A Script that makes it easy to run sims and perform
point scans and simple optimizations.
mcdoc: Script for viewing inline component documentation.
mcplot: Tool for plotting McXtrace-generated results.
mcdisplay: Visual ray-tracing displaying neutron trajectories.
mcformatgui: Front-end to mxformat to help reformat data-files (obsolescent).
mcdaemon: Deamon to dynamically monitor and plot results (obsolescent).
mcstas2vitess: Tool to transfer a McStas simulation to ViTESS.
mcresplot: Script to help plotting resolution functions.
Chess::PGN::Parse offers a range of methods to read and manipulate
Portable Game Notation files. PGN files contain chess games produced by
chess programs following a standard format
(http://www.schachprobleme.de/chessml/faq/pgn/). It is among the preferred
means of chess games distribution. Being a public, well established
standard, PGN is understood by many chess archive programs. Parsing simple
PGN files is not difficult. However, dealing with some of the intricacies
of the Standard is less than trivial. This module offers a clean handle
toward reading and parsing complex PGN files.
A PGN file has several tags, which are key/values pairs at the header of
each game, in the format [key "value"]
After the header, the game follows. A string of numbered chess moves,
optionally interrupted by braced comments and recursive parenthesized
variants and comments. While dealing with simple braced comments is
straightforward, parsing nested comments can give you more than a
headache.
The confget utility examines a INI-style configuration file and retrieves
the value of the specified variables from the specified section.
Its intended use is to let shell scripts use the same INI-style
configuration files as other programs, to avoid duplication of data.
The confget utility may retrieve the values of one or more variables,
list all the variables in a specified section, list only those whose names
or values match a specified pattern (shell glob or regular expression), or
check if a variable is present in the file at all. It has a "shell-quoting"
output mode that quotes the variable values in a way suitable for passing
them directly to a Bourne-style shell.
The HTML::Field set of modules creates objects that represent HTML form fields
which try to make it easier to interact with CGI objects, databases, and
HTML::Template objects.
The objective of an HTML::Field object is to know how to write its own HTML,
how to get its value out of a CGI object or from a hash,
how to add their value to a hash suitable for passing into a HTML::Template
or into a SQL::Abstract object, for example, and thus re-use some of the code
which is typically repeated several times in a CGI script.
This bundle includes also HTML::FieldForm, which is a very simple module to
manage sets of HTML::Field objects.