Skip to content
Go to file

Latest commit

This is a major enhancement to the suite of tools available for the
study of ASCII tractor mechanics. It was first submitted by Peter Miller
on the 11th of December 2008, and has undergone rigorous testing on a
daily basis in the interim.

In its simplest form, Mr. Miller suggests the following usage:

    tractorgen | tractorgen-animator

Which will generate a standard ASCII tractor of seven wheels, and
animate its motion across the display terminal.

This serves the very useful purpose of enabling the use of an ASCII
tractor to appropriately remove extant error messages from a user's
terminal. Mr. Miller has employed this method in the reboot procedure of
an embedded device, wherein the ASCII tractor performs the important
task of cleansing the display of unsightly text.

I am personally very fond of the following apparatus:

    for i in `seq 1 100000`; do tractorgen $i | tractorgen-animator; done

Which will attempt to create a succession of all ASCII tractors of wheel
lengths from 1 to 100000 and animate the resulting successful instances
thereof. Apart from being an enthralling method of spending one's
weekend, this provides a "hands-off" experimental routine which is
surely welcome in these days of high-pressure research.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Generates ASCII tractors.

This program generates ASCII tractors using the universal tractor coefficient (TC). The intended audience is practical ASCII tractor theorists and lay people interested in abstract tractor theory.

Before using this program, ensure that you understand the fundamental theorem of ASCII tractor mechanics:

    "ASCII Tractors must have at least four wheels." [1]

Note that this theorem applies to side-on views. No useful models of two-sided ASCII tractors have been found, nor is there even any concrete proof of their existence.

In keeping with this theorem, TRACTORGEN will politely inform the user if any attempt to make tractors with less than four wheels is made (by calling abort(2) and dumping core).


Tractorgen takes one argument. This argument is indirectly related to the TC and is a cardinal enumerating the desired wheel configuration. If no argument is given, the optimal configuration of 7 is generated.

For example, if you want a tractor with 5 wheels, type at the shell prompt:

$ tractorgen 5

Conversely, if you want a tractor with 113 wheels, type:

$ tractorgen 113

Remember that tractors with large numbers of wheels may overflow the width of your terminal, with unpredictable results. Actually, it will probably just look like shit.


For updates and news regarding TRACTORGEN (both completely unlikely), see


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING for details.

Though I have no idea why you'd want to do any of this.


This was written by Kbert (, more as a dare than anything else. Original inspiration from SCOboy for asking a dumb question.


[1] See, for example, "Introductory ASCII tractor design, vols 3-7", Blum&Merven, Slarken Press 1973.


Generates ASCII tractors.



No releases published


No packages published


You can’t perform that action at this time.