Matthew Fuller (2003), Behind the Blip: essays on the Culture of Software, New York: Autonomedia. First published on nettime (and later in Olga Goriunova & Alexei Shulgin (2002) eds., 'Software Art: Thoughts', Read_me festival 1.2, catalogue, Moscow: Rosizo, State Centre for Mudeums and Exhibitions, pp.35-43), this essay stresses the need for critical work in this area of software production that goes beyond treating software as merely a functional tool. The issue is simply that that there is more work to be done, old work to be rediscovered and new analogies to be struck. Moreover it needs to be emphasised that software is thoroughly a cultural phenomena. Andreas Broeckmann puts it this way: 'Software has, over the last few years, increasingly come into view as a cultural technique whose social and political impact ought to be studied carefully. To the extent that social processes rely on software for their execution [...] it is necessary to understand the procedural specificities of the computer programmes employed, and the cultural and political 'rules' coded into them' [Andreas Broeckmann, 'Notes on the Politics of Software Culture' nettime, sept 4/2003, written for the upcoming Next5Minutes4 reader]. Much conventional research in this area still relies on Human Computer Interface (HCI) and the (positivist) work of B. F. Skinner imposing a functionalist model appropriate to the tendency for a functionalist understanding of software itself. Clearly we need to develop more analytical approaches to the making of software that recognises its process of becoming - as for Fuller 'software is always an unsolved problem' (2003:15). Fuller explains that an understanding of 'software as culture' is nothing new. Programmers have provided accounts of their practice that articulate programming in relation to other social, cultural and aesthetic practices - he cites the work of Larry Wall 'Perl, the First Postmodern Computer Language' [http://www.wall.com/larry/] and Ellen Ullman Close to the Machine [San Francisco: City Lights 1997] as two notable examples [note: I might tentatively add our 'The Aesthetics of Generative Code' to this list]. He quotes Ullman: 'I'd like to think that computers are neutral, a tool like any other, a hammer that can built a house or smash a skull. But there is something in the system itself, in the formal logic of programs and data, that recreates the world in its own image.' (2003: 29; in Ullman 1997: 89) In texts such as these, software is no mere tool but is 'composed' of cultural aspects that Fuller sees as in opposition to the idealist tendencies in computing that expresses a purity of form in numbers and the abstractions of 'pure' mathematics (2003:15). Any 'theory' software would require an understanding of the complex interactions of processes, undertaking theorisation 'able to operate on the level of a particular version of a program, a particular file-structure, protocol, sampling algorithm' and so on (2003: 17) - from the general to the particular in other words. In Feynman Lectures on Computation, written in 1984, the operating system of a computer is described as an assemblage of levels: 'This goes from level 1, that of electronic circuitry - registers, gates, buses - to number 13, the Operating System Shell, which manipulates the user programming environment. By a hierarchical compounding of instructions, basic transfers of 1's and 0's on level one are transformed, by the time we get to thirteen, into commands...' (quoted in Fuller, 2003: 21). Many more levels exist once the computer is interfaced and networked to other machines. Any criticism must address these levels and interactions as the 'unfolding of the particular' and emphasise that any one object operates in 'participial' terms - to describe something that is both a thing and a motion (Fuller, 2003: 18 - using a term from Elaine Scarey that describes a term that is both a verb and a noun). This is somewhat demonstrating in thinking of software as a form of digital subjectivity (drawing upon the work of Deleuze and Guattari) in the way that 'software constructs ways of seeing, knowing, and doing in the world that at once contain a model of the world it obstensibly pertains to and also shape it every time it is used' (2003:19). In this way, software (like other communications media) can be seen to interpellate us, call us to order through the workings of the 'ideological state apparatus' (using the formulation of Althusser). Fuller sees 'the task of such practical and critical work to open these layers up to the opportunity of further assemblage' (2003: 21). Although critical of the tendency to reduce human agency to the relays of a circuit board, Fuller draws an analogy here to the work of Deleuze and Guattari and their 'thought synthesiser' - 'the synthesiser makes conceptualisable the philosophical process, the production of that process itself, and puts us in contact with other elements of matter. In the machine composed by materiality and force, thought travels, becomes mobile, synthesises.' (Fuller 2003: 21-2; from A Thousand Plateaus, p. 343). For my work, I would describe a similar process in terms of generative processes wherein new formations are endlessly reproduced, and draw attention to the idea of synthesising in the dialectical critical tradition. In this model the human subject is dealt with more sympathetically as the potential agent of change, who assembles the apparatus (as much as is assembled by it). To quote Ullman, again from Fuller: 'We think we are creating the system but the system is also creating us. We build the system, we live in its midst, and we are changed.' (2003: 29; in Ullman 1997: 89) Importantly, Fuller calls for a criticism that does not operate at some distance from practice but that takes account of practice, and that is a practice in itself of course. He does this through presenting examples of practices and categories that are not exclusive but simply ideas in progress - here the subtitle of the essay in brackets helps our understanding of the status of the project: 'some routes into "software criticism," more ways out'. Any criticism of the categories themselves is thus a normal part of the expected critical work to be engaged. (As you might guess, I do not think the categories particularly productive). The first category is 'critical software' designed to undermine normalised understandings, operating through two key modes: firstly, 'by using evidence presented by normalised software to construct an arrangement of the objects, protocols, statements, dynamics, and sequences of interaction that allow its conditions of truth to become manifest,' and secondly, 'in the various instances of software that runs just like a normal application, but has been fundamentally twisted to reveal the underlying construction of the user, the way the program treats data, and the transduction and coding processes of the interface' or even by adapting or hacking into existing software (2003: 23). These approaches, for Fuller, move beyond institutional critique to a critical understanding of the operations of the software itself. The second category is 'social software' built by and for those excluded from mainstream software production, provided a subculture of software production with a different agenda. Related to this, is the software that is developed and changed through social networks of users and programmers, that emerges from a different set of social relations (2003: 24). The free and open-source software movements are examples of this approach, where developers form 'a socio-technical pact between users of certain forms of license, language, and environment' (2003: 24). In this, the relationship of open source software development and the relations of production open up new configurations and contradictions of labour-power and criticism. The labour invested in making the software is made visible and public unlike proprietary software but the control of the means of production is still managed according to capitalist principles. [see work on immaterial production also]. Also in this way, software is developed by a fairly closed community of 'co-producers', those actually using it and with the ability to make and change it - but do they mistakenly continue to exploit their own labour by not selling it? Clearly this is a much longer discussion about the politics of free software and its take-up by large corporations. For Fuller, the problem lies in the closed loop (what Fuller calls 'open-source internalism' 2003: 25) between developers and users - only when they are one and the same does this system actually work for mutual benefit - it needs to be expanded to be more widely available to other users. The same point could probably be made about the operating system Linux, that without adequate instruction, the benefits of free software simply cannot be entertained (note: some cultural activity addresses this by recycling redundant technology, installing linux and training users to run it - such as RTI - breaking down the 'culture of experts' as Fuller puts it, 2003: 26). This is where social software needs to make sure it operates inclusively and can rightly call itself 'open' and 'social'. To do this, a critical approach needs to be developed that takes account of the layers and processes involved. The third category is 'speculative software' that generally explores the potential for new forms of software, creating new connections between data, machines, and networks. Fuller takes this as the 'reinvention of software by its own means': 'Software whose work is partly to reflexively investigate itself as software, Software as science fiction, as mutant epistemology.' (2003: 30). Antagonistic social relations between the different agencies involved in software can be made visible. Fuller describes these potential spaces as 'blips', spaces where politics lies behind the blip: 'These blips, these events in software, these processes and regimes that data is subject to and manufactured by, provide flashpoints at which these interrelations, collaborations, and conflicts can be picked out and analysed for their valences of power, for their manifold capacities of control and production, disturbance and invention.' (2003: 30) To Fuller, speculative software skews and misreads surface appearances and makes visible the 'dynamics, structures, regimes, and drives of each of the little events which it connects to'. Firstly, speculative software 'operates reflexively upon itself and the condition of being software', secondly 'it is to subject these blips and what shapes and produces them to unnatural forms of connection between themselves' making them operate out of control, and thirdly, 'it is subject to the consequences of the first two stages to the havoc of invention' (2003: 32). It is speculative software that arguably comes closest to what can be understood as an artistic approach to software (this is the position of Andreas Broeckmann in his essay 'Notes on the Politics of Software Culture', nettime, sept 4/2003, written for the upcoming Next5Minutes4 reader].