Vocabulary is a Web-based vocabulary trainer written in PHP. It has its own user and word management and uses PostgreSQL as a backend. The user can choose to be asked for words out of three categories: known (the words spelled correctly), unknown (the user pushed the "I don't know" button), and wrong (the user misspelled the word). New users have all words in the category "Unknown" by default. New words added by the administrator appear in the category "Unknown" for all users. The words are stored in the categories depending the answer given by the user. The words are organized into chapters, and each chapter belongs to a book.
WebStorage is a Web based application for storing files in a PostgreSQL database where the files can be organized in directories. It is similar to a Unix file system, except that it is accessed by a Web browser and does not employ file access permissions. Its intended use is for work groups or single users, where access permissions are not critical. However, it features a user activity log where additions, deletions, and updates are recorded.
libgfileio is a very small C++ library that wraps around the standard unbuffered Unix file I/O functions, write() and read(). It also provides some other wrappers for file-related functions. It is type safe and extensively uses C++ exceptions for signaling error conditions, and is best used for record-oriented read()/write().
Libgvectors is a C++ library for visualizing three dimensional mathematical vectors, providing three fundamental classes for achieving its purpose. It makes as few assumptions as possible about the graphics library used to draw vectors on a screen and is not bound to any particular graphics library.
agentsmith is a daemon that continuously monitors a log file for break-in attempts by remote hosts. Upon detection of a break-in attempt, it launches a user defined script or application, which can do virtually anything from sending mail messages to whatever else you might think of. The criteria for what is considered a break-in attempt can be configured by means of a regular expression.