e2 elements is a flexible and modular application development framework optimized for embedded systems. Through a component-based architecture and the strict separation of implementation and interface, the framework encourages reuse and improves backwards compatibility. It is portable over a wide range of environments, but with low memory footprint and an emphasis on simplicity. It is particularly well-suited for constrained environments like uCLinux. Dynamic loading of components and statically-linked applications are possible.
Internalize is a little program designed to display sentences or short texts about which the user would like to be reminded. This helps the user to internalize and memorize the text easily. The sentences are simply gathered in a list. Internalize reads the sentences from the list, and every now and then (in configurable time intervals) makes one of them appear in a little window on the desktop. A short example list is included in the program.
Logsend is a Unix daemon for email notification of log file changes, having 3 different backends. It watches the log files and periodically mails you the additions (being able to filter them). Logsend comes with a dialog-based configuration tool, as well as a live monitor that allows the users to watch the changes in real time.
Local IP Takeover provides network link redundancy within a single server that has multiple network interface cards (NICs) with each NIC connected to separate network switches. If the primary NIC fails (i.e. it cannot ping its default gateway), the "service" IP (the IP that the outside world connects to) will automatically float to the secondary NIC and a specially crafted ARP (utilizing send_arp) will be broadcast on the local network, thereby instructing all other hosts to update their local ARP cache. The result is minimal service downtime. Plus, no manual intervention is required in the event that a network card, cable, or switch breaks.
NVM Virtual Machine is a small, fast, extensible and portable virtual machine. It can be used, for example, as a scripting engine in microcontrollers. It can be configured to work in a few modes (with a machine word equal to 16, 32, or 64 bits) depending on user needs. Programming is done using an ASM-like language or a (simple) higher level language which is implemented using ocamllex and ocamlyacc.