Nick Monfort (2013) ・10 PRINT CHR$(205.5+RND(1)); : GOTO 10

Rina Chen’s living notebook on digital craft and design.


Software Studies Software studies uses and develops cultural, theoretical, and practiceoriented approaches to make critical, historical, and experimental accounts of (and interventions via) the objects and processes of software.

Computer programs process and display critical data, facilitate communication, monitor and report on sensor networks, and shoot down incoming missiles. But computer code is not merely functional. Code is a peculiar kind of text, written, maintained, and modified by programmers to make a machine operate. It is a text nonetheless, with many of the properties of more familiar documents. Code is not purely abstract and mathematical; it has significant social, political, and aesthetic dimensions. The way in which code connects to culture, affecting it and being influenced by it, can be traced by examining the specifics of programs by reading the code itself attentively.

Yet in the emerging methodologies of critical code studies, software studies, and platform studies, computer code is approached as a cultural text reflecting the history and social context of its creation. “Code . . . has been inscribed, programmed, written. It is conditioned and concretely historical,” new media theorist Rita Raley notes (2006).

The source code of contemporary software is a point of entry in these fields into much larger discussions about technology and culture.

In many ways, this extremely intense consideration of a single line of code stands opposed to current trends in the digital humanities, which have been dominated by what has been variously called distant reading (Moretti 2007), cultural analytics (Manovich 2009), or culturomics (Michel et al. 2010). These endeavors consider massive amounts of text, images, or data—say, millions of books published in English since 1800 or a million Manga pages—and identify patterns and trends that would otherwise remain hidden

Intensive reading of a single line, as opposed to “AI like learning”

This book takes the opposite approach, operating as if under a centrifugal force, spiraling outward from a single line of text to explore seemingly disparate aspects of culture.

explains how to read code deeply and shows what benefits can come from such readings. And yet, this work seeks to avoid fetishizing code, an error that Wendy Chun warns about (2011, 51–54), by deeply considering context and the larger systems at play.

this book takes a variorum approach, focusing on a specific program that exists in different printed variants and executes on a particular platform. Focusing on a particular single-line program foregrounds aspects of computer programs that humanistic inquiry has overlooked.

[!NOTE] variorum A variorum (short for cum notis variorum—”with notes of various persons”) is ==a scholarly edition of a text that compiles all known variant readings, manuscript versions, and critical commentary by various editors==. It allows readers to compare how a text has changed and been interpreted over time

CCS considers authorship, design process, function, funding, circulation of the code, programming languages and paradigms, and coding conventions. It involves reading code closely and with sustained and rigorous attention, but is not limited to the sort of close reading that is detached from historical, biographical, and social conditions. CCS invites code-based interpretation that invokes and elucidates contexts

This book also employs other approaches to the interpretation of technical objects and culture, notably software studies and platform studies. While software studies can include the consideration and reading of code, it generally emphasizes the investigation of processes, focusing on function, form, and cultural context at a higher level of abstraction than any particular code. Platform studies conversely focuses on the lower computational levels, the platforms (hardware system, operating system, virtual machines) on which code runs. Taking the design of platforms into account helps to elucidate how concepts of computing are embodied in particular platforms, and how this specificity influences creative production across all code and software for a particular system. This book examines one line of code as a means of discussing issues of software and platform.

Second, there is a fundamental relationship between the formal workings of code and the cultural implications and reception of that code. The program considered in this book is an aesthetic object that invites its authors to learn about computation and to play with possibilities: the importance of considering specific code in many situations.

focuses on the connection of code to material, historical, and cultural factors in light of the particular way this code causes its computer to operate.

code is ultimately understandable. Programs cause a computer to operate in a particular way, and there is some reason for this operation that is grounded in the design and material reality of the computer, the programming language, and the particular program.

The working of code is knowable. It definitely can be understood with adequate time

, code is a cultural resource, not trivial and only instrumental, but bound up in social change, aesthetic projects, and the relationship of people to computers. Instead of being dismissed as cryptic and irrelevant to human concerns such as art and user experience, code should be valued as text with machine and human meanings, something produced and operating within culture.

A user who is curious about the numeric value of a particular character, such as the capital letter A, can type PRINT ASC(“A”) and see the result, 65. A program can also use ASC to convert a character to a numeric representation, perform arithmetic on the number that results, and then convert the new number back to a character using CHR$.

To understand more about this, it’s possible not only to read the program the way one might go over a poem or other literary text, but also to modify the program and see what happens, as the Commodore 64 User’s Guide and RUN magazine explicitly invite programmers to do.

Emulators have been disparaged as inadequate attempts to mimic computers; while they do not capture the material aspects of older computers, they need not be considered as poor substitutes. Instead, an emulator can be usefully conceptualized as an edition of a computer.