Author:
- Name: Ken Huffman
Location: US - United States of America (United States)
To build:
make all
Bugs and (Mis)features:
The current status of this entry is:
STATUS: uses gets() - change to fgets() if possible
For more detailed information see 1996/huffman in bugs.html.
To use:
echo 'Huffman Decoding' | ./huffman
Try:
./try.sh
Judges’ remarks:
If you are still confused, check out the source and it will be clear as mud!
And for a misleading hint, consider who won! :-)
NOTICE to those who wish for a greater challenge:
If you want a greater challenge, don’t read any further: just try to understand the program without running the command below.
If you get stuck, come back and run the following command:
./huffman < huffman.c 2>/dev/null
This entry was very well received at the IOCCC BOF.
Author’s remarks:
This filter program is really not obfuscated code. It compiles cleanly with an ANSI C compiler and comes with user documentation that even a blind person could read.
The program is a bidirectional filter with the output of the program suitable for its input. The output of this program, when used as input, undoes the original program filtering.
This program accepts any alphanumeric text that has lines less than 100 characters. The user is encouraged to use the program’s source as input to the executable.
This program is best appreciated on a tactile monitor.
Inventory for 1996/huffman
Primary files
- huffman.c - entry source code
- Makefile - entry Makefile
- huffman.orig.c - original source code
- try.sh - script to try entry
Secondary files
- 1996_huffman.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