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.
Minnow is a concurrent programming language with a Ruby-like syntax. It compiles to an executable and uses a companion library to allow fully-rebalanced microthreads. Minnow gains a lot of strength from its actor model, which uses message passing, as opposed to threads and locking, as its concurrency model. Taking a cue from Erlang, actor creation and message passing is extremely lightweight (often on the order of a few nanoseconds). The language has a built-in foreign function interface that allows developers to leverage existing C-based libraries in a simple SWIG-like manner. Minnow's object model is based on "melding" features together to form objects.
Angel is a 2D game prototyping engine based on OpenGL and C++. It was originally made by a group of employees at Electronic Arts Los Angeles for use in a GameJam they were planning for April of 2008. Angel provides many useful functions for prototyping gameplay, including simple physics, particles, text rendering, sound, input mappings, config files, pathfinding, and Python scripting.
xCover is a code coverage library for C and C++. It uses non-standard features available with GCC 4.3+ and Visual C++ 7.0+. Users place line-marks in each branch of each function or method in a component's source file, and the library is able to produce, upon request, a report of which of these has not been executed. Reporting can be done on a per-file, per-alias, or per-file-group basis.
Google C++ Mocking Framework (or Google Mock for short) is a library for writing and using C++ mock classes. It was inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s specifics in mind. It lets you create mock classes trivially using simple macros, supports a rich set of matchers and actions, handles unordered, partially ordered, or completely ordered expectations, and is extensible by users.
Ivy is a compiler and runtime library for an extended dialect of C that checks type, memory, and concurrency safety. Ivy supports the full C language, and relies on a small number of lightweight annotations in the source code to keep time and space overheads reasonable. Ivy is implemented as a C-to-C compiler using gcc as its backend.
DromeAudio is a small audio manipulation and playback library. It features a simple API for loading, generating, processing, and playing audio. Some of its features include loading and saving WAV sounds, loading Ogg Vorbis sounds, audio mixing/playback, and dynamic audio processing effects such as pitch shifting and echo.
The Corosync Cluster Engine provides a cluster plug-in engine for third party cluster service developers. Designers develop service engines for use with Corosync that can take advantage of its features including messaging, membership, IPC, a configuration object database, a handle database, automatic replication, and more.
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.