From 15787fbdd38932ffc879aa1b8297e5b141a9d113 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Fri, 14 Apr 2023 06:19:50 -0700 Subject: [PATCH] Update 1988 winning entries' README.md files Format and typo fixes. --- 1988/dale/README.md | 24 ++++++++++------- 1988/isaak/README.md | 33 ++++++++++++++++------- 1988/litmaath/README.md | 38 +++++++++++++++++---------- 1988/phillipps/README.md | 24 ++++++++++------- 1988/reddy/README.md | 27 ++++++++++++------- 1988/robison/README.md | 54 ++++++++++++++++++++++--------------- 1988/spinellis/README.md | 57 ++++++++++++++++++++++------------------ 7 files changed, 159 insertions(+), 98 deletions(-) diff --git a/1988/dale/README.md b/1988/dale/README.md index 2031a5a16..6bf4f0222 100644 --- a/1988/dale/README.md +++ b/1988/dale/README.md @@ -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. diff --git a/1988/isaak/README.md b/1988/isaak/README.md index 44978b4f7..e5f5c1a92 100644 --- a/1988/isaak/README.md +++ b/1988/isaak/README.md @@ -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 ` 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. diff --git a/1988/litmaath/README.md b/1988/litmaath/README.md index d8ec7aba6..18f04cf50 100644 --- a/1988/litmaath/README.md +++ b/1988/litmaath/README.md @@ -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 () - ; - +```c +while () + ; +``` 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. diff --git a/1988/phillipps/README.md b/1988/phillipps/README.md index 82de57d19..f8eca64ad 100644 --- a/1988/phillipps/README.md +++ b/1988/phillipps/README.md @@ -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. diff --git a/1988/reddy/README.md b/1988/reddy/README.md index 64bf1ead6..f7beabb92 100644 --- a/1988/reddy/README.md +++ b/1988/reddy/README.md @@ -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. diff --git a/1988/robison/README.md b/1988/robison/README.md index 49600c6a2..8b23b5f9b 100644 --- a/1988/robison/README.md +++ b/1988/robison/README.md @@ -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. diff --git a/1988/spinellis/README.md b/1988/spinellis/README.md index 4b9be63bf..18b93c7e4 100644 --- a/1988/spinellis/README.md +++ b/1988/spinellis/README.md @@ -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 - main() - { - puts("Hello world\n"); - } - ^D - ./spinellis +```sh +make clobber alt +#include +main() +{ + puts("Hello world\n"); +} +^D +./spinellis +``` NOTE: you need to make clobber first for this entry to work right.