Navigation
Home & news
Random page
All pages
Site search:
Databases
Fortune cookies
Haikus
SID themes
Page collections
Blag
Chip music
Games
Hardware projects
Music downloads
Obfuscated programming
Piano music
Sane programming
Scene productions
SID related pages
Software downloads
Video downloads
Featured pages
Allt under himmelens fäste
Autosokoban
Binary Art
Brainfuck
Chimney claw
Chopin romance
Craft
Fratres
Freecell
Hardware chiptune
Nymphaea
One man and his piano
Paraforce
Pot plant monitor
Remote control
Reverberations
SID septet
Stranded
Syntax highlighting
TTY demystified
Townwoofer
Warpfruit
Where's the man's hat?
Forum
Register
Log in
Latest comments
Feedback
  • Swedish content
  • Personal content
  • Offensive content

The Symbolic Links Virtual Machine

More obfuscated programming

Typing the following in bash:

while :;do ls --color -w 44 -L a/p/g;ln -snf `ls -d -- \`l\
s -l a/p/f/t\``/a/p/d/v;ln -snf `ls -d -- \`ls -l a/p/b/t\`
`/a/u;ln -snf `ls -d -- \`ls -l a/u\``/a/p;done 2>e # linus

will create the Symbolic Links Virtual Machine. This is a virtual machine whose programs are expressed as directory trees containing nothing but symbolic links. Note that, apart from the while loop, the only commands used in the above expression are ln and ls.

The following is an implementation of Conway's Game of Life:

Program output

The directory tree (source code):

