MUSCLE (Multi User Server Client Linking Environment) is an N-way messaging server and networking API. It includes client-side networking APIs for various languages, including C, C++, C#, Delphi, Java, and Python. MUSCLE lets programs communicate over a network via streams of serialized Message objects. The included server program ("muscled") lets its clients message each other and store information in its server-side hierarchical database. The database supports flexible queries via hierarchical wildcarding, and "live" updates via a subscription mechanism.
C/Invoke is a library which can call C functions at runtime with no prior knowledge of the function prototypes. This capability is used to allow any language to call native libraries without writing a separate module in C, similar to the P/Invoke functionality of the .NET framework.
Piccolo2D is a toolkit that supports the development of 2D structured graphics programs, in general, and Zoomable User Interfaces (ZUIs), in particular. A ZUI is a new kind of interface that presents a huge canvas of information on a traditional computer display by letting the user smoothly zoom in to get more detailed information and zoom out for an overview. It uses a "scene-graph" model that is common to 3D environments. This means that Piccolo maintains a hierarchical structure of objects and cameras.
tmphoto is a Web photo gallery with a fairly advanced metadata structure, allowing photos to be described in terms of place, category, persons in the photo, and events. The places, categories, persons, and events can be further described. It offers a nice browsing interface based on the metadata.
Algorithm Study provides tools and resources to augment the traditional study of algorithms. It includes implementations of common and less-common algorithms in a variety of languages and visualization tools to help in gaining a deeper understanding of the algorithms. The algorithm implementations are each accompanied by a discussion of the asymptotic ("big O") run time and memory limits of the algorithm. Some implementations include discussion of how the algorithm or data structure is commonly used and comparisons with similar algorithms or data structures. All implementations have test cases that exercise their functionality. The visualization tool, Algorithm Visualizer, displays what happens as various algorithms do their work.