Files
ioccc/1987/korn
Landon Curt Noll f29b37e49a improve HTML menus, add social.html, prep for IOCCC28 winners
Prepare for the winners of **IOCCC28**.

> However these are not the 2024 droids you are looking for.  :-)

The HTML menu (both JavaScript and non-JavaScript) has been updated.

The `Status -> Rules and guidelines' have been replaced with two
separate menus `Status -> IOCCC rules` and `Status -> IOCCC guidelines`.

Added a new top level `social.html` page: built from a new `social.md`.

Sorted rules for building specific web pages in the top level `Makefile`.
Added `make social` to make the `social.html` page from `social.md`.

The `bin/gen-top-html.sh` now is able to process a argument of **social**
to process the new top level `social.html` page.

Changed `bin/gen-top-html.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-07-25".

Below `About -> Home page` a new `About -> IOCCC social media` menu item
as added.

Because the menu change touched every HTML file, we changed the general
copyright date range for HTML files from "1984-2024" to "1984-2025"
due to the extensive changes made for **IOCCC28**.

Those markdown files that were modified in 2025 had their copyright date
range also changed from "1984-2024" to "1984-2025".

Rebuilt tarballs and sitemap due to the extensive HTML rebuilding.

Ran `make update` to perform the above.
2025-07-26 13:06:29 -07:00
..
2020-12-30 16:57:03 -08:00
2023-07-06 21:49:38 -07:00

To build:

    make all

To use:

    ./korn

Judges' remarks:

The Judges believe that this is the best one line entry ever received. Compile on a UNIX system, or at least one using a C implementation that fakes it. Very few people are able to determine what this program does by visual inspection. I suggest that you stop reading this section right now and see if you are one of the few people who can.

Several points are important to understand this program:

  1. What is the symbol unix and what is its value in the program? Clearly unix is not a function, and since unix is not declared to be a data type (such as int, char, struct foo, enum, ...) what must unix be?

  2. What is the value of the symbol "have"? (hint: the value is NOT 4 characters, or 'h', or a string) Consider the fact that:

    char *x;

defines a pointer to a char (i.e. an address), and that the = assigns things of compatible types. Since:

    x = "have";

is legal C, what type of value is "have"?

  1. Note that the following expressions yield the same value:
    x[3]        *(x+3)    *(3+x)

since addition is commutative. What can be said about this value?

    3[x]

David Korn's /bin/ksh provides us with a greatly improved version of the /bin/sh. The source for v7's /bin/sh greatly inspired this contest.

Author's remarks:

No remarks were provided by the author.