software-development
December 22, 2024

IOCCC или что такое элитный код

Современным разработчикам часто нехватает чести, ума и совест... эм.. некоторого эталона, примера нереальной крутизны в программировании, к которому стоит стремиться. Именно о таком эталоне и пойдет сегодняшний рассказ.

Старая добрая змейка, справа исходный код.

Любая работа (даже творческая) состоит на 99% из скучной рутины и может задолбать в край, даже если вы работаете порноактером.

В ежедневном процессе разработки ПО тоже нет ничего интересного, интригующего или вдохновляющего:

однотипный, примитивный говнокод, перекладывание скотоданных в виде JSON/XML да постоянные CRUDы.

Постоянное ковыряние в таком легко приводит в дурку к тому самому выгоранию с последующим уходом из профессии, а одним из способов подобного избежать является изучение действительно сложных и необычных проектов.

IOCCC

Кладезью таких проектов и примеров запредельной крутизны в программировании является The International Obfuscated C Code Contest — соревнование по обфускации кода на языке Си.

Это старейший конкурс на планете, позволяющий померяться уровнем в программировании и регулярно привлекающий звезд индустрии.

Если хотите посмотреть на настоящих профи, которых никогда не сможете нанять — вам сюда.

Стеба ради я отправлял ссылку выше рекрутерам, желающим найти «настоящих профессионалов», но почему-то договориться у них так ни разу и не вышло.

Конкурс IOCCC проводится с 1984 года, практически каждый год, с большим перерывом в 2006-2011.

Последний раз он проводился в пандемийный 2020й, так что видимо у нас опять задержка с выходом.

Каждый раз объявляются специальные правила проведения, ограничивающие полет фантазии авторов.

Вот так для примера выглядели правила 1984го года:

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/\

Как видите, тут сразу оглашается лимит в 512 байт на размер исходного кода и лулзовый:

Entries will be judged for .. and use of "by the K&R book" C.

Для этой статьи я отобрал несколько работ-победителей этого конкурса с 1984 под 1996 годы, которые надеюсь покажут наконец «кто тут папа».

Заодно увидите, что на дебильных CRUDах и JSON разработка не заканчивается.

Стоит сразу заметить, что далеко не все из интересного удалось собрать или адаптировать под современные ОС, некоторые из собранных проектов падали при запуске или в процессе работы.

Поэтому ниже представлены только те работы, которые точно собираются и запускаются на конец 2024 года.

Еще некоторые авторы побеждали в IOCCC неоднократно и даже с несколькими разными проектами, в таких случаях я брал лишь одну работу победителя.

Тестовое окружение:

FreeBSD 14.2, gcc13 или clang

В некоторых случаях специально отключались обязательные для современного окружения проверки компилятора на ошибки и убирались устаревшие вызовы вроде gets.

Shapiro, 1985

Автор: Carl Shapiro

Две строки описания:

Grand prize for most well-rounded in confusion

и:

This program was selected for the 1987 t-shirt collection.

наводят на правильную мысль о том что перед нами нечто необычное.

Ожидания полностью оправдываются, стоит лишь взглянуть на исходный код:

#define P(X)j=write(1,X,1)
#define C 39
int M[5000]={2},*u=M,N[5000],R=22,a[4],l[]={0,-1,C-1,-1},m[]={1,-C,-1,C},*b=N,
*d=N,c,e,f,g,i,j,k,s;main(){for(M[i=C*R-1]=24;f|d>=b;){c=M[g=i];i=e;for(s=f=0;
s<4;s++)if((k=m[s]+g)>=0&&k<C*R&&l[s]!=k%C&&(!M[k]||!j&&c>=16!=M[k]>=16))a[f++
]=s;if(f){f=M[e=m[s=a[rand()/(1+2147483647/f)]]+g];j=j<f?f:j;f+=c&-16*!j;M[g]=
c|1<<s;M[*d++=e]=f|1<<(s+2)%4;}else e=d>b++?b[-1]:e;}P(" ");for(s=C;--s;P("_")
)P(" ");for(;P("\n"),R--;P("|"))for(e=C;e--;P("_ "+(*u++/8)%2))P("| "+(*u/4)%2
);}

