CIL is a frontend for the C programming language which facilitates program analysis and transformation. CIL will parse and typecheck a program, and compile it into a simplified subset of C. For example, in CIL, all looping constructs are given a single form and expressions have no side effects. This reduces the number of cases which must be considered when manipulating a C program. CIL has been used for a variety of projects, including CCured, a tool which makes C programs memory safe. It supports ANSI C, as well as most of the extensions of the GNU C and Microsoft C compilers. A Perl script acts as a drop-in replacement for either gcc or Microsoft's cl, and allows merging of the source files in your project. Other features include support for control-flow and points-to analyses.
PGJDBC-NG is an implementation of the JDBC for the PostgreSQL server. It aims to support the complete JDBC 4.1. Specifically, it supports the advanced UDT features of JDBC which the current driver lacks. It's implemented using an asynchronous I/O library (Netty), which allows it to support other advanced features like asynchronous notifications.
Nuttx is a real-time embedded operating system (RTOS). It has a small footprint that is usable in micro-controller environments. It is fully scalable from tiny (8-bit) to moderate embedded (32-bit) systems. It also aims to be fully compliant to standards, to be fully real time, and to be totally open.
NXWidgets is a graphical user interface package for the NuttX RTOS. It integrates seamlessly with the NuttX NX graphics subsystem in order to provide graphic objects, or "widgets". It is written entirely in C++ using only selected "embedded friendly" C++ constructs which are fully supported under NuttX. No additional C++ support libraries are required. It is tailored for use with MCUs in embedded applications. It is ideally suited for the mid-to-upper range of most MCU families. It will work on high-end frame buffer devices as well as on LCDs connected via serial or parallel ports to a small MCU. It will accept position and selection inputs from a mouse or a touchscreen. It will also support character input from a keyboard such as a USB keyboard. It supports a special widget called CKeypad which provides keyboard input via an on-screen keypad which can be operated via a mouse or touchscreen inputs. Some of the graphic objects supported by NXWidgets include labels, buttons, text boxes, button arrays, check boxes, cycle buttons, images, sliders, scrollable list boxes, and progress bars.
CPC (Continuation Passing C) is a programming language designed for writing concurrent systems. The CPC programmer manipulates very lightweight threads, choosing whether they should be cooperatively or preemptively scheduled at any given point; the CPC program is then processed by the CPC translator, which produces highly efficient event-loop code. This approach gives the best both worlds: the relative convenience of programming with threads, and the low memory usage of event-loop code. The semantics of CPC is defined as a source-to-source translation from CPC into plain C using a technique known as conversion into Continuation Passing Style. The current implementation of CPC has been used to write Hekate, a BitTorrent seeder designed to handle millions of simultaneous torrents and tens of thousands of simultaneously connected peers.
sdparm has a command line interface for getting and setting SCSI mode page fields. Fields can be referred to by an acronym or a numerical address. It has support for various SCSI transport and vendor-specific mode pages. It also decodes Vital Product Data (VPD) pages and can send some simple SCSI commands. sdparm was originally written for Linux with ports to FreeBSD, Solaris, Tru64, and Windows.
Gearmand is the job server component of Gearman. Gearman provides a generic framework to farm out work to other machines, dispatching function calls to machines that are better suited to do work, to do work in parallel, to balance the load of processing, or to call functions between languages.