Java Grinder takes Java byte-code from a class file and compiles it into an assembly code text file that can be assembled and run on microcontrollers and CPUs including MSP430, dsPIC, 6502 (Commodore 64), 68000, ARM, and MIPS. A Java API is provided for dealing with SPI, GPIO, Commodore 64 hardware, and more.
METAXPON ("Metachron" in Greek letters) is a small and fast audio DSP library for time-scale manipulation of 16-bit integer or 32-bit floating point stereo audio data streams. It employs a rigid phase-locked vocoder with dedicated transient detection and processing, and can work in real-time or non-real-time. Four editions are included - a portable edition and three x86 editions. The portable edition can be built with any ANSI C compiler and is OS- and architecture-independent. The three x86 editions are written in assembly using the FPU, 3DNow!, and SSE instruction sets, respectively, with automatic selection between them depending on the CPU capabilities. They can be compiled with MASM, JWASM, or NASM, producing libraries of object files in 8 formats.
DotNetZip is a zip library for .NET and Silverlight. Using this library, you can build .NET or Silverlight applications that create, view, update, or unpack ZIP archives. DotNetZip also includes a ZLIB library and a BZip2 library. It is all managed code. Compact Framework versions of the libraries are included as well. The ZIP library supports WinZip AES encryption, regular PKZip encryption, Zip64, Unicode filenames, and many other ZIP features.
The Smart Card Detective (SCD) is a general framework for research on smart cards. It allows you to monitor any smart card application (including Chip and PIN / EMV transactions) and create your custom applications. The software is completely open source, and the hardware can be bought from Smart Architects. The device has a smart card interface as well as a terminal/reader interface, allowing the SCD to act as a passive/active monitor between a card and a reader or emulate a card or a terminal. Using the Python command line interface, you can interact with the SCD using a PC. This allows more flexible operation, although the SCD also features many stand-alone applications and a battery so that you can also use it without a PC.
Charm++ is a portable adaptive runtime system for parallel applications. Application developers create an object-based decomposition of the problem of interest, and the runtime system manages issues of communication, mapping, load balancing, fault tolerance, and more. Sequential code implementing the methods of these parallel objects is written in C++. Calls to libraries in C++, C, and Fortran are common and straightforward. Charm++ is portable across individual workstations, clusters, accelerators (Cell SPEs and GPUs), and supercomputers such as those sold by IBM (Blue Gene, POWER) and Cray (XT3/4/5/6). Applications based on Charm++ are used on at least 5 of the 20 most powerful computers in the world.
The Tinyserial library is a space-saving alternative to the Arduino software distribution's libraries for reading and writing characters and strings to the USART0 serial port on the Atmel ATmega168 and ATmega328p MCUs found on Arduino Diecimilla and Duemilanove boards. While the Arduino software distribution's libraries provide interrupt-driven serial I/O with far more features and support more MCUs, the Tinyserial library provides only the most basic polling-based serial I/O. However, the Tinyserial library uses far less Flash and SRAM, thereby giving you room to implement larger and more complicated applications on your boards. The Tinyserial library respects the GNU libc ABI, so you can call into it from C and C++ programs.
The Objeck computer language is an object-oriented computing language with functional features that has ties with Java, C#, and Pascal. In this language, all data types are treated as objects. The language consists of a compiler and VM with an accompanying memory management and JIT compiler.
libCVD is a very portable and high performance C++ library for computer vision, image, and video processing. The emphasis is on providing simple and efficient image and video handling and high quality implementations of common low-level image processing function. The library is designed in a loosely-coupled manner, so that parts can be used easily in isolation if the whole library is not required. The video grabbing module provides a simple, uniform interface for videos from a variety of sources (live and recorded) and allows easy access to the raw pixel data. Likewise, the image loading/saving module provides simple, uniform interfaces for loading and saving images from bitmaps to 64 bit per channel RGBA images. The image processing routines can be applied easily to images and video, and accelerated versions exist for platforms supporting SSE.