4 projects tagged "lib"
HolyGrail is an implementation of the GTD's next action list. In other words, it's a kind of todo list. It is composed of realms (contexts), quests (projects), and missions (todos). A realm groups missions, and generally represents a location or a situation, e.g. "at work", "at home", or "code". A mission is the next physical action to do to complete your goal. A quest is a succession of missions; it represents a goal. Every time what you are planning requires more than one next action, create a project.
LibAPCNIS is a PHP library for accessing the NIS port of the Apcupsd UPS Monitoring daemon. It allows you to access realtime UPS stats from a PHP script without having Apcupsd installed. It does not require the apcaccess application included with an Apcupsd installation, and there are no external dependencies.
Storing binary (boolean) matrices where each element is a byte (or worse, a 32 or 64 bit integer) is incredibly inefficient and wasteful, both in time and space. For example, a 10k square matrix requires 400Mb of RAM if stored as 32 bit int values. Binmat is a library that bit-packs these matrices so that this 10k square matrix requires just 12.5Mb (the minimum space possible). More than that, binmat takes advantage of extremely fast bit-operations when multiplying matrices. The usual series of multiplications and additions required to compute each element are replaced by bitwise AND and OR operations. Furthermore, on 64-bit hardware each bitwise operation can replace up to 64 multiplications or additions, reducing operations that can take hundreds of clock cycles down to just a single cycle. This gives rise to some very considerable performance increases, especially when taking the power of a matrix. Binary exponentiation is implemented to further improve the performance of higher matrix powers.