The Philosophy of Software
Also by David M. Berry UNDERSTANDING DIGITAL HUMANITIES: THE COMPUTATIONAL TURN AND NEW TECHNOLOGY (edited) COPY, RIP, BURN: THE POLITICS OF COPYLEFT AND OPEN SOURCE LIBRE CULTURE (co-edited with G. Moss)
The Philosophy of Software Code and Mediation in the Digital Age David M. Berry
David M. Berry 2011 Softcover reprint of the hardcover 1st edition 2011 978-0-230-24418-4 All rights reserved. No reproduction, copy or transmission of this publication may be made without written permission. No portion of this publication may be reproduced, copied or transmitted save with written permission or in accordance with the provisions of the Copyright, Designs and Patents Act 1988, or under the terms of any licence permitting limited copying issued by the Copyright Licensing Agency, Saffron House, 6 10 Kirby Street, London EC1N 8TS. Any person who does any unauthorized act in relation to this publication may be liable to criminal prosecution and civil claims for damages. The author has asserted his right to be identified as the author of this work in accordance with the Copyright, Designs and Patents Act 1988. First published 2011 by PALGRAVE MACMILLAN Palgrave Macmillan in the UK is an imprint of Macmillan Publishers Limited, registered in England, company number 785998, of Houndmills, Basingstoke, Hampshire RG21 6XS. Palgrave Macmillan in the US is a division of St Martin s Press LLC, 175 Fifth Avenue, New York, NY 10010. Palgrave Macmillan is the global academic imprint of the above companies and has companies and representatives throughout the world. Palgrave and Macmillan are registered trademarks in the United States, the United Kingdom, Europe and other countries. ISBN 978-1-349-31883-4 ISBN 978-0-230-30647-9 (ebook) DOI 10.1057/9780230306479 This book is printed on paper suitable for recycling and made from fully managed and sustained forest sources. Logging, pulping and manufacturing processes are expected to conform to the environmental regulations of the country of origin. A catalogue record for this book is available from the British Library. Library of Congress Cataloging-in-Publication Data Berry, David M. (David Michael) The philosophy of software : code and mediation in the digital age / David M. Berry. p. cm. Includes index. 1. Computers and civilization. 2. Computer software Philosophy. 3. Computer software Social aspects. I. Title. QA76.9.C66B4685 2011 303.48'34 dc22 2011001633 10 9 8 7 6 5 4 3 2 1 20 19 18 17 16 15 14 13 12 11 Transferred to Digital Printing in 2012
For Trine
Contents List of Figures Acknowledgements viii x 1 The Idea of Code 1 Understanding computation 10 Towards digital humanities 18 2 What Is Code? 29 Code 33 Towards a grammar of code 51 Web 2.0 and network code 56 Understanding code 61 3 Reading and Writing Code 64 Tests of strength 65 Reading code 68 Writing code 75 Obfuscated code examples 86 4 Running Code 94 The temporality of code 97 The spatiality of code 98 Reverse remediation 99 Running code and the political 107 5 Towards a Phenomenology of Computation 119 Phenomenology and computation 127 The computational image 131 6 Real-Time Streams 142 Being a good stream 150 Financial streams 156 Lifestreams 162 Subterranean streams 167 Notes 172 Bibliography 182 Index 197 vii
List of Figures 2.1 Listen by Sharon Hopkins 30 2.2 An example of beautiful code as a sorting algorithm 48 2.3 Rush by Sharon Hopkins 49 2.4 The key differences between Web 1.0 and Web 2.0 57 3.1 Microsoft Windows source code commentary 69 3.2 Microsoft Windows source code moron comments 69 3.3 Microsoft Windows source code hack comments 70 3.4 Microsoft Windows source code undocumented comments 71 3.5 Parody of the Microsoft Windows source code 72 3.6 Redacting command line execution 77 3.7 Underhanded C Contest, winning entry by John Meacham 78 3.8 Underhanded C Contest, contents are wiped keeping 255 as 000 length, showing how the basic image information is retained after redaction 79 3.9 Underhanded C Contest, second place entry by Avinash Baliga 80 3.10 Underhanded C Contest, third place entry by Linus Akesson 81 3.11 Simple example of a C program 83 3.12 C program with obfuscated characters with function call 84 3.13 C program now obfuscated through text changes and confusing formatting 85 3.14 Performs OCR of numbers 8, 9, 10 and 11 87 3.15 Prints spiralling numbers, laid out in columns 87 3.16 Maze displayer/navigator with only line-of-sight visibility 88 3.17 Computes arbitrary-precision square root 89 3.18 Makes X mouse pointer have inertia or anti-inertia 91 3.19 Flight simulator written in 1536 bytes of real code 92 viii
List of Figures ix 4.1 Assembly language version of Hello, world! 95 4.2 Binary file version of the executable 96 4.3 Jaiken-zan, each output is a combination of A and B 106 4.4 User represented in source code 115 4.5 Voter represented in the source code 115 4.6 The male voter represented in the source code 116 4.7 The choice of the voter is technically constrained to only one candidate as represented in the source code 116
Acknowledgements Writing remains to me an unusual practice that transforms my experience of the world whilst under the spell of writing. This book has had a particularly intensive birth, written as it is in the middle of the academic year and with everyday life swirling around it with all the attendant distractions. It has emerged from a number of related research themes that continue to guide my work and are focused on the challenge to thinking that is posed by technology. This work has been influenced, inspired, guided and challenged by such a plethora of authors that it is not possible to list them all here. However, I feel that they are all flowing in different modulations and intensities through the text that follows. I pass on this text in the hope that future readers will find something interesting in a subject I continue to find deeply fascinating. I would like to take this opportunity to thank Nikki Cooper, the Callaghan Centre for the Study of Conflict, Power, and Empire, and the Research Institute for Arts and Humanities (RIAH) at Swansea University for funding the workshop, The Computational Turn, which explored key issues around software. Thanks also to N. Katherine Hayles and Lev Manovich and the other participants at this workshop who enthusiastically discussed many of the themes pertinent to this book in a rigorous and critical setting. I would also like to thank the many people who gave comments and suggestions to the text as it developed. In particular, Chapter 5 was presented at a number of places which assisted in writing, and so I would like to thank colleagues in the Department of Political and Cultural Studies at Swansea University and in particular Alan Finlayson and Roland Axtmann; the Department of Media and Film at Sussex University, particularly Michael Bull, Caroline Bassett, Sharif Mowlabocus, and Kate O Riordan; The Law and Literature Association of Australia (LLAA) and The Law and Society Association of Australia and New Zealand (LSAANZ) and Griffith University for inviting me to present Chapter 5 in Brisbane, in particular William MacNeil; and lastly, Daniel Hourigan, Steve Fuller, Peter Bloom, William Merrin, and John Tucker for helpful additional comments. An early version of Chapter 6 was previously presented at Generation Net: Arts and Culture in the 21st century at Nottingham University, funded by the Institute of Film and Television Studies, and I would like to thank Iain Robert Smith for the invitation. A slightly reworked version of Chapter 4 was presented at Swansea x
Acknowledgements xi University in the Politics Research in Progress seminar series arranged by Jonathan Bradbury and I would like to thank all colleagues who attended for their generous feedback and ideas. Lastly, parts of Chapter 3 were presented at the New Materialisms and Digital Culture: An International Symposium on Contemporary Arts, Media and Cultural Theory at Anglia Ruskin University, and I would like to thank Jussi Parikka and Milla Tiainen for their invitation. I would also like to make a special note of thanks to Trine Bjørkmann Berry for reading and correcting early drafts of the chapters. This book would not have been possible without the support and generosity of a great number of friends and colleagues at Swansea University who were always available to discuss subjects I found interesting. In particular, Claes Belfrage and Christian De Cock and the participants in the Cultural Political Economy research group, who may not realise that many of the ideas in the book were also aired there. I would also like to thank students on the MA Digital Media and my PhD students: Faustin Chongombe, Leighton Evans, Mostyn Jones, and Sian Rees for their useful contributions and discussions over the course of the year. Finally, I would like to thank my wife, Trine, and my children Helene, Henrik Isak, and Hedda Emilie, for waiting patiently, seemingly forever, to go to the beach. DMB Swansea, July 2010