Estax v1.0 Jan 25 2009
Estax (Easy Static XML) is a minimalist tool for generating static websites. It is especially useful if you want to write a static website containing only a few pages, but don't want to copy and paste menu HTML, and also don't want to use PHP or a full-blown CMS. You write your site content in a single, simple XML file and Estax generates the individual pages from it. Use it for seldomly updated and/or private sites, documentation, or when you have a restrictive web host.

Use Estax if you just want to keep it simple.

Advantages Disadvantages How does it look like?
You actually see how the output of Estax can look like right now, as this website was generated using Estax. A simple example for your site content could look like this:
	title="My Homepage"
	author="Andreas Textor">

		<!-- Each link leads to a page that contains all boxes that
			contain the tag -->
		<link tag="home"/>
		<link tag="code"/>

	<box date="2009-01-24" title="Welcome to my Homepage">
		<!-- This tag makes this box appear on the "home"-page -->
		<tag tag="home"/>
		<!-- Use a special tag to create a separate site containing
			only this box -->
		<tag tag="welcome-to-my-homepage"/>
			Hello World! I added a new program on
			the <link tag="downloads"/> section!
			<!-- Write your regular HTML here -->

	<box date="2009-01-23" title="Hello World">
		<tag tag="code"/>
			This is how Hello World is written in C:<br/>
			<listing language="c">
			int main() {
				println("Hello World\n");
				return 0;
Using this XML, Estax creates three pages: home.xhtml, welcome-to-my-homepage.xhtml (each containing the menu and the first box) and code.xhtml which contains the menu and the second box with the listing. You would extend this page by adding more boxes tagged as "home" or "code". With one more box tagged as "code", code.xhtml would then contain the menu and the two boxes. Therefore, the tags are no(t only) fancy Web-2.0-stuff but are actually used to create the structure of the website. If one page contains more than one box, the date attribute determines the order of the boxes.


See Estax-documentation for details.

Naturel v1.0.0 Nov 14 2008
Naturel (not to confuse with NATURAL) is a programming language that was developed by Ralph Erdt and Andreas Textor for the Compiler Construction class at the University of Applied Sciences Wiesbaden in winter semester 07/08. Naturel stands for "Naturel is the Andreas Textor Und Ralph Erdt Language" ("und" is the german word for "and").
We wrote a minimal standard library for Naturel and a compiler in Java that produces C code. The language is object-oriented and its syntax is inspired by C, Java, Pascal and UML. Many keywords that are not necessary for the semantics like class were left out and other keywords were replaced by symbols, like + instead of public. Comments are written like in Java and C++ using // and /* ... */. Methods and attributes can have the visibilities public, private and protected that are expressed using the UML-Modifiers +, - and #. A class variable uses a double modifier character instead of the keyword static. Overwriting of methods is allowed in Naturel, overloading is not allowed.
+a:num;	// public
-b:num;	// private
#c:num;	// protected
++d:num; // public static
--e:num; // private static
##f:num; // protected static
Naturel's grammar was transformed into a parser using the parser generator SableCC. The complete documentation, sample programs and source code of the compiler are contained in the downloadable package. The following block shows a short sample program that can be compiled using the compiler. num and str are the built-in data types for integers and strings, the static new method is the constructor of the class.
+Point {

	+getX():num { return(x); }
	+getY():num { return(y); }
	++new(px:num, py:num) { x := px; y := py; }

	+addPoint(p:Point) {
		x := x + p.getX();
		y := y + p.getY();

	+tostr():str {
		return("[" + x.tostr() + "," + y.tostr() + "]");

	++main(args:str[]):num {
		p1:Point :=, 2);
		p2:Point :=, 4);
		out("Point 1: " + p1.tostr() + "\n");
		out("Point 2: " + p2.tostr() + "\n");
		out("Point 1: " + p1.tostr() + "\n");
Note: Since the whole language including idea, grammar and compiler were created during a single semester, not all features are implemented in the compiler, especially a Garbage Collector is missing. Thus, Naturel should not be used in productive environments.

Fishtank Oct 6 2007
Fishtank is not really a game, rather than a screensaver. It simulates a fish swarm in a fishtank and a shark that hunts and eats the fish. There are several interactive controls: The project was created during the summer semester 2007 in computer graphics using C++, OpenGL and GLUT.

Fishtank Screenshot    Fishtank Screenshot    Fishtank Screenshot

genplant v0.3 Apr 10 2007
genplant is a simple L-System plant generator and renderer. Information about L-Systems can be found in The algorithmic beauty of plants.
Changes in version 0.2: Interactive modification of angle and line length, more options, no more dependencies except SDL
Changes in version 0.3: Changeable axiom, VRML export, misc. things. See VRML-Demonstration (needs a VRML viewer or browser plugin. Note that FreeWRL didn't work for me for this VRML-file, but Cortona works (available only for Windows, sorry (VRML sucks anyway))).

Screenshot 1: L-System F->FF-[-F+F+F]+[+F-F-F]
Screenshot 2: L-System F->F[+F]F[-F][F]
Screenshot 3: L-System same as 1, but with randomization of the angles

genplant Screenshot    genplant Screenshot    genplant Screenshot

Mineheern's Lair Mar 7 2007
Information about the game can be found on

Mineheern's Lair   Mineheern's Lair   Mineheern's Lair
Witchcraft Mar 1 2007
Witchcraft was written by Ralph Erdt and Andreas Textor (that's me) for the Programming 3 course at the University of Applied Sciences Wiesbaden during the winter semester 06/07. The player controls a witch on her flying broom and can use spells and heavy weapons to shoot plenty of different creatures. There are 3 levels, 4 weapons - frog spell, magic detonator (guided missiles), gonne (machine gun), hexenschuss (Note: this is the german word for lumbago, used as a pun) (railgun); 7 different enemies, 3 skill settings and the possibility to save the game. The game was written in Java. Note that the game is in german, but there isn't really much to read.

Screenshot 1    Screenshot 2    Screenshot 3

Download Note: To play you need Java. This software is already installed on most computers. To start the game in Windows, a double click on Witchcraft.jar should suffice. Under Linux and other systems you can start the game using java -jar Witchcraft.jar. If you need to install Java, you can get it at
Zik Zak Jun 17 2006
Zik Zak is a thinking and reaction game. The game was written in C++ with the help of SDL, SDL_mixer and OpenGL. You follow a small green spaceship through an abstract world and try to reach the exit in each level. You can control the flying direction only indirectly by shooting the prisms. The ship ricochets according to the angle of incidence.

Screenshot 1    Screenshot 2

Download Note: Both SDL and SDL_mixer are available for a lot of platforms, thus the program should compile and run on other systems as well, like MacOS X or FreeBSD.
pacinstall v0.2 Mar 19 2006
Slackware users probably know Checkinstall: When installing software from source archives, you call checkinstall instead of make install, which automatically creates a packgage and installs it, so that you can easily deinstall it later. pacinstall is the same thing for Arch Linux, you can install software from sources the quick way without needing to write a PKGFILE.
A binary package will be created and installed, no PKGFILE will be generated.
You need installwatch, which can be installed by the following command:
pacman -Sy installwatch
Changes in version 0.2: Fixed a bug that prevented correct handling of file names with spaces

Pseudo Terminal Emulator Sep 7 2004
This script can be used to remote-control console applications that don't support this by themselves: Background: I had mp3blaster running on an old computer in the network and wanted to bind the functions "next song" and "previous song" to keys on my desktop computer. If I started the program using this script, I could easily send the required command over the network via ssh.

texburn v0.4 Sep 4 2004
The all-in-one solution suitable for every purpose concerning cd-burning and ripping.
All I found were two types of such programs: on the one hand there graphical recording frontents, on the other hand frontends for the console, that are so minimalistic that they are too uncomfortable. So I wrote it the way I like it: Fast, easy and automated access to the cd-recorder for the console. The program works mostly without menus, only if it's absolutely necessary, a menu is displayed. You give one parameter on the commandline, and the program knows what to do with it.
It's that easy.
Note: The script depends on some programs, see the README for details.
Other scripts Dec 4 2003
Here are several other useful (or not) scripts: