Itzam is an embedded database engine that creates and manipulates files containing keyed-access records. Information is referenced by a user-defined key value, and one or more indexes (hash, B-tree, or matrix) may be combined with or separated from data. Itzam is deliberately portable and designed as a foundation for other languages (C++, Python, and Java).
Coyotl collects several C++ tools that have proven useful in many of the author's programs, but which aren't "big enough" to warrant an individual library. Classes include polymorphic psuedorandom number generators, floating-point functions and utilities, maze generators, a simple cross-platform commandline parser, and design-by-contract tools.
EvoJava is a program for interactively exploring intriguing concepts in computer science. From cellular automata and rule-based systems to fractals and genetic algorithms, EvoJava is an education tool for anyone interested in the "edges" of science. Or, if nothing else, it makes a lot of pretty pictures.
Itzam/C++ wraps the Itzam database engine with C++ templates for both simple and complex database classes. It supports B-tree, hash table, and sparse matrix indexes with unique or duplicate keys, and includes multithreaded resource locking and atomic file transactions. Complete class documentation is embedded in the source code, and available online and in the distribution archive.
Itzam/Java is a pure Java reimplementation of the Itzam embedded database engine, and it is 100% interoperable with files created by Itzam/Core. Since Itzam/Core is the basis of wrappers written in languages such as C++ and Python, Itzam/Java is compatible with those language libraries as well.
Unit Circle shows the relationship between angles and trigonometric functions like sine and cosine. To do this, the program implements an interactive "unit circle" (radius = 1) diagram, where the user can click or drag to set angles and see how the values of trigonometric functions change accordingly.
Itzam/Sharp is a C# class library for creating and manipulating keyed-access database files containing variable-length, random access records. Information is referenced by a user-defined key value; indexes may be combined with or separate from data. Itzam/Sharp implements the Itzam engine (see Itzam/Core and Itzam/Java) in 100% managed C#. At 32K, the Itzam/Sharp engine is both small and powerful, and it works with any .NET language, including F# and Visual Basic.