Muller's World

Mike Muller's Homepage

Software Projects

The Crack Programming Language

Crack is a statically typed, object-oriented programming language that aims to be a sweet spot between Java, Python and C++. Though fairly obscure, it is a full-featured language that can be used for general software development.

Crash - The Crash Scripting Language

Crash is a minimal, TCL-like scripting language written in Crack as a control/configuration language for tools written in Crack.

Deadly Candy - Crack Terminal Library

Library to support building terminal interfaces in Crack.

kvjournal - Key-value Database for Crack

kvjournal is a simple, key value database written in Crack that uses log-structured storage.

AWB - Audio Workbench

A simple, terminal-based DAW written in Crack. I use this for pretty much all of my audio mixing.

MAWFS - Mike's Awesome Filesystem!

MAWFS is an encrypted, distributed, branching filesystem written in Crack. You can store your files securely, push and pull them to different machines, and branch and merge them.

MAWB - Modular Audio Workbench

A loose collection of tools, mostly written in python, for exploring musical ideas.

The Pidal - Raspberry Pi Guitar Effects Pedal

Code and instructions for building the Hog 1 Pidal, which is the RPi based guitar effects pedal I use in performances.

Spugedit Editor

Spugedit is a feature-rich programmer's editor written entirely in Python. It's been my primary editor for close to 20 years.

Confix

Confix is a library to convert between various configuration data formats and an internal python representation that can be easily manipulated.

Wurld 3D Gaming Engine

Wurld is a scriptable, OpenGL based engine for games and 3D graphics.

DOPY - Distributed Objects for Python

DOPY is a small, non-CORBA distributed object system for Python. It's very old, but I still have software that uses it.

PyESD - Python EsounD Wrapper

PyESD is simply a SWIGged wrapper around the Enlightenment Sound Daemon client library. EsounD was an early sound daemon for the Enlightenment desktop environment on Gnome, back from before the days of pulseaudio.

No idea if this code still works or whether anyone would care at this point :-)

The grunt preprocessor V0.13

Grunt was a powerful preprocessor along the lines of m4, only with more special symbols and the ability to deal with tables. It was designed for generating code with lots of common structures.

Sadly, this code no longer builds for me. It was built on the early Gnu C++ libraries and needs a thorough upgrade to the standard C++ libraries.

spugmail 0.1

Spugmail is a curses based mailer written entirely in Python. I wrote it because I wanted a mailer that was extensible in Python and could be run over a text terminal.

I use this program every day. It lacks documentation and installation scripts, but works well for me.

spugnews

spugnews is a GPL'd usenet binary grabber. It has a simple command-line interface and the ability to perform rudimentary subject line analysis to group together articles that are part of the same file set.

spugspam

spugspam is a confirm-response spam blocking system. It is intended for the power user, so be prepared to spend some quality time with your system...

Javascript Instrospection

A module that provides namespace and class features to Javascript - see the article describing it. This was kind of cool when it was written, but better solutions to these problems have been adopted by the broader JS community.

ODB

ODB is a simple, pure python object database system. It is a key-value store (no SQL) supporting transactions.