508 байт и 3 строки (в оригинале) выдают после компиляции вот такую красоту:

Applin, 1986

Автор: Jack Applin

Как вам классический «Hello world», который одновременно компилируется как код на Си и Фортране и заодно является шелл-скриптом?

Судьи тоже офигевали:

The judges were so amused by this little program that we created an award just for it.

Теперь сам код (напоминаю что это 1986 год):

cat =13 /*/ >/dev/null 2>&1; echo "Hello, world!"; exit
*
*  This program works under cc, f77, and /bin/sh.
*
*/; main() {
      write(
cat-~-cat
     /*,'(
*/
     ,"Hello, world!"
     ,
cat); putchar(~-~-~-cat); } /*
     ,)')
      end
*/

Несмотря на столь почтенный возраст, все три варианта использования до сих пор работают в современной ОС:

Pawka, 1986

Автор: Michael H. Pawka

Мнение судей:

The judges found this entry to be one of hardest to read without the aid of /lib/cpp and a good editor. When run, the program asks if it is obfuscated, of all things!

Код, который желает вам всем удачного дня:

#include "stdio.h"
#define xyxx char
#define xyyxx putchar
#define xyyyxx while
#define xxyyyx int
#define xxxyyx main
#define xyxyxy if
#define xyyxyy '\n'
xyxx *xyx [] = {
"]I^x[I]k\\I^o[IZ~\\IZ~[I^|[I^l[I^j[I^}[I^n[I]m\\I]h",
"]IZx\\IZx[IZk\\IZk[IZo_IZ~\\IZ~[IZ|_IZl_IZj\\IZj]IZ}]IZn_IZm\\IZm_IZh",
"]IZx\\IZx[I^k[I\\o]IZ~\\IZ~\\I]|[IZl_I^j]IZ}]I^n[IZm\\IZm_IZh",
"]IZx\\IZx[IZk\\IZk[IZo_IZ~\\IZ~_IZ|[IZl_IZj\\IZj]IZ}]IZn_IZm\\IZm]IZh",
"]I^x[I]k\\IZo_I^~[I^|[I^l[IZj\\IZj]IZ}]I^n[I]m^IZh",'\0'};/*xyyxyxyxxxyxxxyy*/
xyxx *xyyx; xxyyyx xyyyx,xyyyyx,xyyyyyx=0x59,xyyyyyyx=0x29,/*yxxyxyyyxxyyyxyy*/
xxyx=0x68;xxxyyx(){xyyyyx=0;xyyyxx(xyx[xyyyyx]){xyyx=xyx[xyyyyx++];/*xyyyxxyx*/
xyyyxx(*xyyx){xyyyx= *xyyx++-xyyyyyx;xyyyxx(xyyyx--)xyyxx(*xyyx-xyyyyyyx);/*x*/
xyxyxy(*xyyx==xxyx)xyyxx(xyyxyy);*xyyx++;}}}/*xyxyxyyyyxxyxxxyyyxyyyxyxxyyy*/

И результат работы:

Korn, 1987

Автор:

David Korn
AT&T Bell Labs
MH 3C-526B, AT&T Bell Labs
Murray Hill, NJ
07974
USA

Да это тот самый Korn, автор Korn Shell.

Мнение судей:

The Judges believe that this is the best one line entry ever received. Compile on a UN*X system, or at least using a C implementation that fakes it. Very few people are able to determine what this program does by visual inspection. I suggest that you stop reading this section right now and see if you are one of the few people who can.

И поверьте — такие судьи не ошибаются, потому что даже на конец 2024го года я не знаю людей, способных с ходу разобраться в таком коде:

main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}

Все собирается и работает до сих пор:

Westley, 1988

Автор: Merlyn LeRoy (Brian Westley)

Краткая аннотация от судей:

Best layout

несколько не передает всю гамму чувств при просмотре кода:

#define _ -F<00||--F-OO--;
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_
}

Код разумеется рабочий и спокойно собирается современными GCC и Clang:

clang westley.c -o westley
gcc13 westley.c -o westley

Вывод:

vanb, 1989

