How Can We Understand Code as a “Critical Artifact”?: USC’s Mark Marino on Critical Code Studies (Part Two)

What do you see as the relationship between critical code studies and platform studies as approaches to understanding digital artifacts?

These approaches are tightly intertwined. On the one hand, you can talk about code independent of platform. That happens in computer science classes all the time. However, if you take the example of a forthcoming book project, you will see how platform plays a key role or rather how the code can point to an understanding of the platform. Over the past year, I have been working on a book under contract with MIT to analyze a single line of code, 10 PRINT CHR$(205.5+RND(1)); : GOTO 10. This line of code generates an image that resembles a maze. I should say, rather, that the code generates this image when executed on a Commodore 64 because in addition to using BASIC, which came installed on C64s, it also uses a custom set of ASCII code called PETSCII, which included two characters (2 diagonal lines), to create this image. Our exploration of this code, then, has led us to discuss the platform and its context. So to talk about the code is not to exclude a discussion of the platform, hardware, or larger systems, but rather to use the code as the central axis.

Currently, the various approaches to digital objects are associated with specific critics, projects, and publishing series. As a result, “Software Studies” and “Platform Studies” will be defined by the kinds of things these critics publish, the kinds of readings they perform, and their own theoretical predilections. Comparing these first readings could skew the way the approaches are perceived. Taking the long view, I believe these terms will eventually become abstracted from the readings of those particular critics and will become part of rich assemblages of approaches to digital objects that look at the software, at the platform, at the hardware, and, of course, at the code.

What has been the response of programmers to the kinds of work you are doing?

Many of the people who do CCS readings are programmers, so I would say on the whole it has been very positive. You know, there are a lot of misconceptions about what humanities people do, particularly regarding interpretation. When I first began suggesting this idea to professional programmers some voiced skepticism because they thought I was advocating treating their code like poetry. They doubted such a study would yield very much. Once I explained that I was interested in, for example, why programmers chose one programming paradigm over another, their process of writing the code, or even why they were laughing when I would show them some code written by someone else, what was the joke – they started to get more of a sense of what I was after. Once we reach that understanding, they typically offer their own critical observations, reflections they’ve formulated but haven’t had an opportunity to discuss.

You’ve written, “The distance between the Haiku and the can of Coca Cola as texts marks the shift between the study of artistry and the broader study of signification.” So, what does it mean to study code as a kind of “signification”?

Code is a medium of communication, and like other communication substrates, its meaning is not restricted to what its author intended. The way someone writes a line of code, the language they choose, the programming architecture and paradigm, the code they borrow, the libraries they use – all these factors produce meaning in code. That is when code is taken as a sign system with its own material conditions.

