15 files changed
+286
-410
No files matched your search
@@ -1,7 +1,7 @@
|
|||||||
anonymous
|
anonymous
|
||||||
anonymous.ten
|
anonymous.ten
|
||||||
|
anonymous.ten.32
|
||||||
ten.bak.od
|
ten.bak.od
|
||||||
ten.bak.txt
|
ten.bak.txt
|
||||||
ten.od
|
ten.od
|
||||||
ten.txt
|
ten.txt
|
||||||
anonymous_tmp
|
|
||||||
@@ -117,9 +117,9 @@ PROG= ${ENTRY}
|
|||||||
#
|
#
|
||||||
OBJ= ${PROG}.o
|
OBJ= ${PROG}.o
|
||||||
DATA=
|
DATA=
|
||||||
TARGET= ${PROG} ${PROG}.ten
|
TARGET= ${PROG} cpp ${PROG}.ten
|
||||||
#
|
#
|
||||||
ALT_OBJ=
|
ALT_OBJ=
|
||||||
ALT_TARGET=
|
ALT_TARGET=
|
||||||
|
|
||||||
|
|
||||||
@@ -139,8 +139,7 @@ ${PROG}: ${PROG}.c
|
|||||||
X='-DA(X)=#X'; \
|
X='-DA(X)=#X'; \
|
||||||
warning='-Dprocessor'; \
|
warning='-Dprocessor'; \
|
||||||
$$magic $$warning -Dmagic= $$X "-DX=A($$magic \"$$X\")" \
|
$$magic $$warning -Dmagic= $$X "-DX=A($$magic \"$$X\")" \
|
||||||
$< -o $@_tmp ${LIBS}
|
$< -o $@ ${LIBS}
|
||||||
${CP} -af anonymous.sh $@
|
|
||||||
|
|
||||||
|
|
||||||
${PROG}.ten: ${PROG}.ten.c
|
${PROG}.ten: ${PROG}.ten.c
|
||||||
@@ -157,6 +156,7 @@ ${PROG}.ten: ${PROG}.ten.c
|
|||||||
@echo
|
@echo
|
||||||
${CC} ${CFLAGS} -m32 $< -o $@ ${LIBS}
|
${CC} ${CFLAGS} -m32 $< -o $@ ${LIBS}
|
||||||
|
|
||||||
|
|
||||||
# alternative executable
|
# alternative executable
|
||||||
#
|
#
|
||||||
alt: data ${ALT_TARGET}
|
alt: data ${ALT_TARGET}
|
||||||
|
|||||||
+30
-14
@@ -16,10 +16,11 @@ make
|
|||||||
```
|
```
|
||||||
|
|
||||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed both the
|
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed both the
|
||||||
supplementary program and the program itself, both of which segfaulted. He
|
supplementary program and the program itself (both of which segfaulted and once
|
||||||
managed to do this with linux but it will not work with macOS (see
|
that was fixed only the binary was modified; it was not run but according to the
|
||||||
[bugs.md](/bugs.md) for why this is); this is not a bug but a feature inherent
|
author's remarks it should be executed). He managed to do this with linux
|
||||||
in what it does.
|
but it will not work with macOS (see [bugs.md](/bugs.md) for why this is); this
|
||||||
|
is not a bug but a feature inherent in what it does.
|
||||||
|
|
||||||
Although it took a fair bit of debugging it turns out all that
|
Although it took a fair bit of debugging it turns out all that
|
||||||
needed to be changed was:
|
needed to be changed was:
|
||||||
@@ -30,13 +31,20 @@ prevented `main()` from entering an infinite loop.
|
|||||||
|
|
||||||
Without either of these it would crash and prevent modification of the 32-bit
|
Without either of these it would crash and prevent modification of the 32-bit
|
||||||
[ELF](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) (not elf :-)
|
[ELF](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format) (not elf :-)
|
||||||
) binary. The following change was also made to be more portable, in case the
|
) binary. But again see [bugs.md](/bugs.md) here. The following change was also
|
||||||
constants `PROT_READ` and/or `PROT_WRITE` are not standardised:
|
made to be more portable, in case the constants `PROT_READ` and/or `PROT_WRITE`
|
||||||
|
are not standardised:
|
||||||
|
|
||||||
Change `3` in the call to `mmap()` to be `PROT_READ|PROT_WRITE`: just in case
|
Change `3` in the call to `mmap()` to be `PROT_READ|PROT_WRITE`: just in case
|
||||||
`PROT_READ|PROT_WRITE` does not equal 3 (though it seems to be equal in both
|
`PROT_READ|PROT_WRITE` does not equal 3 (though it seems to be equal in both
|
||||||
macOS and linux).
|
macOS and linux).
|
||||||
|
|
||||||
|
There was one other thing that had to be done though. Since the program used to
|
||||||
|
recursively call (infinite recursion, seemingly) `main()` and since that cannot
|
||||||
|
be done what had to be done is first call `munmap()` and `close()` (else one
|
||||||
|
would get text file busy error) and then run `execv()` again like the function
|
||||||
|
`pain()` (was in `main()`) did but with a slight change.
|
||||||
|
|
||||||
NOTE: there might be educational value to see the progress of this fix; if you
|
NOTE: there might be educational value to see the progress of this fix; if you
|
||||||
wish to see, try:
|
wish to see, try:
|
||||||
|
|
||||||
@@ -45,24 +53,32 @@ git diff d2a42f42e8f477f29e9d5ed09ce2bb349eaf7397..93aa8d79f208dcccc3c5a2370a727
|
|||||||
git diff 93aa8d79f208dcccc3c5a2370a727b5cf64e9c53..c48629017117379a52b1a512ef8f2593ca9569c8 anonymous.c
|
git diff 93aa8d79f208dcccc3c5a2370a727b5cf64e9c53..c48629017117379a52b1a512ef8f2593ca9569c8 anonymous.c
|
||||||
git diff c48629017117379a52b1a512ef8f2593ca9569c8..efdee208a2bc650256637b9357ddfd0de82d2f41 anonymous.c
|
git diff c48629017117379a52b1a512ef8f2593ca9569c8..efdee208a2bc650256637b9357ddfd0de82d2f41 anonymous.c
|
||||||
git diff efdee208a2bc650256637b9357ddfd0de82d2f41..e9a3f77ea3b209e63ac3f9c06bb84ad86e5ea706 anonymous.c
|
git diff efdee208a2bc650256637b9357ddfd0de82d2f41..e9a3f77ea3b209e63ac3f9c06bb84ad86e5ea706 anonymous.c
|
||||||
|
git diff d2a42f42e8f477f29e9d5ed09ce2bb349eaf7397..2159caec4677e0f25ad704a74e04c8196fd6c343 anonymous.c
|
||||||
```
|
```
|
||||||
|
|
||||||
There's an another important point in [bugs.md](/bugs.md) about this entry,
|
|
||||||
however, in that we're not sure if the entry was supposed to run the program or
|
|
||||||
not as there is some inconsistency in the author's comments which we think might
|
|
||||||
have been intentional.
|
|
||||||
|
|
||||||
Thank you Cody for your assistance!
|
Thank you Cody for your assistance!
|
||||||
|
|
||||||
|
### INABIAF - it's not a bug it's a feature! :-)
|
||||||
|
|
||||||
|
If you do not specify a 32-bit binary as the arg of this program it will very
|
||||||
|
likely crash or do something terribly wrong like slaughtering all the elves of
|
||||||
|
Imladris! :-) so please don't do that :-(
|
||||||
|
|
||||||
|
If the program cannot be run (for instance under macOS as it's an ELF file) then
|
||||||
|
the program will touch the file but it won't run it; it'll silently fail to
|
||||||
|
execute it.
|
||||||
|
|
||||||
### WARNING on note from the author
|
### WARNING on note from the author
|
||||||
|
|
||||||
The author suggested that this will somewhat destroy the binaries this touches
|
The author suggested that this will somewhat destroy the binaries this touches
|
||||||
but Cody did not observe this. It does indeed modify the files as the script
|
but Cody did not observe this. It does indeed modify the files as the script
|
||||||
below will show you (though not all files are modified: can you figure out why
|
below will show you (though not all files are modified: can you figure out why
|
||||||
that is?) but Cody did not notice any problems in using them. Perhaps it's
|
that is?) but Cody did not notice any problems in using them. Perhaps it's
|
||||||
something he's not aware of. If you follow the try commands below you will
|
something he's not aware of possibly including the fact that the modification
|
||||||
notice that although the binaries do differ it's not many differences. See the
|
might or might not be complete. If you follow the try commands below you will
|
||||||
author's warning about this.
|
notice that although the binaries do differ it's not many differences and the
|
||||||
|
output of the supplementary program both before and after is the same. See the
|
||||||
|
author's warning about this in their remarks.
|
||||||
|
|
||||||
### INABIAF - it's not a bug it's a feature! :-)
|
### INABIAF - it's not a bug it's a feature! :-)
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#define l int*
|
#define l int*
|
||||||
#define F char
|
#define F char
|
||||||
struct stat t;
|
struct stat t;
|
||||||
|
off_t N;
|
||||||
#define c return
|
#define c return
|
||||||
#define I (P+=4,*L(P-4,0))
|
#define I (P+=4,*L(P-4,0))
|
||||||
#define G (signed F)E(*L(P++,0))
|
#define G (signed F)E(*L(P++,0))
|
||||||
@@ -30,6 +31,7 @@ l an(d, sl){ c \
|
|||||||
r=V(014 )&63,an##i(d,sl); }
|
r=V(014 )&63,an##i(d,sl); }
|
||||||
#define add(Ev,Gv) Ev(){ i=((a-=16)+C(r,4))/4,(\
|
#define add(Ev,Gv) Ev(){ i=((a-=16)+C(r,4))/4,(\
|
||||||
Gv?Ev() :0) ; } Ev##n(){ a=C(r,5),Ev(); }
|
Gv?Ev() :0) ; } Ev##n(){ a=C(r,5),Ev(); }
|
||||||
|
l f;
|
||||||
Tr(L,r, C(r,3)&&C(r,3)<=d?(l)(((int)B)+d+C(r,4)-C(r,3)):(((int)B)^d)>>24&&--\
|
Tr(L,r, C(r,3)&&C(r,3)<=d?(l)(((int)B)+d+C(r,4)-C(r,3)):(((int)B)^d)>>24&&--\
|
||||||
r,(l)d) Tr(Run,a,(ss=strcmp((F*)B+C((V(12)>>16),4)+C(--r,0),A(.strtab))?ss:(F\
|
r,(l)d) Tr(Run,a,(ss=strcmp((F*)B+C((V(12)>>16),4)+C(--r,0),A(.strtab))?ss:(F\
|
||||||
*)B+C(r ,4),C(r,1)-2),0) add(Sca ,V(-~i)-P+2) add(ru,strcmp(ss+V(i),A(main)))
|
*)B+C(r ,4),C(r,1)-2),0) add(Sca ,V(-~i)-P+2) add(ru,strcmp(ss+V(i),A(main)))
|
||||||
@@ -39,9 +41,9 @@ c L(E(k [(l)V(17)]),0); } V(v){ c E(B[v]); }
|
|||||||
int
|
int
|
||||||
pain(char *ck, char **k)
|
pain(char *ck, char **k)
|
||||||
{
|
{
|
||||||
return (z?(stat(M,&t)?P+=a+'{'?0:3:execv(M,k),a=(signed char)E(*L(P++,0)),i=P,y=(signed char)E(*L(P++,0))&255,sprintf(Q,y/'@'-3?"*L(V(%d+%d)+%d,0)":"R[%d]",(y&7),'\r',y/0100-1?0:(signed char)E(*L(P++,0))),(a+127&&a+'}'&&a+1?(a+61&&a+24&&a+025?(P=a+'H'&&a%061<=0?P:i,d+=sprintf( d,a>0?" R[%d]=E(~-E(R[%d])),\0 U R[%d],\0 R[%d] O,\0 U %d,\0R[%d]=0,"+(a&'8')*3:a <- 'c'?" %d, %c%s = R[%d], \0 %d, *R=%c%s==R[%d], \0 R[%d]=(int)%c%s,"-a%'w'%'j'*5:"%d,%d,%s=%d,",a>0?a-'h'?a-49?a&7:(y/010&7):(P+=4,*L(P-4,0)):(y/010&7),a>0?a&7:"& "[a%3%2+1],a+72?Q:"*R",a>0|a<-99?(y/010&7):(P+=4,*L(P-4,0)),0 ),(char* ) P):(P=i,i=a+61?a+21?E((P+=4,*L(P-4,0))):(signed char)E(*L(P++,0)):0,d+=sprintf( d,a%' '+29+"P O,\0 U %d,P=%d,",P,P+i,0,0,0 ),(char* ) P,system((sprintf(d,"A'",k[1]),b)),z)):(n=(y/010&7)-4?(y/010&7)%5-1?a+127?(signed char)E(*L(P++,0)):(P+=4,*L(P-4,0)):0:(Scan(),*( (char*)index(ss+V(i ),0100)?(char*)index(ss+V(i ),0100) :d)=0,(int)(ss+V(i))),(y/010&7)%5<2?d+=sprintf( d,(y/010&7)%5?" %s=E(~-E(%s)), \0 U %s,"+4*(y/010&7):"%s=E(E(%s)%c%d),",Q,Q,"+ - "[(y/010&7)],n,0 ),(char* ) P:(a=(signed char)E(*L(P++,0))-'u'?'!':'=',d+=sprintf( d,(y/010&7)-4?"P=%d%c=%s?%d:%d,":"*R=E(((int(*)(l,l,l))%s)(K(1),K(2),K(3))),P O,",n,a,Q,P,P+(signed char)E(*L(P++,0)) ),(char* ) P,system((sprintf(d,"A'",k[1]),b)),z)))):(Run((z=(char*)&ck,stat(k[1],&t),B=(l)mmap(0,i=t.st_size,PROT_READ|PROT_WRITE,1,open(k[1],2),0))),(((B+13)[4]=E(B+i/4),run(),P=V(-~i),(B+13)[4]=E(V(17)-4),*(int*)V(021))),sprintf(M,".%s%d",k[1],P),d+=sprintf( d,"%s %s '-DX=A(%s)' -o %s '-Dmagic=","cpp -std=gnu99 -Wall -Wextra -pedantic -Winfinite-recursion -Wno-bitwise-conditional-parentheses -Wno-error -Wno-implicit-function-declaration -Wno-implicit-int -Wno-int-to-pointer-cast -Wno-macro-redefined -Wno-pedantic -Wno-pointer-to-int-cast -Wno-return-type -Wno-string-plus-int -Wno-bitwise-op-parentheses -Wno-format -Wno-format-extra-args -Wno-int-conversion -Wno-unused-parameter -Wno-unsequenced -E \"-DA(X)=#X\"","anonymous.c","cpp -std=gnu99 -Wall -Wextra -pedantic -Winfinite-recursion -Wno-bitwise-conditional-parentheses -Wno-error -Wno-implicit-function-declaration -Wno-implicit-int -Wno-int-to-pointer-cast -Wno-macro-redefined -Wno-pedantic -Wno-pointer-to-int-cast -Wno-return-type -Wno-string-plus-int -Wno-bitwise-op-parentheses -Wno-format -Wno-format-extra-args -Wno-int-conversion -Wno-unused-parameter -Wno-unsequenced -E \"-DA(X)=#X\"",M,fflush(0) ),(char* ) P));
|
return (z?(stat(M,&t)?P+=a+'{'?0:3:execv(M,k),a=(signed char)E(*L(P++,0)),i=P,y=(signed char)E(*L(P++,0))&255,sprintf(Q,y/'@'-3?"*L(V(%d+%d)+%d,0)":"R[%d]",(y&7),'\r',y/0100-1?0:(signed char)E(*L(P++,0))),(a+127&&a+'}'&&a+1?(a+61&&a+24&&a+025?(P=a+'H'&&a%061<=0?P:i,d+=sprintf( d,a>0?" R[%d]=E(~-E(R[%d])),\0 U R[%d],\0 R[%d] O,\0 U %d,\0R[%d]=0,"+(a&'8')*3:a <- 'c'?" %d, %c%s = R[%d], \0 %d, *R=%c%s==R[%d], \0 R[%d]=(int)%c%s,"-a%'w'%'j'*5:"%d,%d,%s=%d,",a>0?a-'h'?a-49?a&7:(y/010&7):(P+=4,*L(P-4,0)):(y/010&7),a>0?a&7:"& "[a%3%2+1],a+72?Q:"*R",a>0|a<-99?(y/010&7):(P+=4,*L(P-4,0)),0 ),(char* ) P):(P=i,i=a+61?a+21?E((P+=4,*L(P-4,0))):(signed char)E(*L(P++,0)):0,d+=sprintf( d,a%' '+29+"P O,\0 U %d,P=%d,",P,P+i,0,0,0 ),(char* ) P,system((sprintf(d,"A'",k[1]),b)),z)):(n=(y/010&7)-4?(y/010&7)%5-1?a+127?(signed char)E(*L(P++,0)):(P+=4,*L(P-4,0)):0:(Scan(),*( (char*)index(ss+V(i ),0100)?(char*)index(ss+V(i ),0100) :d)=0,(int)(ss+V(i))),(y/010&7)%5<2?d+=sprintf( d,(y/010&7)%5?" %s=E(~-E(%s)), \0 U %s,"+4*(y/010&7):"%s=E(E(%s)%c%d),",Q,Q,"+ - "[(y/010&7)],n,0 ),(char* ) P:(a=(signed char)E(*L(P++,0))-'u'?'!':'=',d+=sprintf( d,(y/010&7)-4?"P=%d%c=%s?%d:%d,":"*R=E(((int(*)(l,l,l))%s)(K(1),K(2),K(3))),P O,",n,a,Q,P,P+(signed char)E(*L(P++,0)) ),(char* ) P,system((sprintf(d,"A'",k[1]),b)),z)))):(Run((z=(char*)&ck,stat(k[1],&t),B=(l)mmap(0,N=i=t.st_size,PROT_READ|PROT_WRITE,1,f=open(k[1],2),0))),(((B+13)[4]=E(B+i/4),run(),P=V(-~i),(B+13)[4]=E(V(17)-4),*(int*)V(021))),sprintf(M,".%s%d",k[1],P),d+=sprintf( d,"%s %s '-DX=A(%s)' -o %s '-Dmagic=","cpp -std=gnu99 -Wall -Wextra -pedantic -Winfinite-recursion -Wno-bitwise-conditional-parentheses -Wno-error -Wno-implicit-function-declaration -Wno-implicit-int -Wno-int-to-pointer-cast -Wno-macro-redefined -Wno-pedantic -Wno-pointer-to-int-cast -Wno-return-type -Wno-string-plus-int -Wno-bitwise-op-parentheses -Wno-format -Wno-format-extra-args -Wno-int-conversion -Wno-unused-parameter -Wno-unsequenced -E \"-DA(X)=#X\"","anonymous.c","cpp -std=gnu99 -Wall -Wextra -pedantic -Winfinite-recursion -Wno-bitwise-conditional-parentheses -Wno-error -Wno-implicit-function-declaration -Wno-implicit-int -Wno-int-to-pointer-cast -Wno-macro-redefined -Wno-pedantic -Wno-pointer-to-int-cast -Wno-return-type -Wno-string-plus-int -Wno-bitwise-op-parentheses -Wno-format -Wno-format-extra-args -Wno-int-conversion -Wno-unused-parameter -Wno-unsequenced -E \"-DA(X)=#X\"",M,fflush(0) ),(char* ) P));
|
||||||
}
|
}
|
||||||
int
|
int
|
||||||
main (int cka, char **k) { char *ck = (char *)cka;
|
main (int cka, char **k) { char *ck = (char *)cka;
|
||||||
exit(E((ck?pain((char*)cka,k):system((sprintf(M,"rm -f .%s*",k[1]),M)),z,*(B+13))));
|
(E((ck?pain((char*)cka,k):system((sprintf(M,"rm -f .%s*",k[1]),M)),z,*(B+13))));munmap(B,N);close(f);execv(k[1],k);
|
||||||
}
|
}
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if [[ "$#" -lt 1 ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
make >/dev/null 2>&1
|
|
||||||
|
|
||||||
if [[ -f "$1" ]]; then
|
|
||||||
./anonymous_tmp "$1"
|
|
||||||
./"$1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
+14
-14
@@ -2,25 +2,25 @@
|
|||||||
|
|
||||||
make clobber all >/dev/null 2>&1
|
make clobber all >/dev/null 2>&1
|
||||||
|
|
||||||
if [[ -f "anonymous.ten" ]]; then
|
|
||||||
|
|
||||||
make anonymous 2>/dev/null
|
TARGET="anonymous.ten"
|
||||||
echo "$ cp anonymous.ten anonymous.ten.bak" 1>&2
|
if [[ -f "$TARGET" ]]; then
|
||||||
cp anonymous.ten anonymous.ten.bak
|
echo "$ cp $TARGET anonymous.ten.bak" 1>&2
|
||||||
echo "$ ./anonymous anonymous.ten" 1>&2
|
cp "$TARGET" anonymous.ten.bak
|
||||||
./anonymous anonymous.ten
|
echo "$ ./anonymous $TARGET" 1>&2
|
||||||
echo "$ ./anonymous.ten" 1>&2
|
./anonymous "$TARGET"
|
||||||
./anonymous.ten
|
echo "$ ./$TARGET" 1>&2
|
||||||
echo "$ diff -s anonymous.ten anonymous.ten.bak" 1>&2
|
./"$TARGET"
|
||||||
diff -s anonymous.ten anonymous.ten.bak
|
echo "$ diff -s $TARGET anonymous.ten.bak" 1>&2
|
||||||
echo "$ od -t x1 anonymous.ten > ten.od" 1>&2
|
diff -s "$TARGET" anonymous.ten.bak
|
||||||
od -t x1 anonymous.ten > ten.od
|
echo "$ od -t x1 $TARGET > ten.od" 1>&2
|
||||||
|
od -t x1 "$TARGET" > ten.od
|
||||||
echo "$ od -t x1 anonymous.ten.bak > ten.bak.od" 1>&2
|
echo "$ od -t x1 anonymous.ten.bak > ten.bak.od" 1>&2
|
||||||
od -t x1 anonymous.ten.bak > ten.bak.od
|
od -t x1 anonymous.ten.bak > ten.bak.od
|
||||||
echo "$ diff ten.bak.od ten.od" 1>&2
|
echo "$ diff ten.bak.od ten.od" 1>&2
|
||||||
diff ten.bak.od ten.od
|
diff ten.bak.od ten.od
|
||||||
echo "$ ./anonymous.ten > ten.txt" 1>&2
|
echo "$ ./$TARGET > ten.txt" 1>&2
|
||||||
./anonymous.ten > ten.txt
|
./"$TARGET" > ten.txt
|
||||||
echo "$ ./anonymous.ten.bak > ten.bak.txt" 1>&2
|
echo "$ ./anonymous.ten.bak > ten.bak.txt" 1>&2
|
||||||
./anonymous.ten.bak > ten.bak.txt
|
./anonymous.ten.bak > ten.bak.txt
|
||||||
echo "$ diff -s ten.txt ten.bak.txt" 1>&2
|
echo "$ diff -s ten.txt ten.bak.txt" 1>&2
|
||||||
|
|||||||
@@ -3,3 +3,6 @@ sh
|
|||||||
vi
|
vi
|
||||||
gavin.o
|
gavin.o
|
||||||
fs/
|
fs/
|
||||||
|
img/README.md
|
||||||
|
img/gavin.c
|
||||||
|
img/prim
|
||||||
@@ -66,7 +66,11 @@ Press and hold any key.
|
|||||||
|
|
||||||
[Yusuke Endoh](/winners.html#Yusuke_Endoh) provided the `kernel` and `fs.tar`
|
[Yusuke Endoh](/winners.html#Yusuke_Endoh) provided the `kernel` and `fs.tar`
|
||||||
files which can be used if you cannot normally use this entry. Instead of
|
files which can be used if you cannot normally use this entry. Instead of
|
||||||
generating the files just use the files provided.
|
generating the files just use the files provided, found under the [img/](img/)
|
||||||
|
directory. Note that the `img/fs.tar` extracts into `fs/` so you will have to
|
||||||
|
fix the tarball; this is done to prevent extraction from the entry directory
|
||||||
|
overwriting the files and preventing `make clobber` from wiping some of them
|
||||||
|
out.
|
||||||
|
|
||||||
Thank you Yusuke!
|
Thank you Yusuke!
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
File renamed without changes.
@@ -1103,35 +1103,32 @@ fire](https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing))! :-) ).
|
|||||||
# 2001
|
# 2001
|
||||||
|
|
||||||
## [2001/anonymous](2001/anonymous/anonymous.c) ([README.md](2001/anonymous/README.md))
|
## [2001/anonymous](2001/anonymous/anonymous.c) ([README.md](2001/anonymous/README.md))
|
||||||
## STATUS: might not be completely functional - can you confirm?
|
|
||||||
|
|
||||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed a segfault in
|
|
||||||
both the entry and the supplementary program (both segfaulted) and it appears to
|
|
||||||
work in that it does do what the author suggests. However there is an
|
|
||||||
inconsistency in remarks about whether it should _execute_ the program it's run
|
|
||||||
on after modification or if it should _only modify_ it. With Cody's fix it
|
|
||||||
modifies the program, only works on 32-bit ELF binaries (by design) and the
|
|
||||||
binary still works but we do not know if it's supposed _additionally_ run it.
|
|
||||||
Can you confirm? Please let us know!
|
|
||||||
|
|
||||||
|
|
||||||
## STATUS: INABIAF - please **DO NOT** fix
|
## STATUS: INABIAF - please **DO NOT** fix
|
||||||
|
|
||||||
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this so that it
|
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this so that it
|
||||||
works (it segfaulted - but see above) in modern systems but he notes that the
|
doesn't segfault and then also fixed the functionality of it (but see below).
|
||||||
program [anonymous.ten.c](2001/anonymous/anonymous.ten.c) **MUST** be compiled
|
|
||||||
as a 32-bit ELF binary! This is because the program only works on 32-bit ELF
|
|
||||||
binaries. If you cannot use `-m32` on the files it acts on the program **will**
|
|
||||||
almost certainly crash but in no case will it work properly.
|
|
||||||
|
|
||||||
This means that for macOS it will not work. Why will this not work in macOS?
|
Cody also fixed the [anonymous.ten.c](2001/anonymous/anonymous.ten.c) program
|
||||||
Because Apple saw to it to make it very hard to compile 32-bit binaries (thanks
|
(it also segfaulted) but notes that it **MUST** be compiled as a **32-bit ELF
|
||||||
Apple for ruining some IOCCC entries! :-) :-( ). This appears to be even harder
|
binary** so it will NOT work in macOS (for example); if you cannot use `-m32` or
|
||||||
with the Apple silicon chip. Thus this entry will not work with macOS unless you
|
even if you can but it cannot compile as an ELF binary (not elf binary :-) )
|
||||||
have an older, out of date version.
|
(but see below) then the `anonymous` program itself will very likely crash if
|
||||||
|
you run it on the compiled [anonymous.ten.c](2001/anonymous/anonymous.ten.c) but
|
||||||
|
if nothing else it will not modify the target executable (this part of the fix
|
||||||
|
at least should be correct).
|
||||||
|
|
||||||
|
The file `2001/anonymous/anonymous.ten.32` is a pre-compiled
|
||||||
|
[2001/anonymous.ten.c](2001/anonymous.ten.c) as a 32-bit ELF binary in case you
|
||||||
|
can run ELF binaries but cannot compile 32-bit binaries.
|
||||||
|
|
||||||
Other BSD Unices were not tested.
|
Other BSD Unices were not tested.
|
||||||
|
|
||||||
|
## STATUS: INABIAF - please **DO NOT** fix
|
||||||
|
|
||||||
|
Note also that if you don't specify a file or you specify a non-32-bit ELF file
|
||||||
|
this program will very likely crash or do something strange like slaughter the
|
||||||
|
elves of Imladris :-(
|
||||||
|
|
||||||
## [2001/bellard](2001/bellard/bellard.c) ([README.md](2001/bellard/README.md))
|
## [2001/bellard](2001/bellard/bellard.c) ([README.md](2001/bellard/README.md))
|
||||||
## STATUS: doesn't work with some platforms - please help us fix
|
## STATUS: doesn't work with some platforms - please help us fix
|
||||||
|
|
||||||
|
|||||||
+193
-4
@@ -1,7 +1,196 @@
|
|||||||
Brian_Westley,1987_westley,1988_westley,1989_westley,1990_westley,1991 westley,1992_westley,1994_westley,1996_westley,2001_westley,
|
Aaron_Grothe,2006_grothe,2012_grothe,
|
||||||
Cody_Boone_Ferguson,2018_ferguson,2020_ferguson1,2020_ferguson2,
|
Adar_Zeitak,2012_zeitak,
|
||||||
|
Adrian_Cable,2013_cable1,2013_cable2,2013_cable3,
|
||||||
|
Adrian_Mariano,1990_theorem,1992_adrian,
|
||||||
|
Aidan_Thornton,2005_aidan,
|
||||||
|
Alan_De_Smet,1998_chaos,
|
||||||
|
Albert_van_der_Horst,1992_albert,
|
||||||
|
Alex_Deckmyn,2012_deckmyn,
|
||||||
|
Alexander_Prishchepov,2014_birken,
|
||||||
|
Anders_Gavare,2004_gavare,
|
||||||
|
Andrea_Marangoni,1992_marangon,
|
||||||
|
Andreas_Gustafsson,1992_gson,
|
||||||
|
Andrew_Shapiro,1994_shapiro,
|
||||||
|
Andy_Sloane,2006_sloane,
|
||||||
|
Anonymous_1984,1984_anonymous,
|
||||||
|
Anonymous_2001,2001_anonymous,
|
||||||
|
Anonymous_2004,2004_anonymous,
|
||||||
|
Anonymous_2005,2005_anon,
|
||||||
|
Anonymous_2015,2015_endoh1,
|
||||||
|
Anthony_C._Howe,1991_ant,1992_ant,1993_ant,2004_hibachi,2005_mynx,2015_howe,
|
||||||
|
Anton_Älgmyr,2018_algmyr,
|
||||||
|
Arch_D_Robison,1988_robison,1989_robison,2000_robison,2013_robison,
|
||||||
|
Arne_Heizmann,2005_timwi,
|
||||||
|
Baruch_Nissenbaum,1990_baruch,
|
||||||
|
Bas_de_Bakker,1998_bas1,1998_bas2,
|
||||||
|
Ben_Lynn,2019_lynn,
|
||||||
|
Bernd_Meyer,2000_bmeyer,
|
||||||
|
Brent_Burley,2004_burley,
|
||||||
|
Brian_Westley,1987_westley,1988_westley,1989_westley,1990_westley,1991_westley,1992_westley,1994_westley,1996_westley,2001_westley,
|
||||||
|
Bruce_Holloway,1986_holloway,
|
||||||
|
Byron_Rakitzis,1990_tbr,
|
||||||
|
Carl_Banks,1998_banks,
|
||||||
|
Carl_Shapiro,1985_shapiro,
|
||||||
|
Carlos_Duarte,1995_cdua,
|
||||||
|
Cel_Skeggs,2014_skeggs,
|
||||||
|
Chris_King,2001_ctk,
|
||||||
|
Christian_Dupont,1991_cdupont,
|
||||||
|
Christopher_Mills,1990_cmills,1993_cmills,2013_mills,2015_mills1,2015_mills2,2018_mills,2019_mills,2006_night,
|
||||||
|
Cody_Ferguson,2018_ferguson,2020_ferguson1,2020_ferguson2,
|
||||||
|
Col._G._L._Sicherman,1985_sicherman,
|
||||||
|
Craig_Schneiderwent,2000_schneiderwent,
|
||||||
|
Daniel_Fischer,1998_df,
|
||||||
|
Daniel_J._Bernstein,1991_brnstnd,
|
||||||
|
Daniel_Vik,2004_vik1,2004_vik2,2005_vik,2011_vik,2012_vik,2014_vik,
|
||||||
|
Dave_Burton,2015_burton,2018_burton1,2018_burton2,2019_burton,2020_burton,
|
||||||
|
Dave_Decot,1984_decot,
|
||||||
|
David_Applegate,1991_davidguy,
|
||||||
|
David_Gibson,1993_dgibson,
|
||||||
|
David_Goodenough,1990_dg,
|
||||||
David_Korn,1987_korn,
|
David_Korn,1987_korn,
|
||||||
Don_Yang,2015_yang,2018_yang,2019_yang,2020_yang,
|
David_Madore,2012_grothe,
|
||||||
|
David_Van_Brackle,1989_vanb,1993_vanb,1995_vanschnitz,
|
||||||
|
Dean_Swift,1996_gandalf,
|
||||||
|
Derek_Anderson,2018_anderson,
|
||||||
|
Diomidis_Spinellis,1988_spinellis,1990_dds,1991_dds,1995_spinellis,
|
||||||
|
Dominik_Muth,2015_muth,
|
||||||
|
Don_Dodson,1994_dodsond1,1994_dodsond2,1995_dodsond1,1995_dodsond2,
|
||||||
|
Don_Yang,2000_dhyang,2004_omoikane,2011_akari,2012_omoikane,2013_misaka,2014_sinon,2015_yang,2018_yang,2019_yang,2020_yang,
|
||||||
|
Doron_Osovlanski,1990_baruch,
|
||||||
|
Doug_Beardsley,2001_dgbeards,
|
||||||
|
E._Jay_Berkenbilt,1993_ejb,
|
||||||
|
Ed_Luke,1992_lush,
|
||||||
|
Ed_Lycklama,1985_lycklama,
|
||||||
|
Edward_Giles,2018_giles,2019_giles,2020_giles,
|
||||||
|
Edward_Rosten,2001_rosten,
|
||||||
|
Eric_Marshall,1986_marshall,
|
||||||
|
Eryk_Kopczynski,2004_kopczynski,
|
||||||
|
Esko_Nuutila,1989_jar.2,
|
||||||
|
Etienne_Duble,2015_duble,2019_duble,
|
||||||
|
Fabrice_Bellard,2000_bellard,2001_bellard,2018_bellard,
|
||||||
|
Ferenc_Deak,2014_deak,
|
||||||
|
Francois_Boutines,2005_boutines,
|
||||||
|
Frans van Dorsselaer,1998_dorssel,
|
||||||
|
Freek_Wiedijk,2014_wiedijk,
|
||||||
|
Garry_Glendown,1995_garry,
|
||||||
|
Gavin_Barraclough,2004_gavin,
|
||||||
|
Gavin_Buttimore,2000_thadgavin,
|
||||||
|
Gil_Dogon,2005_giljade,2015_dogon,2019_dogon,
|
||||||
|
Glyn_Anderson,2000_anderson,
|
||||||
|
Gopi_Reddy,1988_reddy,
|
||||||
|
Gregor_Richards,2011_richards,
|
||||||
|
Heather_Downs,1995_heathbar,1995_makarios,
|
||||||
|
Ian_Collier,1992_imc,1994_imc,
|
||||||
|
Ian_Phillipps,1988_phillipps,
|
||||||
|
Ilya_Kurdyukov,2020_kurdyukov1,2020_kurdyukov2,2020_kurdyukov3,2020_kurdyukov4,
|
||||||
|
Immanuel_Herrmann,2001_herrmann1,2001_herrmann2,
|
||||||
|
J_David_Lowe,1998_dlowe,1998_dloweneil,2000_dlowe,2011_dlowe,2012_dlowe,2013_dlowe,
|
||||||
Jack_Applin,1985_applin,1986_applin,1988_applin,
|
Jack_Applin,1985_applin,1986_applin,1988_applin,
|
||||||
|
James_A._Woods,1990_jaw,
|
||||||
|
James_Bonfield,1991_rince,1993_rince,2000_rince,
|
||||||
|
Jan_Stein,1986_stein,
|
||||||
|
Jari_Arkko,1989_jar.1,1989_jar.2,2000_jarijyrki,
|
||||||
|
Jason_Orendorff,2001_jason,
|
||||||
|
Jay_Vosburgh,1989_fubar,
|
||||||
|
Jeff_Newbern,2004_newbern,
|
||||||
|
Jeff_Weisberg,1994_weisberg,
|
||||||
|
Jens_Schweikhardt,1996_schweikh1,1996_schweikh2,1996_schweikh3,1998_schweikh1,1998_schweikh2,1998_schweikh3,2001_schweikh,2015_schweikhardt,
|
||||||
|
Jetro_Lauha,2005_jetro,
|
||||||
|
Jim_Hague,1986_hague,
|
||||||
|
John_Dalbec,1996_dalbec,2004_jdalbec,
|
||||||
|
John_Tromp,1989_tromp,2012_tromp,
|
||||||
|
John_Williams,2001_williams,
|
||||||
|
Jon_Thingvold,1993_jonth,1996_jonth,
|
||||||
|
Jonathan_Hoyle,2004_hoyle,
|
||||||
|
Joshua_Karns,2019_karns,
|
||||||
|
Jyrki_Holopainen,1993_lmfjyh,2000_jarijyrki,
|
||||||
|
Karl_F._Fox,1990_jaw,
|
||||||
|
Ken_Huffman,1996_huffman,
|
||||||
|
Kevin_Pulo,2001_kev,
|
||||||
|
Kimmo_Fredriksson,2011_fredriksson,
|
||||||
|
Larry_Jones,1990_scjones,
|
||||||
|
Larry_Wall,1986_wall,1987_wall,
|
||||||
|
Laurion_Burchall,1994_ldb,
|
||||||
|
Lennart_Augustsson,1985_august,1986_august,1996_august,
|
||||||
|
Leonid_A._Broukhis,1993_leo,._Broukhis,1995_leo,
|
||||||
|
Lord_Zarbon,2000_briddlebane,
|
||||||
|
Maarten_Litmaath,1988_litmaath,
|
||||||
|
Marcin_Ciura,2018_ciura,2019_ciura,
|
||||||
|
Mark_Biggar,1987_biggar,
|
||||||
|
Mary_Ann_Horton,1994_horton,
|
||||||
|
Mark_Isaak,1988_isaak,
|
||||||
|
Mark_Plummer,1993_plummer,
|
||||||
|
Mark_Schnitzius,1993_schnitzi,1994_schnitzi,1995_schnitzi,1995_vanschnitz,1998_schnitzi,2004_schnitzi,
|
||||||
Matt_Zucker,2011_zucker,
|
Matt_Zucker,2011_zucker,
|
||||||
Ondrej_Adamovsky,2019_adamovsky,
|
Maurizio_Monge,2006_monge,
|
||||||
|
Mauro_Persano,2005_persano,
|
||||||
|
Michael_Ash,2005_mikeash,
|
||||||
|
Michael_Birken,2006_birken,2013_birken,2014_birken,
|
||||||
|
Michael_H._Pawka,1986_pawka,
|
||||||
|
Michael_Savastio,1995_savastio,
|
||||||
|
Mike_Laman,1984_laman,
|
||||||
|
Moxen_N._Briddlebane,2000_briddlebane,
|
||||||
|
NATORI_Shin,2000_natori,
|
||||||
|
Nathan_Otterness,2020_otterness,
|
||||||
|
Nathan_Sidwell,1992_nathan,
|
||||||
|
Neil_Mix,1998_dloweneil,
|
||||||
|
Nicholas_Carlini,2020_carlini,
|
||||||
|
Nick_Johnson,2004_arachnid,
|
||||||
|
Nicolas_Ollinger,2001_ollinger,
|
||||||
|
Ondřej_Adamovský,2019_adamovsky,
|
||||||
|
Ora_Lassila,1989_jar.2,
|
||||||
|
Oscar_Toledo_G.,2005_toledo,.,2006_toledo1,.,2006_toledo2,.,2006_toledo3,.,2011_toledo,
|
||||||
|
Oskar_von_der_Luehe,1989_ovdluhe,
|
||||||
|
Paul_Dale,1988_dale,
|
||||||
|
Paul_E._Black,1989_paul,
|
||||||
|
Paul_Eggert,1990_jaw,
|
||||||
|
Paul_Heckbert,1987_heckbert,
|
||||||
|
Peter_Eastman,2011_eastman,
|
||||||
|
Peter_J_Ruczynski,1990_pjr,
|
||||||
|
Peter_Klausler,2005_klausler,
|
||||||
|
Philip_Blakely,2011_blakely,2012_blakely,
|
||||||
|
Pierre-Philippe_Coupard,2001_coupard,
|
||||||
|
Qiming_HOU,2011_hou,2012_hou,2013_hou,2015_hou,2018_hou,
|
||||||
|
Raphael_Meyer,2006_meyer,
|
||||||
|
Raymond_Cheong,2000_primenum,2001_cheong,
|
||||||
|
Robbert_van_Renesse,1984_mullender,
|
||||||
|
Robert_Heckendorn,1985_applin,
|
||||||
|
Roemer_B._Lievaart,1987_lievaart,._Lievaart,1989_roemer,
|
||||||
|
Ron_McFarland,1996_rcm,
|
||||||
|
Sandro_Maffiodo,2014_maffiodo1,2014_maffiodo2,
|
||||||
|
Scott_Vokes,2018_vokes,
|
||||||
|
Sean_Barrett,1991_buzzard,1992_buzzard.1,1992_buzzard.2,
|
||||||
|
Sean_Dorward,1990_tbr,
|
||||||
|
Sebastian_Deorowicz,1995_esde,
|
||||||
|
Selene_Makarios,1995_heathbar,1995_makarios,
|
||||||
|
Seonghoon_Kang,2012_kang,
|
||||||
|
Shinichiro_Hamaji,2011_hamaji,
|
||||||
|
Sjoerd_Mullender,1984_mullender,
|
||||||
|
Spencer_Hines,1987_hines,
|
||||||
|
Steinar_Hamre,2006_hamre,
|
||||||
|
Stephen_Sykes,2004_sds,2005_sykes,2006_sykes1,2006_sykes2,
|
||||||
|
Stig_Hemmer,1990_stig,
|
||||||
|
Szabolcs_Borsanyi,2006_borsanyi,2011_borsanyi,
|
||||||
|
Szymon_Rusinkiewicz,1994_smr,
|
||||||
|
Taketo_Konno,2011_konno,2012_konno,
|
||||||
|
Teemu_Rantanen,1994_tvr,
|
||||||
|
Tero_Kivinen,1992_kivinen,
|
||||||
|
Thaddaeus_Frogley,2000_thadgavin,
|
||||||
|
Thomas_A._Fine,1991_fine,
|
||||||
|
Thomas_P_John,2000_tomx,
|
||||||
|
Thomas_Stewart,2006_stewart,
|
||||||
|
Thor_Eldby,1996_eldby,
|
||||||
|
Timo_Poikola,2018_poikola,2019_poikola,
|
||||||
|
Tom Torfs,1998_tomtorfs,
|
||||||
|
Tony_Finch,1998_fanf,
|
||||||
|
Tsukasa_Hamano,2012_hamano,
|
||||||
|
Uri_Goren,2011_goren,
|
||||||
|
V._Chia,2005_chia,
|
||||||
|
Vern_Paxson,1992_vern,
|
||||||
|
Vincent_Weaver,2005_vince,
|
||||||
|
Volker_Diels-Grabsch,2019_diels-grabsch1,2019_diels-grabsch2,
|
||||||
|
Walter_Bright,1986_bright,
|
||||||
|
Yusuke_Endoh,2012_endoh1,2012_endoh2,2013_endoh1,2013_endoh2,2013_endoh3,2013_endoh4,2014_endoh1,2014_endoh2,2015_endoh1,2015_endoh2,2015_endoh3,2015_endoh4,2018_endoh1,2018_endoh2,2019_endoh,2020_endoh1,2020_endoh2,2020_endoh3,
|
||||||
|
Yves-Marie_Morgan,2013_morgan1,2013_morgan2,2014_morgan,
|
||||||
|
_tsoj,2020_tsoj,
|
||||||
|
bsoup,2011_hamaji,
|
||||||
|
@@ -1,330 +0,0 @@
|
|||||||
CREATE TABLE prizes (
|
|
||||||
prize_tag TEXT,
|
|
||||||
year INT,
|
|
||||||
dorder INT,
|
|
||||||
prize_name TEXT,
|
|
||||||
location TEXT,
|
|
||||||
spoiler TEXT,
|
|
||||||
judges_comments TEXT
|
|
||||||
);
|
|
||||||
INSERT INTO prizes VALUES('2000_anderson',2000,1,'Best Use of Flags','2000/anderson.c','ASCII to semaphore code convertor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1984_anonymous',1984,2,'Dishonorable mention','1984/anonymous.c','prints hello world, where read is write',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_anonymous',2004,3,'Best use of "Precious" Lines','2004/anonymous.c','Rendering of a stroked font',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_davidguy',1991,4,'Best X11 Graphics','1991/davidguy.c','plays life on a root window, doesn''t need Xlib or include files',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_applin',1986,5,'Most adaptable program','1986/applin/applin.c','hello world works under cc, /bin/sh, and f77',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_applin',1988,6,'Best of show','1988/applin.c','massive #define stuff, includes itself; prints table of primes',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_jar.1',1989,7,'Strangest abuse of the rules','1989/jar.1.c','char*_="Hello world.\n";',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1985_august',1985,8,'Most obscure program','1985/august/august.c','cpp obfuscated, compressed, main-recursive primes in binary',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_august',1986,9,'Best complex task done in a complex way','1986/august/august.c','struct-heavy e-computation, memory allocation with sbrk',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_august',1996,10,'Best of Show','1996/august.c','Subset of C compiler and byte code interpreter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_banks',1998,11,'Best of Show','1998/banks.c','A flight simulator!',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_anonymous',2001,12,'Dishonorable mention','2001/anonymous.c','optimizing dynamic binary translator, x86 progs on any host',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_gavin',2004,13,'Best of Show','2004/gavin.c','Mini-OS',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_buzzard',1991,14,'Best Output','1991/buzzard.c','walk thru a maze from a first person point of view',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_buzzard.1',1992,15,'Most Obfuscated Algorithm','1992/buzzard.1.c','print factorial, gcd or prime test using a Babbage-like engine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_buzzard.2',1992,16,'Best Language Tool','1992/buzzard.2.c','forth-like stack machine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_dgbeards',2001,17,'Best AI','2001/dgbeards.c','Plays suicide chess',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_bellard',2000,18,'Most Specific Output','2000/bellard.c','Prints M6972593 (2^6972593-1) by Modular Fast Fourier Transform',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_bellard',2001,19,'Best abuse of the rules','2001/bellard.c','A C subset programming system for x86',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_ejb',1993,20,'Best Obfuscated Algorithm','1993/ejb.c','tower of Hanoi and patience pizzle',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_brnstnd',1991,21,'Best Of Show','1991/brnstnd.c','sorta stack language',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1987_biggar',1987,22,'Best Abuse of the Rules','1987/biggar/biggar.c','program: "P;" defined on command line',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_paul',1989,23,'Most complex algorithm','1989/paul.c','print fibonacci base 2 by simulating turing machine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_rince',1991,24,'Best Game','1991/rince.c','game with sprites, boulders, dimonds, and keys',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_rince',1993,25,'Most Well Rounded','1993/rince.c','game state machine language, comes with a number of games',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_rince',2000,26,'Astronomically Obfuscated','2000/rince.c','Plots the positions of the four Galilean moons of Jupiter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_bright',1986,27,'Most useful obfuscation','1986/bright/bright.c','hex dump, cpp compressed, uses lost of << for constants',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_leo',1993,28,'Best Game','1993/leo.c','game of mastermind (cows & bulls)',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_leo',1995,29,'Best Use of Obfuscation','1995/leo.c','Output interesting patterns and cycles in PostScript',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_ldb',1994,30,'Best One-liner','1994/ldb.c','print a random line from stdin',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_burley',2004,31,'Best Calculated Risk','2004/burley.c','A Poker game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_primenum',2000,32,'Best Abuse of CPP','2000/primenum.c','Source with English words that looks like a prime tester',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_cheong',2001,33,'Best short program','2001/cheong.c','Computes arbitrary-precision square root',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_imc',1992,34,'Best Output','1992/imc.c','Mandelbrot/Julia drawer',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_imc',1994,35,'Most Obfuscated Algorithm','1994/imc.c','print a random n by n magic square',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_coupard',2001,36,'Most obfuscated sound','2001/coupard.c','Outputs current time as a sound file',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_dalbec',1996,37,'Best Numerical Obfuscation','1996/dalbec.c','Generator of strong probable-primes to a given base',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_jdalbec',2004,38,'Best Abuse of the Periodic Table','2004/jdalbec.c','Conway''s look''n''say sequence split into elements',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_dale',1988,39,'Best abuse of system calls','1988/dale.c','prints command line, using lots of system calls',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_bas1',1998,40,'Best Encapsulation','1998/bas1.c','Outputs a gziped 3D beam maze in Postscript',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_bas2',1998,41,'Best Small Program','1998/bas2.c','determines the size of stdin under IOCCC sizing rules',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_chaos',1998,42,'Best Object Orientation','1998/chaos.c','Rotates and zooms an object using ASCII graphics',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1984_decot',1984,43,'Second place','1984/decot.c','prints garbage, weird cpp defines (keywords for others)',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_esde',1995,44,'Interesting Algorithm','1995/esde.c','Searches for words in a file which have the same Soundex code',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_dodsond1',1994,45,'Best Game','1994/dodsond1.c','plays a game of othello',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_dodsond2',1994,46,'Most Obfuscated Packaging','1994/dodsond2.c','Hunt the Wumpus (gziped source)',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_dodsond1',1995,47,'Most Humorous','1995/dodsond1.c','Text to "Pig Latin" translator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_dodsond2',1995,48,'Best Game','1995/dodsond2.c','Interactive 3D Maze',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_heathbar',1995,49,'Best Layout','1995/heathbar.c','16 bit addition the easy/hard way',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_cdua',1995,50,'Best Output','1995/cdua.c','Generate a maze on the scren and then solve it',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_cdupont',1991,51,'Most Useful Label','1991/cdupont.c','prints a message without vowels',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_eldby',1996,52,'Best Output','1996/eldby.c','Flying 3D spheres in an ASCII display',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_fanf',1998,53,'Most Obfuscated Translator','1998/fanf.c','Translates Lambda expressions into combinator expressions',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_fine',1991,54,'Best One Liner','1991/fine.c','rot13s lines of input',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_df',1998,55,'Best Data Hiding','1998/df.c','A word guessing game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_thadgavin',2000,56,'Most Portable Output','2000/thadgavin.c','Prints a dazzeling moving image under multiple interfaces',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_gavare',2004,57,'Best use of Light and Spheres','2004/gavare.c','A ray tracer',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_dgibson',1993,58,'Best Abuse of the C Preprocessor','1993/dgibson.c','plays the game of like using cpp',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_garry',1995,59,'Best Utility','1995/garry.c','Environment-expansion and binary output via escaped env vars',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_dg',1990,60,'Best Abuse of the C Preprocessor','1990/dg.c','rot13 done with strange cpp macros',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_gson',1992,61,'Most Humorous Output','1992/gson.c','anagram generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_hague',1986,62,'Worst abuse of the C preprocessor','1986/hague/hague.c','morse code filter written with ''DIT DAH _DIT DIT_DAH''',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1987_heckbert',1987,63,'Best Obfuscator of Programs','1987/heckbert/heckbert.c','obfuscated fold program',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1985_applin',1985,64,'Best one liner','1985/applin/applin.c','one-liner to print hello world, with execlp',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_stig',1990,65,'Strangest Abuse of the Rules','1990/stig.c','nested-comment tester (all on command line)',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_herrmann1',2001,66,'Best abuse of the C preprocessor','2001/herrmann1.c','A Turing machine using preprocessor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_herrmann2',2001,67,'Most eye-crossing','2001/herrmann2.c','A SIRDS/3D generator, the source is SIRDS/3D itself',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1987_hines',1987,68,'Worst Style','1987/hines/hines.c','counts goto''s, all ids anagrams of ''goto'', all flow w goto',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_holloway',1986,69,'Best simple task performed in a complex way','1986/holloway/holloway.c','prints hello world! via a recursive main',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_lmfjyh',1993,70,'Most Versatile Source','1993/lmfjyh.c','source is the filename, prints value of __FILE__',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_jarijyrki',2000,71,'Best of show','2000/jarijyrki.c','An X-based spreadsheet program with graphing features!',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_horton',1994,72,'Best Utility','1994/horton.c','Plot cubic equations on a tty',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_ant',1991,73,'Best Utility','1991/ant.c','compressed vi-like editor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_ant',1992,74,'Best Utility','1992/ant.c','make utility',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_ant',1993,75,'Best Utility','1993/ant.c','egrep utility with Posix-like documentation',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_hibachi',2004,76,'Best Abuse of the Guidelines','2004/hibachi.tar.gz','A CGI capable HTTP server',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_hoyle',2004,77,'Most Functional Output','2004/hoyle.c','Curses based polynomial graphing with auto-scale',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_huffman',1996,78,'Best Obfuscated Character Set Utility','1996/huffman.c','Braille to ASCII and vice versa',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_isaak',1988,79,'Best visuals','1988/isaak.c','table driven table of the elements; cpp, self-inclusion',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_tomx',2000,80,'Most Complete Program','2000/tomx.c','C source, shell program and Makefile',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_arachnid',2004,81,'Best use of Vision','2004/arachnid.c','Curses maze displayer/navigator with only line-of-sight visibility',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_scjones',1990,82,'ANSI Committee''s Worst Abuse of C','1990/scjones.c','trigraph-abusing self-reproducing program',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_ctk',2001,83,'Worst Driver','2001/ctk.c','A driver game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_kivinen',1992,84,'Best X Program','1992/kivinen.c','X11 space invaders, dropout and knockout games',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_kopczynski',2004,85,'Best One-Liner','2004/kopczynski.c','OCR of 8, 9, 10 and 11',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1987_korn',1987,86,'Best One Liner','1987/korn/korn.c','one-liner that prints a message on a Un*x system',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1984_laman',1984,87,'Third place','1984/laman.c','prints spiralling numbers, laid out in columns',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1987_lievaart',1987,88,'Grand Prize','1987/lievaart/lievaart.c','very good othello player',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_roemer',1989,89,'Best layout','1989/roemer.c','prints e, script-pi shaped layout, _31415 identifiers',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_litmaath',1988,90,'Best small program','1988/litmaath.c','sorts each arg using only argc, argv, and ''while(<cond>);''',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_dlowe',1998,91,'Best Utility','1998/dlowe.c','Pootifies stdin (useful to view Microsoft html files)',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_dlowe',2000,92,'Worst Abuse of the Rules','2000/dlowe.c','A dc-style calculator that uses embedded Perl',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_lush',1992,93,'Worst Abuse of the C Preprocessor','1992/lush.c','prints "Hello, World" using error messages',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1985_lycklama',1985,94,'Strangest appearing program','1985/lycklama/lycklama.c','heavily cpped with o_oo identifiers, scrolls text right',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_makarios',1995,95,'Best Short Program','1995/makarios.c','Emits the base 8 representation of prime palindromic in base 8',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_marangon',1992,96,'Best Game','1992/marangon.c','game to balance a grid of digits to all 5''s',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_theorem',1990,97,'Best of Show','1990/theorem.c','numerically solves the equation y''=f(x,y)',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_adrian',1992,98,'Most Educational','1992/adrian.c','grep-like utility using a state machine transition language',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_marshall',1986,99,'Best layout','1986/marshall/marshall.c','train engine-shaped program prints "choo choo"',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_rcm',1996,100,'Best RFC Obfuscation','1996/rcm.c','Gunzip equivalent',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_bmeyer',2000,101,'Best Utility','2000/bmeyer.c','An image compressor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_cmills',1990,102,'Best Game','1990/cmills.c','squished blackjack game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_cmills',1993,103,'"Bill Gates" Award','1993/cmills.c','X11 program that shatters and bounces windows',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_dloweneil',1998,104,'Most Fun','1998/dloweneil.c','A very addictive ASCII poot game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_newbern',2004,105,'Best Font Engine','2004/newbern.c','Renders arbitary bitmapped fonts',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_jar.2',1989,106,'Best of show','1989/jar.2.c','lisp interpreter, compressed',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_ollinger',2001,107,'Best Of Show','2001/ollinger.c','Prints primes with a sieve graph',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_jason',2001,108,'Best Of Show','2001/jason.c','An Adventure-like game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_baruch',1990,109,'Best Small Program','1990/baruch.c','short prog to solve N-queens problem',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_pawka',1986,110,'Most illegible code','1986/pawka/pawka.c','prints ''obfuscated?'' big, uses xyyyx idents...',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_vern',1992,111,'Best of Show','1992/vern.c','plays chess',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_phillipps',1988,112,'Least likely to compile successfully','1988/phillipps.c','''first day of christmas'', tables, heavily main() calling',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_plummer',1993,113,'Best One Liner','1993/plummer.c','prints numbers up to a given value',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_kev',2001,114,'Best Curses Game','2001/kev.c','A Pong game across network',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_tbr',1990,115,'Best Utility','1990/tbr.c','simple compressed shell, silly layout',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_tvr',1994,116,'Best X11 Program','1994/tvr.c','interactive fractals for the X Window System',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_reddy',1988,117,'Most useful Obfuscated C program','1988/reddy.c','prints name of ''char *(*(foo[16])();'', compressed',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_robison',1988,118,'Best abuse of C constructs','1988/robison.c','print e in any base, uses only --, >=, and while()',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_robison',1989,119,'Best minimal use of C','1989/robison.c','apl-expression interpreter (binary), written in C--',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_robison',2000,120,'Best game','2000/robison.c','Highly Compressed Program for Playing Hygienic Checkers',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_rosten',2001,121,'Best abuse of the user','2001/rosten.c','Makes X mouse pointer have inertia or anti-inertia',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_pjr',1990,122,'Most Unusual Data Structure','1990/pjr.c','the quick brown fox... cppd, structs of functions',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_smr',1994,123,'Worst Abuse of the Rules','1994/smr.c','world''s smallest self reproducing program',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_savastio',1995,124,'Most Obfuscated Syntax','1995/savastio.c','Infinite-precision factorial calculator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_schneiderwent',2000,125,'Most Timely Output','2000/schneiderwent.c','Prints the aproximate time in words',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_schnitzi',1993,126,'Obfuscated Intelligence Award','1993/schnitzi.c','answers questions about English text in a file',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_schnitzi',1994,127,'Best Layout','1994/schnitzi.c','flips stdin along a diagonal (source mirrored along diagonal)',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_schnitzi',1995,128,'Best One Liner','1995/schnitzi.c','Find divisors: where a core dump is a feature, not a bug',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_schnitzi',1998,129,'Best Flow Control','1998/schnitzi.c','Prints a C program that sorts arguments using strange functions',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_schnitzi',2004,130,'Best Non-Use of Curses','2004/schnitzi.c','Editor animation',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_schweikh1',1996,131,'Worst Abuse of the C Preprocessor','1996/schweikh1.c','Calculates Easter dates from 1582 to 2199 AD',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_schweikh2',1996,132,'Best Algorithm','1996/schweikh2.c','Search for a limited class of expressions that equal a constant',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_schweikh3',1996,133,'Best Utility','1996/schweikh3.c','Determins the memory allocation honesty of the OS',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_schweikh1',1998,134,'CPP Abuse','1998/schweikh1.c','Tests to see if your compiler and headers are standard',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_schweikh2',1998,135,'Most Erratic Behavior','1998/schweikh2.c','Prints random 0''s and 1''s; causes some gcc''s as passes to choke',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_schweikh3',1998,136,'Most Space Efficient','1998/schweikh3.c','Finds duplicate files that waste disk space',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_schweikh',2001,137,'Best one-liner','2001/schweikh.c','Shell glob matcher',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_shapiro',1994,138,'Most Well Rounded Obfuscation','1994/shapiro.c','print time of day on an tty',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1985_shapiro',1985,139,'Grand prize for most well-rounded in confusion','1985/shapiro/shapiro.c','two defines, one 7-liner, results in a maze',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_natori',2000,140,'Best Small Program','2000/natori.c','Phase of the moon',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1985_sicherman',1985,141,'Worst abuse of the C preprocessor','1985/sicherman/sicherman.c','rot13 with strange #defs that create comment headers etc.',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_nathan',1992,142,'Worst Abuse of the Rules','1992/nathan.c','obfuscation by (trivial) encryption (source not exported)',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_spinellis',1988,143,'Best abuse of the rules','1988/spinellis.c','#include "/dev/tty"',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_dds',1990,144,'Best Language Tool','1990/dds.c','basic interpreter, heavily compressed',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_dds',1991,145,'Most Well Rounded','1991/dds.c','basic compiler, heavily compressed',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_spinellis',1995,146,'Abusing The Rules','1995/spinellis.c','Abusing the rules',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_stein',1986,147,'Best one liner','1986/stein/stein.c','prints HHMMSS in UTC time',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_gandalf',1996,148,'Best Layout','1996/gandalf.c','Displays the ASCII and 8 bit character tables',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_sds',2004,149,'Best Abuse of Indentation','2004/sds.c','Space/tab/linefeed steganography',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_jonth',1993,150,'Most Obfuscated X Program','1993/jonth.c','game of Tetris',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_jonth',1996,151,'Best X11 Entry','1996/jonth.c','X based dual player tic-tac-toe game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_tomtorfs',1998,152,'Best Self-Documenting','1998/tomtorfs.c','CRC generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_tromp',1989,153,'Best game','1989/tromp.c','squished tetris',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_vanb',1989,154,'Best one liner','1989/vanb.c','one-liner prints all subsets of arguments',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1993_vanb',1993,155,'Most Irregular Expression','1993/vanb.c','calculator that prints in octal',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1995_vanschnitz',1995,156,'Worst Abuse of the C Preprocessor/Most Likely to Amaze','1995/vanschnitz.c','Towers of Hanoi via the C pre-processor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_albert',1992,157,'Most Useful Program','1992/albert.c','factors multi-precision numbers with factors < MAX_LONG',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1998_dorssel',1998,158,'Obsolescent Feature','1998/dorssel.c','ASCII / Morse code translator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1984_mullender',1984,159,'Grand Prize','1984/mullender.c','hardcoded vax and pdp-11 code to move :-) across the screen',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_vik1',2004,160,'Best X11 Game','2004/vik1.c','X Windows car racing game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_vik2',2004,161,'Best Abuse of CPP','2004/vik2.c','Calculates prime numbers using only CPP',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_ovdluhe',1989,162,'Most humorous output','1989/ovdluhe.c','monkey-typer following template, ''APE'' identifiers',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_fubar',1989,163,'Best self-modifying program','1989/fubar.c','self-reconstructing, recompiling factorial program',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1986_wall',1986,164,'Grand prize in most well-rounded in confusion','1986/wall/wall.c','dvorak keyboard emulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1987_wall',1987,165,'Most Useful Obfuscation','1987/wall/wall.c','roman numeral -> decimal and vice versa conversion',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_weisberg',1994,166,'Best Short Program','1994/weisberg.c','prints prime numbers',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1987_westley',1987,167,'Best Layout','1987/westley/westley.c','individually palindromic lines prints a palindrome',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1988_westley',1988,168,'Best layout','1988/westley.c','prints ''3.141'', circle made of ''_-_-_-_'' in layout',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1989_westley',1989,169,'Most algorithms in one program','1989/westley.c','reversible, rot13able program that reverses and/or rot13s.',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_westley',1990,170,'Best Layout','1990/westley.c','poetic exchange between lovers, prints "luvs me, luvs not"',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1991_westley',1991,171,'Grand Prize','1991/westley.c','plays tic-tac-toe, compile output for next move, prints board',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1992_westley',1992,172,'Best Small Program','1992/westley.c','print ASCII world map and mark a location by lat/long',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1994_westley',1994,173,'Worst Abuse of the C Preprocessor','1994/westley.c','Adventure/Dungeon like game played via the C pre-processor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1996_westley',1996,174,'Best One Liner','1996/westley.c','Shows the time on clock with a configurable face and style',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_westley',2001,175,'Best position-independent code','2001/westley.c','Sorts/scrambles, outputs as text/punch-cards',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2001_williams',2001,176,'Best Graphic Game','2001/williams.c','Plays X-based missile command',NULL);
|
|
||||||
INSERT INTO prizes VALUES('1990_jaw',1990,177,'Best Entropy-reducer','1990/jaw.c','compress & atob standins',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_dhyang',2000,178,'Best Layout','2000/dhyang.c','Saitou Hajime image that prints a prog that prints a prog ...',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2004_omoikane',2004,179,'Best Utility','2004/omoikane.c','A CRC inserter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2000_briddlebane',2000,180,'Best Abuse of User','2000/briddlebane.c','Verbally abuses the user',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_aidan',2005,181,'Most ingenious puzzle solution','2005/aidan/aidan.c','Sudoku solver',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_anon',2005,182,'Best 3D puzzle','2005/anon/anon.c','Multi-dimensional sliding tile puzzle generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_boutines',2005,183,'Most superfluous output','2005/boutines/boutines.c','Voronoi diagram generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_chia',2005,184,'Most ambiguous language','2005/chia/chia.c','Java parody',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_giljade',2005,185,'Best 2D puzzle','2005/giljade/giljade.c','2D sliding tile puzzle solver',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_jetro',2005,186,'Most sonorous output','2005/jetro/jetro.c','Audio synthesizer',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_klausler',2005,187,'Abuse of the rules','2005/klausler/klausler.c','Anagram generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_mikeash',2005,188,'Best use of parenthesis','2005/mikeash/mikeash.c','Self-printing Common Lisp interpreter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_mynx',2005,189,'Best use of the WWW','2005/mynx/mynx.c','Web browser',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_persano',2005,190,'Best of Show','2005/persano/persano.c','Generates animated knots',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_sykes',2005,191,'Best Emulator','2005/sykes/sykes.c','Commodore PET emulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_timwi',2005,192,'Most discourteous interpreter','2005/timwi/timwi.c','A BF lanaguage interpreter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_toledo',2005,193,'Best Game','2005/toledo/toledo.c','Play chess',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_vik',2005,194,'Most circuitous walk','2005/vik/vik.c','Wolfenstein style graphics engine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2005_vince',2005,195,'Most beauteous visuals','2005/vince/vince.c','Rotating GL Cube demo',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_birken',2006,196,'EDAMAME Award','2006/birken/birken.c','Circuit Simulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_borsanyi',2006,197,'Most Useful','2006/borsanyi/borsanyi.c','Email address to gif image',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_grothe',2006,198,'Most Obfuscated Audio','2006/grothe/grothe.c','Plays audio using a monitor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_hamre',2006,199,'Most Irrational','2006/hamre/hamre.c','A calculator for rational numbers',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_meyer',2006,200,'Best Game','2006/meyer/meyer.c','A two player sudoku like game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_monge',2006,201,'Best Compiled Graphics','2006/monge/monge.c','Graphical fractal generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_night',2006,202,'Best Abuse of Computation','2006/night/night.c','A maze game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_sloane',2006,203,'Homer''s Favorite','2006/sloane/sloane.c','Animated donut',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_stewart',2006,204,'Best Computed Graphics','2006/stewart/stewart.c','IFS fractal generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_sykes1',2006,205,'Best Assembler','2006/sykes1/sykes1.c','Bedlam cube solver',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_sykes2',2006,206,'Best One-liner','2006/sykes2/sykes2.c','A clock in one line',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_toledo1',2006,207,'Best Small Program','2006/toledo1/toledo1.c','Solve the knight chess problem',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_toledo2',2006,208,'Best of Show','2006/toledo2/toledo2.c','An 8080 emulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2006_toledo3',2006,209,'Most Portable Chess Set','2006/toledo3/toledo3.c','An X11 chess game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_blakely',2011,0,'Most devolving','2011/blakely/blakely.c','Life/reverse life',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_borsanyi',2011,1,'Best data utility','2011/borsanyi/borsanyi.c','Bar graph plotter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_dlowe',2011,2,'Most self deprecating','2011/dlowe/dlowe.c','Neural network classifier',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_eastman',2011,3,'Best ball','2011/eastman/eastman.c','Bouncing Ball in ANSI Graphics',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_fredriksson',2011,4,'Most useful','2011/fredriksson/fredriksson.c','Aproximate grep',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_goren',2011,5,'Most artistic','2011/goren/goren.c','Magritte tribute',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_hou',2011,6,'Best self documenting program','2011/hou/hou.c','Scientific calculator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_konno',2011,7,'Best one liner','2011/konno/konno.c','QWERTY keyboard position identifer',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_hamaji',2011,8,'Best solved puzzle','2011/hamaji/hamaji.c','Paint by number puzzle',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_richards',2011,9,'Most surprisingly portable','2011/richards/richards.c','JIT dc',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_toledo',2011,10,'Best non-chess game','2011/toledo/toledo.c','Dual player tank shooter game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_vik',2011,11,'Most sound','2011/vik/vik.c','Tracker player',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_zucker',2011,12,'Most shiny','2011/zucker/zucker.c','Text raytracing',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2011_akari',2011,13,'Best of Show - Most Shrinkable','2011/akari/akari.c','Downsampler with 3 embeded programs',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_hou',2012,0,'Most useful obfuscation','2012/hou/hou.c','Syntax highlighter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_grothe',2012,1,'Most conspiratorial','2012/grothe/grothe.c','Shamir secret sharing',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_konno',2012,2,'Best one liner','2012/konno/konno.c','Linear cellular automaton 1-liner',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_omoikane',2012,3,'Most surreptitious','2012/omoikane/nyaruko.c','Encodes text as a C program',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_kang',2012,4,'Best short program','2012/kang/kang.c','Decodes spelled out numbers',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_dlowe',2012,5,'Best way to lose a life','2012/dlowe/dlowe.c','Conway''s game of death',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_deckmyn',2012,6,'Most notable and best tool','2012/deckmyn/deckmyn.c','Music notation printer',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_endoh2',2012,7,'PiE in the sky award','2012/endoh2/endoh2.c','Pi/e quine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_blakely',2012,8,'Most GIFted expressions','2012/blakely/blakely.c','Animated GIFs of surfaces',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_tromp',2012,9,'Most functional','2012/tromp/tromp.c','Lambda interpreter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_endoh1',2012,10,'Most complex ASCII fluid - Honorable mention','2012/endoh1/endoh1.c','ASCII fluid dynamics',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_vik',2012,11,'Best use of cocoa - Bronze award','2012/vik/vik.c','Steganography',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_hamano',2012,12,'Most elementary use of C - Silver award','2012/hamano/hamano.c','PDF with little dancing men',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2012_zeitak',2012,13,'Balanced use of obfuscation - Gold award','2012/zeitak/zeitak.c','Brace matcher',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_endoh3',2013,0,'Most tweetable 1-liner','2013/endoh3/endoh3.c','play music with ABC notation',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_cable1',2013,1,'Most partisan 1-liner','2013/cable1/cable1.c','1-liner party of a US President',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_misaka',2013,2,'Most catty','2013/misaka/misaka.c','horizontal or vertical file concat',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_dlowe',2013,3,'Best sparkling utility','2013/dlowe/dlowe.c','ASCII spark line graph',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_endoh1',2013,4,'Most lazy SKIer','2013/endoh1/endoh1.c','SKI Combinator Calculus tool',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_morgan1',2013,5,'Smallest large system simulator','2013/morgan1/morgan1.c','X11 based Solar system simulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_robison',2013,6,'Most poetic use of strings','2013/robison/robison.c','multi-precision arithmetic',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_hou',2013,7,'Best use of 1 Infinite Loop','2013/hou/hou.c','ray tracer',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_birken',2013,8,'Best painting tool','2013/birken/birken.c','use Tetris to paint a picture',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_endoh2',2013,9,'Most recyclable','2013/endoh2/endoh2.c','JPEG quine that expands and inverts',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_cable3',2013,10,'Largest small system emulator','2013/cable3/cable3.c','IBM PC emulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_morgan2',2013,11,'Most playfully versatile','2013/morgan2/morgan2.c','X11 & ASCII domino matching game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_endoh4',2013,12,'Most solid','2013/endoh4/endoh4.c','ASCII solid rotation',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_mills',2013,13,'Most timely rendered','2013/mills/mills.c','HTTP server ray tracing a timestamp',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2013_cable2',2013,14,'Best of show','2013/cable2/cable2.c','OCR in quick brown fox ASCII art',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_endoh1',2014,0,'Most square (YODA award)','2014/endoh1/prog.c','QR encoder',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_morgan',2014,1,'Most likely to succeed','2014/morgan/prog.c','make clone',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_maffiodo1',2014,2,'Homage to a classic game','2014/maffiodo1/prog.c','homage to a popular game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_birken',2014,3,'Best use of port 1701','2014/birken/prog.c','Klingon web server',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_sinon',2014,4,'Best choice of optimization','2014/sinon/prog.c','optimizer-controlled shooter game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_deak',2014,5,'Most underscored argument','2014/deak/prog.c','CPP and C99 abuse',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_skeggs',2014,6,'Most dynamic','2014/skeggs/prog.c','dynamic library abusing game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_maffiodo2',2014,7,'Most tweetable entry','2014/maffiodo2/prog.c','ASCII art 1-line converter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_vik',2014,8,'Best handling of beeps','2014/vik/prog.c','Morse audio transcoder',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_endoh2',2014,9,'Best use of bioinformatics','2014/endoh2/prog.c','ASCII to DNA transcoder',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2014_wiedijk',2014,10,'Most functional','2014/wiedijk/prog.c','Y combinator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_endoh1',2015,10,'Most Diffused Reaction','2015/endoh1/endoh1.c','reaction-diffusion system HTTP server',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_burton',2015,2,'Most Useful','2015/burton/burton.c','hex/decimal calculator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_endoh3',2015,12,'Back to the Future Award','2015/endoh3/endoh3.c','1984/mullender emulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_dogon',2015,11,'Most Crafty','2015/dogon/dogon.c','X11 Minecraft demo',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_muth',2015,13,'Most Complete Use of CPP','2015/muth/muth.c','preprocessor Turing engine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_mills1',2015,9,'"For the Birds!" Award','2015/mills1/mills1.c','flappy bird',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_hou',2015,0,'Most Well-rounded Hash','2015/hou/hou.c','MD5 without integers',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_endoh4',2015,5,'Best One-liner','2015/endoh4/endoh4.c','visual factorization',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_duble',2015,8,'Best Handwriting','2015/duble/duble.c','handwriting with Braille',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_howe',2015,1,'Most Different','2015/howe/howe.c','diff tool',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_mills2',2015,3,'Most Compact','2015/mills2/mills2.c','uncompress',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_endoh2',2015,6,'Most Overlooked Obfuscation','2015/endoh2/endoh2.c','hidden text quine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_yang',2015,7,'Most Pointed Reaction','2015/yang/yang.c','text encoder with sea star pattern, varies with C flavor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2015_schweikhardt',2015,4,'Best Documented','2015/schweikhardt/schweikhardt.c','Collatz bignum computation',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_yang',2018,2,'Most shifty','2018/yang/prog.c','Text rotator and shifter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_poikola',2018,6,'Most stellar','2018/poikola/prog.c','Ursa Major ASCII animation',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_bellard',2018,11,'Most inflationary','2018/bellard/prog.c','Image compression demo',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_endoh2',2018,3,'Best use of python','2018/endoh2/prog.c','Monty-Pythonesque animated quine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_endoh1',2018,9,'Best tool to reveal holes','2018/endoh1/prog.c','Animated GIF from text',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_algmyr',2018,14,'Most cacophonic','2018/algmyr/prog.c','Converts text to sound using font as spectrogram',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_burton2',2018,10,'Best abuse of the rules','2018/burton2/prog.c','Tokenize and count',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_hou',2018,0,'Most likely to top the charts','2018/hou/prog.c','Converter of JSON to SVG pie chart',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_mills',2018,7,'Best of show','2018/mills/prog.c','PDP-7/11 simulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_ciura',2018,5,'Most likely to be awarded','2018/ciura/prog.c','Strunk & White checker',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_giles',2018,4,'Most unstable','2018/giles/prog.c','SDL falling sand',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_burton1',2018,13,'Best one-liner','2018/burton1/prog.c','Hex dumper',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_ferguson',2018,1,'Best use of weasel words','2018/ferguson/prog.c','Dawkins'' weasel simulator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_anderson',2018,12,'Most able to divine code gaps','2018/anderson/prog.c','Visualizer of typographic rivers',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2018_vokes',2018,8,'Most connected','2018/vokes/prog.c','Computing strongly connected graph components',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_mills',2019,10,'Most in need to be tweeted','2019/mills/prog.c','Machine Learning on text',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_giles',2019,0,'Most in need of wide space','2019/giles/prog.c','WAV reverberator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_burton',2019,5,'Best one-liner','2019/burton/prog.c','Word count',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_yang',2019,8,'Most in need of transparency','2019/yang/prog.c','Text scrambler',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_diels-grabsch1',2019,4,'Best small program','2019/diels-grabsch1/prog.c','Tiny compress',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_duble',2019,6,'Best collaborative graphics','2019/duble/prog.c','Collaborative graphics editor',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_karns',2019,1,'Most in need of whitespace','2019/karns/prog.c','Breadth-first search on text',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_endoh',2019,9,'Most in need of debugging','2019/endoh/prog.c','Backtrace quine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_dogon',2019,11,'Best use of space and time','2019/dogon/prog.c','X11 Golly game of Life',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_lynn',2019,13,'Most functional compiler','2019/lynn/prog.c','Haskell compiler',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_poikola',2019,3,'Most calendrical','2019/poikola/prog.c','SHA, Prime, Fibonacci',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_ciura',2019,2,'Most alphabetic','2019/ciura/prog.c','Pangram generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_diels-grabsch2',2019,7,'Most self-aware','2019/diels-grabsch2/prog.c','Self hashing',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2019_adamovsky',2019,12,'Most functional interpreter','2019/adamovsky/prog.c','Unlambda interpreter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_kurdyukov3',2020,9,'Bset slaml prragom','2020/kurdyukov3/kurdyukov3.c','Letter permuter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_endoh3',2020,4,'Most head-turning','2020/endoh3/endoh3.c','ASCII clock',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_burton',2020,0,'Best one-liner','2020/burton/burton.c','Byte to binary, no loops, 1-liner',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_ferguson2',2020,7,'Most enigmatic','2020/ferguson2/ferguson2.c','Enigma machine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_kurdyukov1',2020,1,'Best utility','2020/kurdyukov1/kurdyukov1.c','MD5 checksum',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_carlini',2020,14,'Best of show - abuse of libc','2020/carlini/carlini.c','printf machine',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_kurdyukov2',2020,11,'Least detailed','2020/kurdyukov2/kurdyukov2.c','Image segmenter',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_ferguson1',2020,5,'Don''t tread on me award','2020/ferguson1/ferguson1.c','Snake game',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_endoh2',2020,10,'Best perspective','2020/endoh2/endoh2.c','Star Wars crawler',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_tsoj',2020,3,'Most misleading indentation','2020/tsoj/tsoj.c','Asteroids',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_otterness',2020,12,'Most percussive','2020/otterness/otterness.c','MIDI improver',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_giles',2020,8,'Most phony','2020/giles/giles.c','DTMF encoder/decoder',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_kurdyukov4',2020,6,'Best abuse of lámatyávë','2020/kurdyukov4/kurdyukov4.c','Markov chain text generator',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_endoh1',2020,2,'Most explosive','2020/endoh1/endoh1.c','Minesweeper solver',NULL);
|
|
||||||
INSERT INTO prizes VALUES('2020_yang',2020,13,'Best abuse of CPP','2020/yang/yang.c','PIN-protected program generator',NULL);
|
|
||||||
+2
-3
@@ -19,7 +19,7 @@ INSERT INTO winners VALUES('1985_august','Lennart_Augustsson',NULL,NULL);
|
|||||||
INSERT INTO winners VALUES('1986_august','Lennart_Augustsson',NULL,NULL);
|
INSERT INTO winners VALUES('1986_august','Lennart_Augustsson',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1996_august','Lennart_Augustsson',NULL,NULL);
|
INSERT INTO winners VALUES('1996_august','Lennart_Augustsson',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1998_banks','Carl_Banks',NULL,NULL);
|
INSERT INTO winners VALUES('1998_banks','Carl_Banks',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('2001_anonymous','Gavin_Barraclough',NULL,NULL);
|
INSERT INTO winners VALUES('2001_anonymous','Anonymous_2001',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('2004_gavin','Gavin_Barraclough',NULL,NULL);
|
INSERT INTO winners VALUES('2004_gavin','Gavin_Barraclough',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1991_buzzard','Sean_Barrett',NULL,NULL);
|
INSERT INTO winners VALUES('1991_buzzard','Sean_Barrett',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1992_buzzard.1','Sean_Barrett',NULL,NULL);
|
INSERT INTO winners VALUES('1992_buzzard.1','Sean_Barrett',NULL,NULL);
|
||||||
@@ -85,7 +85,7 @@ INSERT INTO winners VALUES('1987_hines','Spencer_Hines',NULL,NULL);
|
|||||||
INSERT INTO winners VALUES('1986_holloway','Bruce_Holloway',NULL,NULL);
|
INSERT INTO winners VALUES('1986_holloway','Bruce_Holloway',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1993_lmfjyh','Jyrki_Holopainen',NULL,NULL);
|
INSERT INTO winners VALUES('1993_lmfjyh','Jyrki_Holopainen',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('2000_jarijyrki','Jyrki_Holopainen',NULL,NULL);
|
INSERT INTO winners VALUES('2000_jarijyrki','Jyrki_Holopainen',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1994_horton','Mark_Horton"></A><A NAME="Mary_Horton',NULL,NULL);
|
INSERT INTO winners VALUES('1994_horton','Mary_Ann_Horton',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1991_ant','Anthony_C._Howe',NULL,NULL);
|
INSERT INTO winners VALUES('1991_ant','Anthony_C._Howe',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1992_ant','Anthony_C._Howe',NULL,NULL);
|
INSERT INTO winners VALUES('1992_ant','Anthony_C._Howe',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1993_ant','Anthony_C._Howe',NULL,NULL);
|
INSERT INTO winners VALUES('1993_ant','Anthony_C._Howe',NULL,NULL);
|
||||||
@@ -173,7 +173,6 @@ INSERT INTO winners VALUES('1993_jonth','Jon_Thingvold',NULL,NULL);
|
|||||||
INSERT INTO winners VALUES('1996_jonth','Jon_Thingvold',NULL,NULL);
|
INSERT INTO winners VALUES('1996_jonth','Jon_Thingvold',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1998_tomtorfs','Tom Torfs',NULL,NULL);
|
INSERT INTO winners VALUES('1998_tomtorfs','Tom Torfs',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1989_tromp','John_Tromp',NULL,NULL);
|
INSERT INTO winners VALUES('1989_tromp','John_Tromp',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1989_tromp','Freek_Wiedijk',NULL,NULL);
|
|
||||||
INSERT INTO winners VALUES('1989_vanb','David_Van_Brackle',NULL,NULL);
|
INSERT INTO winners VALUES('1989_vanb','David_Van_Brackle',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1993_vanb','David_Van_Brackle',NULL,NULL);
|
INSERT INTO winners VALUES('1993_vanb','David_Van_Brackle',NULL,NULL);
|
||||||
INSERT INTO winners VALUES('1995_vanschnitz','David_Van_Brackle',NULL,NULL);
|
INSERT INTO winners VALUES('1995_vanschnitz','David_Van_Brackle',NULL,NULL);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# A todo list of known things to check and/or do
|
# A todo list of known things to check and/or do
|
||||||
*Last updated: Wed 3 May 2023 14:57:29 UTC*
|
*Last updated: Fri 19 May 2023 09:39:17 UTC*
|
||||||
|
|
||||||
More things will likely be added over time and as items are done they _should
|
More things will likely be added over time and as items are done they _should
|
||||||
be_ removed from the list IF AND ONLY IF (!!) we are certain it is done (many
|
be_ removed from the list IF AND ONLY IF (!!) we are certain it is done (many
|
||||||
@@ -44,7 +44,7 @@ fix any issues.
|
|||||||
has some kind of record of what he's done but these can be added later by
|
has some kind of record of what he's done but these can be added later by
|
||||||
having a list of years to check.
|
having a list of years to check.
|
||||||
* NOTE: as of 03 May 2023 years up through most of 2011 have been checked
|
* NOTE: as of 03 May 2023 years up through most of 2011 have been checked
|
||||||
except that a few year I am pretty sure I did not check typos (I'd say about
|
except that a few years I am pretty sure I did not check typos (I'd say about
|
||||||
1987 or 1988 through 1995 should be rechecked for typos). It's very likely
|
1987 or 1988 through 1995 should be rechecked for typos). It's very likely
|
||||||
I won't keep this updated until it's finished but I wanted to note it now.
|
I won't keep this updated until it's finished but I wanted to note it now.
|
||||||
|
|
||||||
@@ -55,3 +55,12 @@ only the years through 1986 are done. This should not take much time but I
|
|||||||
This will likely not be updated until after it's done (and when I remember to
|
This will likely not be updated until after it's done (and when I remember to
|
||||||
remove it - I expect that when I go for it I'll do it in one sitting or maybe a
|
remove it - I expect that when I go for it I'll do it in one sitting or maybe a
|
||||||
few sittings with a few brief breaks).
|
few sittings with a few brief breaks).
|
||||||
|
|
||||||
|
- Verify that [2004/gavin](2004/gavin/)'s [img/fs.tar](2004/gavin/img/fs.tar)
|
||||||
|
contains the same version of files as under [2004/gavin](2004/gavin/) itself.
|
||||||
|
This should be verifiable by extracting the tarball in the entry's [img/](img/)
|
||||||
|
subdirectory and then typing the below from the entry's main directory
|
||||||
|
([2004/gavin](2004/gavin)), making sure no output is displayed:
|
||||||
|
|
||||||
|
diff -r . img/fs|grep -v 'Only in'
|
||||||
|
|
||||||
Reference in new issue
Block a user