Itzam - Multi-Platform Embedded Database Engine
Itzam/C is a deliberately portable and concise 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.
- 64- and 32-bit support
- Windows & Linux/POSIX
- Thread concurrency
- Very small footprint (<60K)
- Transactions
- Serverless; completely embeddable
- Zero configuration
- Exceptionally flexible
Itzam/Core is very tiny, and scales from clusters to embedded systems; it can be compiled with any Standard ANSI/ISO/POSIX C compiler, including
GCC, Intel C/C++, and Microsoft Visual C++. It has been tested on X86, x86_64, AMD64, and ARM processors.
Itzam/Java implements the Itzam engine in 100% Pure Java — no external C libraries, just Java. It supports the same feature-set as Itzam/C, and works with small systems such as Android.
Signal Visualization and Analysis
SigScope is based on my experience with analyzing sensor data; this data is recorded by devices that measure vibration, temperature, magnetic fields, gravity, pressure, electrical fields. In general, the information is recorded at between 10 and 2000 Hertz; understanding it requires FFT analyses and digital filtering. Applications range from studying swaying skyscrapers looking for sympathetic vibrations in machinery, and from monitoring flows in a pipeline to examining fluctuations in magnetic fields.
Features include:
- X-Y and FFT plots
- Multiple signals per graph, for comparisons
- Low-pass, high-pass, band-pass, and downsample filters
- FFT frequency masks
- Image export
Brahe - Mathematics
Brahe is where I put all sorts of useful mathematic functions that don't seem to fit anywhere else. Among the bits and pieces here, you'll find:
-
A function,
brahe_sigdig, that rounds floating-point values to a specific number of significant digits -- very useful in scientific and engineering applications. - A basic real-to-real FFT funtion and an artificial signal generator.
- Several pseudorandom number generators, including the Marsenne Twister, various algorithms by Marsaglia, and ISAAC.
- Least common multiple and greatest common denominator functions.
- A few trigonometry functions for finding the inversions of hyperbolic sine, cosine, and tangent.
Evocosm - A C++ Framework for Evolutionary Computing
Evocosm is a libraray of C++ classes and templates for implementing genetic algorithms and evoilution-based software.
- Comprehensive Framework to support evolving populations of organisms across landscapes, including fitness testing, reproduction with crossover, mutation, fitness scaling, and statistical analysis.
- Flexible design allows for customization of any component.
- Generic output "hooks" for visualization or text output.
- Chromosomes can be of any type
- Implements evolvable state machines, including a fuzzy logic machine
- Roulette Wheels
- Floating-Point Chromosomes
Evocosm includes implementations of a generic fucntion optimizer and an Iterated Prisoner's Dilemma.
