OpenADK is a construction kit for embedded Linux. It creates Linux systems that are optimized for size and short bootup times. The toolchain supports many architectures (arm, m68k, mips, microblaze, ppc, sparc, superh, x86, and x86_64). It can build customized images for Qemu. Raspberry PI, Lemote Yeelong, and Sharp Zaurus devices are supported as a proof of concept. Approximately 685 source packages are available.
xlife is a laboratory for experimenting with cellular automata. It supports loadable rulesets and palettes, different topologies, and up to 256-state cellular automata. It has rules and patterns for Life, Brian's Brain, Perrier's Loops, Langton's Ants and Loops, Wireworld, E.F. Codd's 1975 UCC automaton, some Prisoner's Dilemma games, and many others. It is very fast for step-by-step mode, bounded grid, and chaotic patterns. It has several unique features: a historical mode, a pseudocolor mode, and n-state statistics. It has been developed since 1989. The modern version of Xlife began its history in 2011.
Moscrack is a WPA cracker for use on clusters. It supports MOSIX, SSH, and RSH connectivity and works by reading a word list from STDIN or a file, breaking it into chunks, and passing those chunks off to separate processes that run in parallel. The parallel processes are then executed on different nodes in your cluster. All results are checked and recorded on your master node. Logging and error handling are taken care of. It is capable of running reliably for long periods of time, without the risk of losing data or having to restart. Moscrack uses aircrack-ng by default. Pyrit for WPA cracking and Dehasher for Unix password hashes are supported via plugins.
Crules is a dynamic programming language that takes influences from Python, Perl, and Haskell. The main motivation for this language was the concept or design of a new paradigm or feature called "rules". A rule is a potential entry point which has dependencies rather than parameters. Any rule can be overridden to have different or no dependencies. Since the language itself can decide on the best course of actions for an operation, dependencies become preconditions for execution. It also features lazy evaluation, object orientation, variadic and anonymous-parameter functions, and reflection. These features help make the language truly dynamic.