Products & Demos

Web sites, design and development,
bespoke solutions, client- and serverside applications

Profit from 20+ years of experience in web development, award winning creativity and a strong academic background in media theory, social sciences, and philosophy. Hire me.

Free Software

Interface / GUI

Free Kaleidoscope schemes for Apple Macintosh / Classic Mac OS.



meSpeak.js is a 100% client-side JavaScript text-to-speak engine based on speak.js (eSpeak for JavaScript). meSpeak.js adds compatibility, external voice modules and an advanced API, including support for mixed voices and multi-language applications.


TZIntl.js is a lightweight and compatible abstraction of the Intl.DateTimeFormat interface for converting JS-dates to localized date-time objects. There is also TZProvider.js as a companion utility for enumerating time zones supported by the given browser.

mass:werk termlib.js

termlib.js provides a powerful library to create your own terminal-like interfaces out of the box. And the best of all: It's free! (Donations are welcome.)


Bootstrapping Web Workers for the real world: Plexer.js provides an easy access to Web Workers spawned from functions (including a fallback as instances for older browsers). Originally meant to provide the means for including Web Workers transparently for both compatible and legacy browsers, spawning workers from normal scripts and inline functions may still be an interesting option.


elizabot.js is a free, object oriented JavaScript chatbot engine, implementating Joseph Weizenbaum’s famous ELIZA program. Thanks to configurable data files it is also a general purpose chatbot engine.
(Compare ELIZA Talking, a sample application cobining elizabot.js, termlib.js and meSpeak.js.)


Char8.js is a free JavaScript library for rendering 8-bit characters from Unicode text onto a canvas. It is based on, but not restricted to, the Super PET character set. See this screenshot for an example.


Various free bookmarklets for an even more interesting browsing experience.

Free to Use

The Virtual 6502 Suite

Free online tools for 6502 programming.
(May also qualify for the legacy section. :-))

See also: The Tiny 8-Bit Sprite Editor, a web-based sprite editor espcially for the Atari VCS (Atari 2600), exporting and importing assembler data.


VirtualGravity / Network Monitor

Industry strength real time engine for network visualizations.

Network Monitor” is a Rich Internet Application (RIA) for Flash Player 9+ and the Flex 2+ framework.
For a description of the user experience see the user manual of a real life implementation.
Contact me for a demo login (guest/guest).

See also: Network Monitor 2: New Features for the next generation of this application.

While coded in AS3, the application may be easily ported to JavaScript, if there is demand.

Further Demos

Head over to the Lounge for various demo content. Also mind the Games.

Legacy Demos

This section is mostly for archiving purpose and for demonstrating prior art, should such need arise.

JS/UIX (2003)

JS/UIX is a virtual *NIX-style OS for web browsers written entirely in JavaScript. It has its own terminal and features a sh-like shell, virtual filesystem, process-management with fork, child-processes, pipes and sub-shells. — Just ’cause it could be done.   :-)

RE:LAY Web (1998)

There were such things as web-apps in the 1990s. This example demonstrates dynamic composition from a single data file, data driven content presentation, CGI-like in-browser parameter parsing, content and layout composition by templates, styled text composition from image slices, dynamic search, dynamic rendering of charts and graphs (long before there was such a thing as the HTML5 canvas element).

Compatibilty was Netscape Navigator 3.0+, MS Internet Explorer 3.0+ (Mac, basic features on Windows, full graphics feature set on Windows with IE 4.0) or similar. (Printing these pages on Windows systems required then either PostScript for NS 3.0 or next generation browsers like IE 4.0 or Netscape 4.0.)
Providing compatibility for MS IE 3.0 also meant to restrict scripting to inline scripts (no SRC-attribute).

The slogan was then, “Microsoft keeps talking about Active Server Pages – We're offering Active Client Pages: The unique, single-file, real-time online-system, RE:LAY Web.”

Sample Implementation (text encoding in ISO Latin-1):

infoZone (1998)

infoZone is a dynamic web banner in JS, featuring dynamic text composition from image slices and dynamic linking in correspondence to the content currently displayed. Also demonstrates a navigation to dynamically adjust such content according to user interaction.

E.A.L. – Easy Algorithmic Language (1999)

E.A.L. is a compiler and runtime implemented JavaScript. It compiles a tiny, ALGOL-like algorithmic language to byte-code and executes it using it's own runtime engine.

3D Tank (Flash 5 / ActionScript 2, 2002)

3D Tank features real-time 3D rendering for Flash 5 before there were any capabilities for drawing in AS2. Demonstrates dynamic image composition in a viewport by programmatically replicating and transforming resources according to user interaction.