Category Archives: computer science

New Book: Life in Code and Software: Mediated life in a complex computational ecology

Life in Code and Software (cover image by Michael Najjar)

New book out in 2012 on Open Humanities PressLife in Code and Software: Mediated life in a complex computational ecology. 


This book explores the relationship between living, code and software. Technologies of code and software increasingly make up an important part of our urban environment. Indeed, their reach stretches to even quite remote areas of the world. Life in Code and Software introduces and explores the way in which code and software are becoming the conditions of possibility for human living, crucially forming a computational ecology, made up of disparate software ecologies, that we inhabit. As such we need to take account of this new computational envornment and think about how today we live in a highly mediated, code-based world. That is, we live in a world where computational concepts and ideas are foundational, or ontological, which I call computationality, and within which, code and software become the paradigmatic forms of knowing and doing. Such that other candidates for this role, such as: air, the economy, evolution, the environment, satellites, etc., are understood and explained through computational concepts and categories.




Code, Foucault and Neoliberal Governmentality

For Foucault, Neoliberal governmentality is a particular form of post-welfare state politics in which the state essentially outsources the responsibility for ensuring the ‘well-being’ of the population. The primary recipient of this responsibility is derived from a strengthened notion of the subject, as a rational individual. Indeed, these new subjectivities are expected to ‘look after themselves’. This form of governmentality has an extremely diffuse form of rule whereby strategies and imperatives of control are distributed through a variety of media but are implicated in even the most mundane practice of everyday life. As Schecter writes,


Foucault regards the exercise of power and the formalisation of knowledge to be intimately bound up with the constitution of living individuals as subjects of knowledge, that is, as citizens and populations about whom knowledge is systematically constructed… Subjects are not born subjects so much as they become them. In the course of becoming subjects they are classified in innumerable ways which contribute to their social integration, even if they are simultaneously marginalised in many cases (Schecter 2010: 171).


So for example, the state promotes an ethic of self-care which is justified in terms of a wider social responsibility and which is celebrated through the examples given in specific moments represented as individual acts of consumption that contribute to a notion of good citizenship. So using recycling bins, caring for one’s teeth, stopping smoking, and so forth are all actively invested by the state as both detrimental to individual and collective care, but most importantly they are the responsibility of the citizen to abide by.


Neoliberal governmentality also gestures towards the subordination of state power to the requirements of the marketplace, the implication being that ‘political problems’ are re-presented or cast in market terms. Within this framework citizens are promised new levels of freedom, consumerism, customisation, interactivity and control over their life and possessions. In other words, they are promised an unfulfilled expectation as to the extent to which they are able to exert their individual agency.


In order to facilitate this governmental platform certain infrastructural systems need to be put in place, bureaucratic structures, computational agencies and so forth. For example, it has become increasingly clear that providing information to citizens is not sufficient for controlling and influencing behaviour. Indeed, people’s ability to understand and manipulate raw data or information has been found to be profoundly limited in many contexts with a heavy reliance on habit understood as part of the human condition.


It is here that the notion of compactants (computational actants) allows us to understand the way in which computationality has increasingly become constitutive of the understanding of important categories in late capitalism, like privacy and self-care. Here we could say that we are interested in a transition from the juridicification, through the medicalisation, to the ‘computationalisation’ of reason. Hence, following Foucault, we are interested in studying the formation of discrete powers rather than power in general. That is, Foucault is interesting ‘in the processes through which subjects become subjects, the truth becomes truth, and then changing conditions under which this happens, which in the first instance is the discrepancy between the visible and the readable’ (Schecter 2010: 173). Or as Foucault himself writes:


What is at stake in all this research about madness, illness, delinquency, and sexuality, as well as everything else I have been talking about today, is to show how the coupling of a series of practices with a truth regime forms an operative knowledge-power system (dispotif) which effectively inscribes in the real something that does not exist, and which subjects the real to a series of criteria stipulating what is true and what is false, whereby these criteria are taken to be legitimate. It is that moment which does not exist as real and which is not generally considered relevant to the legitimacy of a regime of true and false, it is that moment in things that engages me at the moment. It marks the birth of the asymmetrical bi-polarity of politics and economics, that is, of that politics and economics which are neither things that exist nor are errors, illusions or ideologies. It has to do with something which does not exist and which is nonetheless inscribed within the real, and which has great relevance for a truth regime which makes distinctions between truth and falsity (Foucault, The Birth of Bio-Politics, quoted in Schecter 2010: 173).


