Notes for Mark Marino “Critical Code Studies”

Key concepts: .

Engage phenomenological and hermeneutic approaches to philosophical study of code.

Related theorists: Matthew Fuller, N. Katherine Hayles, Sondheim.

Consider this the founding text of my specialization, in which advance the practice of programming as a state of the art form of digital humanities scholarship encouraged by the theory.
Its website cyberspace presence deserves a hyperlink (PHI://criticalcodestudies.com/wordpress/), although it does not obviously reference this text, and discussion (PHI://hastac.org/forums/hastac-scholars-discussions/critical-code-studies/).

My approach to critical code studies working code encourages practical examples: why not C, if this implies you should know a little Lisp?

(np) What could be a more appropriate language for this activity than Lisp, a family of algebraic list processing languages developed for artificial intelligence (McCarthy 1979)?
(np) The computer here merely shuffles the words as so many strings of data. It does not interpret, only uses those strings. However, those words in quotation marks are significant to us, the humans who read the code.

Introduce search for and production of meaning by simultaneously embedding philosophical investigation and training exercises into working code: provocative suggestion playing off Turkle.

(np) While we examine programming architecture and admire modularity and efficiency, the study of computer code does not currently emphasize interpretation, the search for and production of meaning.
(np) People project humanity onto the computer, but is it possible that with regard to coding we do just the opposite and strip the code of its human significance, imagining it is a sign system within which the extensive analyses of semiotic systems and signification, connotation, and denotation do not apply?

Covers controversy between Cayley and Mez mediated by Raley: what about intrinsic value of working code versus what is only consumable, alluring, to humans?

(np) Regardless of whether or not these texts compile at the level of the computer, codework, in Raley's analysis, disrupts the way we as readers compile and interpret these coding symbols in relation to their broader use and operation in the technologies that would otherwise process us without interruption.
(np) Cramer's broader formulation allows him to involve various objects that long predate the saved-state, digital computer.
(np) While computer scientists can theorize on the most useful approaches to code, humanities scholars can help by conjecturing on the meaning of code to all those who encounter it both directly by reading it or indirectly by encountering the effects of the programs it creates.
(np) This hidden language is what we can uncover, explore, access, and engage. . . . For Cayley, however, the “code” of most importance is that which makes the signifiers flicker, that which is “programming the signifier.”

Critical Code Studies

Engage phenomenological and hermeneutic approaches to philosophical study of code, architecture, and documentation; at critical programming intensity insist practitioners develop liftetime portfolio of and by working code, that is, engage in system integration projects they use in their everyday and scholarly practices.

See if Marino reaches or implies restricted definition of critical software that Berry does as self-revealing, necessarily epistemologically transparent reverse engineering engendering to which I emphasize educational aspect for those learning how computers work to be better philosophers and humanities theorists.

Is there an entry point for considering literal machine societies as well?

(np) Critical Code Studies (CCS) is an approach that applies critical hermeneutics to the interpretation of computer code, program architecture, and documentation within a socio-historical context. . . . Critical Code Studies follows the work of Critical Legal Studies, in that its practitioners apply critical theory to a functional document (legal document or computer program) to explicate meaning in excess of the document's functionality, critiquing more than merely aesthetics and efficiency. . . . Through CCS, practitioners may critique the larger human and computer systems, from the level of the computer to the level of the society in which these code objects circulate and exert influence.
(np) My own critical approach will stress meaning, implication, and connotation, though not in terms of a self-contained system of meaning but with respect to the broader social contexts.

Explicit statement of role of programmers points to niche for my work to help fill.

(np) These analytic projects will require programmers to help open up the contents and workings of programs, acting as theorists along with other scholars, as they reflect on the relationships between the code itself, the coding architecture, the functioning of the code, and specific programming choices or expressions, to that which it acts upon, outputs, processes, and represents.

Do not limit to open source practices, code written as literature, or literate programming (Knuth).

(np) Software Studies [the book] gestures towards a more formalized practice of (and quite a few tools for engaging in) Critical Code Studies.
(np) The way this sign system circulates within actor-networks or computers and machines is also the way it develops connotations worthy of interpretation.

What can be interpreted?

Takes stand against Cayley and others who insist the code to study must be executable; everything surrounding the code and resembling code can be interpreted.

(np) Everything. The code, the documentation, the comments, the structures – all will be open to interpretation. . . . Within CCS, if code is part of the program or a paratext (understood broadly), it contributes to meaning. . . . Within the code, there will be the actual symbols but also, more broadly, procedures, structures, and gestures.

Paratextual features, and multiple audiences both machine and human.

(np) The history of the program, the author, the programming language, the genre, the funding source for the research and development (be it military, industrial, entertainment, or other), all shape meaning, although any one reading might emphasize just a few of these aspects.

Why study the paint?

Compare studying code to musical score rather than paint from which art is made.

(np) The clearer analogy is the analysis of a musical score, a play script, blueprints, circuit diagrams, or any print text, since none of these can be processed or executed without being read. . . . In any event, when Raley invokes Adorno regarding the emphasis on the score over the music, she cautions us against emphasizing the code at the expense of the processes, the performance of the code.

The ABCs of PERL

If programming literacy is required, how to develop it: both early education, imagining a society in which children learn programming as they do other basic skills, and more crucially adult education for humanities scholars, combined with drawing philosophers from among the ranks of technologists.

Calling for development of programming literacy comparable to development of skills required for literary criticism.

(np) Key to Critical Code Studies will be the development in practitioners of programming literacy.

Code (most of it) is not poetry
(np) There are implications in the way a code tries to perform a function that bear the imprint of epistemologies, cultural assumptions about gender, race and sexuality; economic philosophies; and political paradigms.

Code not poetry: frequent and multiple, uncited authors, parts of a machine.

(np) Code frequently has multiple authors, mostly uncited. To use a common algorithm could be thought of as using a screw. Mechanics do not cite the inventor of the screw every time they use one, although programmers at times attribute code to particular sources. Nonetheless, literary analysis has found other means of involving authorship, including the Foucauldian notions that the authors themselves are assemblages of influences.

Current Practitioners of Critical Code Studies

Prior work by Raley, Montort, Mateas, Wardrip-Fruin, and Software Studies contributions.

(np) Too few critics have dealt with specific lines of code or aspects of programming languages even when analyzing codework. The critics reviewed below have begun the process of analyzing specific programming practices, computer languages, and the very symbols of code in the kinds of close readings necessary for CCS to be engaged in a thorough reading of these texts.
(np) Double coding becomes a means for describing the multiple meanings inherent in code-just as it is inherent in natural language-adding the computational realm as another milieu of signification.
(np) "A Box Darkly" opens up the black box of software to interpretation. Through this intervention, Mateas and Montfort demonstrate that programmers can signify through stylistics and play in ways that go far beyond mere questions of efficiency and legibility, opening the analysis of code to other criteria than utility and grace of technique.

May need to rethink how to interpret code beyond specific, intentionally artistic renderings, for which Fuller Software Studies a major step; also Hayles My Mother was a Computer.

(np) In addition to analyzing the way codeworks function when executed, Raley [in "Code.Surface || Code.depth"] interprets specific coding symbols, the "double pipe, the logical 'or' condition (||)," which she has already set into play in her title. . . . The challenge will be to apply such readings to less intentionally artistic programs.
(np) Fuller's
Software Studies offers a major step towards such analysis. The entries provide interpretive frameworks, and several model specific Critical Code Studies techniques. . . . The readings contextualize the conceptual tropes of programming and software within a broad historic, literary, and cultural analyses.

Reading revolution of code suggested by Hayles requires renewed interest in learning programming.

Hayles reading of object-oriented languages in relation to procedural languages, calling for leserevolution of code; Tanaka-Ishii more rigorous approach.

(np) Although not examining one specific piece of code, Hayles [in My Mother was a Computer] develops a reading of object-oriented languages in relation to procedural languages motivated by similar concerns to Kittler's. . . . This call from Hayles and others envisions a leserevolution of code, a moment when code comes to the people.

Sondheim on relationship between coding and encoding.

(np) Notably in "On Code and Codework" (2006) Sondheim interrogates the relationship between "coding" and "encoding," marking one as the practice of the programmer and the other as the process of the program when handling input.

Versions of critical code studies appearing in dissertations by Wardrip-Fruin, Douglass, Marino himself, Black, Swartz.

(np) Other versions of Critical Code Studies, though not all called such, have been appearing in dissertations, including the works of Noah Wardrip-Fruin, Jeremy Douglass, and myself. . . . Maurice J. Black has written one of the first dissertations on the issue. Also, notably, Paul Swartz, a Ph.D. candidate at Hampshire College, is currently pursuing the question: "what would it mean to treat computer software as a 'literature?'"

Affinity with Hayles media-specific analysis, with hardware (and the yet to be named platform) studies at its limit.

(np) Critical Code Studies shares affinities with other types of what Hayles calls media-specific analysis. . . . At the limits of code studies are, indeed, hardware studies.

/ / Cautionary Comments

Hints at methodologies of Latour and Sterne, embracing the large social context and the technical details of many network-specific discourses.

(np) Interpretation requires reading an object in its (post)human context through a particular critical lens. This context involves human machines operating in actor-networks. Thus, a simple looping subroutine, say, might remind one of the eternal return of the repressed, but unless that metaphor has significance with respect to the particular, material context of the script itself, the interpretation is not very significant. However, if one found a recursive loop in a program designed to psychoanalyze its users, perhaps a connection could be drawn between recursion and the psychoanalytic view of the return of the repressed.

The Moment is Critical

Slogan let us make the code the text.

(np) Let us make the code the text.


Acknowledgements:


http://www.electronicbookreview.com/thread/electropoetics/codology/


Marino, Mark C. "Critical Code Studies." Electronic Book Review (2006): ReferenceSearch. Web. 4 Jan. 2013.