Author:
- Name: Jay Vosburgh
Location: US - United States of America (United States)
To build:
make all
Bugs and (Mis)features:
The current status of this entry is:
STATUS: INABIAF - please DO NOT fix
For more detailed information see 1989/fubar in bugs.html.
To use:
./fubar <number>
Try:
./try.sh # run on 1 - 7
./fubar.sh 2 # run via script
./fubar 2 # run directly
Judges’ remarks:
Run this with a single digit argument (or wait a long time and risk an infinite loop and compilation error as described in the 1989/fubar in bugs.html file). This is, however, a feature, not a bug.
The blank line at the beginning of the source is mandatory. Do you know why?
NOTE: the file ouroboros.c
is created by the program itself so this is why it
is not in the repository.
Author’s remarks:
In a nutshell, this is probably the slowest and most
obnoxious factorial program ever written. Unfortunately,
the name of the C source must be ouroboros.c
; the name is
hard-coded into the program.
The source is a legal shell script and a legal C program. The shell script compiles itself, and then executes the resulting binary, giving the source as input. The program works by successively modifying #define lines each pass through.
Both indent
and cb
will damage the program, indent
much more so.
Inventory for 1989/fubar
Primary files
- fubar.c - entry source code
- Makefile - entry Makefile
- fubar.orig.c - original source code
- fubar.sh - script to run entry
- try.sh - script to try entry
Secondary files
- 1989_fubar.tar.bz2 - download entry tarball
- README.md - markdown source for this web page
- .entry.json - entry summary and manifest in JSON
- .gitignore - list of files that should not be committed under git
- .path - directory path from top level directory
- index.html - this web page