Indeed the way in which compactants generate certain notion of truth and falsity is a topic requiring close investigation, both in terms of the surface interface generating a ‘visible’ truth, and the notion of a computational, or cloud, truth that is delivered from the truth-machines that lie somewhere on the networks of power and knowledge.

Foucault suggests that if there is a ‘system’ or ensemble of systems, the task is somehow to think systemic functioning outside of the the perspective of the subject dominated by or in charge of the so-called system. Critical thinking can deconstruct the visible harmony between casual seeing and instrumental reason… in contrast with monolithic appearances, surfaces are characterised by strata and folds that can inflect power to create new truths, desires and forms of experience (Schecter 2010: 175).

Here we can make the link between sight and power, and of course sight itself is deployed such that the ‘visible’ is not transparent nor hidden. Compactants certainly contribute to the deployment of the visible, through the generation of certain forms of geometric and photographic truths manifested in painted screens and surfaces.








Schecter, D. (2010) The Critique of Instrumental Reason from Weber to Habermas, New York: Continuum.

The World of Computationality: Flickering Objects and Streaming-beings

Accepting that the Worldhood of the World allows us to encounter anything at all (Heidegger 1977). What would be the structural features of a world of computationality understood as an alternative mode of revealing in contrast to the challenging-forth of technicity? For Heidegger electricity was the paradigmatic metaphor for technicity, both in terms of its generation through the challenging-forth of nature, through coal, oil, hydropower, etc. and in terms of the switching systems that were required to route both production, distribution and consumption of the electricity itself. He saw this switiching capacity as a process of ordering by ‘ordering beings’ where:

Everywhere everything is ordered to standby, to be immediately on hand, indeed, to stand there just so that it may be on call for a further ordering (Heidegger 1977).

Here I want to suggest that technicity isn’t sufficient to describe the contemporary mode of revealing through computationality. Indeed, challenging forth is better understood, as indeed Heidegger concedes, as a modern technology, and indeed I would argue not necessarily applicable to the kinds of postmodern technologies, such as the computer, that increasingly permeate our everyday life. In computationality, then, the paradigmatic metaphor I want to use is real-time streaming technologies and the data flows, processual stream-based engines and media interfaces that embody them. This is to stop thinking about the digital as something static and object-like and instead consider its ‘trajectories’. Here I am thinking about the way in which scripts function to create loops and branching, albeit highly complex forms, and create a stable ‘representation’, which we often think of as an digital ‘object’. Under the screen surface, however, there is a constant stream of processing, a movement and trajectory, a series of lines that are being followed and computed. Something like Twitter suggests the kind of real-time experiential technology that I am thinking about and the difficulty of studying something unfolding in this manner, let alone archiving or researching, without an eye on its processual nature encourages serious category errors.[1] The aim of this article is to begin to develop some of the ideas outlined in The Philosophy of Software through a phenomenology of computation (Berry 2011). In the following table, for example, I want to explore how we might think about this different mode of existence of a highly softwarized streaming ontology.


(modern technology)

Computationality (postmodern technology)

Mode of Revealing

Challenging-forth (Gestell)


Paradigmatic Equipment

Technical devices, machines.

Computational devices, computers, processors.

Goals (projects)

1. Unlocking, transforming, storing, distributing, and switching about Standing Reserve (Bestand).

2. Efficiency.

1. Trajectories,  Processing information, Algorithmic transformation (aggregation, reduction, calculation), as data reserve.

2. Computability.

Identities (roles)



Paradigmatic Epistemology

Engineer, Time-motion studies, Methods-Time Measurement (MTM), instrumental rationality

Design, Information theory, graph theory,  data visualisation, communicative rationality

Within Gestell every subject/object is a story of challenging-forth. This is related to a structural map, or ground-plan, which describes a priori what the essences of particular beings are, however this is not innate, rather drawn from the grounding of intelligibility. As Heidegger explains:

As a destining, it banishes man into that kind of revealing that is an ordering. Where this ordering holds sway, it drives out every other possibility of revealing (Heidegger 1977).

