Update 1988 winning entries' README.md files
Format and typo fixes.
This commit is contained in:
1 parent
95f384ec3f
commit
15787fbdd3
7 files changed
+159
-98
No files matched your search
+15
-9
@@ -1,11 +1,11 @@
|
||||
## Best abuse of system calls
|
||||
|
||||
Paul Dale
|
||||
University of Queensland
|
||||
Computer Science Dept
|
||||
Dept of Computer Science
|
||||
Uni of Qld, 4067
|
||||
Australia
|
||||
Paul Dale
|
||||
University of Queensland
|
||||
Computer Science Dept
|
||||
Dept of Computer Science
|
||||
Uni of Qld, 4067
|
||||
Australia
|
||||
|
||||
## To build:
|
||||
|
||||
@@ -56,9 +56,10 @@ Thank you Cody for your assistance!
|
||||
|
||||
## Try:
|
||||
|
||||
|
||||
./dale hello world
|
||||
./dale these files are in this directory: *
|
||||
```sh
|
||||
./dale hello world
|
||||
./dale these files are in this directory: *
|
||||
```
|
||||
|
||||
NOTE: in linux it might happen that core dumps are created when running this
|
||||
entry even though it works fine.
|
||||
@@ -71,6 +72,11 @@ system calls.
|
||||
|
||||
NOTE: This program assumes the ASCII character set is being used.
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
No remarks were provided by the author.
|
||||
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+23
-10
@@ -1,19 +1,23 @@
|
||||
# Best visuals
|
||||
|
||||
Mark Isaak
|
||||
Imagen Corporation
|
||||
2650 San Tomas Expy.
|
||||
Santa Clara, CA
|
||||
95052-8101
|
||||
USA
|
||||
Mark Isaak
|
||||
Imagen Corporation
|
||||
2650 San Tomas Expy.
|
||||
Santa Clara, CA
|
||||
95052-8101
|
||||
USA
|
||||
|
||||
## To build:
|
||||
|
||||
make all
|
||||
```sh
|
||||
make all
|
||||
```
|
||||
|
||||
## To run:
|
||||
|
||||
./isaak
|
||||
```sh
|
||||
./isaak
|
||||
```
|
||||
|
||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this to work for
|
||||
modern systems. The problem was that the important function, a redefinition of
|
||||
@@ -25,7 +29,9 @@ alternative version. Thank you Cody for your assistance!
|
||||
The original version of this code is in [isaak.alt.c](isaak.alt.c).
|
||||
The original entry starts with the line:
|
||||
|
||||
```c
|
||||
main(){};
|
||||
```
|
||||
|
||||
This works on some systems. Why? Note that `#include <stdio.h>` is given on
|
||||
the last line. Why is this needed? Note the unusual calls to sprintf.
|
||||
@@ -50,14 +56,21 @@ due to the fact that BSD style systems have an sprintf() that returns a `char *`
|
||||
Due to the above problems, we placed the output of this program in the file:
|
||||
isaak.encode. To read this file do:
|
||||
|
||||
uudecode < isaak.encode
|
||||
cat isaak.output
|
||||
```sh
|
||||
uudecode < isaak.encode
|
||||
cat isaak.output
|
||||
```
|
||||
|
||||
But since Cody fixed it this is not strictly necessary. See the
|
||||
[isaak.alt.c](isaak.alt.c) for the original source.
|
||||
|
||||
FYI: We are likely to be more strict about portability in the future.
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
No remarks were provided by the author.
|
||||
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+24
-14
@@ -1,15 +1,17 @@
|
||||
## Best small program
|
||||
|
||||
Maarten Litmaath
|
||||
Free University (VU) Amsterdam
|
||||
Department of computer science
|
||||
Uilenstede 72
|
||||
1183 AK Amstelveen
|
||||
The Netherlands
|
||||
Maarten Litmaath
|
||||
Free University (VU) Amsterdam
|
||||
Department of computer science
|
||||
Uilenstede 72
|
||||
1183 AK Amstelveen
|
||||
The Netherlands
|
||||
|
||||
## Try:
|
||||
|
||||
./litmaath eschew obfuscation
|
||||
```sh
|
||||
./litmaath eschew obfuscation
|
||||
```
|
||||
|
||||
|
||||
## Judges' remarks:
|
||||
@@ -17,9 +19,10 @@
|
||||
Note the unusual structure:
|
||||
|
||||
|
||||
while (<condition>)
|
||||
;
|
||||
|
||||
```c
|
||||
while (<condition>)
|
||||
;
|
||||
```
|
||||
|
||||
Did you notice that the body is empty?
|
||||
|
||||
@@ -30,15 +33,22 @@ could make the body of the 'while' loop an 'fprintf' with interesting
|
||||
variables like:
|
||||
|
||||
|
||||
fprintf(stderr,
|
||||
"argv=%lo *argv=%lo **argv=%c argv[1]=%lo *argv[1]=%c argc=%d\n",
|
||||
(long) argv, (long) *argv, *argv && **argv ? **argv : '@',
|
||||
(long) argv[1], argv[1] && *argv[1] ? *argv[1] : '@', argc);
|
||||
```c
|
||||
fprintf(stderr,
|
||||
"argv=%lo *argv=%lo **argv=%c argv[1]=%lo *argv[1]=%c argc=%d\n",
|
||||
(long) argv, (long) *argv, *argv && **argv ? **argv : '@',
|
||||
(long) argv[1], argv[1] && *argv[1] ? *argv[1] : '@', argc);
|
||||
```
|
||||
|
||||
|
||||
Furthermore, it's interesting to note that only two variables are
|
||||
used to achieve everything.
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
No remarks were provided by the author.
|
||||
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
## Least likely to compile successfully
|
||||
|
||||
Ian Phillipps
|
||||
Cambridge Consultants Ltd
|
||||
Science Park
|
||||
Milton Road
|
||||
Cambridge CB4 4DW
|
||||
England
|
||||
Ian Phillipps
|
||||
Cambridge Consultants Ltd
|
||||
Science Park
|
||||
Milton Road
|
||||
Cambridge CB4 4DW
|
||||
England
|
||||
|
||||
|
||||
## To build:
|
||||
|
||||
|
||||
make all
|
||||
```sh
|
||||
make all
|
||||
```
|
||||
|
||||
|
||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this for modern
|
||||
@@ -23,7 +24,7 @@ be `char **` :-) ) with the correct args it now works. Thank you Cody for your
|
||||
assistance!
|
||||
|
||||
|
||||
## Judges' remarks
|
||||
## Judges' remarks:
|
||||
|
||||
Compile and run without parameters.
|
||||
|
||||
@@ -33,6 +34,11 @@ and thus represents a new departure in text compression standards.
|
||||
The judges thought that this program looked like what you would get
|
||||
by pounding on the keys of an old typewriter at random.
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
No remarks were provided by the author.
|
||||
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+18
-9
@@ -1,29 +1,38 @@
|
||||
## Most useful Obfuscated C program
|
||||
|
||||
Amperif Corporation
|
||||
9232 Eton Avenue
|
||||
Chatsworth, CA
|
||||
91311
|
||||
U.S.A.
|
||||
Amperif Corporation
|
||||
9232 Eton Avenue
|
||||
Chatsworth, CA
|
||||
91311
|
||||
U.S.A.
|
||||
|
||||
|
||||
## To build:
|
||||
|
||||
|
||||
make all
|
||||
```sh
|
||||
make all
|
||||
```
|
||||
|
||||
## Try:
|
||||
|
||||
./reddy
|
||||
char *(*(fun[16])();
|
||||
```sh
|
||||
./reddy
|
||||
char *(*(fun[16])();
|
||||
```
|
||||
|
||||
|
||||
## Judges' remarks
|
||||
## Judges' remarks:
|
||||
|
||||
This is a somewhat restricted version of a useful program that has been
|
||||
posted to Usenet. What is unusual is what it is able to do so much
|
||||
in such little space.
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
No remarks were provided by the author.
|
||||
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+33
-21
@@ -1,45 +1,57 @@
|
||||
## Best abuse of C constructs
|
||||
|
||||
Arch D. Robison
|
||||
University of Illinois at Urbana-Champaign
|
||||
1304 W. Springfield Ave.
|
||||
Urbana IL
|
||||
61801
|
||||
USA
|
||||
Arch D. Robison
|
||||
University of Illinois at Urbana-Champaign
|
||||
1304 W. Springfield Ave.
|
||||
Urbana IL
|
||||
61801
|
||||
USA
|
||||
|
||||
## To build:
|
||||
|
||||
make all
|
||||
```sh
|
||||
make all
|
||||
```
|
||||
|
||||
## Try:
|
||||
|
||||
./robison 80 10
|
||||
./robison 40 16
|
||||
```sh
|
||||
./robison 80 10
|
||||
./robison 40 16
|
||||
```
|
||||
|
||||
The first and second parameters are optional. You might also try:
|
||||
|
||||
./robison 80 2 <--- can you find the bug?
|
||||
./robison 80 -246
|
||||
```sh
|
||||
./robison 80 2 # <--- can you find the bug?
|
||||
./robison 80 -246
|
||||
```
|
||||
|
||||
The author says:
|
||||
|
||||
> This program shows that C has many unnecessary constructs, in fact
|
||||
> only "while","--", and ">=" are required. (The two assignments at
|
||||
> the beginning could be avoided if "atoi" was rewritten with this
|
||||
> new paradigm.) Note that the lack of both the controversial "goto"
|
||||
> and assignment statements makes the meaning crystal clear. The current
|
||||
> ANSI committee should look into this practical simplification of C.
|
||||
## Judges' remarks:
|
||||
|
||||
The following might make an interesting benchmark:
|
||||
|
||||
./robison 100
|
||||
```sh
|
||||
./robison 100
|
||||
|
||||
```
|
||||
|
||||
[Amdahl 5890-300E with System V cc: 8.40 seconds]
|
||||
|
||||
We suggest that you C pre-process and perhaps C-beautify this program.
|
||||
All is not what it may appear to be in this program. Why does a whi1e
|
||||
All is not what it may appear to be in this program. Why does a `whi1e`
|
||||
not take a while to execute?
|
||||
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
This program shows that C has many unnecessary constructs, in fact
|
||||
only "while","--", and ">=" are required. (The two assignments at
|
||||
the beginning could be avoided if "atoi" was rewritten with this
|
||||
new paradigm.) Note that the lack of both the controversial "goto"
|
||||
and assignment statements makes the meaning crystal clear. The current
|
||||
ANSI committee should look into this practical simplification of C.
|
||||
|
||||
## Copyright and CC BY-SA 4.0 License:
|
||||
|
||||
This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+31
-26
@@ -8,8 +8,9 @@ Greece
|
||||
|
||||
## To build:
|
||||
|
||||
|
||||
make all
|
||||
```sh
|
||||
make all
|
||||
```
|
||||
|
||||
and then type a C program into followed by EOF (usually `^D`, ctrl-d).
|
||||
|
||||
@@ -19,23 +20,25 @@ Thank you Cody for your assistance!
|
||||
|
||||
## Try:
|
||||
|
||||
make clobber all
|
||||
main()
|
||||
{
|
||||
printf("Hello world\n");
|
||||
}
|
||||
^D
|
||||
./spinellis
|
||||
```sh
|
||||
make clobber all
|
||||
main()
|
||||
{
|
||||
printf("Hello world\n");
|
||||
}
|
||||
^D
|
||||
./spinellis
|
||||
|
||||
make clobber all
|
||||
int main()
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 5; ++i)
|
||||
printf("%d\n", i);
|
||||
}
|
||||
^D
|
||||
./spinellis
|
||||
make clobber all
|
||||
int main()
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 5; ++i)
|
||||
printf("%d\n", i);
|
||||
}
|
||||
^D
|
||||
./spinellis
|
||||
```
|
||||
|
||||
NOTE: you need to make clobber first for this entry to work right.
|
||||
|
||||
@@ -43,15 +46,17 @@ NOTE: you need to make clobber first for this entry to work right.
|
||||
|
||||
For clang try the alt code like:
|
||||
|
||||
make clobber alt
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
puts("Hello world\n");
|
||||
}
|
||||
^D
|
||||
./spinellis
|
||||
```sh
|
||||
make clobber alt
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
puts("Hello world\n");
|
||||
}
|
||||
^D
|
||||
./spinellis
|
||||
|
||||
```
|
||||
|
||||
NOTE: you need to make clobber first for this entry to work right.
|
||||
|
||||
|
||||
Reference in new issue
Block a user