NetMRG is a network monitoring, reporting, and graphing system. Using MySQL, PHP, C++, pthreads, and RRDTOOL, it is capable of monitoring thousands of arbitrary values at user-configured intervals (typically 5 minutes). Graph templating allows network and system admins to begin monitoring routers, switches, servers and other devices with minimal setup overhead. NetMRG is also capable of responding to programmable events, such as variables exceeding accepted tolerances. NetMRG can be deployed in server hosting and ISP environments, allowing users to view only their own equipment's bandwidth or traffic graphs.
A series is a data structure much like a sequence, with similar kinds of operations. The difference is that in many situations, operations on series may be composed functionally and yet execute iteratively, without the need to construct intermediate series values explicitly. In this manner, series provide both the clarity of a functional programming style and the efficiency of an iterative programming style. Series is the culmination of many years of design and use of this approach, during which some 100,000 lines of application code have been written (by about half a dozen people over the course of seven years) using the series facility in nearly all iteration situations. This includes one large system (KBEmacs) of over 40,000 lines of code. In a nutshell: Think "Efficient MAPCAR". SERIES translates functional-style expressions into efficient loops.
Gos4j is a way of organising processing priorities based on goals. Each goal is prioritised to be processed based on its time to complete and its progress towards that goal. Deadlines are used to act as the target completion time for a goal, and can be expressed in either relative or absolute terms. It can be used to support an unknown processing environment with real time constraints. A typical example of this would be in an application programming set-up, where user code would run alongside your code, and so fixed priority scheduling may not be efficient. Gos4j can easily reschedule threads to meet as many of the specified constraints as possible, so overall performance will degrade gracefully and conflicting time constraints will be handled equitably.