Skip to main content

Über dieses Buch

This book is a critical introduction to code and software that develops an understanding of its social and philosophical implications in the digital age. Written specifically for people interested in the subject from a non-technical background, the book provides a lively and interesting analysis of these new media forms.



1. The Idea of Code

Whilst we are dead to the world at night, networks of machines silently and repetitively exchange data. They monitor, control and assess the world using electronic sensors, updating lists and databases, calculating and recalculating their models to produce reports, predictions and warnings. In the swirling constellations of data, they oversee and stabilise the everyday lives of individuals, groups and organisations, and remain alert for criminal patterns, abnormal behaviour, and outliers in programmed statistical models. During our waking hours, a multitude of machines open and close gates and doors, move traffic-lights from red to green, and back to red again, monitor and authorise (or fail to authorise) our shopping on credit and debit cards, and generally keep the world moving. To do this requires millions, if not, billions of lines of computer code, many thousands of man-hours of work, and constant maintenance and technical support to keep it all running. These technical systems control and organise networks that increasingly permeate our society, whether financial, telecommunications, roads, food, energy, logistics, defence, water, legal or governmental. The amount of data that is now recorded and collated by these technical devices is astronomical. For example, ‘Wal-Mart, a retail giant, handles more than 1 million customer transactions every hour, feeding databases estimated at more than 2.5 petabytes — the equivalent of 167 times the books in America’s Library of Congress’ and Facebook, a social-networking website, has collected 40 billion photos in its databases from the individual uploading of its users (The Economist 2010c).

David M. Berry

2. What Is Code?

In this chapter, I want to consider in detail the problem we are confronted with immediately in trying to study computer code. The perl poem, Listen, shown below, demonstrates some of the immediate problems posed by an object that is at once both literary and machinic (Hopkins n.d.). Source code is the textual form of programming code that is edited by computer programmers. The first difficultly of understanding code, then, is in the interpretation of code as a textual artefact. It forms the first part of the development process which is written on the computer and details the functions and processes that a computer is to follow in order to achieve a particular computational goal. This is then compiled to produce executable code that the computer can understand and run. The second difficulty is studying something in process, as it executes or ‘runs’ on a computer, and so the poem Listen has a second articulation as a running program distinct from the textual form.

David M. Berry

3. Reading and Writing Code

So far I have discussed the difficultly of understanding code and software, and how it is important to link together the materiality of code with its social practices in order to help us understand it. One of the biggest problems with trying to understand code is finding the right kinds of examples to illustrate this discussion so here I will present some examples of code that will make the code more visible and show why reading code is useful. Across the Internet, there are now countless code snippets and repositories containing sample code that demonstrate everything from ‘Hello, world!’, traditionally the first programming example taught in computer science, to complex database management systems, or even complete operating systems, like Gnu/Linux. Whilst I do want to stress the importance of connecting the dots associated with code and software, I also want to avoid a tedious programming lesson in what can soon become a rather dry subject of discussion. For that reason, I have tried to pick examples that will be either immediately clear as a demonstration of the point I wish to make, or else interesting in their own right. Secondly, I have tried to be clear that when one is discussing code one should be aware that snippets of code can be difficult to understand when taken out of context and often require the surrounding documentation to make sense of it.

David M. Berry

4. Running Code

In this chapter we now turn to look at the materiality of running code. Unlike the textual source code we have examined in the last chapter, running code runs not as text but as compiled software. This is the form of binary executable that the machine understands and which is a highly compressed, dynamic structure that allows the computer to undertake actions, as Ullman (2004) aptly put it, the soul of the machine. The difficulties involved in observing running code is that it is usually running very quickly, and that the code is largely invisible as it runs inside the confines of the machine. Clearly, the first step is to look at how the code runs, through a method of slowing down the code to a human time frame, secondly, using a device to examine the running code from a distance.

David M. Berry

5. Towards a Phenomenology of Computation

Having suggested how the materiality of code might be subjected to critical analysis, I now want to focus on the experience of ‘forgetting’ technology. This raises the question of whether the experience of ‘backgrounded’ computational technology is as complete as we might think. Indeed, I want to explore the idea that technology is actually only ever partially forgotten or ‘withdrawn’, forcing us into a rather strange experience of reliance, but never complete finesse or virtuosity with the technology. Indeed, this forgetting, or ‘being that goes missing’, is for Heidegger ‘the very condition of appearance (vanishing) of worldhood (Stiegler 1998: 244). Whilst I will go on to argue that there is something specific about the relationship that is set up between our use of digital devices and our experience of the world, I want to be clear that this is not merely to argue for a vulgar technological determinism. Such an approach was criticised by Raymond Williams (2003) who argued that,

We have to think of determination not as a single force, or a single abstraction of forces, but as a process in which real determining factors — the distribution of power or of capital, social and physical inheritance, relations of scale and size between groups — set limits and exert pressures, but neither wholly control nor wholly predict the outcome of complex activity within or at these limits, and under or against these pressures (Williams 2003: 133).

David M. Berry

6. Real-Time Streams

The growth of the Internet has been astonishing, both in terms of its breadth of geographic cover, but also the staggering number of digital objects that have been made to populate the various webpages, databases, and archives that run on the servers. This has traditionally been a rather static affair, however, there is evidence that we are beginning to see a change in the way in which we use the web, and also how the web uses us. This is known as the growth of the so-called ‘real-time web’ and represents the introduction of a technical system that operates in realtime in terms of multiple sources of data fed through millions of data streams into computers, mobiles, and technical devices more generally. Utilising Web 2.0 technologies, and the mobility of new technical devices and their locative functionality, they can provide useful data to the user on the move. Additionally, these devices are not mere ‘consumers’ of the data provided, they also generate data themselves, about their location, their status and their usage. Further, they provide data on data, sending this back to servers on private data stream channels to be aggregated and analysed. That is, 1.The web is transitioning from mere interactivity to a more dynamic, real-time web where read-write functions are heading towards balanced synchronicity. The real-time web… is the next logical step in the Internet’s evolution.2.The complete disaggregation of the web in parallel with the slow decline of the destination web.3.More and more people are publishing more and more “social objects” and sharing them online. That data deluge is creating a new kind of search opportunity (Malik 2009).

David M. Berry


Weitere Informationen

Premium Partner

Neuer Inhalt

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.



Product Lifecycle Management im Konzernumfeld – Herausforderungen, Lösungsansätze und Handlungsempfehlungen

Für produzierende Unternehmen hat sich Product Lifecycle Management in den letzten Jahrzehnten in wachsendem Maße zu einem strategisch wichtigen Ansatz entwickelt. Forciert durch steigende Effektivitäts- und Effizienzanforderungen stellen viele Unternehmen ihre Product Lifecycle Management-Prozesse und -Informationssysteme auf den Prüfstand. Der vorliegende Beitrag beschreibt entlang eines etablierten Analyseframeworks Herausforderungen und Lösungsansätze im Product Lifecycle Management im Konzernumfeld.
Jetzt gratis downloaden!