Files
ioccc/2014/rules.txt
T
Cody Boone Ferguson ef456bfb1e Mass typo fixes
This is a HUGE commit:

    417 files changed, 874 insertions(+), 874 deletions(-)

As the IOCCC website now is https enabled I have updated the
'http://www.ioccc' to 'https://www.ioccc'.

There was also a typo in Makefiles where it said 'for VERY WELCOME' when
it should be 'are VERY WELCOME'.

Finally slashdot.org is also https enabled so references to
'http://slashdot' were changed to 'https://slashdot'.

This was done by my sgit tool (see https://github.com/xexyl/sgit)
like:

    sgit -e 's,http://www.ioccc,https://www.ioccc,g' -e 's/for VERY WELCOME/are VERY WELCOME/g' -e  .

but because I didn't have a list of files that should be modified I had
to be careful which files to commit as I had files that were changed but
not ready to be committed. Since I did it in steps, finding typos as I
went along, I actually ran sgit three times but to simplify the above
(and to show that it's possible to do more than one sed command) I made
it all as one. Since I did not have a list of files ahead of time I had
to determine what files to commit, first going through them like:

    for j in $(for i in $(git status|grep modified|cut -d: -f2); do \
	git grep 'https://www.ioccc' "$i"; done|cut -d: -f1|sort|uniq); \
	do git diff "$j"; done|less -r

(I had to pipe through less because of a strange problem with the git
diff which appears to be because of a terminal problem maybe due to the
command above but it was all I could come up with in a very tired head.)

The above and

    git status | grep modified:

showed that some C files had been modified which obviously should not be
done so I had to do:

    git co '*c'

to undo those changes.

Finally to commit the correct files I did:

    for i in $(git status|grep modified|cut -d: -f2); do \
	git grep -E 'https://www.ioccc|https://slashdot|are VERY WELCOME' "$i"; \
	done |cut -d: -f1|sort|uniq|xargs git commit -v

or so (with any formatting issues or typos here due to typos in the log
due to the terminal (in)sanity issue described).
2023-10-07 04:35:47 -07:00

247 lines
9.2 KiB
Plaintext

| 23rd International Obfuscated C Code Contest Official Rules
| Copyright (C) 2006-2014 Leonid A. Broukhis, Simon Cooper, Landon Curt Noll
All Rights Reserved. Permission for personal, education or non-profit use is
granted provided this this copyright and notice are included in its entirety
and remains unaltered. All other uses must receive prior permission in
writing from the contest judges.
Obfuscate: tr.v. -cated, -cating, -cates. 1. a. To render obscure.
b. To darken. 2. To confuse: his emotions obfuscated his
judgment. [LLat. obfuscare, to darken : ob(intensive) +
Lat. fuscare, to darken < fuscus, dark.] -obfuscation n.
obfuscatory adj.
| This rules file is version 2014-08-29-v18.
| Most of the changes from the previous IOCCC rules
| been marked with a "|" on the left hand side of the line.
GOALS OF THE CONTEST:
* To write the most Obscure/Obfuscated C program under the rules below.
* To show the importance of programming style, in an ironic way.
* To stress C compilers with unusual code.
* To illustrate some of the subtleties of the C language.
* To provide a safe forum for poor C code. :-)
| The 23rd IOCCC contest entry window is:
| 2014-Sep-01 02:03:04 UTC to 2014-Oct-19 18:17:16 UTC
| These rules are provisional, and might be adjusted.
| The final rules will be availble along with the submission server and
| updated iocccsize.c tool on or slightly before 2014-Sep-15 15:15:15 UTC.
RULES:
To help us with the volume of entries, we ask that you follow these rules:
1) Your entry must be a complete program.
2) The size of your program source must be <= 4096 bytes in length.
When your program source is fed as input to the current IOCCC size
tool, and the IOCCC size tool -i command line option is used, the value
printed should be <= 2053.
The source to the current IOCCC size tool is found at this URL:
| https://www.ioccc.org/2014/iocccsize.c
3) Submissions should be performed using the instructions outlined at:
https://submit.ioccc.org/
| That URL should be active on or slightly before 2014-Sep-15 15:15:15 UTC
4) If your entry is selected as a winner, it will be modified as follows:
Your 'build' instructions will be incorporated into a makefile.
Your source code will be renamed from prog.c to a name
of our choice (usually related to your family name or
anonymous) followed by a optional digit if there are conflicting
winning entries. The resulting binary will be renamed from prog to a
equivalent of our choice.
If needed, indicate in your remarks file how your entry
must be changed to accommodate the above.
5) Your entry must not modify the content or filename of any part of your
original entry including, but not limited to prog.c, the Makefile
(we create from your how to build instructions), as well as any data
files you submit.
If you entry wishes to modify such content, it must first copy the
file to a new filename and then modify that copy.
| 6) I am not a rule, I am a free being!!
| while (!understand(ioccc(rule(number(6))))) { laugh(); }
7) The obfuscated C program must be an original work that you own.
You (the authors) must own the contents of your submission OR
you must have permission from the owners to submit their content
under the Creative Commons Attribution-ShareAlike 3.0 Unported
(CC BY-SA 3.0) license (see rule 18).
If you submit any content that is owned by others, you MUST
detail that ownership (i.e., who owns what) and document the
permission you obtained.
| 8) Entries must be received prior to 2014-Oct-19 18:17:16 UTC.
A confirmation of submission will be sent to the submitter's
email address before the close of the contest.
| 9) Each person may submit up to and including 8.00 entries per contest.
Each entry must be submitted separately.
10) Entries requiring human interaction to be initially compiled are
not permitted.
11) Programs that require special privileges (setuid, setgid, super-user,
| special owner, special group, etc.) are still highly discouraged. We
| do not guarantee these functions will behave as you expect on our test
| platforms. If your program needs special permissions please document
| them in the remarks file.
12) Legal abuse of the rules is somewhat encouraged. An entry that, in
the opinion of the judges, violates the rules will be disqualified.
Entries that attempt to abuse the rules must try to justify why
their rule abuse is legal in the remarks file.
13) Any C source that fails to compile because of unescaped octets with
the high bit set (octet value >= 128) will be rejected.
14) Any C source that fails to compile because of lines with trailing
control-M's (i.e., lines with a tailing octet 015) will be rejected.
Please do not put trailing control-M's in your remarks file.
15) When you submit your entry you must have a valid email address
that can both send and receive email. The online submission
method is a two phase process that requires the use of an
approval code. This code will be emailed to you as part of
phase 1.
Entries submitted without a working or valid email address will
be disqualified.
The judges are not responsible for delays in email, please plan
enough time for one automated exchange of email as part of your
submission.
| After your email address has been confirmed, the submission code will
| be valid for submitting and editing the entry for the lifetime of the
| competition.
| 16) You are STRONGLY encouraged to submit a previously unpublished and
| original entry. Submissions that are similar to previous entries are
| discouraged. As we judge anonymously, submissions that have already
| been published may be disqualified.
17) The total size of your submission: the sum of the size of the program,
hints, comments, build and info files MUST be less than or equal
to 1048576 octets in size.
18) The entirety of your entry must be submitted under the Creative Commons
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0):
http://creativecommons.org/licenses/by-sa/3.0/
You must not submit anything that cannot be submitted under that license.
19) The remarks file must be written in markdown format. See:
http://daringfireball.net/projects/markdown/basics
for more information.
| We currently use "Discount" to convert markdown to HTML
|
| http://www.pell.portland.or.us/~orc/Code/discount/
20) The how to build instructions must be in make form.
The target of the make file must be called prog. The original
C source file must be called prog.c.
To invoke the C compiler, use ${CC}.
To invoke the C preprocessor use ${CPP}.
Do not assume that . (the current working directory) is in the $PATH.
Use a shell command syntax that is compatible with bash.
Assume that commands commonly found in POSIX-like / Linux-like systems
are available in the search path.
Do not assume any particular given value of ${CFLAGS} or other
commonly used make variables.
21) Your entry must not create nor modify files above the current directory
with the exception of the /tmp and the /var/tmp directories. Your entry
may create subdirectories below the current directory, or in /tmp,
or in /var/tmp provided that "." is not the first octet in any
directory name.
FOR MORE INFORMATION:
The judging will be done by Leonid A. Broukhis, Simon Cooper, Landon
Curt Noll.
Please send questions or comments about the contest, to:
| q.2014@ioccc.org (for questions only!)
You must include the words:
| ioccc 2014 question
in the subject of your email when sending email to the judges.
The rules and the guidelines may (and often do) change from year to
year. You should be sure you have the current rules and guidelines
prior to submitting entries. To obtain them, visit the IOCCC web page:
https://www.ioccc.org
It has rules, guidelines and winners of previous contests (1984 to date).
For the updates and breaking IOCCC news, you are encouraged to follow
the twitter handle:
@IOCCC
You do not have to be a twitter user to follow @IOCCC. Non-twitter
users should access:
https://twitter.com/ioccc
Non-twitter users should force their browsers to reload the above URL
to be sure they are seeing the most recent tweets.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
An important 2023 update to this historic note:
The IOCCC no longer uses twitter. Today the IOCCC uses Mastodon.
For more information and to see our IOCCC Mastodon posts, see:
https://fosstodon.org/@ioccc
End of important 2023 update to this historic note.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Leonid A. Broukhis
Simon Cooper
chongo (Landon Curt Noll) /\cc/\