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).
229 lines
8.4 KiB
Plaintext
229 lines
8.4 KiB
Plaintext
| 22nd International Obfuscated C Code Contest Official Rules
|
|
|
|
| Copyright (C) 2006-2013 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 2013-07-30-v17.
|
|
|
|
| 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 22nd IOCCC contest entry window is:
|
|
|
|
| 2013-Aug-01 3:14:15 UTC to 2013-Oct-03 9:26:53 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/2013/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 2013-Aug-01 3:14: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) There is NO rule 6! OK, there is a rule 6, but we intend to ignore it.
|
|
|
|
| while (!understand(ioccc(rule(6))));
|
|
|
|
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 2013-Oct-03 9:26:53 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.0 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 highly discouraged.
|
|
|
|
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.
|
|
|
|
16) You are STRONGLY encouraged to submit an original entry.
|
|
Submissions that are similar to previous entries are discouraged.
|
|
|
|
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.
|
|
|
|
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.2013@ioccc.org (for questions only!)
|
|
|
|
| You must include the words:
|
|
|
|
| ioccc 2013 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/\
|