At the 2011 CCS Symposium, UCLA Computer Science professor Todd Millstein explained that computer scientists already see code as an aspect of a program that is meant primarily for human readers. It is not, then, heresy to say that code is written for other people to read. By extension, once it is circulated, its meaning expands and changes depending on who is doing the readings. Jeremy Douglass gave a terrific demonstration of this in the second week of the Critical Code Studies Working Group (http://www.electronicbookreview.com/thread/firstperson/recoded), when he showed how two opposing sides of the Climate debate used the source code associated with Climategate to support conflicting points of view.

Code is a semiotic medium. It has rhetoric, style, art. It is a sign of a process and is in-process in terms of its own development. It circulates within discourse realms. It also bears marks of its authorship, signs of communal affiliation, remnants of its history, and notes and stubs for future development. Code has a special relation to the computational system in which it circulates. To make a legitimate utterance with code, one must comply with and conform to many restrictions that do not exist in, say, spoken language. Moreover, code is typically part of a chain of command, a layer of information represented in a form more easy for humans to read than machine language and binary (though my electrical engineering wife does tell binary jokes). Yet, as Wendy Chun has observed, source code is not the same as the executed code.

To explore the significance of code, though, as you suggested, is not merely to look at what it says but to delve deeply into what it does and how it does it. While the signs themselves can produce meaning, for example in their relationship to natural language constructs (Print, function, if, then, void) as well as in comments and variable names, by constituting the algorithms of the program, the code also represents the logic of the program. Here too lies significance in a way analogous to but not exactly like other sign systems. Discovering the particularities of how code signifies is one of the chief challenges of CCS.

What kinds of work do you see your center contributing to the growth of Critical Code Studies?

The HaCCS Lab has two chief goals: to develop and promote the methodologies of Critical Code Studies and to foster dialogue between computer science and humanities scholars. This summer we hosted our first conference and have several events planned for the coming academic year geared toward bringing a diverse array of scholars together. Also, in the Spring, we plan to host another online forum, the third in three years. More importantly, the lab will serve as a hub for scholars interested in working on CCS, a source for news on the latest publications, and perhaps even a venue for provocations in the current debates surrounding code. We are currently investigating publication venues and are examining opportunities to create new courses and to offer workshops for those interested in joining our broader research community.

Mark Marino is the Director of the newly launched Humanities and Critical Code Studies (HaCCS) Lab at USC, named for a field he initiated in 2006. He is the Director of Communication for the Electronic Literature Organization (http://eliterature.org), as well as a writer and critic of experimental interactive forms, including “a show of hands” (http://hands.literatronica.net) and the LA Flood Project. He blogs at Writer Response Theory and is Editor of Bunk Magazine, an online humor zine. He currently teaches for the Writing Program at USC. He is currently working on two collaborative book projects using CCS methodologies. His portfolio can be found here.

Comments

Mark… this post clarified something for me, about approaches to software studies. What you describe in focusing on the single line of C64 BASIC seems kind of like ethnomethodology or microsociology; it's about analysing particular utterances and the effects they achieve. What I've been interested in is more the ethnography of programmers—and language designers—looking at the particular and distinctive worldviews of, say, Perl people vs Ruby people or whatever (or, more starkly and closer to my own research: Unix people vs Smalltalk people). So… I'm wondering what you think of that distinction; does that sound distinct in terms of how you frame CCS? Is it just a methodological quibble, or is there a deeper difference of approach?

Thank you for your note. While I think the example that mention is distinct, in what you've written I don't perceive any discord or discontinuities with the projects of CCS. CCS projects so far vary widely in their emphases.

I will say I keep pushing for a bottom-line requirement of at least discussing some code in the course of current CCS projects in order to develop the methodologies. This is the chief omission I've noticed in the discussions of digital objects, with some important exceptions, such as the work of Adrian Mackenzie. However, talking about the ethos of a programming subculture is well within my view of CCS. In the 10 PRINT book we talk about the culture of programming that BASIC engendered. Also, in the Critical Code Studies Working Group we discussed Ruby on a thread started by Hugh Cayless but through a discussion of a commit on the Git project.

I was also struck by your formulation of “ethnomethodology” or “microsociology.” While CCS tends to engage with the ethnographic, from the historical and cultural contexts that surround the production and circulation of code, that is not nec. the ends of the project. That is, rather, where the critique can begin or that becomes part of the material for the critique, the critical engagement, the interpretation.

Excellent, Mark — “a bottom-line requirement of at least discussing some code in the course of current CCS projects” sounds entirely right to me. My new research, on Unix culture in early publishing innovation, is likely going to involve some analysis of troff macros — so look out, world.

I have felt timberland waterproof boots was my duty to persevere — to make every possible effort to complete the term of office to which you elected me. In the past few days, however, it has become evident to me that timberland boots uk no longer have a strong enough political base in the Congress to justify continuing that effort. As long as there was such a base, I felt strongly that timberland work boots was necessary to see the constitutional process through to its conclusion; that to do otherwise would be unfaithful to the spirit of that womens timberland boots deliberately difficult process, and a dangerously destabilizing precedent for the future. But with the disappearance of that base, I now believe that the constitutional timberland kids boots has been served. And there is no longer a need for the process to be prolonged. I would have preferred to carry through to the finish whatever the personal agony discount timberland boots would have involved, and my family unanimously urged me to do so. But the interests of the nation must always come before any personal considerations. From the discussions cheap timberland boots have had with Congressional and other leaders I have concluded that because of the Watergate matter I might not have the support of the Congress that timberland pro boots would consider necessary to back the very difficult decisions and carry out the duties of this office in the way the interests of timberland 6-inch premium boots will require. America needs a full-time President and a full-time Congress, particularly at this time with problems we face at home and abroad. To continue to fight through the months ahead for my personal timberland classic boots would almost totally absorb the time and attention of both the President and the Congress in a period when our timberland hiking boots focus should be on the great issues of peace abroad and prosperity without inflation at home. LJP