PageWork is a wiki that focuses on fast content delivery as well as an expandable and adaptable code library. It explicitly separates the volatile run-time environment of a hosted site from the encapsulated code library, and has the ability to host multiple sites based on the same software. All pages and files undergo revision control of arbitrary depth. In combination with users and groups, access to resources is controlled by ACLs that resemble Unix permissions. Features include tagging, SEO, media and meta data management, comments, breadcrumbs, bookmarks, templates, memos, Atom/RSS feeds, adaptable resource caching, and site-wise and personal customization.
Dextep Template Engine implements a template engine based on regular expression replacements. It can process a template with marks that define placeholders or sections using regular expressions to locate and replace those marks. Currently, it supports marks that define expressions, conditions, loops, and sub-templates files. The templates may compiled and cached to avoid processing the templates again in the future.
The aim of ADF MAGE-ML Tool is to provide a module for converting ADF files (a tab delimited file representing microarray design layout) into MAGE-ML format, and for generating an ADF from an array design described in MAGE-ML format. The module is build upon the ADF specifications and using MAGE-Stk APIs (Java). MIAME-compliance checking, a logging system, and integration of LifeScience Identifier (LSID) specifications are key components of the module. The module can be used via the command line or a graphical user interface.
pthread-lib is a set of pthread wrapper functions, a thread manager, and a signal handler. The wrapper functions enable the programmer to create and manage sets of thread pools without knowing all the pthread internals. This includes creating, joining, and other operations. The thread manager watches and supervises the threads, checking whether they are still alive and working. The thread manager can also be assigned tasks by the programmer, either in code or by a configuration file. These tasks will be executed when the scheduled date/time occurs, and can be almost any task. The thread manager is implemented as its own thread within the main process. A single-threaded signal handler is available to catch all signals to a multi-threaded process. Instead of having every thread manage signals, this one thread handles all signals. To further enhance its functionality, the programmer is allowed to assign functions (via a pointer to a function) to any signal it may catch.