Thus challenging-forth turns everything into resources, creating a world of objects and equipment on standby ready to be used in larger aggregates. For Heidegger there is a totalizing character of challenging-forth which forces it to attempt to apply the principle of efficiency to other marginal practices, and hence with it the danger of becoming the last possible mode of revealing.

The coming to presence of technology threatens revealing, threatens it within the possibility that all revealing will be consumed in ordering and that everything will present itself only in the unconcealedness of standing reserve (Heidegger 1977).

In contrast, I want to suggest that computationality is distinct from challenging-forth as technicity, inasmuch as it is a streaming-forth. One aspect of this is that streaming-forth generates second-order information and data from the world which is itself seen increasingly as flow. This collected information is then subject to further processing and algorithmic transformation, feedback thus becomes part of the ecology of computationality. Additionally, computational devices not only withdraw – indeed mechanical devices such as car engines clearly also withdraw – rather that computational devices both withdraw and are constantly pressing to be present-at-hand in alternation. They are in a curious middle state, this I call ‘unready-to-hand’ drawing on Heidegger’s notion of conspicuousness. Breakdowns, such as these, serve an extremely important cognitive function revealing to us the nature of our practices and equipment by bringing them ‘present-at-hand’ to our attention. However, the present-at-hand in computationality is of extremely limited duration, but also repeated in random ways, we could think of this as a stream of unreadiness-to-hand, specific to this mode of revealing. It is only when a breakdown occurs that we become aware of the fact that ‘things’ in our world exist not as the result of individual acts of cognition but through out active participation in a domain of discourse and mutual concern. We can think of this specific computational breakdown in two different ways:

  1. Something intrinsic to the computational means that computational devices (and entities that contain computational devices) are constantly moving in and out of this unready-to-hand state.
  2. Perhaps due to the loose coupling between interface and underlying code, this causes the pseudo-state of unreadyness-to-hand.

Anyway, it is clear from the history of computing that computers do not, nor have ever, been able to run themselves. They are constantly suffering from breakdowns, bugs, errors and crashes. Well-engineered physical machines do not suffer this constant breakdown. You could think of it as an oscillation, perhaps due to the underlying fragility of the nature of code, that means it is always on the constant verge of breakdown (again car engines do not act like this, once they are working they are working, generally speaking). Software and code is thus always calling to us from a position of unreadiness-to-hand. Software programmers have a lovely term for what I am getting at when they say that code throws an exception, which causes the machine to pause and wait for further instruction or execute an alternative method, or if no such instruction is available or forthcoming, it is said that code is unable to catch the exception and it crashes in someway (sometimes gracefully and at other times catastrophically).

Therefore it is not that computational equipment is different from equipment in other modes of revealing. Nor that there are special forms of computational equipment that have a ‘third mode’ or somehow stand middle between presence and absence. Rather, computational devices appear to have the rather novel feature/bug of oscillating rapidly between Vorhandenheit/Zuhandenheit. Or perhaps better, constantly becoming ready-to-hand/unready-to-hand in quick alternation. And by quick this can be happening in microseconds, milliseconds, or seconds, repeatedly in quick succession. This aspect of breakdown has been acknowledged as an issue within human-computer design and is seen as one of pressing concern to be ‘fixed’ or made invisible to the computational device user (Winograd and Flores 1987). Although in previous accounts attention has not been paid to the rapidity of the oscillations that I am drawing attention to here.

Hence within computationality absence and presence are being experienced in this very specific and very curious way enabled by computational devices. This quantitative micro/milli/second oscillations between modes translate into an odd mediated pseudo-mode which is, perhaps, qualitatively experienced as ‘uncanny’ and which might analytically be referred to as ‘radically unready-to-hand’ or ‘flickering objects’.[2] This is part of the specificity of the phenomenological experience that I am gesturing towards in computationality as a mode of revealing in contrast to technicity.

We used to think that this feature/bug of computational systems was due to the immaturity of the disciplines and methods, but after 40 years of writing code/software we still suffer from the same problems (indeed called the software crisis in the 1960s). Code is now bigger than a single human being can understand. Thus, in a running system, and in escaping our comprehension, it inevitably has aporia and liminal areas that mean we cannot truly control or even understand its operation.

