19 February 2012

Black Boxes, Black Blocs and the paradigm of availability

Why is it that we think of the digital age as one pervaded by 'black boxes'? This heuristic is widely taken as read both in terms of empirical descriptions of technology, the state, the market, everyday life today, and so forth, but also in terms of the possibility of a methodology to understand and explore it (Latour is an obvious example of this). Take, for example, a very interesting recent contribution by Alexander R. Galloway (2011):

Invisibility is not a new concept within political theory. But what I would like to explore here is a specific kind of invisibility, a specific kind of blackness that has begun to permeate cybernetic societies, and further that this blackness is not simply an effect of cybernetic societies but is in fact a necessary precondition for them... The black box: an opaque technological device for which only the inputs and outputs are known. The black bloc: a tactic of anonymization and massification often associated with the direct action wing of the left. Somehow these two things come together near the end of the twentieth century. Is there a reason for this? (Galloway 2011: 239).

Putting aside the rhetorical homology being alluded to here with its conjunction of black boxes and black blocs, and the problematic reduction of social and political actors to the functional methodology of the technical practices of the technologists – what we have is a more interesting question over the relationship between invisibility and visibility, or better, what I would call between means (invisible) and ends (visible). That is, we have a problem of orientation in postmodernity when the lodestones are themselves hidden behind an interface or surface which remains eminently readable, but completely inscrutable in its depths. We, of course, also have the complementary question raised in accepting the surface demands of a so-called radical group that attempts to remain invisible and therefore beyond the possibility of contestation to its so-called "non-demands" (a political attempt to lay claim to a technical convenience for political convenience). If the black boxing of technology is an urgent problem requiring contestation in postmodern capitalism, I suggest that the 'black blocing' of politics remains equally problematic and in need of opening up. On this note Galloway is decidedly ambiguous on how far the project of such a deconstruction can go:
To end, we shall not say that there is a new blackness. We shall not ratify the rise of the obscure and the fall of the transparent. But do not decry the reverse either. Simply withdraw from the decision to ask the question. Instead ask: what is this eternity? What is this black box – this black bloc – that fills the world with husks and hulls and camouflage and crime? Is it our enemy, or are we on the side of it? Is this just a new kind of nihilism? Not at all, it is the purest form of love (Galloway 2011: 249).
In the end we are left with a rather romantic conceptualisation of opaqueness as the "purest form of love". But what this means for the project of black boxes and black blocs is left unexplained, partially, perhaps, because of sympathy with the possibility of the black bloc as representative, if not in actuality, a universal class, stretches the notion of black blocs as the site of resistance within "cybernetic society" too far. Instead I think we should make the logical move that Galloway suggests but is reluctant to pursue: that black boxes and black blocs are both symptomatic of postmodernity (what he calls "cybernetic society") and therefore both need to be opened up and their "mechanisms" exposed for contestation and debate.

In this vein I want to explore the notion of availability in relation to this idea of surface. It is helpful here to think of the way that computationality has affordances that contribute to the possibility of availability in terms of the construction and distribution of a range of commodities. Computationality I think of as the very definition of the framework or condition of possibility for social and political life today, that is, computationality is an ontotheology (Berry 2011). Here I am thinking of a commodity as being available when it can be used as a mere end, with the means veiled and backgrounded. This is not only in technical devices, of course, and includes the very social labour and material required to produce a device as such. But in the age of computationality I think it is interesting to explore how the surface effects of a certain form of computational machinery create the conditions both for the black boxing of technology as such, but also for thinking about the possibility of political and social action against it. I will call this the paradigm of availability. Upon this surface we might read and write whatever we choose, and on the black bloc, we are also offered a surface to which we might read the inscrutable however we might wish – politics itself as consumption.

What is striking about the paradigm of availability, made possible by computationality, is that it radically re-presents the mechanisms and structures of everyday life, themselves reconstructed within the ontology afforded by computationality. This moment of re-presentation is an offering of availability, understood as infinite play and exploitability (interactivity), of a specific commodity form which we might call the computational device. Here I am thinking of the computational device both in terms of its material manifestations but also as a diagram or technical imaginary. That is it is not only restructuring the mechanisms and structures, but the very possibility of thinking against them. Here the notion of the political itself requires reconciliation within the paradigm of availability and is very suggestive in relation to the black bloc itself.