Автор: David Van Brackle
Опять же краткая аннотация от судей:

Best one liner

не передает всю гамму эмоций от такого замечательного кода (крутите влево, все целиком не влезло):

main(Q,O)char**O;{if(--Q){main(Q,O);O[Q][0]^=0X80;for(O[0][0]=0;O[++O[0][0]]!=0;)if(O[O[0][0]][0]>0)puts(O[O[0][0]]);puts("----------");main(Q,O);}}

Код спокойно собирается в современном окружении, вот так выглядит тестовый запуск:

Вот что оно делает:

This program computes all proper subsets of the set of arguments passed to it. Each subset is printed with one element on each line, followed by a line of ten dashes.

PJR, 1990

Автор: Peter J Ruczynski.

Мнение судей:

Most Unusual Data Structure

будет слегка непонятным, без просмотра кода:

#include <stdio.h>
#define A(a) G a();
#define B(a) G (*a)();
#define C(a,b) G a() { printf(b); return X; }
typedef struct F G;A(a)A(b)A(c)A(d)A(e)A(f)A(g)A(h)A(i)A(j)A(k)A(l)A(m)A(n)A(
o)A(p)A(q)A(r)A(s)A(t)A(u)A(v)A(w)A(x)A(y)A(z)A(S)A(N)void Q();struct F{B(a)B
(b)B(c)B(d)B(e)B(f)B(g)B(h)B(i)B(j)B(k)B(l)B(m)B(n)B(o)B(p)B(q)B(r)B(s)B(t)B(
u)B(v)B(w)B(x)B(y)B(z)B(S)B(N)void(*Q)();}X={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,
q,r,s,t,u,v,w,x,y,z,S,N,Q};C(a,"z")C(b,"y")C(c,"x")C(d,"w")C(e,"v")C(f,"u")C(
g,"t")C(h,"s")C(i,"r")C(j,"q")C(k,"p")C(l,"o")C(m,"n")C(n,"m")C(o,"l")C(p,"k"
)C(q,"j")C(r,"i")C(s,"h")C(t,"g")C(u,"f")C(v,"e")C(w,"d")C(x,"c")C(y,"b")C(z,
"a")C(S," ")C(N,"\n") void Q(){}main(){X=g().s().v().S().j().f().r().x().p().
S().y().i().l().d().m().S().u().l().c().S().q().f().n().k().v().w().S().l().e
().v().i().S().g().s().v().S().o().z().a().b().S().w().l().t().N();}

Вот так это выглядит в работе:

Да, все что делает это чудо — вывод знаменитой тестовой строчки для шрифтов, но блин как!

А вот так:

By use of pointers to functions returning a struct of pointers to functions!

Buzzard, 1991

Автор: Sean Barrett

Приз за лучший вывод:

Best Output

получен не просто так, поскольку внутри столь небольшого кода скрывается.. настоящий (ну почти) 3D-движок:

#include <stdio.h>
#define X(s) (!(s&3)-((s&3)==2))
#define W while
char Z[82][82],A,B,f,g=26;z(q){return atoi(q);}m(d,l){return
Z[   B       +    X      (   f     +
3) * d+l *X(f+ 2 )][ A+X ( f ) * d +
l* X           (     f     + 3 ) ] ;}int
h= 0;D(p,s)char*s; {W(h>>3<p>> 3 ) {putchar('\t'
);           h =       (       h   +8
)&~7 ;}W(h < p ){putchar(' ');++h; }(void)printf(
"%s"   ,   s                 )     ;h+=strlen(s);}main(x,a)char **a; {
# define P(x) (x?(5-(x))*(6-(x ))/2:11)
int b; { char b[256],i,  j=0;  FILE*F;F=fopen(x-1?a[1]:"buzzard.c","r");W(
fgets( b ,256 ,F)){for(i=0;b[ i];++ i)
Z[j][i ] =( b [     i   ]     ==' '?1:2*(b[i]==(x>2?*a[2]:'\\')));++j;}fclose
(F);}A   =4 ; B = 3 ; f = 1;x >3? A=z(a[3]),B=z(a[4]):0;b='\n';do{if(b=='\n'
){int y ,     s , d , p   , q       ,i;for
(y=-11; y<= 11;++ y){ for(s = 1 ,d=0;s+3;s-=2){for
(;d!=2    +       3   * s     ;     d+=s){
if(m(d,0) !=1 ){p=P (d) ;if (abs( y )
   <p&&   !   m       (       d   , 0 )||abs(y)>p)break;for
(i  =-p;i<p;++i)D(g+i*2,"--");D(0,"\-");break;}if(d==5)continue;
p=P(d+1);q=P(d);if
(abs(y)		>q)continue;if 
(abs(y)		<p)D(g-s*(2*p+1),"|");else if(m(d,s)){if
(abs(y)		<=p)for(i=(s==1?-q:p);i!=(s==1?-p:q);
(abs(y)		),++i)D(g+2*i+(s==-1),"--");}else if
(abs(y)		==p)D(g-s*(2*p+1),"|");else D(g-
(abs(y)		*s*2),(s==1)^(y>0)?"\\":"/");}d-=s;}puts(
"");h=0;}}f+=(b=='r')-(b=='l');f&=3;if(b=='f'){if(!m(1,0))continue;
A+=X(f);B+=X(f-1);}}W((b=getchar())!=-1&&m(0,0)==1);return 0;}

