Merge pull request #2223 from xexyl/typo-readme

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2024-02-18 09:37:51 -08:00
commit 82918f1c1e
3 files changed
+37 -33

No files matched your search

+2 -6
View File
@@ -1,15 +1,11 @@
# #
# sort with: ../../bin/sgi # sort with: ../../bin/sgi
*.dSYM *.dSYM
hello.ppm *.png
image2.ppm *.ppm
image.png
image.ppm
indent indent
indent.c indent.c
indent.o indent.o
ioccc2011.png
ioccc2011.ppm
prog.orig prog.orig
zucker zucker
zucker.orig zucker.orig
+1 -1
View File
@@ -207,7 +207,7 @@ clean:
clobber: clean clobber: clean
${RM} -f ${TARGET} ${ALT_TARGET} ${RM} -f ${TARGET} ${ALT_TARGET}
${RM} -rf *.dSYM ${RM} -rf *.dSYM *.png *.ppm
@-if [ -e sandwich ]; then \ @-if [ -e sandwich ]; then \
${RM} -f sandwich; \ ${RM} -f sandwich; \
echo 'ate sandwich'; \ echo 'ate sandwich'; \
+34 -26
View File
@@ -18,12 +18,12 @@ XXX - The text from the top down to the _What follows is the actual README.md fi
line will be removed when this web site becomes official - XXX line will be removed when this web site becomes official - XXX
## What follows is the actual README.md file - Remove from top down to this line - XXX ## What follows is the actual README.md file - Remove from top down through this line - XXX
# The International Obfuscated C Code Contest # The International Obfuscated C Code Contest
# **Obfuscate** | *verb* [with object] ## **Obfuscate** | *verb* [with object]
- render obscure, unclear, or unintelligible: the spelling changes will deform - render obscure, unclear, or unintelligible: the spelling changes will deform
some familiar words and obfuscate their etymological origins. some familiar words and obfuscate their etymological origins.
@@ -31,7 +31,8 @@ some familiar words and obfuscate their etymological origins.
- bewilder (someone): it is more likely to obfuscate people than enlighten them. - bewilder (someone): it is more likely to obfuscate people than enlighten them.
obfuscatory | adjective obfuscatory | adjective
From late Middle English (as adjective): from late Latin obfuscat- 'darkened', from the verb obfuscare, based on Latin fuscus 'dark'. late Middle English (as adjective): from late Latin **obfuscat-**
'darkened', from the verb **obfuscare**, based on Latin **fuscus** 'dark'.
## **Obfuscation** | *noun* ## **Obfuscation** | *noun*
@@ -39,14 +40,16 @@ obfuscatory | adjective
confronted with sharp questions they resort to obfuscation | ministers put up confronted with sharp questions they resort to obfuscation | ministers put up
mealy-mouthed denials and obfuscations. mealy-mouthed denials and obfuscations.
From late Middle English: from late Latin obfuscatio(n-), from obfuscare 'to darken or obscure' (see obfuscate). late Middle English: from late Latin **obfuscatio(n-)**, from **obfuscare**
'to darken or obscure' (see *obfuscate*).
The official IOCCC web site is <https://www.ioccc.org>. The official IOCCC web site is <https://www.ioccc.org>.
## How it was started: ## How it was started:
The original inspiration of the International Obfuscated C Code Contest came The original inspiration of the International Obfuscated C Code Contest came
from the Bourne Shell source and the finger command as distributed in 4.2BSD. from the Bourne Shell source and the `finger(1)` command as distributed in
[4.2BSD](https://en.wikipedia.org/wiki/History_of_the_Berkeley_Software_Distribution#4.2BSD).
If this is what could result from what some people claim is reasonable If this is what could result from what some people claim is reasonable
programming practice, then to what depths might quality sink if people really programming practice, then to what depths might quality sink if people really
tried to write poor code? tried to write poor code?
@@ -71,7 +74,7 @@ the definitions of *satire*:
The authors of the winning entries placed a great deal of thought into their The authors of the winning entries placed a great deal of thought into their
programs. These programs in turn exposed and discredited what I considered to programs. These programs in turn exposed and discredited what I considered to
be the programmer's equivalent of "vice or folly". be the programmer's equivalent of "*vice or folly*".
There were two unexpected benefits that came from the contest winners. First There were two unexpected benefits that came from the contest winners. First
was an educational value to the programs. To understand these C programs is to was an educational value to the programs. To understand these C programs is to
@@ -101,30 +104,34 @@ Makefiles look at the variable `CDEFINE`.
The next stage towards understanding is to use a C beautifier or C indenting The next stage towards understanding is to use a C beautifier or C indenting
program on the source. Be warned that a number of these entries are so twisted program on the source. Be warned that a number of these entries are so twisted
that such tools may abort or become very confused. You may need to help out by that such tools may abort or become very confused, sometimes even preventing
doing some initial formatting with an editor. You might also try renaming them from compiling. You may need to help out by doing some initial formatting
variables and labels to give more meaningful names. with an editor. You might also try renaming variables and labels to give more
meaningful names. Be aware, however, that some entries will not work if you
rename variables, even if you manage to determine where exactly they are (to say
nothing of the fact that the name might be elsewhere in the code).
Now try linting the program. You may be surprised at how little lint complains Now try linting the program. You may be surprised at how little lint complains
about these programs. Pay careful attention to messages about unused variables, about these programs. Pay careful attention to messages about unused variables,
wrong types, pointer conversions, etc. But be careful, some lints produce wrong types, pointer conversions, etc. But be careful, some lints produce
incorrect error messages or even abort! Your lint may detect syntax errors in incorrect error messages or even abort (or even crash)! Your lint may detect
the source. See the next paragraph for suggestions on how to deal with this. syntax errors in the source. See the next paragraph for suggestions on how to
deal with this.
When you get to the stage where you are ready to compile the program, examine When you get to the stage where you are ready to compile the program, examine
the compilation comments above each entry. A simple define or edit may be the compilation comments above each entry. A simple `#define` (or `-D` at the
required due to differing semantics between operating systems. If you are able compiler) or edit may be required due to differing semantics between operating
to successfully compile the program, experiment with it by giving it different systems. If you are able to successfully compile the program, experiment with it
arguments or input. You may also use the Makefile provided to compile the by giving it different arguments or input. You may also use the Makefile
program. Look at the `To build` and `Try` sections at the top of the README.md provided to compile the program. Look at the `To build` and `Try` sections at
for each entry as well. Keep in mind that C compilers often have bugs, or the top of the README.md for each entry as well. Keep in mind that C compilers
features which result the program failing to compile. You may have to do some often have bugs, or features which result the program failing to compile. You
syntax changing as we did to get old programs to compile on strict ANSI C may have to do some syntax changing as we did to get old programs to compile on
compilers. strict ANSI C compilers.
Last, read the judges' remarks/spoilers on the program. Hints for `foo.c` are Last, read the judges' remarks/spoilers on the program. Hints for `foo.c` are
given in `README.md`. Often they will contain suggested arguments or given in `README.md`. Often they will contain suggested arguments or
recommended data to use. recommended data to use. Authors also sometimes give spoilers.
If you do gain some understanding of how a program works, go back to the source If you do gain some understanding of how a program works, go back to the source
and reexamine it using some of the techniques outlined above. See if you can and reexamine it using some of the techniques outlined above. See if you can
@@ -147,7 +154,7 @@ The following URL is the official archive of the winning entries:
<https://www.ioccc.org/years.html>. <https://www.ioccc.org/years.html>.
Regarding the distribution of sources: ## Regarding the distribution of sources:
All contest results are in the public domain. We do ask that you observe the All contest results are in the public domain. We do ask that you observe the
following request: following request:
@@ -157,7 +164,8 @@ doing the same. If some of these files and/or contest entries are
published in printed form, or if you use them in a business or classroom published in printed form, or if you use them in a business or classroom
setting, please let us know. We ask that you drop a line to the setting, please let us know. We ask that you drop a line to the
judges' email box. See <https://www.ioccc.org/contact.html> for instructions on judges' email box. See <https://www.ioccc.org/contact.html> for instructions on
how to send us a message: how to send us a message.
## Some final things to remember: ## Some final things to remember:
@@ -169,8 +177,8 @@ after the judges examine all of the entries.
The judges' hints assume that the program resides in a file with the same The judges' hints assume that the program resides in a file with the same
username as the author or `prog.c` (depending on the year). Where there is more username as the author or `prog.c` (depending on the year). Where there is more
than one author, the first named author is used. If an author wins more than than one author, the first named author is used. If an author wins more than
one entry per year there are different formats used but the most recent one is one entry _per year_ there are different formats used but the first entry has 1
the first entry has 1 appended, the second has 2 etc. appended, the second has 2 etc. In some years it was `.1` and `.2` instead.
Some C compilers are unable to compile some of these programs. The judges tried Some C compilers are unable to compile some of these programs. The judges tried
to select programs that were widely portable and compilable, but did not always to select programs that were widely portable and compilable, but did not always
@@ -209,4 +217,4 @@ Copyright (C) 2020,2023,2024 Landon Curt Noll. All Rights Reserved.
This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike This work is licensed under a [Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike
4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license. 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) license.
If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate If you do use this work in some form, the [IOCCC judges](/judges.html) would appreciate
(but does not require) if you were to [send us a note about your use](/contact.html). (but do not require) if you were to [send us a note about your use](/contact.html).