Name of directory or linkDestination of link
.
    a
        00
            a---> ..
            cdisp---> a/e/v/edisp
            cnextm---> a/m/v/otherm
            e---> a/10
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/border
            new
                a---> ../..
                v---> a/40
            nextc---> a/10
            peek---> a/c/v/n/w
            result---> a/40
            s---> a/01
            t---> a/00
            v---> a/40
            w---> a/border
        01
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/11
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/00
            new
                a---> ../..
                v---> a/40
            nextc---> a/11
            peek---> a/c/v/n/w
            result---> a/40
            s---> a/02
            t---> a/01
            v---> a/40
            w---> a/border
        02
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/12
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/01
            new
                a---> ../..
                v---> a/40
            nextc---> a/12
            peek---> a/c/v/n/w
            result---> a/40
            s---> a/03
            t---> a/02
            v---> a/40
            w---> a/border
        03
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/13
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/02
            new
                a---> ../..
                v---> a/40
            nextc---> a/13
            peek---> a/c/v/n/w
            result---> a/41
            s---> a/04
            t---> a/03
            v---> a/40
            w---> a/border
        04
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/14
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/03
            new
                a---> ../..
                v---> a/40
            nextc---> a/14
            peek---> a/c/v/n/w
            result---> a/c/v/v
            s---> a/05
            t---> a/04
            v---> a/40
            w---> a/border
        05
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/15
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/04
            new
                a---> ../..
                v---> a/40
            nextc---> a/15
            peek---> a/c/v/n/w
            result---> a/40
            s---> a/06
            t---> a/05
            v---> a/40
            w---> a/border
        06
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/16
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/05
            new
                a---> ../..
                v---> a/40
            nextc---> a/16
            peek---> a/c/v/n/w
            result---> a/40
            s---> a/07
            t---> a/06
            v---> a/40
            w---> a/border
        07
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/17
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/06
            new
                a---> ../..
                v---> a/40
            nextc---> a/17
            peek---> a/c/v/n/w
            result---> a/40
            s---> a/08
            t---> a/07
            v---> a/40
            w---> a/border
        08
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/18
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/07
            new
                a---> ../..
                v---> a/40
            nextc---> a/18
            peek---> a/c/v/n/w
            result---> a/40
            s---> a/09
            t---> a/08
            v---> a/40
            w---> a/border
        09
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/19
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/08
            new
                a---> ../..
                v---> a/40
            nextc---> a/19
            peek---> a/c/v/n/w
            result---> a/40
            s---> a/border
            t---> a/09
            v---> a/40
            w---> a/border
        10
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/20
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/border
            new
                a---> ../..
                v---> a/40
            nextc---> a/20
            peek---> a/c/v/n
            result---> a/40
            s---> a/11
            t---> a/10
            v---> a/40
            w---> a/00
        11
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/21
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/10
            new
                a---> ../..
                v---> a/40
            nextc---> a/21
            peek---> a/c/v/n
            result---> a/40
            s---> a/12
            t---> a/11
            v---> a/40
            w---> a/01
        12
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/22
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/11
            new
                a---> ../..
                v---> a/40
            nextc---> a/22
            peek---> a/c/v/n
            result---> a/40
            s---> a/13
            t---> a/12
            v---> a/40
            w---> a/02
        13
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/23
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/12
            new
                a---> ../..
                v---> a/41
            nextc---> a/23
            peek---> a/c/v/n
            result---> a/41
            s---> a/14
            t---> a/13
            v---> a/40
            w---> a/03
        14
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/24
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/13
            new
                a---> ../..
                v---> a/40
            nextc---> a/24
            peek---> a/c/v/n
            result---> a/c/v/v
            s---> a/15
            t---> a/14
            v---> a/40
            w---> a/04
        15
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/25
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/14
            new
                a---> ../..
                v---> a/40
            nextc---> a/25
            peek---> a/c/v/n
            result---> a/40
            s---> a/16
            t---> a/15
            v---> a/40
            w---> a/05
        16
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/26
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/15
            new
                a---> ../..
                v---> a/40
            nextc---> a/26
            peek---> a/c/v/n
            result---> a/40
            s---> a/17
            t---> a/16
            v---> a/40
            w---> a/06
        17
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/27
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/16
            new
                a---> ../..
                v---> a/40
            nextc---> a/27
            peek---> a/c/v/n
            result---> a/40
            s---> a/18
            t---> a/17
            v---> a/40
            w---> a/07
        18
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/28
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/17
            new
                a---> ../..
                v---> a/40
            nextc---> a/28
            peek---> a/c/v/n
            result---> a/40
            s---> a/19
            t---> a/18
            v---> a/40
            w---> a/08
        19
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/29
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/18
            new
                a---> ../..
                v---> a/40
            nextc---> a/29
            peek---> a/c/v/n
            result---> a/40
            s---> a/border
            t---> a/19
            v---> a/40
            w---> a/09
        20
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/30
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/border
            new
                a---> ../..
                v---> a/40
            nextc---> a/30
            peek---> a/c/v/n/e
            result---> a/40
            s---> a/21
            t---> a/20
            v---> a/40
            w---> a/10
        21
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/31
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/20
            new
                a---> ../..
                v---> a/40
            nextc---> a/31
            peek---> a/c/v/n/e
            result---> a/40
            s---> a/22
            t---> a/21
            v---> a/40
            w---> a/11
        22
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/32
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/21
            new
                a---> ../..
                v---> a/41
            nextc---> a/32
            peek---> a/c/v/n/e
            result---> a/40
            s---> a/23
            t---> a/22
            v---> a/41
            w---> a/12
        23
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/33
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/22
            new
                a---> ../..
                v---> a/40
            nextc---> a/33
            peek---> a/c/v/n/e
            result---> a/41
            s---> a/24
            t---> a/23
            v---> a/41
            w---> a/13
        24
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/34
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/23
            new
                a---> ../..
                v---> a/41
            nextc---> a/34
            peek---> a/c/v/n/e
            result---> a/c/v/v
            s---> a/25
            t---> a/24
            v---> a/41
            w---> a/14
        25
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/35
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/24
            new
                a---> ../..
                v---> a/40
            nextc---> a/35
            peek---> a/c/v/n/e
            result---> a/40
            s---> a/26
            t---> a/25
            v---> a/40
            w---> a/15
        26
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/36
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/25
            new
                a---> ../..
                v---> a/40
            nextc---> a/36
            peek---> a/c/v/n/e
            result---> a/40
            s---> a/27
            t---> a/26
            v---> a/40
            w---> a/16
        27
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/37
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/26
            new
                a---> ../..
                v---> a/40
            nextc---> a/37
            peek---> a/c/v/n/e
            result---> a/40
            s---> a/28
            t---> a/27
            v---> a/40
            w---> a/17
        28
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/38
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/27
            new
                a---> ../..
                v---> a/40
            nextc---> a/38
            peek---> a/c/v/n/e
            result---> a/40
            s---> a/29
            t---> a/28
            v---> a/40
            w---> a/18
        29
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/39
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/28
            new
                a---> ../..
                v---> a/40
            nextc---> a/39
            peek---> a/c/v/n/e
            result---> a/40
            s---> a/border
            t---> a/29
            v---> a/40
            w---> a/19
        30
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/40
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/border
            new
                a---> ../..
                v---> a/40
            nextc---> a/40
            peek---> a/c/v/w
            result---> a/40
            s---> a/31
            t---> a/30
            v---> a/40
            w---> a/20
        31
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/41
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/30
            new
                a---> ../..
                v---> a/41
            nextc---> a/41
            peek---> a/c/v/w
            result---> a/40
            s---> a/32
            t---> a/31
            v---> a/40
            w---> a/21
        32
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/42
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/31
            new
                a---> ../..
                v---> a/40
            nextc---> a/42
            peek---> a/c/v/w
            result---> a/40
            s---> a/33
            t---> a/32
            v---> a/41
            w---> a/22
        33
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/43
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/32
            new
                a---> ../..
                v---> a/40
            nextc---> a/43
            peek---> a/c/v/w
            result---> a/41
            s---> a/34
            t---> a/33
            v---> a/41
            w---> a/23
        34
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/44
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/33
            new
                a---> ../..
                v---> a/41
            nextc---> a/44
            peek---> a/c/v/w
            result---> a/c/v/v
            s---> a/35
            t---> a/34
            v---> a/41
            w---> a/24
        35
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/45
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/34
            new
                a---> ../..
                v---> a/40
            nextc---> a/45
            peek---> a/c/v/w
            result---> a/40
            s---> a/36
            t---> a/35
            v---> a/40
            w---> a/25
        36
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/46
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/35
            new
                a---> ../..
                v---> a/40
            nextc---> a/46
            peek---> a/c/v/w
            result---> a/40
            s---> a/37
            t---> a/36
            v---> a/40
            w---> a/26
        37
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/47
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/36
            new
                a---> ../..
                v---> a/40
            nextc---> a/47
            peek---> a/c/v/w
            result---> a/40
            s---> a/38
            t---> a/37
            v---> a/40
            w---> a/27
        38
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/48
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/37
            new
                a---> ../..
                v---> a/40
            nextc---> a/48
            peek---> a/c/v/w
            result---> a/40
            s---> a/39
            t---> a/38
            v---> a/40
            w---> a/28
        39
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/49
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/38
            new
                a---> ../..
                v---> a/40
            nextc---> a/49
            peek---> a/c/v/w
            result---> a/40
            s---> a/border
            t---> a/39
            v---> a/40
            w---> a/29
        40
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            disp---> a
            do---> a/m/v/mskip/e
            e---> a/50
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/border
            new
                a---> ../..
                v---> a/40
            nextc---> a/50
            peek---> a/c/v/
            result---> a/40
            s---> a/41
            t---> a/40
            v---> a/40
            w---> a/30
        41
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            do---> a/m/v/mskip/e/s
            e---> a/51
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/40
            new
                a---> ../..
                v---> a/40
            nextc---> a/51
            peek---> a/c/v/
            result---> a/40
            s---> a/42
            t---> a/41
            v---> a/40
            w---> a/31
        42
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/52
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/41
            new
                a---> ../..
                v---> a/41
            nextc---> a/52
            peek---> a/c/v/
            result---> a/40
            s---> a/43
            t---> a/42
            v---> a/41
            w---> a/32
        43
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/53
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/42
            new
                a---> ../..
                v---> a/40
            nextc---> a/53
            peek---> a/c/v/
            result---> a/41
            s---> a/44
            t---> a/43
            v---> a/41
            w---> a/33
        44
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/54
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/43
            new
                a---> ../..
                v---> a/41
            nextc---> a/54
            peek---> a/c/v/
            result---> a/c/v/v
            s---> a/45
            t---> a/44
            v---> a/41
            w---> a/34
        45
            a---> ..
            cdisp---> a/empty
            cnextm---> a/m/v
            e---> a/55
            edisp---> a/empty
            enextc---> a/c/v
            enextm---> a/m/v
            n---> a/44
            new
                a---> ../..
                v---> a/40
            nextc