So what is to be done? First and foremost would be a clear critique of both the technical and the political moment of black-boxing. It is clear that the surface manifestation of the device, or the politics, is not enough for us to understand and critique what is, at least in terms of this theorisation, an ideological manifestation of a computational ontotheology being instantiated in a number of medial moments (technology, politics, social movements, the environment, the state). Second, we need to deconstruct this manifestation of the commodity form as ends without means, in effect an example of commodity fetishism.  Lastly, this critique implies a new form of literacy, which elsewhere I have called 'iteracy', able to understand and intervene directly in the technological system we inhabit, but also to ensure that black-boxing becomes glass-boxing, and political black blocs become democratic "glass blocs".


Berry, D. M. (2011) The Philosophy of Software: Code and Mediation in the Digital Age, London: Palgrave.

Galloway, A. R. (2011), Black Box, Black Bloc, in Nyes, B. (ed.) Communization and its Discontents: Contestation, Critique, and Contemporary Struggles, New York: Minor Compositions.

06 February 2012

Iteracy: An attempt to read, write and build code in Zajal

As part of the development of the notion of 'iteracy' I have attempted to create a code version of a previous text post on Blogger using the new language Zajal (which apparently lets you code like a poet :-). I chose Zajal mainly because it is simple to install, has a really nice iterative structure (which follows from the focus on iteracy) and also it has excellent graphics capacities. This is nice for teaching as it allows students to get instant feedback on their work, but also to produce visually interesting and sophisticated programmes once they have learned the basics. This makes Zajal very good for live coding and real-time visuals.

The aim of the code listed below is to allow the code to be read fairly easily, but also for it to have the dual function of (1) highlighting the practice of reading code as an approach in the humanities and social sciences, but also (2) to run as code which can then be edited, deconstructed, hacked and remediated to understand what the code does and how it works.

Zajal is great because it operates like an interpretative language, and therefore avoiding the code-build-run process that can be off-putting to beginners. This means that when the file is edited and saved, Zajal automatically picks up the changes and displays them in its window giving immediate feedback on the code. This encourages creativity and experimentation, but also makes coding fun and exploratory. Lastly, the language is built on Ruby which seems to make hackers and programmers who know about such things super happy :-)

Code Basics

The code below essentially runs in two main loops (provided by Zajal) the draw loop and the mouse_down loop. The draw loop is called every time the display window is refreshed and the mouse_down event is called, not unsurprisingly only when the user presses the mouse button. The draw loop then keeps the screen updated, painting the background image made up of circles, but also printing the text and the current 'answer' to the question. The mouse_pressed event merely iterates through each of the answers by matching the subtitle with the description arrays defined at the very beginning of the code.

Useful links: 

The running code recorded and uploaded to Youtube (music overdubbed in Youtube)

The 'Iteracy' Code in Zajal 

Also the raw file is available here

Mark Marino iterated the code and a here is link to the pretty code on GitHub. He writes:
So here's my re-iteration of your code argument in which I've mangled things a bit by chopping your definitions up and then randomizing the assemblage of the definition. Additionally, I set it up so the definition expands as it goes to re-inforce this notion of iteration (not that iteration necessitates expansion -- and idea your circles and loops re-inforce perhaps better) (Marino 2012, private forum).

Naturally I felt I had to re-iterate Mark's iteration, now called 'Iterated'. Most noticeably I've improved the typefaces by using proper truetype fonts (Impact and Georgia) and played around with their position and look. This makes it a lot more readable - especially when uploaded to youtube. I've also placed some nice text in the bottom of the screen.

CODE SYNOPSIS: This is the beginning of starting to develop a depth model in the code. In the first iteration the screen and the code where pretty identical in functioning (i.e. the code printed the text as is, with minimal formatting and hence was relatively easy to follow). However, in this latest version we are now controlling the screenic representation of the underlying text - in effect we are now "painting" onto the screen. This means that there is now two versions of the text: (1) in the source code, and (2) on the screen. We could use Aarseth's notion of texton (source code text) and scripton (screenic text) to help us clarify this distinction. This is the beginning of developing a model-viewer notion of the code (see Model/view/controller (MVC) ) where we build an underlying data model, and then use the viewer to paint the image on the screen (the controller is the mouse_pressed loop). Of course, I am simplifying here, and the code remains rudimentary, but I think this would be the natural direction of travel. Gist code here

This code was written as a contribution to the Critical Code Studies Workgroup 2012 organised by Mark C. Marino.


Disqus for Stunlaw: A critical review of politics, arts and technology