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.

JRainbow is a program that generates Rainbow tables for the MD5 and SHA-1 hash algorithms. These tables then can be used for a Rainbow attack to retrieve hashed passwords. Up to 8 digit password rainbow tables are supported. The tables use a textual format. Six variations of alphanumeric and special character sets are supported. You can choose how many times to hash the input before storing it in the table.

TSPSG is intended to generate and solve "travelling salesman problem" (TSP) tasks. It uses the Branch and Bound method for solving. Its input is a number of cities and a matrix of city-to-city travel costs. The matrix can be populated with random values in a given range (which is useful for generating tasks). The result is an optimal route, its price, step-by-step matrices of solving, and a solving graph. The task can be saved in an internal binary format and opened later. The result can be printed or saved as PDF, HTML, or ODF. TSPSG may be useful for teachers to generate test tasks or just for regular users to solve TSPs. Also, it may be used as an example of using the Branch and Bound method to solve a particular task.

The "Sound of Sorting" is a demo program containing many integer sorting algorithms. The algorithms are visualized in real time and augmented with sound effects, which are based on the values being compared. Animation speed and sound sustain can be customized while the algorithm is running. The visualization also highlights the algorithm's internal workings, which makes the demo program very useful for teaching sorting algorithms in an undergraduate computer science course. The program also counts the number of comparisons done by an algorithm, which can then be compared to the analytically derived value. The demo is implemented using the cross-platform toolkits wxWidgets and SDL, and can be executed on Windows, Linux, and Mac.

C Almost Generic Library (CAGL) is a set of C macros which generates typed arrays, lists (singly or doubly-linked), hash tables, and balanced binary trees, as well as many useful functions to manipulate them. The containers grow automatically, and their memory is managed by the library. The container data, or elements, may also be managed by the library, depending on the options specified by the programmer. The aim is to free C programmers from the drudgery of implementing common data structures and algorithms. CAGL also provides some safety by making the containers typed instead of void pointers. Although, at most, two macros are invoked to declare and define a container type, manipulation of the containers is done using functions generated by the macros. A simple naming convention is used to get around the limitation that C doesn't support function overloading.

A .NET solution for rendering barcode images in SQL Server 2000, 2005, and 2008 Reporting Services.