Files
Landon Curt Noll 0bc6c3e413 improve markdown references to FAQ entries
We quasi-canonicalized markdown links to FAQ entries.

**IMPORTANT NOTE**: This is a useful step in completing issue #2417.  This commit is consistent with the top level TODO comment requirements.  Nevertheless, this changes made by this commit needs to be examined and in some cases improved.

A link to an FAQ entry is of the form:

```
FAQ on "[the link text](....faq.html#string)"
    FAQ on "[the link text](....faq.html#string)"
```

The "FAQ" is at the start of the line, or in rare cases is preceded only by whitespace.

The reference to the FAQ starts outside of the markdown link with the string **FAQ ON "**.

After the markdown link is a **"** followed by either the end of line or a single punctuation character such as a period or comma.

We reduced the size of "the link text" that refer to an FAQ to at most 3 words.  In some cases the sentence and/or text surrounding the markdown link to a FAQ may need to be further adjusted to better accommodate this new style.

**IMPORTANT NOTE**: References to a FAQ entry are on a separate line.

p.s. When linking to the `faq.html` file itself, we use markdown of the form "`the [IOCCC FAQ](..../faq.html)`" and place the word "the" outside of the "IOCCC FAQ" link text.

Given the above system (and because references to an FAQ entry is on a separate line), the following command shows links to FAQ entries, sorted by FAQ entry "link #name" so that one may evaluate the way a given FAQ entry is referenced:

```sh
find * -name '*.md' -print0 | xargs0 grep -E '^[[:space:]]*FAQ on "' | sed -e 's/^\([^:]*\):\( *FAQ on "[^#]*\)#\([^)]*\)\()".*\)$/#\3\t\1\t\2#\3\4/' | sort
```

The above command shows the value of consistency when it comes to FAQ references.

**NOTE**: There are a few differences on how a given FAQ is references.  That is probably OK as there is NOT an "total mandate" that all references to a given FAQ must have the same "link text" for example.  On the other hand if references to a given FAQ can be identical, that might be helpful.  We are certain that in some contexts the "link text" might need to change.

Should we decide to change the way FAQ are referenced, we will be able to modify identify and modify them with greater ease.'

Examine the changes made by this commit and adjust and/or improve as needed.

Performed `make www` to accomplish the above and to test under macOS.
2024-07-17 03:11:19 -07:00

108 lines
4.0 KiB
Markdown

# Twenty Fifth International Obfuscated C Code Contest
## Standard IOCCC stuff
View the `index.html` web page for the given winning entry for information on how
compile the entry 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. This year we included most of the
information included by the submitter.
Some C compilers are not quite as good as they should be. If yours is
lacking, you may need to compile using clang or gcc instead of your local
compiler.
The primary website can be found at [www.ioccc.org](https://www.ioccc.org).
## Remarks on some of the winning entries
We believe you will again be impressed with this year's winning entries.
The [Best of Show - 2018/mills](mills/index.html) is an amazing tribute to entries
from [1984](../1984/index.html) and [2015](../2015/index.html).
Take a close look at the [Most likely to top the charts - 2018/hou](hou/index.html).
Observe that while it contains no variables and no operators, it
remains functional in what it does.
The [Best one-liner - 2018/burton1](burton1/index.html), at 109 characters, is a
short and sweet implementation of a classic utility and a nod to a winning entry
from 1986. Sometimes it takes 20 some years to do things the true IOCCC way.
The [Best use of python - 2018/endoh2](endoh2/index.html) is not what you might think it is.
It is something completely different.
The [Most likely to be awarded - 2018/ciura](ciura/index.html) has an amazing vocabulary!
There are also nods to entries of the years [2000/bellard](../2000/bellard/index.html),
[2015/yang](../2015/yang/index.html), ...
...We'll stop spouting too many details now. Have fun exploring all the entries!
### Historical note:
In 2023-2024 the IOCCC website was drastically changed with the same look for
every year and this changed the styling as well. But in 2018 different years had
different stylesheets and we noted that:
> The color of the remarks text this year was inspired by one of the stars of
the [Most stellar - 2018/poikola](poikola/index.html).
## Remarks on some of submissions that did not win
The number of entries that would have made it into the final rounds
would have been much higher had some people paid attention to rules 2
and 22 (one third of 666).
Rule 22, now known as "Catch 22" states:
> 22) Your source code, data files, remarks and program output must NOT identify
the authors of your code. The judges STRONGLY prefer to not know who is
submitting entries to the IOCCC.
>
> The "Peter Honeyman is exempt" guideline also applies to this rule.
Identifying yourself, in an obvious way in your code, data, remarks or program
output, unless you are Peter Honeyman or pretending to be Peter Honeyman, will
be grounds for disqualification of your entry.
A number of other entries were based on [iocccsize.c](%%REPO_URL%%/2018/iocccsize.c), making
derivative works rather than original works.
Still other entries were too large, violating the first line of rule 2:
> 2) The size of your program source must be <= 4096 bytes in length.
While these entries might have passed under the 2053 limit for iocccsize,
they were larger than <= 4096 bytes, sometimes by an order or magnitude.
We hope the authors of some of those entries will fix and re-submit
them for the next IOCCC.
Some entries seemed to have a good idea, but the implementation of
the idea was limited in scope.
## Final Comments
**IMPORTANT NOTE**: See [contact.html](../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](../faq.html) for additional information on the IOCCC.
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/
-->