We might expect that the kinds of things that show up as equipment, goals, and identities would be specific to computationality. Firstly, the equipment would be more autonomous of human control and have delegated agency within its software/code structures. This might mean that in a similar way to the principle of physis which governed the Greek world, things might ‘whoosh’ up unexpectedly in a manner which was a bursting bringing-forth (Dreyfus 2004). Of course, in this sense they are computationally bringing themselves forth with hidden potential, but the surface effect is interestingly comparable. These new kinds of enchanted objects would both bring to present-at-hand themselves, but also bring forth other objects. This would have the interesting effect of causing the user to think about the object creating this kind of ‘flickering object’, which passed between readiness-to-hand and present-at-hand. Secondly, the kinds of goals and projects that people have would be expressed within a computational structure, perhaps real-time streams that are procedural, algorithmic, modular, and quantitatively expressed. Thirdly, the identities or roles that people would have would enable them to take a stand on themselves that would be computational. Self-tracking, life-hacking type monitoring might therefore be turned into a continuous self-reflexive lifestream.

What is the style of the computational world?

It is deeply algorithmic in nature, surface driven, haptic, and information-centric. The use of conversational interfaces, such as Apple Siri,  is a useful harbinger of this computational future. Here, the user must be disciplined not to be conversational, but rather to be computationally conversational. Many millions of dollars of research money have been spent in an attempt to get computers to understand users’ conversational language, this has mostly been a failure. However, it is clear that with a certain limited grammatical and syntactical model of the world, combined with a certain amount of ‘personality’ the conversational interface can present a good enough working interface. This is good enough in as much as it can capture a limited conversational plane, but also teach the user how to talk to these enchanted objects in a particular style. Where here ‘style’ is taken to refer to the set of practices considered skilful within a particular mode of revealing.

This style is imperative, based around particular notions of quasi-subjects and quasi-objects, not in a ‘real’ everyday sense, but rather as entities that have various kinds of relational and contextual properties. For example, a particular contact in an address book has a series of properties by virtue of being in the address book, namely they become tagged as quasi-subjective having mobility and locative properties. Also they perform within a web of relations between objects and other quasi-subjects, for example having relationships (e.g. wife, spouse, child, daughter) with other quasi-subjects, location (e.g. home, work), and a face (e.g. through photo recognition). One might say that quasi-subjects and quasi-objects are formed within relational networks that are now modelled in graph theory and performed computationally. Thus the modernist subject of technicity becomes a postmodernist quasi-subject of computationality. A mode of revealing as a set of real-time computational data points producing this computational quasi-subject: the streaming-being.


[1] The archiving of software and code and digital media more generally is currently being actively engaged with in fields such as software studies, critical code studies, digital humanities and new media. There is often a temptation to think of the software as a discrete ‘object’ or package, forgetting that software and code are extremely networked and cannot function when taken away from this software ecology. Here, I am thinking of the platform that supports the software/code, such as the particular hardware, software, operating system, network connections, etc. It is certainly clear that currently emulated environments leave a lot to be desired when interacting with previous software and code. Unlike books which are relatively self-contained objects (Foucault notwithstanding) software/code is not readable in the same manner. Merely storing the software, and here I am thinking particularly about the executable binary, will not be enough to access, read, execute and explore the package. But neither is storing the source-code, which requires particular compilers, platforms and processes to reanimate it. In some instances one can imagine that the entire totality of technical society would need to be stored to adequately reanimate software/code – for example highly networked software, like zombie botnets, cascading database systems, networked gaming systems, massively parallel virtual worlds, etc. which runs through and across the internet might be an example of this. Perhaps in the future we will have to be content with accepting that the only way to archive some software systems will be to leave them running in a domesticated virtual scene captured temporally and looped in eternity. The longer the loop of code/ecology, the better the ability for future historians to explore and understand their use and meaning.

[2]  I have also referred to these previously as ‘fractured objects’.


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

Dreyfus, H. (2004) Being and Power: Heidegger and Foucault, accessed 29/10/11,

Heidegger, M. (1977) The Question Concerning Technology and other Essays, London: Harper & Row.

Winograd, T. and Flores, F. (1987) Understanding Computers and Cognition: A New Foundation for Design, London: Addison Wesley.