Merge pull request #60 from xexyl/readmes
This commit is contained in:
13 files changed
+115
-25
No files matched your search
+11
-11
@@ -6,20 +6,11 @@ Anonymous
|
|||||||
|
|
||||||
make all
|
make all
|
||||||
|
|
||||||
## To run:
|
## Try:
|
||||||
|
|
||||||
|
|
||||||
./anonymous
|
./anonymous
|
||||||
|
|
||||||
## Judges' comments:
|
|
||||||
|
|
||||||
The author was too embarrassed that he/she could write such trash, so I
|
|
||||||
promised to protect their identity. I will say that the author of this
|
|
||||||
program has a well known connection with the C programming language.
|
|
||||||
|
|
||||||
This program is a unique variation on the age old "Hello, world"
|
|
||||||
program. What reads like a read may be written like a write!
|
|
||||||
|
|
||||||
NOTE: this entry will probably not work under macOS with the Apple chips (Intel
|
NOTE: this entry will probably not work under macOS with the Apple chips (Intel
|
||||||
should be fine though we have no way to test this; if anyone can confirm whether
|
should be fine though we have no way to test this; if anyone can confirm whether
|
||||||
this will work under macOS with an Intel chip we'd appreciate if you let us
|
this will work under macOS with an Intel chip we'd appreciate if you let us
|
||||||
@@ -28,7 +19,6 @@ specifically, on modern systems one might need to specify `-m32` (though this
|
|||||||
actually doesn't seem to be the case) but the Apple chips which are arm64 based
|
actually doesn't seem to be the case) but the Apple chips which are arm64 based
|
||||||
will not compile this entry:
|
will not compile this entry:
|
||||||
|
|
||||||
|
|
||||||
ld: unknown/unsupported architecture name for: -arch armv4t
|
ld: unknown/unsupported architecture name for: -arch armv4t
|
||||||
clang: error: linker command failed with exit code 1 (use -v to see invocation)
|
clang: error: linker command failed with exit code 1 (use -v to see invocation)
|
||||||
make: *** [anonymous] Error 1
|
make: *** [anonymous] Error 1
|
||||||
@@ -53,6 +43,16 @@ If we add to the CFLAGS `-include unistd.h` we will run into another problem:
|
|||||||
ssize_t read(int, void *, size_t) __DARWIN_ALIAS_C(read);
|
ssize_t read(int, void *, size_t) __DARWIN_ALIAS_C(read);
|
||||||
^
|
^
|
||||||
|
|
||||||
|
|
||||||
|
## Judges' comments:
|
||||||
|
|
||||||
|
The author was too embarrassed that they could write such trash, so I
|
||||||
|
promised to protect their identity. I will say that the author of this
|
||||||
|
program has a well known connection with the C programming language.
|
||||||
|
|
||||||
|
This program is a unique variation on the age old "Hello, world"
|
||||||
|
program. What reads like a read may be written like a write!
|
||||||
|
|
||||||
## Author's comments:
|
## Author's comments:
|
||||||
|
|
||||||
No comments were provided by the author.
|
No comments were provided by the author.
|
||||||
|
|||||||
@@ -44,8 +44,50 @@ couldn't! :-)
|
|||||||
|
|
||||||
## Author's comments:
|
## Author's comments:
|
||||||
|
|
||||||
No comments were provided by the author.
|
These comments, found at
|
||||||
|
[https://lainsystems.com/posts/exploring-mullender-dot-c/](https://lainsystems.com/posts/exploring-mullender-dot-c/),
|
||||||
|
were provided by Sjoerd Mullender years later. We thank the author of the
|
||||||
|
article for the quote!
|
||||||
|
|
||||||
|
I have never known a lot about the VAX assembly, so we used the C compiler to
|
||||||
|
create the VAX code. We didn't write it ourselves from scratch as we did with
|
||||||
|
the PDP code. This is the reason why the VAX code is more complex, including the
|
||||||
|
extra data after the PDP code.
|
||||||
|
|
||||||
|
Robbert and I were students at the VU (Free University in Amsterdam) at the time
|
||||||
|
(mathematics with CS as our major since there was no CS curriculum when we
|
||||||
|
started). We had an assignment to create a pair of programs for the computer
|
||||||
|
networks course. The programs were supposed to send data reliably from one
|
||||||
|
program to the other over an unreliable channel. This channel was simulated with
|
||||||
|
a pair of pipes.
|
||||||
|
|
||||||
|
We decided for fun to create an obfuscated set of programs, only for the PDP, to
|
||||||
|
do this, but circumventing the channel. (I.e. cheating, hence the needed
|
||||||
|
obfuscation.) Our programs worked and we handed them in.
|
||||||
|
|
||||||
|
Of course, the teacher had a good laugh and then rejected our submission. (We
|
||||||
|
knew him well, so we could get away with this.)
|
||||||
|
|
||||||
|
Then the IOCCC came along. I don’t remember how we heard about it, but at the
|
||||||
|
time there was a world-wide messaging network Usenet where we read a bunch of
|
||||||
|
newsgroups. I’m sure it was announced there and we saw it.
|
||||||
|
|
||||||
|
Since we had just recently created these obfuscated programs we decided we could
|
||||||
|
use the same technique for an obfuscated C program. We upped the ante a bit by
|
||||||
|
making it “portable”.
|
||||||
|
|
||||||
|
To add to the obfuscation, we used different formats for the integers in the
|
||||||
|
array, some in decimal, some in octal, some in hexadecimal, and when the value
|
||||||
|
would fit, some as an ASCII character.
|
||||||
|
|
||||||
|
The rest is history.
|
||||||
|
|
||||||
|
Since this was the first contest, we hadn't seen any old entries, nor had any of
|
||||||
|
the other contestants. Of course we knew about #define and tricks you could do
|
||||||
|
with that, but we didn't need that for this program. In fact, we made it as
|
||||||
|
“standard” as possible. At the time there was this program called “cb” for C
|
||||||
|
beautifier which would re-indent your program to make the layout look better. Our
|
||||||
|
program is idempotent under cb.
|
||||||
|
|
||||||
Copyright (c) 1984, Landon Curt Noll.
|
Copyright (c) 1984, Landon Curt Noll.
|
||||||
All Rights Reserved. Permission for personal, educational or non-profit use is
|
All Rights Reserved. Permission for personal, educational or non-profit use is
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Jack Applin [with help from Robert Heckendorn]
|
|||||||
|
|
||||||
make all
|
make all
|
||||||
|
|
||||||
## To run:
|
## Try:
|
||||||
|
|
||||||
./applin
|
./applin
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ Col. G. L. Sicherman
|
|||||||
|
|
||||||
NOTE: This entry requires a compiler that support `-traditional-cpp`.
|
NOTE: This entry requires a compiler that support `-traditional-cpp`.
|
||||||
|
|
||||||
|
## Try:
|
||||||
|
|
||||||
|
./sicherman < sicherman.c
|
||||||
|
|
||||||
## Judges' comments:
|
## Judges' comments:
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ USA
|
|||||||
|
|
||||||
make all
|
make all
|
||||||
|
|
||||||
|
## To run:
|
||||||
|
|
||||||
|
./applin
|
||||||
|
|
||||||
### Try:
|
### Try:
|
||||||
|
|
||||||
sh applin.c
|
sh applin.c
|
||||||
|
|||||||
@@ -10,6 +10,13 @@ Sweden
|
|||||||
|
|
||||||
make all
|
make all
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Try:
|
||||||
|
|
||||||
|
./august
|
||||||
|
|
||||||
|
|
||||||
NOTE: this entry is very likely to core dump after its output.
|
NOTE: this entry is very likely to core dump after its output.
|
||||||
|
|
||||||
## Judges' comments:
|
## Judges' comments:
|
||||||
|
|||||||
@@ -13,10 +13,17 @@ UK
|
|||||||
NOTE: this entry uses gets() so you might get a warning about this when
|
NOTE: this entry uses gets() so you might get a warning about this when
|
||||||
compiling and running this program with some systems.
|
compiling and running this program with some systems.
|
||||||
|
|
||||||
|
## To run:
|
||||||
|
|
||||||
|
./hague
|
||||||
|
# enter some text
|
||||||
|
|
||||||
### Try:
|
### Try:
|
||||||
|
|
||||||
./hague
|
./hague
|
||||||
[enter some text]
|
IOCCC
|
||||||
|
International Obfuscated C Code Contest
|
||||||
|
Jim Hague
|
||||||
|
|
||||||
|
|
||||||
## Judges' comments:
|
## Judges' comments:
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ main() and the third arg was an int. He notes that he tried to keep the picture
|
|||||||
as close to the original. The line lengths are the same but some spaces had to
|
as close to the original. The line lengths are the same but some spaces had to
|
||||||
be changed to non-spaces. Thank you Cody for your help!
|
be changed to non-spaces. Thank you Cody for your help!
|
||||||
|
|
||||||
|
## Try:
|
||||||
|
|
||||||
|
./marshall
|
||||||
|
|
||||||
# Judges' comments:
|
# Judges' comments:
|
||||||
|
|
||||||
This program prints the name of the picture. The layout is somewhat
|
This program prints the name of the picture. The layout is somewhat
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ Santa Monica, CA
|
|||||||
cat biggar.c | ./biggar | od -c
|
cat biggar.c | ./biggar | od -c
|
||||||
|
|
||||||
|
|
||||||
|
## Judges' comments:
|
||||||
|
|
||||||
By changing the compile line you can make this program do anything you
|
By changing the compile line you can make this program do anything you
|
||||||
want. This is a very efficient way to transfer source, though it
|
want. This is a very efficient way to transfer source, though it
|
||||||
increases the size of Makefiles.
|
increases the size of Makefiles.
|
||||||
@@ -38,7 +40,6 @@ entry](../wall/README.md) regarding Mark's contribution but it seems to have
|
|||||||
been lost in time. If anyone knows about its whereabouts we'd appreciate letting
|
been lost in time. If anyone knows about its whereabouts we'd appreciate letting
|
||||||
us know. Thanks!
|
us know. Thanks!
|
||||||
|
|
||||||
## Judges' comments:
|
|
||||||
|
|
||||||
Passes BSD and UTS lint. At least one version of lint is thrown into
|
Passes BSD and UTS lint. At least one version of lint is thrown into
|
||||||
an infinite loop by this entry.
|
an infinite loop by this entry.
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ On System V systems, we had to compile with `-Dindex=strchr`.
|
|||||||
To compile on a 16 bit machine, change 300000 to 30000.
|
To compile on a 16 bit machine, change 300000 to 30000.
|
||||||
|
|
||||||
|
|
||||||
## Judges' comments:
|
|
||||||
|
|
||||||
### Try:
|
### Try:
|
||||||
|
|
||||||
@@ -25,14 +24,16 @@ Ask yourself what happens to `foo.md` if you try:
|
|||||||
|
|
||||||
./ph 40 < README.md > foo.md
|
./ph 40 < README.md > foo.md
|
||||||
|
|
||||||
Folding at the wrong length may be equivalent to a "Spindle or Mutilate" operation. For example:
|
|
||||||
|
## Judges' comments:
|
||||||
|
|
||||||
|
Folding at the wrong length may be equivalent to a "Spindle or Mutilate" operation. For example:
|
||||||
|
|
||||||
./heckbert 40 < heckbert.c > ph.c ; make ph ; ./ph 20 < heckbert.c > bar.c ; make bar
|
./heckbert 40 < heckbert.c > ph.c ; make ph ; ./ph 20 < heckbert.c > bar.c ; make bar
|
||||||
|
|
||||||
|
|
||||||
Try not to
|
Try not to
|
||||||
[Fold, Spindle or Mutilate](https://repository.library.brown.edu/studio/item/bdr:788264/PDF/)
|
[Fold, Spindle or Mutilate](https://repository.library.brown.edu/studio/item/bdr:788264/PDF/)
|
||||||
files. :-)
|
files. :-)
|
||||||
|
|
||||||
|
|
||||||
## Author's comments:
|
## Author's comments:
|
||||||
@@ -41,7 +42,7 @@ No comments were provided by the author.
|
|||||||
|
|
||||||
|
|
||||||
The judges used this program to fold up very long lines which the
|
The judges used this program to fold up very long lines which the
|
||||||
BSD fold(1) was unable to process. This program has been added
|
BSD fold(1) was unable to process. This program has been added
|
||||||
to the contest tool chest.
|
to the contest tool chest.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ USA
|
|||||||
|
|
||||||
### Alternate code
|
### Alternate code
|
||||||
|
|
||||||
An alternate version of this entry, `hines.alt.c`.
|
An alternate version of this entry is in `hines.alt.c`. With older compilers you
|
||||||
With older compilers you can try the alt version:
|
can try the alt version:
|
||||||
|
|
||||||
make alt
|
make alt
|
||||||
|
|
||||||
|
|||||||
@@ -17,12 +17,18 @@ compiler.
|
|||||||
./lievaart
|
./lievaart
|
||||||
# enter a level and start playing as described below
|
# enter a level and start playing as described below
|
||||||
|
|
||||||
./lievaart2
|
|
||||||
# enter a level and start playing as described below
|
|
||||||
|
|
||||||
NOTE: if you enter invalid input the program will enter an infinite loop
|
NOTE: if you enter invalid input the program will enter an infinite loop
|
||||||
displaying a string like `"You:"` repeatedly.
|
displaying a string like `"You:"` repeatedly.
|
||||||
|
|
||||||
|
## Try:
|
||||||
|
|
||||||
|
To see what it would have looked like without the size restrictions:
|
||||||
|
|
||||||
|
./lievaart2
|
||||||
|
# enter a level and start playing as described below
|
||||||
|
|
||||||
|
|
||||||
## Judges' remarks:
|
## Judges' remarks:
|
||||||
|
|
||||||
We believe that you too will be amazed at just how much power Mr. Lievaart
|
We believe that you too will be amazed at just how much power Mr. Lievaart
|
||||||
|
|||||||
+16
-1
@@ -9,7 +9,14 @@ Panorama City, CA 91402 USA
|
|||||||
|
|
||||||
make all
|
make all
|
||||||
|
|
||||||
## Judges' comments:
|
## To run:
|
||||||
|
|
||||||
|
|
||||||
|
./wall
|
||||||
|
# enter some strings
|
||||||
|
|
||||||
|
./wall | some_command
|
||||||
|
# enter some strings
|
||||||
|
|
||||||
### Try:
|
### Try:
|
||||||
|
|
||||||
@@ -35,6 +42,9 @@ and enter some input like:
|
|||||||
quit # for the cat version
|
quit # for the cat version
|
||||||
|
|
||||||
|
|
||||||
|
## Judges' comments:
|
||||||
|
|
||||||
|
|
||||||
What we found amazing was how the flow of control was transferred
|
What we found amazing was how the flow of control was transferred
|
||||||
between subroutines. Careful inspection will show that the array of
|
between subroutines. Careful inspection will show that the array of
|
||||||
pointers to functions named 'vi' refers to functions which seem to not
|
pointers to functions named 'vi' refers to functions which seem to not
|
||||||
@@ -44,6 +54,11 @@ done and how it is being exploited?
|
|||||||
|
|
||||||
Some compilers complained about this file, so we changed: '=++I' to '= ++I'.
|
Some compilers complained about this file, so we changed: '=++I' to '= ++I'.
|
||||||
|
|
||||||
|
|
||||||
|
## Author's comments:
|
||||||
|
|
||||||
|
No comments were provided by the author.
|
||||||
|
|
||||||
Copyright (c) 1987, Landon Curt Noll & Larry Bassel.
|
Copyright (c) 1987, Landon Curt Noll & Larry Bassel.
|
||||||
All Rights Reserved. Permission for personal, educational or non-profit use is
|
All Rights Reserved. Permission for personal, educational or non-profit use is
|
||||||
granted provided this this copyright and notice are included in its entirety
|
granted provided this this copyright and notice are included in its entirety
|
||||||
|
|||||||
Reference in new issue
Block a user