Permanent collection
Code, framed.
20 works, 1843 to the present, shown exactly as they were written. Walk the rooms in order, or wander.
Room I
Before the Machine
Room II
The First Languages
- apply 1960
apply[fn;x;a] = [atom[fn] → [eq[fn;CAR] → caar[x]; eq[fn;CDR] → cdar[x]; eq[fn;CONS] → cons[car[x];cadr[x]]; eq[fn;ATOM] → atom[car[x]]; eq[fn;EQ] → eq[car[x];cadr[x]]; - Algorithm 64: Quicksort 1961
procedure quicksort (A,M,N); value M,N; array A; integer M,N; begin integer I,J; if M < N then begin partition(A,M,N,I,J); quicksort(A,M,J); quicksort(A,I,N); - Line 1965
void line(int x0, int y0, int x1, int y1) /* first octant: 0 <= dy <= dx */ { int dx = x1 - x0, dy = y1 - y0; int e = 2 * dy - dx; int x, y = y0; - hello, world 1978
#include <stdio.h> main() { printf("hello, world\n"); }
Room III
The Hacker Era
- strcpy 1988
void strcpy(char *s, char *t) { while (*s++ = *t++) ; } - Duff's Device 1983
send(to, from, count) register short *to, *from; register count; { register n=(count+7)/8; switch(count%8){ - anonymous.c 1984
int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\ o, world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j,i/i);} - Word frequencies 1986
tr -cs A-Za-z '\n' | tr A-Z a-z | sort | uniq -c | sort -rn | sed ${1}q - Black Perl 1990
BEFOREHAND: close door, each window & exit; wait until time. open spellbook, study, read (scan, select, tell us); write it, print the hex while each watches, reverse its length, write again; kill spiders, pop them, chop, split, kill them. unlink arms, shift, wait & listen (listening, wait), - hello.b 1993
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.#>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++. - Quine traditional
s='s=%r;print(s%%s)';print(s%s)
Room IV
The Open Age
- Q_rsqrt 1999
float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; - GIT - the stupid content tracker 2005
GIT - the stupid content tracker "git" can mean anything, depending on your mood. - random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a - donut.c 2006
k;double sin() ,cos();main(){float A= 0,B=0,i,j,z[1760];char b[ 1760];printf("\x1b[2J");for(;; ){memset(b,32,1760);memset(z,0,7040) ;for(j=0;6.28>j;j+=0.07)for(i=0;6.28 - Spelling corrector 2007
import re from collections import Counter def words(text): return re.findall(r'\w+', text.lower()) WORDS = Counter(words(open('big.txt').read())) - Conway's Game of Life, in one line 2009
Life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵} - Genesis block 2009
// Genesis block char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"; CTransaction txNew; txNew.vin.resize(1); txNew.vout.resize(1); txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((unsigned char*)pszTimestamp, (unsigned char*)pszTimestamp + strlen(pszTimestamp));
Room V