These experiments in language and code focus on the conflict between programming languages, designed with the assumption that human beings are capable of expressing logic, and the actual human beings who write code in them.
A zine of programming languages, presented as open-ended experiments, some functional, some unimplemented ideas, others impossible to perform.
A JavaScript library expanding JS to allow typos and misspellings as valid code. Published in Leonardo and presented at SIGGRAPH, 2018
A language where code is written as empty folders. the program is encoded into a directory structure. All files within are ignored, as are the names of the folders. Commands and expressions are encoded by the pattern of folders within folders. Allows for infinitely long programs that take up 0 bytes on disk (* yes there's a caveat).
A language where data decays the more it's used; the programmer has a short time to get their point across to the user before the program fades into entropy.
A language where code is written with photographs. The LP coder creates algorithmic photography: a series of photos that, in addition to their visual content, function as a program when run in Light Pattern. Programs written by the creator of LP explore this relationship.
A language that lays claim to absolutely everything that is not a C program. Empty files are ↄ programs, as are all python programs, jpegs, political screeds, crumpled up paper, wind, oranges, any piece of text (or other information) that is not a C program. The most interesting ↄ programs are failed C programs, meaning programs that attempt to be C but have syntax errors. ↄ programs of any real complexity are failed C programs, these programs that come close to being programs in C but with or fails to be C. Their likeness invokes more complex behaviors from the ↄ language, because failing to be C later in the program introduces different behaviors from a ↄ program.
A language where one writes code using music; the program is a MIDI file read by the compiler in terms of pitch intervals (the first language to function this way). The coder creates a song that also functions as a program. Designed with the songwriter in mind, allowing flexibility in how the music is constructed.
A language where any meaningful action takes place between the lines of code. Every command is a time-out, an instruction to sleep. This is the only thing accepted as a valid command. The other functionality of the language occurs based on how much time has passed. This means that waiting the correct amount of time might fire a print command, or adding a value to the stack. As a web-based language, one has to keep the program running in the active tab and not click away, or risk the wrong amount of time passing, causing the program to fail. Only rapt attention by the programmer (or an inactive computer) will let the program run as intended.
A tribute to poor definitions of programming language, as a programming languge itself. No one codes in it intentionally.
Launched in 2014, but with interviews conducted from 2011 on, esoteric.codes is my blog covering esolangs, code art, code poetry, and other systems that challenge that defaults of computation. Winner of the 2014 ArtWriters.org grant, and written in residence at New Inc.
Font and Unicode based experiments
A font built from the 52 strokes making up the 26 upper-case and 26 lower-case letters in the English language. Each word displayed in the space of a single letter.
A typeface of letters borrowed from dozens of alphabets, selected by 150k+ votes in a Unicode Hot-or-not.