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.
Interface / GUI
Free Kaleidoscope schemes for Apple Macintosh / Classic Mac OS.
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.
(Compare ELIZA Talking, a sample application cobining elizabot.js, termlib.js and meSpeak.js.)
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. :-))
- virtual 6502 – a 6502/6510 emulator
A full featured emulator for the MOS 65xx MPU that was the heart of so popular micro computers like the Apple II (6502), the Commodore 64 (6510), or the Atari VCS / Atari 2600 console (6507).
- 6502 Assembler – a “virtual 6502” companion.
Compile your code to run in “virtual 6502” (see above).
- 6502 Disassembler
annother “virtual 6502” companion.
- 6502 Instruction Set
The reference for the virtual 6502 suite and the 65xx in general.
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.
Head over to the Lounge for various demo content. Also mind the Games.
This section is mostly for archiving purpose and for demonstrating prior art, should such need arise.
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):
- RE:LAY Web (German)
- RE:LAY Web (English)
- RE:LAY Web Admin Tool (German)
- RE:LAY Web Admin Tool (English)
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)
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.