Exploit, Code-Switch, Glitch
I’d like to open with two quotes to situate my paper within a DH, perhaps para-DH discourse, that is primarily speculative in its intervention. First, a quote from [SLIDE] “Critical Unmaking: Toward a Queer Computation,” by Jacob Gaboury, we must “acknowledge how futurity has been colonized by the cultural logic of contemporary technology, and as such [contemporary technology] cannot serve as the primary vector for queer computational critique. Thus, rather than mobilize queerness as a useful technological apparatus, we might deploy it as part of a critical practice of unmaking.” Second, a quote from Gloria Anzaldúa’s “How to Tame a Wild Tongue”: “We speak a patois, a forked tongue, a variation of two languages” (35).
Inspired by these texts, I want to explore the glitch aesthetic as a post-screenic discourse in DH praxis. Two questions underly the work that follows. What does it look like to critically unmake via text-based glitches? How does one speak with a forked tongue when code and natural languages combine?
I approach these questions from a visual-linguistic standpoint, and speak to two levels of their operation. The first is perhaps best described as an aesthetic intervention at the level of critical code studies, or, as Mark C. Marino describes it, [SLIDE] “an approach that applies critical hermeneutics to the interpretation of computer code, program architecture, and documentation within a socio-historical context.” What I am interested in examining here is the representation of natural languages by computer languages (specifically Unicode), but also natural languages’ ambiguation by computer languages in the production of aesthetic objects. The second intervention follows from the first. There is an architectural play at work in text-based glitch art, specifically where natural languages and the code that manifests them alter the shape and function of their interface. I am interested in thinking the glitch aesthetic in particular as one that not only identifies the limitations of our most common interfaces, but one that speaks an erratic and living visual language of design. In this text/code/text translation, the language of the glitch aesthetic manifests as computer code transforms letters, numbers, diacritical marks, and more, into the building blocks of aesthetic objects. This process speaks back to the form and function of language itself. It is a practice of critical unmaking, and one that I identify as a process of “code-switching,” forking the interface as it evolves.
Critical Code Studies (CCS)
In 2006, Marino theorized CCS as a sub-discipline of (DH, software studies, media archaeology, etc.) with reference, and in some instances by contrast, to an aesthetics of code made manifest by figures like John Cayley and Mez Breeze. Marino is concerned with the functionality and efficiency of code, but he is also concerned with how code manifests as an aesthetic object. Marino cites Rita Raley on this point, arguing that code’s aestheticization need not result in an executable process, especially as it brings what’s hiding in the background of our favorite websites, apps, and so on, to the foreground. The question of what computer code is when it doesn’t produce an executable command, is therefore a linguistic problem as much as an aesthetic one. If code is not necessarily an operable set of symbols and characters, what is its status as a language? Marino draws a helpful distinction between what he calls codework and CCS on this point, stating: [SLIDE] “I would like to propose that we no longer speak of the code as a text in metaphorical terms, but that we begin to analyze and explicate code as a text, as a sign system with its own rhetoric, as verbal communication that possesses significance in excess of its functional utility.” Codework, then, is situated as a metaphorical engagement with coding languages in their function as a language. Speaking diagrammatically, codework is often characterized as the surface level representation of code in Marino’s argument, which is also characterized as a literary exercise. CCS, on the other hand, situates code within a varied landscape of semiotic systems, showcasing its own syntactical rules and grammar.
The problem I want to address results from the combination of codework with CCS. If code need not result in an executable command in order to be considered an extension of a coding language, how can we think code’s representational value “on the surface” as an extension of a particular coding language’s morphology? On the one hand, the answer seems to be a simple one. The grammar and syntax of a particular coding language does not manifest on the interface it creates, therefore the two are divided. On the other hand, there are moments in which the representational value of a particular language’s grammar and syntax upsets the interface that manifests it, demanding that we clarify what we mean when we talk about code as a language and what its linguistic properties are.
For the work I am interested in examining, Marino’s focus on what Nick Montfort calls “obfuscated code” and what Michael Mateas calls “weird languages” is perhaps the most pertinent. For Monfort, obfuscated code is often dense and indecipherable. It, in Mateas’ words, [SLIDE] “exploits the syntactic and semantic play of a language to create code that, often humorously, comments on the constructs provided by a specific language.” Weird languages are those in which [SLIDE] “programmers explore and exploit the play that is possible in programming language design.” They, too, often comment on the features of existing coding languages. The allure of these practices for both theorists is primarily characterized by their ability to “double code,” or their ability to execute valid programs in two or more coding languages. Obfuscated code and weird languages blend coding languages as a means of making syntactic and semantic commentary about code in code itself.
I don’t want too get caught up in the examples that Montfort and Mateas provide to articulate these concepts. They are difficult and specialized. Rather, I’d like to turn to a linguistic problem that is situated somewhere between thinking code’s representational value on the surface, on the one hand, and theorizing the function of double coding, on the other–making the discourse of CCS somewhat more complex, but also more precarious. [SHOW GLITCHR’S TWITTER ACCOUNT] Take Glitchr’s ‘tweet art’ as an example. Since 2011, Glitchr has exploited varying social media’s Unicode renderings, a digital language database comprised of character encodings that modify depending on their visualization (by way of a brief definition: Unicode encodes all of the characters that comprise a symbol, rather than a symbol itself, and leaves a given character’s visual rendering up to a given platform to manifest it, i.e. Microsoft Word, Twitter, Facebook, etc. EXAMPLE OF EMOJIS). At its base, Unicode operates as a set of encodings that rely on other languages to manifest on screen. The Unicode consortium’s motto, so to speak, is [SLIDE] “Unicode provides a unique number for every character, no matter what the platform, no matter what the language.” In this way, Unicode is a global standard for encoding and representing text in almost every interface we use on a computer, but it also offers an alternative to the focus on “double coding” in CCS. At the backend, Unicode does not comment on the grammar or syntax of coding languages themselves, it is the numeric value that stands between coding languages and natural languages. It is the operator and proof that digital languages are multi-lingual. On the frontend, Unicode is used primarily for text processing, but it can also be used to inform a given website’s features and layout.
What glitch executes via various programming languages is therefore a variation on “code switching,” literally switching the Unicode encoding in order to affect the interface. It is the inherent process through which programming languages combine to manifest text across various platforms and languages [SHOW EXAMPLE].
Glitchr’s tweet art is a stark visual expression of this process: it mobilizes Unicode encodings to alter the text space of his Twitter account by creating text-based shapes and architectural doodles.
Figure 1 Glitch art featured on Glitchr’s Tweet deck depicting a lightning bolt with shapes in Unicode
Source: Twitter, 2014
Consequently, Glitchr’s principal aesthetic intervention is to use social media’s coding languages to alter its architecture via the digital rendering of text, even if only briefly.
The takeaway here is that if we are to think glitch art as an intervention in CCS, then text-based glitch art calls into question what we mean when we talk about language in and of a digital milieu. This is precisely what Rosa Menkman proclaims in her Glitch Studies Manifesto: [SLIDE] “Once the glitch is understood as an alternative way of representation or a new language, its tipping point has passed and the essence of its glitch-being is vanished. The glitch is no longer an art of rejection, but a shape or appearance that is reorganized as a novel form (of art).” The language of the glitch aesthetic to which Menkman refers is difficult to pin down. Certainly, it carries with it a technical vocabulary that is associated with various coding languages, hardware, and software. Moreover, the art form’s relation to code and the technologies that manifest it complicate any order, command, or representative set of characters that would form a universal ‘glitch grammar.’ In the instances of glitch art’s visual representation, code is the art form’s double, so to speak; code is what manifests glitch art in digital landscapes as glitch art often exposes the presence of ‘code switching’ that brings it into being. However, Menkman’s claim to understanding the art form as a language itself is far more tenuous than these techno-linguistic aspects of the medium. Certainly, the viewer cannot simply understand glitch art as one would a natural language with an alphabet and established syntax. Nor is it a coding language with similar characteristics. The visual representation of glitch art often intervenes at multiple levels of articulation: in the architecture of a website, in the compositional elements of an image, and in the organization and design of text by the coding languages that manifest them. Where the linguistic and spatial elements of glitch art are broadly articulated, then, the medium must be understood on at least two overlapping registers.
In a DH language, this process is quite easily identified as a process of critical unmaking. The act of code-switching dismantles the interface that is given to us as it simultaneously participates in a living language that is both multi-lingual and architecturally informed. But where artists like Glitchr and Menkman work to fork the interface, the variations they inject into it perhaps also come at a cost. The violence imposed by our interfaces is met by the violence glitch commits in return. Consider a line from “QueerOS: A User’s Manual”: “a more productive interface would be expansive, proliferating the relationality allowed for by the inter-face, its inter-activity, its nature as that which is between or among, that which binds together, mutually or reciprocally […] If there is an object to be exploded, it is perhaps the site at which the interface takes place, and those forms of action that qualify as legible to the operation of our system.”
The proposition for CCS here is twofold. First, when we explicate code as text, what manifests on the surface can be an extension of a particular coding language’s morphology. Glitch art is the artifact and proof that Unicode remains functional within the coding languages that manifest it albeit dysfunctional at the level of natural languages. It is the artifact and proof that a conversion has taken place between the characters to which Unicode refers and the visual language that one creates by manipulating Unicode encodings at the level of the interface. This set of concerns underscores a kind of linguistic precarity that still renders Unicode and other coding languages functional, but points to a kind of representational dysfunctionality. Second, glitch art requires that we reimagine what what we mean when we say that we want to explicate code as a language, especially where code, as Marino claims, is a mode of [SLIDE] “verbal communication that possesses significance in excess of its functional utility.”