Вот так это выглядит в работе:

Самый старт
Шаг вперед
Разворот и взгляд назад.

IMC, 1992

Автор:

Ian Collier
Oxford University
The Queen's College
High Street
OXFORD
OX1 4AW
ENGLAND

Приз:

Best Output

был выдан этому шедевру не просто так, но для начала исходный код:

#include		     <stdio.h> 
#include		     <malloc.h> 
#define			  ext(a) (exit(a),0)
#define I		  " .:\';+<?F7RQ&%#*"
#define a			"%s?\n"
#define n			"0?\n"
#define C			double	
#define o			 char
#define l			 long
#define L			sscanf
#define i			stderr
#define e			stdout
#define r		       ext   (1)
#define s(O,B)	   L(++J,O,&B)!=1&&c>++q&&L(v[q],O,&B)!=1&&--q
#define F(U,S,C,A) t=0,*++J&&(t=L(J,U,&C,&A)),(!t&&c>++q&&!(t=L(v[q],U,\
		   &C,&A)))?--q:(t<2&&c>++q&&!(t=L(v[q],S,&A))&&--q
#define T(E)		(s("%d",E),E||(fputs(n,i),r))
#define d(C,c)		  (F("%lg,%lg","%lg",C,c)))
#define O	   (F("%d,%d","%d",N,U),(N&&U)||(fputs(n,i),r)))
#define D		      (s("%lg",f))
#define E			  putc
					       C
						G=0,
						R
					     =0,Q,H
					    ,M,P,z,S
					     =0,x=0
				 ,        f=0;l b,j=0,	      k
				  =128,K=1,V,B=0,Y,m=128,p=0,N
				 =768,U=768,h[]={0x59A66A95,256
			     ,192,1,6912,1,0,0},t,A=0,W=0,Z=63,X=23
			    ;o*J,_;main(c,v)l c;o**v;{l q=1;for(;;q<
		  c	   ?(((J=v[q])[0]&&J[0]<48&&J++,((_= *J)<99||
		_/2==	   '2'||(_-1)/3=='\"'||_==107||_/05*2==','||_
	      >0x074)?(   fprintf(i,a,v[q]),r):_>0152?(_/4>27?(_&1?(
	     O,Z=N,X=U):  (W++,N=Z,U=X)):_&1?T(K):T(k)):_>103?(d(G,
	R    ),j=1):_&1? d(S,x):D,q++),q--,main(c-q,v+q)):A==0?(A=
  1,f||(f=N/4.),b=(((N-1)&017)<8),q=(((N+7)>>3)+b)*U,(J=malloc(q)
  )||(perror("malloc"),r),S-=(N/2)/f,x+=(U/2)/f):A==1?(B<U?(A=2,V
	=    0,Q=x-B/f,j ||(R=Q),W&&E('\n',e),E(46,i)):(W&&E('\n',
	     e),E('\n',i  ),h[1]=N,h[2]=U,h[4]=q,W||(fwrite(h,1,32,
	      e),fwrite   (J,1,q,e)),free(J),ext(0))):A==2?(V<N?(j?
		(H=V/f	   +S,M=Q):(G=V/f+S,H=M=0),Y=0,A=03):((m&0x80
		   )	   ||(m=0x80,p++),b&&(J[p++]=0),A=1,B++)):((Y
			    <k&&(P=H*H)+(z=M*M)<4.)?(M=2*H*M+R,H=P-z
			     +G,Y++):(W&&E(I[0x0f*(Y&K)/K],e),Y&K?J
			         [p]&=~m:(J[p]|=m),(m>>=1)||/*/
				  (m=128,u--),A==6?ext(1):B<u
				 .	  e=3,l=2*c*/(       m
					     =0x80,
					    p++),V++
					     ,A=0x2
						)
						));
					       }

Угу, оно компилируется до сих пор!

Описание:

This is a Mandelbrot/Julia drawer. Normally it produces a monochrome Sun-format raster file.

К сожалению мне не удалось отобразить данный формат в современной ОС, поэтому использовался параметр -text для генерации ANSII варианта.

Результат работы:

schnitzi, 1993

Автор: Mark Schnitzius

Мнение судей:

Obfuscated Intelligence Award

в сочетании с таким кодом:

#include      <stdio.h>
#define            iii\
(                     I  )                    if (                     ii(I,6\
 )                   )I [               strlen(I  )                     -1]=!1
          int ii(ll,lll  )              char*ll; {

  char *l="\"; !l ? 1.1 : l; l,printf(";int l1=1-/*+&|");  &+|-*/1,li=!1;while

(                lll>l1  )                 li|=! (                  l[3*l1+++3
 ]           -ll[strlen (                 ll)-1]  )                    ;return
(                    li  )                ;}main (                      ll,lll
 )  char*lll[];{char l1 [   111][21],li1[111][21  ]              ,il1[111],i1l
[                   111  ] ;int lli,l11,l1l,li/* (  */,ll1,il,l;FILE*f;if(ll-2
 )             {f=fopen (             lll[1],"r"  )     ;lli=l=ll1=il=!1;while
( fscanf(f,"%s",l1[lli]  )             +1){li=ii (                   l1[lli],3
 )                 ;iii (                l1[lli]  )          ;l1l=l11=!1;while
(               l1l>-ll  )                  {iii (                   lll[-l1l]
 )          ;strcasecmp (    lll[-l1l--],l1[lli]  )                         ||
(              l11=++il  )       ;}l11||lli++;if (                          li
 )                  {if (                 ll1<il  )    {ll1=il;l1l=l=lli;while
(                 l1l--  )                strcpy (            li1[l1l],l1[l1l]
 )     ;}il=lli=!1;}}if (                   !ll1  )                       puts
(          " Beats me."  )              ;else if (                          !l
 )                 puts (                " Yes."  ) ;else{*li1[l1l=!1]=toupper
(              *li1[!1]  )                ;while (                       l>l1l
 )               printf (       " %s",li1[l1l++]  )                      ;puts
(                   "."  )       ;}}else{sprintf (    il1,"cat %s;echo",lll[1]
 )              ;system (                    il1  )                   ;}printf
(                "\n? "  )                 ;fgets (                         il1, sizeof(il1),stdin
 )             ;sprintf (  i1l,"%s %s %s",lll[!1  ]        ,lll[1],il1);system
(                 i1l);  }

ставят под сомнение все ваши знания об AI.

Вот так это выглядит в работе:

Тестовые данные:

This program answers questions about paragraphs
of text posed to it in English.  It is written
in C.  Mark Schnitzius is the author of this
program.

The Loch Ness monster has been captured.  Elvis
is alive.  Hostler was a woman.  The NASA moon
landings were clearly faked.

А вы говорите ChatGPT.

Из аннотации автора:

I wanted to write a program that would read in a text file in
natural language (such as English) and answer questions about that
text file. I thought this might be a complicated task, and I was
right — it took me over 800 bytes. Of course, it doesn't always
work, but that's AI for you.

Horton, 1994

Автор:

Mark Horton
AT&T Bell Labs
Rm 1H-117

Судя по сайту автора, с 1994го года многое поменялось и старина Марк стал Аннушкой и вообще плотно угорел по транс-тематике.

Лучше бы код писал чесслово.

Вердикт судей:

Best Utility

в какой-то мере правдивый, если вам надо рисовать графики в консоли с помощью ANSII-символов.

Код к сожалению с немного поехавшим форматированием, оригинал можно увидеть вот тут:

##define S(r, c) f[r][c] = 1;

char f[96][160]; main(argc, argv) char **argv; { double x, y, atof(); int
r									,
c									,
bi									,
bj									,
i			       ; for (i=10; i<=80			;
i			    ++) { S(i, 18); S(i, 152)			;
}		for (i=18; i<=152; i++) { S(10, i); S(80, i)		;
}	    for (x=-20;				   x<=10; x += .05)	{
y							=atof(argv[1])  *
x						   * x * x + atof(argv	[
2						])*x*x+atof(argv[3])	*
x					 + atof(argv[4])		;
r				 = (500 - y)*.07+10			;
c					 =(x+20)*4.33333		+
20						; if(r>=10 && r<=80 &&	c
>=							  20 && c<=150)	S
(							   r, c); } for (
r							=0; r < 24; r  ++
)	    for (c=0; c				     <80; c++) { bi	=
4		*r;bj=2*c;			 i=(((f[bi][bj]<<	3
)		     +(f[bi+1][bj]<<2)+(f[bi+2][bj]<<1)+(f[bi		+
3			][bj]<<0))*16+ (f[bi][bj+1]<<3)+(		f
[			    bi+1][bj+1]<<2)+(f[bi+2][bj			+
1				]<<1)+(f[bi+3][bj+			1
]				  <<0)+1)*(c<79				)
;					putchar				(

"\n ..,.;:j'::;';!|._:,;;;j/;;;jjjj.,-,r<jq/;I;/|I|,,rx///d///d///d.:\\;\
-=vq':<|':++;;>;==gg':SS///+:\\\\\\r<wq/<64//d+lL+by[pg/</6///+`::;`\\\\\
\\\"::;`\\YT;;;;`2>\\:=;;??]]:;;;>2>\\F;O;7?]7;;;;?2>b;;;;??]#'\\\\\\`\\\
\\\\''<5\"\"Vq;\\\\\\`=\\\\''55\"?ggILLLD\\bfF[[[P?#M|||||#+#T[FFP?PM'"
[i]); } }

Результат работы выглядит как-то так:

CDUA, 1995

Автор:

Carlos Duarte
Instituto Superior Tecnico
Largo da Igreja, 5 R/C DTo
Damaia
2720 Amadora
Portugal

Код:

#define r return 

char*u0="<RET> to begin... ",*u1="Already been here!",*u2="Found a wall! \
    ",*u3="Walking...        ",*u4="Finished.         ",*u5="Going back..\
.     ",*o="\033[23;1HDone!!\n",*x="\033[2J",*y="\033[1;1H",*z="\033[%d;%\
dH%c",*w="\033[1;1H%s",*v="\033[%d;%dH%c\033[%d;%dH%c\033[%d;%dH%c",b[1841
];int c,d,e,f,g;typedef int(*h)();h i,j,k,l,m,n;int printf(),srand(),rand(
),time(),getchar();int main(int a){i=printf,j=srand,k=rand,l=time,m=getchar,
n=main;if(!c)for(j(l(0)),g=a=1000,--d;++d<1840;b[c=d]=" #\n"[d%80==79?2:d/80
&&d%80&&d/80-22&&d%80-78]);if(!(c-1839))++c,i("%s%s%s",x,y,b);k:if(!(c-1840)
&&(b[a+2]+b[a-2]+b[a+160]+b[a-160]-4*' ')){while(b[a+(f=(e=k()%4)?e-1?e-2?-1
:1:-80:80)*2]!='#');b[a]=b[a+f]=b[f+a+f]=' ';i(v,a/80+1,1+a%80,' ',(a+f)/80+
1,1+(a+f)%80,' ',(f+a+f)/80+1,1+(f+a+f)%80,' ');n(f+a+f);goto k;}else if(!(g
-a))c=1,a=162,i(w,u0),m();if(c-1){}else r b[a]!=' '?(i(w,b[a]=='.'?u1:u2),0)
:(b[a]='.',i(w,u3),i(z,a/80+1,1+a%80,'.'),a==1676?(i(w,u4),i(o),1):n(a+1)||n
(a+80)||n(a-80)||n(a-1)?1:(b[a]=' ',i(w,u5),i(z,a/80+1,1+a%80,' '),0));r 0;}

Код выше будучи скомпилированным, генерирует лабиринт 80x80 с помощью ANSII-символов:

А затем, по нажатию <Enter> еще и проходит его:

Точками отображается маршрут следования.

Jonth, 1996

Автор: Jon Thingvold
University of Oslo
Gaustadveien 10B
N 0372 Oslo
Norway

Вердикт судей:

Best X11 Entry

и вот такой код:

#define O B F U S C A T E D
#define I 8;}t(p){r(p?W:o);XClearWindow(V,m);}main(i,f)char**f;{M((T(h=f),
#define K Y(o,XMapRaised(V,e);)x=3;x--;)for(y=3;y--;r(G))XMapRaised(V,R[D]
#define N z(x+i,(z(H-x-i,x),x)))x<i||z(x-i,x)|z(H-x+i,x)Y(W,)l=k;l>20&&l>x
#define XIMOfIC Z;XID(*w)()=XCreateWindow,m,e,o[2],W[2],G[2],R[2][O]);}GC*g
#define E (++D)));}r(XID*z){XSetWindowBackgroundPixmap(V=d[D],m=R[D][x][y],z[
#define L ;XStoreName(V,e=w(V,RootWindow(V,s),0,0,152,152,2,0,1,0,0,0),"II"+D
#define B 3][3];Display*V,*d[2];char**h,k=25,b[2500],H=50,D,s,x,y,i;T(){float
#define S +k),z(k-P=w(V,e,H*x,H*y,H,H,1,0,1,0,2048,&c));}XEvent J;M(){XFlush(
#define Y(z,y) ;for(z[D]=XCreatePixmapFromBitmapData(Q,x=0,H*H);x<H;x++)y for(
#define A x][y]&&!b[x+k*y]++?t(D),t(!(D^=1)):D);M();}z(x,y){b[x/8+y*7]|=1<<x%I
#define P x,y)-z(y,x+k)+z(y,k-x)*z(x+k,y=H-y),z(k-x,y),z(y,k-x),z(y,k+x)K[x][y]
#define Q V,e,b,H,H,BlackPixel(V,s),WhitePixel(V,s),DefaultDepth(V,s)),memset(b
#define C d[!D]);x=3;for(XNextEvent(V,&J);x--;)for(y=3;y--;J.xany.window==R[D][
#define F l;XSetWindowAttributes c;s=XDefaultScreen(V=d[D]=XOpenDisplay(*(h+=!!
#define U *h)))L)Y(G,)i=c.event_mask=4;i--;x+i>H||N;l-=.5)z(x+k,y=sqrt(l*l-x*x)
#include <math.h>
#include <X11/Xlib.h>

Внутри которого скрываются самые настоящие «крестики-нолики», еще и в графическом исполнении(!):

В 1996м была еще одна удивительная работа, которую я не могу не описать.

Huffman, 1996

Автор:

Ken Huffman
Applied Innovation Inc
5800 Innovation Dr.
Dublin, OH 43016
USA
<http://www.huffmancoding.com>
huffmancoding@gmail.com

Да, этот Ken Huffman — племянник создателя Huffman Coding, который использовали в своей работе большинство разработчиков.

Код, который я имел наглость немного поправить для сборки в новом Clang:

#define x char
#define z else
#define w gets_s
#define r if
#define u int
#define s main
#define v putchar
#define y while
#define t " A?B?K?L?CIF?MSP?E?H?O?R?DJG?NTQ?????U?V?????X???????Z????W??Y??"
 s (   )  {   x* c  ,  b[ 5  * 72   ]; u  a, e  ,  d   [  9
*9 *9 ]  ;    y  (w  ( b, sizeof(b)) ){            r  ( 0   [ b] -7 *
5        )    {  c  =     b    ;       y  (  (*    c  -  6
* 7 )* *  c )c =  c+ 1  ;   r ((   -0 )  [ c  ] &&  w (  b   +
  8 *  5*    3     , sizeof(b)   ) && w          (b   +8      *5  * 6, sizeof(b)) )
  { a       =  0; y     (                  a       [     b  ]
 ) {    a [  d  ] = ! !    ( a[ b]   -   4 *8 )    ;  a  =   a +
1;  }   y (a   <  8 *  5      *  3   )  d      [   (   a ++ )
]  =      0       ; a        =       0;            y(    b  [
 a +  8  *3   *  5  ] )  {   d  [ a  ]   = a  [    d] +  !  !( b[
a+ 40  *  3     ]  -4  * 8) *  2    ;      ++  a   ;   }     a  =
 0       ;      y  (     a     [  b +      6          *  40 ]
)  {a [d ]  +=  !   !  ( b[ a   +    5 *  6  *    8  ] - 4   *
 8        ) *  4;   a =   a  + 1    ;} a=   0;   y  (a   <3 *8
   *5       )  {    r    (     a    [       d    ]  )    {  e
 =  1  ; y    (   e[ a  +  d] ){    *  ( d+ a+    e )   = a[ d
+e -  1] +(       d   [     a  +   e  ]  <<  (   3* e) )     ;e
 =    e           +  1  ;} a       =        a     +
e -  1     ; v( !! (  *  (  d+
  a)  %   (  64  )  - 12  *  5
  )             +  (  e
>  4   ) ?t [   e   >2 ?  2  :a    [ d   ]  ]   :6 *  8  +( t  [ d[
 a    ]/ 8     /8   ]  -4  )      %( 10 )  )    ;  r(  ! (2 [a
+  d] +  3  [d +       a  ]  )    )        v    (  4  *     8    )
 ;  }    a =   a  + 1 ; } v    (5 *  2     )  ;  }    z {c =b ;   e
=  0    ;     y  (*   c )  {   *   c +=   -  (* c    >   8 *     12
   )    *  32    ;      a         =  8       *  8       ;  r  (* c
 >=  48  &&*  c<8  *8   -6)  {*c  =(   * c  + 1
 )   %(  5    * 2  ) +  65   ;y(  --a  >0   &&*
c-  a[  t]   );   d[   (e   ++   )]   =4   ;(
 * (  d +  (e   ++)  ))=  07   ;}z  y(a  --  >1
 &&*  c-   t[a  ]);  d[   ( e  = e  +    1)  -
1]   =a   %8   ;y   (a   /=   8)   d[   (e  ++
 ) ]  =    a% 8   ; ++ c   ; *  (   e ++   +d )  =0
;} --  e   ;r    (         e >0  ) {a  =   1   ;
y          (  a<       8     )  {   c =       b  ;y
 ( c  <e +b  )   {  v  (  *     ( c  -    b + d  )&   a? 6  *7
:8       *  4     ) ;   c ++   ;} a=  a   +    a  ;    v  ( 2*
   5) ;  }  v    (  5*    2    )          ;   }} }}      }

Теперь как это выглядит в работе:

Да, это шрифт Брайля!

Слово автору:

This filter program is really not obfuscated code. It compiles cleanly
with an ANSI C compiler and comes with user documentation that even a
blind person could read.
The program is a bi-directional filter with the output of the program
suitable for its input. The output of this program, when used as input,
undoes the original program filtering.
This program accepts any alphanumeric text that has lines less than 100
characters. The user is encouraged to use the program's source as input
to the executable.

Эпилог

Вообще умение решать максимальное количество проблем минимальными средствами — признак профессионала в любом деле, далеко не только в ИТ.

Ну и знаменитое:

If it ain’t broke, don’t fix it

абсолютно точно применимо и к программированию — по-настоящему крутые программы как видите спокойно собираются и работают до сих пор.