This page describes, in Unix manual page style, a C program available for downloading from this site which allows you to generate Sixties-style banners of a clenched fist with a slogan of your choice at the bottom. Unlike poseur programs, this one actually traces its lineage directly back to September 1969, and has survived migration from mainframes to personal computers, across a variety of programming languages, and from punched card six bit character sets all the way to ASCII.
fist - emphatic message generator
fist [ -c -fpat -l -mtext -n -sfactor -u ]
prints an image of a clenched fist (unless suppressed by the
option), followed by a slogan in block letters, limited to
16 characters per line (“Television is to news as bumper
stickers are to philosophy.”—Richard M. Nixon). Options
permit you to scale the fist commensurate to the iniquities of
the Oppressor (or your printer's paper size, whichever
is smaller), select right- or left-handed blows
against the Empire, and various other gimmicks which popped into
the mind of this
while watching Ice Station
Zebra over and over again and watching his fingernails grow.
Oh, wait…wrong megalomaniac. Anyway, here's the latest
incarnation of the fist program. May your banners ever
espouse worthy causes, and may those truly worthy be achieved.
Lines of text (limited to 16 characters) are read from standard input unless suppressed by the -n option; these lines are printed in block letters below the fist. Input from standard input is terminated by an end of file. Output is written to standard output. Input and output are processed strictly sequentially and hence fist may be used in pipelines.
The block character font is a limited subset of ASCII containing only upper case letters, numbers, and punctuation with character codes between hexadecimal 20 and 5F. The font was originally created in the late 1960's in UNIVAC 1108 six bit FIELDATA code, and re-shuffled into ASCII order when the first port was made to an ASCII machine in 1981. If you'd like to add lower case letters, ISO codes, or full Unicode, go right ahead.
fist will not work on machines which do not use the ASCII character code (for example EBCDIC machines). You'll need to shuffle the font table or translate character codes to ASCII before you index it. I don't have such a machine, so I'm not going to include code I can't test.
Scale factors smaller than about 60 on the -s option produce infelicitous results: the fist looks like it's wearing a mitten.
You can't aggregate options, separate options from their arguments with a blank, or other cool getopt features because the program doesn't use getopt in order to preserve its retro look.
Over the last thirty years numerous people have suggested the program might be enhanced by adding options to raise two fingers (“peace”) or only one finger (well, you know). Please send me the code if you make this decades-long dream a reality.
A year or two after emigrating, she happened to be in Paris on the anniversary of the Russian invasion of her country (Czechoslovakia). A protest march had been scheduled, and she felt driven to take part. Fists raised high, the young Frenchmen shouted out slogans condemning Soviet imperialism. She liked the slogans, but to her surprise she found herself unable to shout along with them. She lasted only a few minutes in the parade.
When she told her French friends about it, they were amazed. “You mean you don't want to fight the occupation of your country?” She would have liked to tell them that behind Communism, Fascism, behind all occupations and invasions lurks a more basic, pervasive evil and that the image of that evil was a parade of people marching with raised fists and shouting identical syllables in unison. But she knew she would never be able to make them understand. Embarrassed, she changed the subject.
— Milan Kundera, The Unbearable Lightness of Being
This software is in the public domain. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided “as is” without express or implied warranty.
by John Walker
Release 1: September 1969
Release 2: August 1981
Release 3: October 1985
Release 4: November 2001