ztex is a firmware Kit with a corresponding Driver API which is especially designed for the ZTEX Modules but which should work with all other EZ-USB based hardware. The Firmware Kit is written in C and assembled using a powerful macro processor. This allows you to specify all required settings using by a few commands. The necessary USB descriptors and the descriptor handling routines are generated automatically. The package runs under Linux and Windows (porting to other operating systems should be no problem). The Java driver API allows the development of platform-independent device drivers.
JCGO (pronounced as "j-c-go") translates (converts) programs written in Java into platform-independent C code that can be compiled (by third-party tools) into highly-optimized native code for the target platform. JCGO is a powerful solution that enables your desktop, server-side, embedded, mobile, and wireless Java applications to take full advantage of the underlying hardware. In addition, JCGO makes your programs, when compiled to native code, as hard to reverse engineer as if they were written in C/C++. The JCGO translator uses some optimization algorithms that allow, together with optimizations performed by a C compiler, the resulting executable code to reach better performance compared with the traditional Java implementations (based on the Just-In-Time technology). The produced executable does not contain nor require a Java Virtual Machine to execute, so its resource requirements are smaller than that required by a typical Java VM. This also simplifies the process of deployment and distribution of an application.
InfinityDB is an all-Java B+Tree database engine that is embeddable in the smallest to the largest applications that run on hand held devices, workstations, servers, or in distributed systems. InfinityDB provides a data integrity guarantee through all non-media failures, provides a simple API with only a few basic methods, and requires no administrative support. Version 2 offers full ACID transactionality without a log and with fine-grained locks. Programmers can easily superimpose their own data model or employ the Entity-Attribute-Value model by direct low-level access. The basic engine provides multi-valued or set attributes, all primitive Java types, unlimited Large Objects, heterogenous values, composite keys (Entities) and values, and unlimited sparse attributes, all extensible in-place with no schema changes.
NanoHttpd is a lightweight HTTP server designed for embedding in other applications. It's only one Java file, in two "flavors", one strictly Java 1.1 compatible, and one at "current" standards. It supports GET, POST, PUT, HEAD and DELETE requests, and supports file uploading with very small memory overhead. Temp file usage and the threading model are easily customized.