Files
ioccc/1991
Landon Curt Noll 518a6336d0 add rules, guidelines, fix HTML code, move compressed tarball in inventory
By changing the _inventory_order_ of the compressed tarball from
**100000** to **1415926535**, the compressed tarball will land at
the top of the secondary file list and remain still easy to find.

Updated the `manifest.numbers` spreadsheet and rebuilt
the `.entry.json` files.

Added `next/` directory to hold the next IOCCC rules and guidelines.
Added `next/README.md` that `bin/gen-top-html.sh` uses to form
the `next/index.html` file.

Added _Rules and Guidelines_ link to the sidenav bar to link to the
`next/index.html` file.

Added _IOCCC Rules_ as `next/rules.md` that `bin/gen-top-html.sh`
uses to form the `next/rules.html` file.

Added _IOCCC Guidelines_ as `next/guidelines.md` that `bin/gen-top-html.sh`
uses to form the `next/guidelines.html` file.

Changed `bin/gen-top-html.sh` VERSION from "1.2.4 2024-04-13"
to "1.3 2024-04-14".

Prevent `pandoc(1)` from interpreting the commented out language
of a markdown code block as a code class.  So a markdown such as:

````
``` <!---sh-->
...
```
````

that produced HTML of the form:

```html
<pre class="&lt;!---sh--&gt;"><code>...</code></pre>
```

will now produce HTML of the form:

```html
<pre><code>...</code></pre>
```

NOTE: Before when the language of a markdown code block
was not commented, the HTML produced by `pandoc(1)` was
oddly indented with extra whitespace on the first line
of the code block.  While commenting out the language
of the code block removed some of the odd intending,
it left a weird class in the HTML pre block that
surrounded the HTML code block.  This hack prevents
`pandoc(1)` from assigning a class to the HTML pre block.

Changed `in/md2html.sh` VERSION from "1.2.1 2024-04-13"
to "1.3 2024-04-14".

Added `make gen_sitemap` to end of both `make www` and `make
quick_www` in top level Makefile.

Ram `make www` to test under macOS and to perform the above.

**IMPORTANT NOTE**: The current `next/rules.md` and `next/guidelines.md`
are simply the 2020 IOCCC Rules and Guidelines converted into
markdown form.  There are **NOT** the Rules and Guidelines that
will be used the IOCCC MOCK, nor the next IOCCC.

TODO: Improve the `bin/gen-status.sh` tool to modify the top of the
      `next/rules.md` and `next/guidelines.md` files to keep them
      in sync with the _contest_status_ as found in `status.json`.

TODO: Improve the look and feel of the `next/rules.md` and
      `next/guidelines.md` markdown files.
2024-04-14 16:54:24 -07:00
..
2024-03-20 16:03:01 -07:00

Eighth International Obfuscated C Code Contest

View the index.html web page for the given winning entry for information on how on how to compile it and how to run the winning program. Look at the winning source and try to figure how it does what it does! You may then wish to look at the Author's remarks for even more details.

Instructions for use: Run make to compile entries. It is possible that on BSD or non-Unix systems the Makefile needs to be changed.

This year, we did not single out an entry that was better than all of the rest. We selected 3 entries that, in our opinion, went beyond all of the other entries this year:

Name and address information are separated from the actual program prior to judging. This eliminates any chance that we would bias our judging for/against any person or group. In the end, we are surprised as you are to see who has won. Even so, it is worth noting that Brian Westley has submitted a winning entry for the past 5 years!

A few notes regarding possible changes to the contest:

We did not give awards to some traditional contest categories such as "Best Layout" or "Worst Abuse of the Rules". We felt that to do so would deny awards to more deserving entries. These categories have not been eliminated, and will likely be considered in future years.

A number of entries made use of the following C pre-processor feature:

    #define X define
    #X foo bar

This is not permitted under ANSI C. Some ANSI C compilers do allow this. In the future, we do not want programs to use this feature. Because this request was not stated in the 1991 rules, we did not reject entries of this type. However we provided more portable versions so that more people could compile these programs.

This year we received entries that made use of the X Window System. Since this functionality is now available on many systems, we feel that programs that use these are now portable enough to be valid entries.

We may allow programs to make use of the X Window System libs and include files, provided that they can operate with a system running at the level of at least X11r4. Requiring the use of imake, a specific window manager, specific display hardware, or a specific user interface (Openl**k, M*tif, ...) is likely not to be allowed. We will provide a more detailed explanation of our viewpoint in next year's rules.

In order to encourage more 'normal' looking C programs, we are considering the following change to the maximum size rule:

    Your source, not counting any <space>, <tab>, and a <newline> character,
    and not counting any ';', '{' and '}' character followed by a <newline>
    character, must be 1536 bytes or less.  The entire source, counting all
    characters, be 4096 bytes or less.

Some thought has been given to adding some C++ categories, however this is not likely to happen soon. We are waiting until C++ compilers become common place on a wide number of systems. We also need time to brace ourselves for what obfuscation C++ could wield!

Be sure to wait until the 1992 rules are posted before submitting entries. We may fine tune the rules to reflect the some ideas above.

Please send us comments and suggestions what we have expressed above. Also include anything else that you would like to see in future contests. Send such email to:

    ...!{sun,pacbell,uunet,pyramid}!hoptoad!judges
    judges@toad.com

Final Comments

IMPORTANT NOTE: The email addresses found above are for historical purposes only, and should not be used today. See contact.html for up to date contact details as well as details on how to provide fixes to any of the entries. See also the IOCCC FAQ for additional information on the IOCCC.

Credits:

We would like to thank Barbara Frezza for her role as official chef of the contest. Landon Noll appreciated the opportunity to serve as assistant pizza chef. Larry Bassel was official taste tester. Yummo!