Add preview of 1984-2019

The 2020 winners are hinted it, but the source code is not there,
nor are the hints. Someone could look into the HTML and
see what was commented out, but that is not a problem because
WHO won is known and the name of their AWARD is known already.
Moreover a number of the winners have talked about what their
entirs do, so the commented out spoiler text is not a bit problem.

One will find HTML commented out with:

    <!-- XXX remove when 2020 is ready
    2020 links here
    XXX remove when 2020 is ready -->

The "XXX remove when 2020 is ready" string is found at the
start and end comment blocks.  Again, soneone could read
what was commented out, but that is OK since most of that
information is known or can be known.  The following files
have such HTML comment blocks in them.

    ./winners.html
    ./years-spoiler.html
    ./years.html

In addition, ./all/summary.txt was modified to not
include the 2020 entries for the momemt.

The 2020 winner code AND write-ups are NOT part of this set.

p.s. The all/all.tar.bz2 does not contain the 2020 source code (yet?).
This commit is contained in:
Landon Curt Noll committed 2020-12-30 16:57:03 -08:00
1 parent 28efc67f5d
commit c0663537cb
1683 files changed
+220064

No files matched your search

BIN
View File
Binary file not shown.
+72
View File
@@ -0,0 +1,72 @@
#!/usr/bin/env make
#
# Orwellian 1984 makefile
#
# This work by Landon Curt Noll, Simon Cooper, and Leonid A. Broukhis
# is licensed under:
#
# Creative Commons Attribution-ShareAlike 3.0 Unported License.
#
# See: http://creativecommons.org/licenses/by-sa/3.0/
################
# tool locations
################
#
SHELL= /bin/bash
CP= cp
CPP= cpp
GUNZIP= gunzip
LD= ld
MAKE= make
RM= rm
SED= sed
TAR= tar
TRUE= true
# ANSI compiler
#
# Set CC to the name of your ANSI compiler.
#
CC= cc
###############
# IOCCC winners
###############
#
WINNERS= anonymous laman decot mullender
###################
# build all entries
###################
#
all:
@for i in ${WINNERS} ; do \
echo "(cd $$i && $(MAKE) $@)"; \
(cd $$i && $(MAKE) $@); \
done
###############
# utility rules
###############
#
clean:
@for i in ${WINNERS} ; do \
echo "(cd $$i && $(MAKE) $@)"; \
(cd $$i && $(MAKE) $@); \
done
clobber:
@for i in ${WINNERS} ; do \
echo "(cd $$i && $(MAKE) $@)"; \
(cd $$i && $(MAKE) $@); \
done
install:
@for i in ${WINNERS} ; do \
echo "(cd $$i && $(MAKE) $@)"; \
(cd $$i && $(MAKE) $@); \
done
+12
View File
@@ -0,0 +1,12 @@
In 1984, the first contest was held. The name of the contest was simply
``Obfuscated C Code Contest''.
Restrictions against machine dependent code were not in the rules in 1984.
The source file size restriction was only 512 bytes. Rules and results
were posted to net.lang.c and net.unix-wizards.
Copyright (c) 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.
+26
View File
@@ -0,0 +1,26 @@
# %W% %G% %U%
#
# 1984 makefile
#
# Copyright (c) 1984, Landon Curt Noll.
# All Rights Reserved. Permission for personal, educational 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
# from Landon Curt Noll and Larry Bassel.
SHELL= /bin/sh
WINNERS= anonymous
all: ${WINNERS}
anonymous: anonymous.c
cc $? -o $@
clean:
rm -f core
clobber: clean
rm -f ${WINNERS}
install: all
@echo are you kidding'??'
+2
View File
@@ -0,0 +1,2 @@
int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\
o, world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j,i/i);}
+18
View File
@@ -0,0 +1,18 @@
<h1>Dishonorable mention</h1>
<p>Anonymous</p>
<h2>Judges' comments:</h2>
<p>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.</p>
<p>This program is a unique variation on the age old &ldquo;Hello, world&rdquo;
program. What reads like a read may be written like a write!</p>
<p>Copyright &copy; 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.</p>
+18
View File
@@ -0,0 +1,18 @@
# Dishonorable mention
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!
Copyright (c) 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.
+26
View File
@@ -0,0 +1,26 @@
# %W% %G% %U%
#
# 1984 makefile
#
# Copyright (c) 1984, Landon Curt Noll.
# All Rights Reserved. Permission for personal, educational 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
# from Landon Curt Noll and Larry Bassel.
SHELL= /bin/sh
WINNERS= decot
all: ${WINNERS}
decot: decot.c
cc $? -o $@ -lm
clean:
rm -f core
clobber: clean
rm -f ${WINNERS}
install: all
@echo are you kidding'??'
+32
View File
@@ -0,0 +1,32 @@
#define x =
#define double(a,b) int
#define char k['a']
#define union static struct
extern int floor;
double (x1, y1) b,
char x {sizeof(
double(%s,%D)(*)())
,};
struct tag{int x0,*xO;}
*main(i, dup, signal) {
{
for(signal=0;*k *x * __FILE__ *i;) do {
(printf(&*"'\",x); /*\n\\", (*((double(tag,u)(*)())&floor))(i)));
goto _0;
_O: while (!(char <<x - dup)) { /*/*\*/
union tag u x{4};
}
}
while(b x 3, i); {
char x b,i;
_0:if(b&&k+
sin(signal) / * ((main) (b)-> xO));/*}
;
}
*/}}}
+30
View File
@@ -0,0 +1,30 @@
<h1>Second place award</h1>
<p>Dave Decot</p>
<h2>Compile with:</h2>
<pre><code>cc decot.c -o decot -lm
</code></pre>
<h2>Judges' comments:</h2>
<p>Some new compilers disliked line 15 of the source, so we changed it from:</p>
<pre><code>for(signal=0;*k * x * __FILE__ *i;) do {
</code></pre>
<p>to:</p>
<pre><code>for(signal=0;*k *x * __FILE__ *i;) do {
</code></pre>
<p>This program prints out a string of garbage.</p>
<p>The judges also offer this one comment: understand comments!</p>
<p>Copyright &copy; 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.</p>
+27
View File
@@ -0,0 +1,27 @@
# Second place award
Dave Decot
## Compile with:
cc decot.c -o decot -lm
## Judges' comments:
Some new compilers disliked line 15 of the source, so we changed it from:
for(signal=0;*k * x * __FILE__ *i;) do {
to:
for(signal=0;*k *x * __FILE__ *i;) do {
This program prints out a string of garbage.
The judges also offer this one comment: understand comments!
Copyright (c) 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.
+26
View File
@@ -0,0 +1,26 @@
# %W% %G% %U%
#
# 1984 makefile
#
# Copyright (c) 1984, Landon Curt Noll.
# All Rights Reserved. Permission for personal, educational 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
# from Landon Curt Noll and Larry Bassel.
SHELL= /bin/sh
WINNERS= laman
all: ${WINNERS}
laman: laman.c
cc $? -o $@
clean:
rm -f core
clobber: clean
rm -f ${WINNERS}
install: all
@echo are you kidding'??'
+34
View File
@@ -0,0 +1,34 @@
<h1>Third place</h1>
<p>Mike Laman</p>
<h2>Judges' comments:</h2>
<p>Some new compilers dislike lines 6 and 10 of the source, so we changed
them from:</p>
<pre><code>;++f)a[ b&lt;&lt;5|c] =d++,b+ =e;for( f=0;f&lt;O
&lt;&lt;5|c]^ =a[b&lt;&lt;5 |c]^=a[ (k-(b+1 ))&lt;&lt;5|c]
</code></pre>
<p>to:</p>
<pre><code>;++f)a[ b&lt;&lt;5|c] =d++,b+= e;for( f=0;f&lt;O
&lt;&lt;5|c]^= a[b&lt;&lt;5 |c]^=a[ (k-(b+1 ))&lt;&lt;5|c]
</code></pre>
<p>I hope you have the C beautifier! The program accepts ONE positive
argument. Seeing is believing, so try things like:</p>
<pre><code>laman 4
laman 9
laman 16
</code></pre>
<p>This code should run you in circles.</p>
<p>Copyright &copy; 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.</p>
+31
View File
@@ -0,0 +1,31 @@
# Third place
Mike Laman
## Judges' comments:
Some new compilers dislike lines 6 and 10 of the source, so we changed
them from:
;++f)a[ b<<5|c] =d++,b+ =e;for( f=0;f<O
<<5|c]^ =a[b<<5 |c]^=a[ (k-(b+1 ))<<5|c]
to:
;++f)a[ b<<5|c] =d++,b+= e;for( f=0;f<O
<<5|c]^= a[b<<5 |c]^=a[ (k-(b+1 ))<<5|c]
I hope you have the C beautifier! The program accepts ONE positive
argument. Seeing is believing, so try things like:
laman 4
laman 9
laman 16
This code should run you in circles.
Copyright (c) 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.
+12
View File
@@ -0,0 +1,12 @@
a[900]; b;c;d=1 ;e=1;f; g;h;O; main(k,
l)char* *l;{g= atoi(* ++l); for(k=
0;k*k< g;b=k ++>>1) ;for(h= 0;h*h<=
g;++h); --h;c=( (h+=g>h *(h+1)) -1)>>1;
while(d <=g){ ++O;for (f=0;f< O&&d<=g
;++f)a[ b<<5|c] =d++,b+= e;for( f=0;f<O
&&d<=g; ++f)a[b <<5|c]= d++,c+= e;e= -e
;}for(c =0;c<h; ++c){ for(b=0 ;b<k;++
b){if(b <k/2)a[ b<<5|c] ^=a[(k -(b+1))
<<5|c]^= a[b<<5 |c]^=a[ (k-(b+1 ))<<5|c]
;printf( a[b<<5|c ]?"%-4d" :" " ,a[b<<5
|c]);} putchar( '\n');}} /*Mike Laman*/
+26
View File
@@ -0,0 +1,26 @@
# %W% %G% %U%
#
# 1984 makefile
#
# Copyright (c) 1984, Landon Curt Noll.
# All Rights Reserved. Permission for personal, educational 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
# from Landon Curt Noll and Larry Bassel.
SHELL= /bin/sh
WINNERS= mullender
all: ${WINNERS}
mullender: mullender.c
cc $? -o $@
clean:
rm -f core
clobber: clean
rm -f ${WINNERS}
install: all
@echo are you kidding'??'
+37
View File
@@ -0,0 +1,37 @@
<h1>The Grand Prize</h1>
<p>Sjoerd Mullender</p>
<p>Robbert van Renesse</p>
<h2>Judges' comments:</h2>
<p>Without question, this C program is the most obfuscated C program that
has ever been received! Like all great contest entries, they result
in a change of rules for the following year. To prevent a flood of
similar programs, we requested that programs be non machine specific.</p>
<p>This program was selected for the 1987 t-shirt collection.</p>
<blockquote><p>NOTE: If your machine is not a Vax-11 or pdp-11, this program will
not execute correctly. In later years, machine dependent
code was discouraged.</p></blockquote>
<p>The C startup routine (via crt0.o) transfers control to a location
named main. In this case, main just happens to be in the data area.
The array of shorts, which has been further obfuscated by use of
different data types, just happens to form a meaningful set of PDP-11
and Vax instructions. The first word is a PDP-11 branch instruction
that branches to the rest of the PDP code. On the Vax main is called with
the calls instruction which uses the first word of the subroutine as a
mask of registers to be saved. So on the Vax the first word can be anything.
The real Vax code starts with the second word. This small program
makes direct calls to the write() Unix system call to produce a
message on the screen. Can you guess what is printed? We knew you
couldn&rsquo;t! :-)</p>
<p>Copyright &copy; 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.</p>
+37
View File
@@ -0,0 +1,37 @@
# The Grand Prize
Sjoerd Mullender
Robbert van Renesse
## Judges' comments:
Without question, this C program is the most obfuscated C program that
has ever been received! Like all great contest entries, they result
in a change of rules for the following year. To prevent a flood of
similar programs, we requested that programs be non machine specific.
This program was selected for the 1987 t-shirt collection.
> NOTE: If your machine is not a Vax-11 or pdp-11, this program will
> not execute correctly. In later years, machine dependent
> code was discouraged.
The C startup routine (via crt0.o) transfers control to a location
named main. In this case, main just happens to be in the data area.
The array of shorts, which has been further obfuscated by use of
different data types, just happens to form a meaningful set of PDP-11
and Vax instructions. The first word is a PDP-11 branch instruction
that branches to the rest of the PDP code. On the Vax main is called with
the calls instruction which uses the first word of the subroutine as a
mask of registers to be saved. So on the Vax the first word can be anything.
The real Vax code starts with the second word. This small program
makes direct calls to the write() Unix system call to produce a
message on the screen. Can you guess what is printed? We knew you
couldn't! :-)
Copyright (c) 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.
+10
View File
@@ -0,0 +1,10 @@
short main[] = {
277, 04735, -4129, 25, 0, 477, 1019, 0xbef, 0, 12800,
-113, 21119, 0x52d7, -1006, -7151, 0, 0x4bc, 020004,
14880, 10541, 2056, 04010, 4548, 3044, -6716, 0x9,
4407, 6, 5568, 1, -30460, 0, 0x9, 5570, 512, -30419,
0x7e82, 0760, 6, 0, 4, 02400, 15, 0, 4, 1280, 4, 0,
4, 0, 0, 0, 0x8, 0, 4, 0, ',', 0, 12, 0, 4, 0, '#',
0, 020, 0, 4, 0, 30, 0, 026, 0, 0x6176, 120, 25712,
'p', 072163, 'r', 29303, 29801, 'e'
};
+44
View File
@@ -0,0 +1,44 @@
Copyright (c) 1984, Landon Curt Noll.
All Rights Reserved. Permission for personal, educational 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 both Landon Curt Noll and Larry Bassel.
I'm sure you have all seen gross, or down right structurally obscene C
source code before. Some people who deal with various parts of the
UN*X source wonder if some folks try rather hard to produce such
down right smelly code.
Now you have the chance to compete with the worst C hackers around
by sending in your own obfuscated C program. Just follow the contest
rules below:
1) the source file must be no more than 512 bytes long
2) mail your source to: hplabs!nsc!chongo
no later than April 11, 1984. entries posted to
the net will NOT be accepted. please give your
letter the subject of: obfuscated C code contest.
3) winning entries will be posted to net.lang.c after
April 12, 1894. (thats the prize folks)
4) indicate your net address in the text of your
entry, this will be used to give credit unless
you indicate that you want to remain anonymous.
5) entries must be of original work. (dont send anything
that might upset Big Brother Bell) all entries are
public domain. (who would want to own them anyway?!)
Entries will be judged for: violations of structured programming, non-clarity,
and use of "by the K&R book" C. (use of local mods to C are not encouraged)
extra credit if they can be compiled using the 4.2BSD C compiler on our VAX 780,
but dont let the lack of a 780 or 4.2 discourage you!
chongo <flames about the contest will be kindly #ifdef'ed out> /\CC/\
UN*X is a trademark of Usenet Hackers Anonymous
WARNING: The rules and mailing address for the contest change from year
to year. Be sure that you consult the current set of rules
before submitting entries.