Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Processing Contents 070603 PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Processing:

a programming
handbook for
visual designers
and artists

Casey Reas
Ben Fry

The MIT Press


Cambridge, Massachusetts
London, England

Reas_00_i-xxvi.indd Sec1:iii 5/16/07 9:53:05 AM


© 2007 Massachusetts Institute of Technology

All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means
(including photocopying, recording, or information storage and retrieval) without permission in writing from
the publisher.

MIT Press books may be purchased at special quantity discounts for business or sales promotional use. For
information, please email special_sales@mitpress.mit.edu or write to Special Sales Department, The MIT Press,
55 Hayward Street, Cambridge, MA 02142.

Printed and bound in the United States of America.

Library of Congress Cataloging-in-Publication Data

Reas, Casey.
Processing : a programming handbook for visual designers and artists / Casey Reas & Ben Fry ;
foreword by John Maeda.
p. cm.
Includes bibliographical references and index.
ISBN 978-0-262-18262-1 (hardcover : alk. paper)
1. Computer programming. 2. Computer graphics—Computer programs. 3. Digital art—Computer programs.
4. Art—Data processing. 5. Art and technology. I. Fry, Ben. II. Title.

QA76.6.R4138 2007
005.1—dc22
2006034768

10 9 8 7 6 5 4 3 2 1

Reas_00_i-xxvi.indd Sec1:iv 5/16/07 9:53:06 AM


29 34 45 57 67 72 84

91 99 113 121 131 141 189

192 204 208 221 225 233 244

247 289 297 307 320 324 331

336 344 352 354 359 409 415

447 451 472 493 530 535 551

Reas_00_i-xxvi.indd Sec1:vi 5/16/07 9:53:06 AM


Contents

xix Foreword 279 Motion 1: Lines, Curves


xxi Preface 291 Motion 2: Machine, Organism
301 Data 4: Arrays
1 Processing . . . 315 Image 2: Animation
9 Using Processing 321 Image 3: Pixels
327 Typography 2: Motion
17 Structure 1: Code Elements 333 Typography 3: Response
23 Shape 1: Coordinates, Primitives 337 Color 2: Components
37 Data 1: Variables 347 Image 4: Filter, Blend, Copy, Mask
43 Math 1: Arithmetic, Functions 355 Image 5: Image Processing
51 Control 1: Decisions 367 Output 1: Images
61 Control 2: Repetition 371 Synthesis 3: Motion and Arrays
69 Shape 2: Vertices 377 Interviews 3: Animation, Video
79 Math 2: Curves
85 Color 1: Color by Numbers 395 Structure 4: Objects I
95 Image 1: Display, Tint 413 Drawing 2: Kinetic Forms
101 Data 2: Text 421 Output 2: File Export
105 Data 3: Conversion, Objects 427 Input 6: File Import
111 Typography 1: Display 435 Input 7: Interface
117 Math 3: Trigonometry 453 Structure 5: Objects II
127 Math 4: Random 461 Simulate 1: Biology
133 Transform 1: Translate, Matrices 477 Simulate 2: Physics
137 Transform 2: Rotate, Scale 495 Synthesis 4: Structure, Interface
145 Development 1: Sketching, Techniques 501 Interviews 4: Performance, Installation
149 Synthesis 1: Form and Code
155 Interviews 1: Print 519 Extension 1: Continuing . . .
525 Extension 2: 3D
173 Structure 2: Continuous 547 Extension 3: Vision
181 Structure 3: Functions 563 Extension 4: Network
197 Shape 3: Parameters, Recursion 579 Extension 5: Sound
205 Input 1: Mouse I 603 Extension 6: Print
217 Drawing 1: Static Forms 617 Extension 7: Mobile
223 Input 2: Keyboard 633 Extension 8: Electronics
229 Input 3: Events
237 Input 4: Mouse II 661 Appendixes
245 Input 5: Time, Date 693 Related Media
251 Development 2: Iteration, Debugging 699 Glossary
255 Synthesis 2: Input and Response 703 Code Index
261 Interviews 2: Software, Web 705 Index

vii

Reas_00_i-xxvi.indd Sec1:vii 5/16/07 9:53:09 AM


88 342 55 65 305 220 415

98 319 323 351 353 359 207

225 232 240 247 444 44 83

124 129 288 296 29 32 75

202 470 488 184 190 407 455

141 113 329 335 530 535 551

viii

Reas_00_i-xxvi.indd Sec1:viii 5/16/07 9:53:10 AM


Contents by category

xix Foreword 23 Shape 1: Coordinates, Primitives


xxi Preface 69 Shape 2: Vertices
197 Shape 3: Parameters, Recursion
1 Processing . . . 461 Simulate 1: Biology
9 Using Processing 477 Simulate 2: Physics
17 Structure 1: Code Elements
85 Color 1: Color by Numbers 173 Structure 2: Continuous
337 Color 2: Components 181 Structure 3: Functions
51 Control 1: Decisions 395 Structure 4: Objects I
61 Control 2: Repetition 453 Structure 5: Objects II
37 Data 1: Variables 149 Synthesis 1: Form and Code
101 Data 2: Text 255 Synthesis 2: Input and Response
105 Data 3: Conversion, Objects 371 Synthesis 3: Motion and Arrays
301 Data 4: Arrays 495 Synthesis 4: Structure, Interface
145 Development 1: Sketching, Techniques 133 Transform 1: Translate, Matrices
251 Development 2: Iteration, Debugging 137 Transform 2: Rotate, Scale
217 Drawing 1: Static Forms 111 Typography 1: Display
413 Drawing 2: Kinetic Forms 327 Typography 2: Motion
95 Image 1: Display, Tint 333 Typography 3: Response
315 Image 2: Animation
321 Image 3: Pixels 155 Interviews 1: Print
347 Image 4: Filter, Blend, Copy, Mask 261 Interviews 2: Software, Web
355 Image 5: Image Processing 377 Interviews 3: Animation, Video
205 Input 1: Mouse I 501 Interviews 4: Performance, Installation
223 Input 2: Keyboard
229 Input 3: Events 519 Extension 1: Continuing . . .
237 Input 4: Mouse II 525 Extension 2: 3D
245 Input 5: Time, Date 547 Extension 3: Vision
427 Input 6: File Import 563 Extension 4: Network
435 Input 7: Interface 579 Extension 5: Sound
43 Math 1: Arithmetic, Functions 603 Extension 6: Print
79 Math 2: Curves 617 Extension 7: Mobile
117 Math 3: Trigonometry 633 Extension 8: Electronics
127 Math 4: Random
279 Motion 1: Lines, Curves 661 Appendixes
291 Motion 2: Machine, Organism 693 Related Media
367 Output 1: Images 699 Glossary
421 Output 2: File Export 703 Code Index
705 Index

ix

Reas_00_i-xxvi.indd Sec1:ix 5/18/07 9:44:32 AM


29 30 44 55 63 70 83

88 97 113 124 128 137 174

186 200 206 219 225 231 239

246 281 293 306 316 322 329

334 340 349 353 356 406 414

441 458 464 484 530 535 551

Reas_00_i-xxvi.indd Sec1:x 5/16/07 9:53:14 AM


Extended contents

xix Foreword by John Maeda 23 Shape 1: Coordinates, Primitives


23 Coordinates
xxi Preface size()
xxi Contents 25 Primitive shapes
xxii How to read this book point(), line(),
xxiii Casey’s introduction triangle(), quad(), rect(),
xxiv Ben’s introduction ellipse(), bezier()
xxv Acknowledgments 31 Drawing order
31 Gray values
1 Processing . . . background(),
1 Software fill(),stroke(),
3 Literacy noFill(), noStroke()
4 Open 33 Drawing attributes
4 Education smooth(), noSmooth(),
6 Network strokeWeight(), strokeCap(),
7 Context strokeJoin()
34 Drawing modes
9 Using Processing ellipseMode(), rectMode()
9 Download, Install
9 Environment 37 Data 1: Variables
10 Export 37 Data types
11 Example walk-through int, float, boolean,
16 Reference true, false
38 Variables
17 Structure 1: Code Elements =
17 Comments 40 Processing variables
//, /* */ width, height
18 Functions
18 Expressions, Statements 43 Math 1: Arithmetic, Functions
“;”, “,” 43 Arithmetic
20 Case sensitivity +, -, *, /, %
20 Whitespace 47 Operator precedence, Grouping
20 Console ()
print(), println() 48 Shortcuts
++, --, +=, -=, *=, /=, -
49 Constraining numbers
ceil(), floor(), round(),
min(), max()

xi

Reas_00_i-xxvi.indd Sec1:xi 5/16/07 9:53:17 AM


51 Control 1: Decisions 101 Data 2: Text
51 Relational expressions 102 Characters
>, <, >=, <=, ==, != char
53 Conditionals 103 Words, Sentences
if, else, {} String
57 Logical operators
||, &&, ! 105 Data 3: Conversion, Objects
105 Data conversion
61 Control 2: Repetition boolean(), byte(), char(),
61 Iteration int(), float(), str()
for 107 Objects
65 Nested iteration “.”,
67 Formatting code blocks PImage.width, PImage.height,
String.length,
69 Shape 2: Vertices String.startsWith(),
69 Vertex String.endsWith();
beginShape(), endShape(), String.charAt(),
vertex() String.toCharArray(),
71 Points, Lines String.subString(),
72 Shapes String.toLowerCase(),
74 Curves String.toUpperCase(),
curveVertex(), bezierVertex() String.equals()

79 Math 2: Curves 111 Typography 1: Display


79 Exponents, Roots 112 Loading fonts, Drawing text
sq(), sqrt(), pow() PFont, loadFont(),
80 Normalizing, Mapping textFont(), text()
norm(), lerp(), map() 114 Text attributes
83 Simple curves textSize(), textLeading(),
textAlign(), textWidth()
85 Color 1: Color by Numbers
86 Setting colors 117 Math 3: Trigonometry
89 Color data 117 Angles, Waves
color, color() PI, QUARTER_PI, HALF_PI,
89 RGB, HSB TWO_PI, sin(), cos(),
colorMode() radians(), degrees()
93 Hexadecimal 123 Circles, Arcs, Spirals
arc()
95 Image 1: Display, Tint
96 Display 127 Math 4: Random
PImage, loadImage(), image() 127 Unexpected numbers
97 Image color, Transparency random(), randomSeed()
tint(), noTint() 130 Noise
noise(), noiseSeed()

xii

Reas_00_i-xxvi.indd Sec1:xii 5/16/07 9:53:18 AM


133 Transform 1: Translate, Matrices 181 Structure 3: Functions
133 Translation 182 Abstraction
translate() 183 Creating functions
134 Controlling transformations void
pushMatrix(), popMatrix() 193 Function overloading
194 Calculating and returning values
137 Transform 2: Rotate, Scale return
137 Rotation, Scaling
rotate(), scale() 197 Shape 3: Parameters, Recursion
139 Combining transformations 197 Parameterized form
142 New coordinates 201 Recursion

145 Development 1: Sketching, Techniques 205 Input 1: Mouse I


145 Sketching software 205 Mouse data
146 Programming techniques mouseX, mouseY,
pmouseX, pmouseY
149 Synthesis 1: Form and Code 212 Mouse buttons
150 Collage Engine mousePressed, mouseButton
151 Riley Waves 213 Cursor icon
152 Wilson Grids cursor(), noCursor()
153 Mandelbrot Set
217 Drawing 1: Static Forms
155 Interviews 1: Print 218 Simple tools
157 Jared Tarbell. 221 Drawing with images
Fractal.Invaders, Substrate
161 Martin Wattenberg. 223 Input 2: Keyboard
Shape of Song 224 Keyboard data
165 James Paterson. keyPressed, key
The Objectivity Engine 227 Coded keys
169 LettError. keyCode
RandomFont Beowolf
229 Input 3: Events
173 Structure 2: Continuous 229 Mouse events
173 Continuous evaluation mousePressed(),
draw(), frameRate(), mouseReleased(),
frameCount mouseMoved(), mouseDragged()
177 Controlling the flow 232 Key events
setup(), noLoop(), keyPressed(), keyReleased()
178 Variable scope 235 Controlling the flow
loop(), redraw()

xiii

Reas_00_i-xxvi.indd Sec1:xiii 5/16/07 9:53:18 AM


237 Input 4: Mouse II 301 Data 4: Arrays
237 Constrain 303 Using arrays
constrain() Array, [], new, Array.length
238 Distance 306 Storing mouse data
dist() 309 Array functions
239 Easing append(), shorten(),
abs() expand(), arraycopy()
242 Speed 312 Two-dimensional arrays
243 Orientation
atan2() 315 Image 2: Animation
316 Sequential images
245 Input 5: Time, Date 319 Images in motion
245 Seconds, Minutes, Hours
second(), minute(), hour(), 321 Image 3: Pixels
millis() 321 Reading pixels
249 Date get()
day(), month(), year() 324 Writing pixels
set()
251 Development 2: Iteration, Debugging
251 Iteration 327 Typography 2: Motion
252 Debugging 327 Words in motion
331 Letters in motion
255 Synthesis 2: Input and Response
256 Tennis 333 Typography 3: Response
257 Cursor. Peter Cho 333 Responsive words
258 Typing 335 Responsive letters
259 Banded Clock. Golan Levin
337 Color 2: Components
261 Interviews 2: Software, Web 337 Extracting color
263 Ed Burton. Sodaconstructor red(), blue(), green(),
267 Josh On. They Rule alpha(), hue(), saturation(),
271 Jürg Lehni. Hektor and Scriptographer brightness(),
275 Auriea Harvey and Michaël Samyn. 341 Dynamic color palettes
The Endless Forest
347 Image 4: Filter, Blend, Copy, Mask
279 Motion 1: Lines, Curves 347 Filtering, Blending
279 Controlling motion filter(), blend(),
284 Moving along curves blendColor()
287 Motion through transformation 353 Copying pixels
copy()
291 Motion 2: Machine, Organism 354 Masking
291 Mechanical motion mask()
295 Organic motion

xiv

Reas_00_i-xxvi.indd Sec1:xiv 5/16/07 9:53:18 AM


355 Image 5: Image Processing 421 Output 2: File Export
356 Pixels 421 Formatting data
pixels[], loadPixels(), nf()
updatePixels(), createImage() 422 Exporting files
359 Pixel components saveStrings(), PrintWriter,
360 Convolution createWriter(),
364 Image as data PrintWriter.flush(),
PrintWriter.close(), exit()
367 Output 1: Images
368 Saving images 427 Input 6: File Import
save() 428 Loading numbers
369 Saving sequential images loadStrings(),
saveFrame() split(), splitTokens()
431 Loading characters
371 Synthesis 3: Motion and Arrays WHITESPACE
372 Centipede. Ariel Malka
373 Chronodraw. Andreas Gysin 435 Input 7: Interface
374 AmoebaAbstract_03. Marius Watz 436 Rollover, Button, Dragging
375 Mr. Roboto. Leon Hong 442 Check boxes, Radio buttons
448 Scrollbar
377 Interviews 3: Animation, Video
379 Motion Theory. R.E.M. “Animal” 453 Structure 5: Objects II
383 Bob Sabiston. Waking Life 453 Multiple constructors
387 Jennifer Steinkamp. Eye Catching 454 Composite objects
391 Semiconductor. The Mini-Epoch Series 456 Inheritance
extends, super
395 Structure 4: Objects I
395 Object-oriented programming 461 Simulate 1: Biology
398 Using classes and objects 461 Cellular automata
class, Object 469 Autonomous agents
406 Arrays of objects
409 Multiple files 477 Simulate 2: Physics
477 Motion simulation
413 Drawing 2: Kinetic Forms 481 Particle systems
414 Active tools 487 Springs
416 Active drawings
495 Synthesis 4: Structure, Interface
496 WithoutTitle. Lia
497 Pond. William Ngan
498 Swingtree. ART+COM,
Andreas Schlegel
499 SodaProcessing. Ed Burton

xv

Reas_00_i-xxvi.indd Sec1:xv 5/16/07 9:53:19 AM


501 Interviews 4: Performance, Installation 579 Extension 5: Sound. R. Luke DuBois
503 SUE.C. Mini Movies 579 Music and sound programming
507 Chris Csikszentmihályi. in the arts
DJ I, Robot Sound System 582 Sound and musical informatics
511 Golan Levin, Zachary Lieberman. 584 Digital representation of sound
Messa di Voce and music
515 Marc Hansen. Listening Post 588 Music as information
591 Tools for sound programming
519 Extension 1: Continuing . . . 592 Conclusion
519 Extending Processing 593 Code
521 Processing and Java 599 Resources
522 Other programming languages
603 Extension 6: Print. Casey Reas
525 Extension 2: 3D. Simon Greenwold 603 Print and computers
525 A short history of 3D software 606 High-resolution file export
526 3D form 608 Production
531 Camera 612 Conclusion
532 Material and lights 613 Code
536 Tools for 3D 615 Resources
538 Conclusion
539 Code 617 Extension 7: Mobile. Francis Li
545 Resources 617 Mobile software applications
619 The mobile platform
547 Extension 3: Vision. Golan Levin 622 Programming for mobile phones
547 Computer vision in interactive art 624 Mobile programming platforms
549 Elementary computer vision 625 Conclusion
techniques 626 Code
552 Computer vision in the physical world 631 Resources
554 Tools for computer vision
555 Conclusion 633 Extension 8: Electronics.
556 Code Hernando Barragán and Casey Reas
561 Resources 633 Electronics in the arts
635 Electricity
563 Extension 4: Network. 637 Components
Alexander R. Galloway 638 Circuits
563 The Internet and the arts 639 Microcontrollers and I/O boards
565 Internet protocols and concepts 642 Sensors and communication
569 Network tools 646 Controlling physical media
571 Conclusion 648 Conclusion
572 Code 649 Code
576 Resources 658 Resources

xvi

Reas_00_i-xxvi.indd Sec1:xvi 5/16/07 9:53:19 AM


661 Appendix A: Order of Operations
663 Appendix B: Reserved Words
664 Appendix C: ASCII, Unicode
669 Appendix D: Bit, Binary, Hex
673 Appendix E: Optimization
679 Appendix F: Programming Languages
686 Appendix G: Code Comparison

693 Related Media


699 Glossary
703 Code Index
705 Index

xvii

Reas_00_i-xxvi.indd Sec1:xvii 5/16/07 9:53:19 AM


Code Index
This index contains all of abs(), 241 ellipse(), 30
alpha(), 338 ellipseMode(), 34
the Processing language
ambient(), 533 else, 55
elements introduced ambientLight(), 533 else if, 56
within this book. The append(), 309 endRaw(), 531
page numbers refer to arc(), 124 endRecord(), 607
arraycopy, 310 endShape(), 69
the first use.
Array, 301 exit(), 422
length, 304 expand(), 309
! (logical NOT), 57 atan2(), 243 extends, 456
!= (inequality), 52
% (modulo), 45 background(), 31 false, 38
&& (logical AND), 57 beginRaw(), 531 fill(), 32
() (parentheses) beginRecord(), 607 filter(), 347
for functions, 18 beginShape(), 69 float, 37
for precedence, 47 bezier(), 30 float(), 106
* (multiply), 44 bezierVertex(), 75 floor(), 49
*= (multiply assign), 49 blend(), 351 for, 61
+ (addition), 43 blendColor(), 352 frameCount, 173
++ (increment), 48 blue(), 337 frameRate(), 173
+= (add assign), 48 boolean, 38
, (comma), 18 boolean(), 106 get(), 321
- (minus), 44 brightness(), 338 green(), 337
-- (decrement), 48 byte, 38
-= (subtract assign), 48 byte(), 106 HALF_PI, 117
. (dot), 107 height, 40
/ (divide), 44 camera(), 531 hour(), 245
/= (divide assign), 49 Capture, 556 HSB, 89
/* */ (comment), 18 ceil(), 49 hue(), 338
// (comment), 17 char, 38, 102
; (semicolon), 19 char(), 106 if, 53
< (less than), 51 class, 395 image(), 96
<= (less than or Client, 567 int, 37
equal to), 52 color, 38, 89 int(), 107
= (assign), 38 color(), 89 key, 225
== (equality), 52 colorMode(), 91 keyCode, 227
for String objects, 109 constrain(), 237 keyPressed, 224
> (greater than), 51 copy(), 353 keyPressed(), 232
>= (greater than cos(), 118 keyReleased(), 232
or equal to), 52 createGraphics(), 614
[] (array access), 301 createImage(), 362 lerp(), 81
2D arrays, 312 createWriter(), 423 lightSpecular(), 536
arrays of objects, 406 cursor(), 213 line(), 27
{} (braces), 53 curveVertex(), 74 loadFont(), 112
and variable scope, 178 loadImage(), 96
|| (logical OR), 57 day(), 249 loadPixels(), 356
# (hex color), 93 degrees(), 117 loadStrings(), 428
directionalLight(), 536 loop(), 235
dist(), 238
draw(), 173

703

Reas_09_519-710.indd Sec6:703 5/16/07 12:33:53 PM


map(), 81 quad(), 29 text(), 112
mask(), 354 QUARTER_PI, 117 textAlign(), 115
max(), 50 textFont(), 112
millis(), 248 radians(), 117 textLeading(), 115
min(), 50 random(), 127 textSize(), 114
minute(), 245 randomSeed(), 129 texture(), 536
month(), 249 rect(), 29 textWidth(), 116
mouseButton, 212 rectMode(), 34 tint(), 97
mouseDragged(), 229 red(), 337 translate(), 133
mouseMoved(), 229 redraw(), 235 triangle(), 27
mousePressed, 212 return, 194 true, 38
mousePressed(), 229 RGB, 89 TWO_PI, 117
mouseReleased(), 229 rotate(), 137
mouseX, 205 round(), 50 updatePixels(), 356
mouseY, 205
saturation(), 338 vertex(), 69
new save(), 368 void, 187
for arrays, 303 saveFrame(), 369
for objects, 399 saveStrings(), 422 width, 40
nf(), 422 scale(), 138
noCursor(), 213 second(), 245 year(), 249
noFill(), 33 Server, 567
noise(), 130 set(), 324
noiseSeed(), 131 setup(), 177
noLoop(), 178 shorten(), 309
norm(), 80 sin(), 118
noSmooth(), 33 size(), 24
noStroke(), 33 with P3D, 528
noTint(), 97 with OPENGL, 528
with PDF, 607
Object, 107, 395 smooth(), 33
specular(), 536
PFont, 112 split(), 429
PI, 117 splitTokens(), 430
PImage, 96 spotLight(), 536
pixels[], 356 sq(), 79
pmouseX, 208 sqrt(), 79
pmouseY, 208 str(), 107
point(), 25 String, 103
pointLight(), 536 length(), 108
popMatrix(), 134 endsWith(), 108
pow(), 80 equals(), 109
print(), 20 startsWith(), 108
println(), 20 substring(), 109
PrintWriter, 423 toCharArray(), 108
close(), 423 toLowerCase(), 109
flush(), 423 toUpperCase(), 109
println(), 424 stroke(), 32
pushMatrix(), 134 strokeCap(), 33
strokeJoin(), 33
strokeWeight(), 33
super, 456

704 Code Index

Reas_09_519-710.indd Sec6:704 5/16/07 12:33:53 PM


Index
This index contains mostly Apple Computer, 3, 111, 537, Bass, Saul, 327
585, 699 Baumgärtel, Tilman, 564
people, software, artwork,
Apple Logic Audio, 503, 591 Bauhaus, 149
and programming Apple Mac G3, 383 BBC Acorn Archimedes, 264
languages. For topics, Apple Mac G4, 383 Beach Culture, 605
see the table of contents Apple Macintosh (Mac), 9–11, 95, Beethoven, Ludwig van, 581
111–112, 169, 205, 227, 367, 383, BEFLIX, 315, 681
(pp. vii–xvii); for code, see
521, 568–569, 574, 604, 639, 665, Bell Laboratories, 315, 580–581, 604
the Code Index. 682, 685 Bentley Systems
Apple Mac Mini, 639 GenerativeComponents, 537
1:1 (Jevbratt), 566 Apple Mac OS, 264, 435, 665–666, Berliner, Emile, 579
3M Corporation, 553 681 Berlow, David, 170
3 Stoppages Étalon (Duchamp), 127 Apple Mac OS X, 16, 170, 435, 645, Bernard (a k a Flip 1), 508
7–11 Email list, 563 649, 684 BIAS Peak, 591
Apple QuickTime, 367, 383–384, BigEye, 554
AARON, 218 387–388 Binary Runtime Environment for
Aesthetics and Computation AppleScript, 681 Wireless (BREW), 625
Group (ACG), xxiii, 682 Arduino, 521, 633, 640, 641, 645–646, Binary space partition (BSP), 527
Achituv, Romy, 549 648–649, 681, 685 Binder, Maurice, 327
ActionScript, 158, 166, 522–523, 565, Arp, Jean, 127 bitforms gallery, 164, 166–167, 525,
680–681, 686–687, 689, 691 Ars Electronica Festival, 618 547, 603, 633
Adair, Sandra, 384 ART+COM, 498 Bittorent, 571
Adobe, 4, 169, 683 ASCII (American Standard Code for Blackwell, Lewis, 605
Adobe After Effects, 166, 327, Information Interchange), 102–103, Blender, 276, 576
379, 387 226–227, 549, 565, 664–668, 670, Blinkenlights (Chaos Computer
Adobe Flash, 157–158, 165–166, 691, 699 Club), 618
267–268, 275, 278, 327, 436, Athena, 387 Blonk, Jaap, 511
564–565, 624, 629, 642, ATI, 537 Bluetooth, 619, 621–622, 624, 641,
680–681, 683, 686, 701 AT&T/Bell , 564 645, 683
Adobe Flash Lite, 624, 681 Audacity, 591 Blyth, Steven, 512
Adobe Garamond (font), 112 AutoCAD, 217, 529, 537 Boids (Reynolds), 295, 473,
Adobe Illustrator, xxiii, 30, 77, 166, Autodesk 3ds Max, 268, 276, 475, 497
143, 217, 271, 273, 607–608, 683 391–392, 537 Boole, George, 38, 61, 669
Adobe Photoshop, xxiii, 95, 166, AutoDesk Revit, 537 Boolean algebra, 38
268, 276, 347, 355, 360, 384, AutoLISP, 522, 681 Boulez, Pierre, 581
387–388, 391–392, 607–608, Autonomedia, 564 Braitenberg, Valentino, 473–474
611, 683 Avid/Digidesign Pro Tools, 591 Brakhage, Stan, 413
Adobe Premiere, 391–392 AVR (Atmel), 640 Brecht, Bertolt, 564
Adobe Streamline, 166 awk, 517, 684 Brooklyn Academy of Music
AAC (Advanced Audio Coding), (BAM), 515–516
585 Babbitt, Milton, 580–581 Brown, Robert, 295
AIFF (Audio Interchange File Bach, J. S., 581 Brownian motion, 295
Format), 585–586, 699 Bailey, Chris, 581 Brunelleschi, Filippo, 525
Aldus PageMaker, 605 Balkin, Amy, 267 Bunting, Heath, 563–564
Alexander, Ryan, 380 Baran, Paul, 564 Bureau of Inverse Technology,
Alias Maya, 379, 387–388, 537, 680 Barr, Alfred, 291 548, 634
AltSys, 170 Barragán, Hernando, 633 Burke, Phil, 592
Andrade, Laura Hernandez, 4 BASIC, xxiii, xxiv, 152, 264, 522, Burton, Ed, 263–264, 413, 499
Apple IIe, xxiii 604–605, 640, 642, 681 Byrne, David, 581
Apple Audio Units (AU), 591 BASIC Stamp 2 (Parallax), 640
BasicX–24 (NetMedia), 642

705

Reas_09_519-710.indd Sec6:705 5/16/07 12:33:53 PM


C, 7, 264, 515–517, 522–523, 592, 640, Cosic, Vic 563–564 Electronic Arts, 585
642, 682–685, 693, 697 Costabile, Sue (SUE.C), 503–504 ELIZA, 101
C++, 264, 271, 383, 507–508, 511–512, Craighead, Alison, 618 Emacs, 516
515–516, 522–523, 555, 592, 599, Crawford, David, 316 Emigre, 605
640, 679, 681–682 Crystal Castle, 525 End of Print, The (Blackwell), 605
CAD (computer–aided drawing Csikszentmihályi, Chris, 507–508, Endless Forest, The (Tale of Tales),
software), 217, 526, 537–538 634 274–277
Cage, John, 127, 579 CSIRAC, 580 Engelbart, Douglas, 205
CalArts School of Art, 564 Csuri, Charles, 217 Eno, Brian, 581
California Institute of Technology Cuba, Larry, 1, 315 Enron, 268
(Caltech), 388, 549 Cullen, Mathew, 379–380 Enzensberger, Hans Magnus, 564
Cameron, Dan, 387 CV.Jit, 554 EPS, 606
Campbell, Jim, 549 Cybernetic Serendipity, 101, 603 Euler’s method, 7, 494
Carmack, John ,525 Cycling ’74, 554, 592 Every Icon (Simon), 565
Carnegie Mellon University, xxi Cyclops, 554 Evolved Virtual Creatures (Sims),
Carnivore, 566, 568–569 295
Carson, David, 605 Dada, 149–150 Experiments in Art and
Cascading Style Sheets (CSS), 93 Davies, Char, 526 Technology (E.A.T.), 633
CCRMA Synthesis ToolKit (STK), Davis, Joshua, 564–565 Extend Script, 683
592 Deck, Barry, 112 Eye magazine, 605
Chang, Zai, 6 Deleuze and Guattari, 564 Eye Catching (Steinkamp),
Cheese (Möller), 549 Delvoye, Wim, 461 386–389
Cho, Peter, 257, 327 De Mol, Gerry, 275 EyesWeb, 554–555
CIA World Fact Book, 267 Design By Numbers (DBN), xxiv, EZIO (NIQ), 642
Citron, Jack, 315 552–523, 682
CityPoems, 617, 624 Designers Republic, The, 605 Feingold, Ken, 633
ChucK, 592, 682 Dextro, 316 Ferro, Pablo, 327
Cloaca (Delvoye), 461 Dialtones (Levin et al.), 617–618 Final Cut Pro (FCP), 383, 503
Clash of the Titans, 387 Digidesign, 587, 591 Final Scratch, 507
Close, Chuck, 606 Dine, Jim, 606 Fischinger, Oskar, 413
CODE (Petzold), 648 DJ I, Robot Sound System, 506–509 Fisher, Robert, 552
Cohen, Harold, 218 Dodgeball, 617, 624 Flake, Gary William, 469
Columbia–Princeton Electronic Domain Name System (DNS), 566 Flight404.com, 6
Music Center, 580 DrawBot, 169, 682, 684 Flight Simulator, 525
Commodore C–64, 272 Drawing with Computers (Wilson), Foldes, Peter, 315
Commodore VC–20, 272 152, 217, 604 FontLab, 170
Common Lisp, 592 Drawn (Lieberman), 413 Fontographer, 170
Complexification.net, 6, 157 DuBois, R. Luke, 579 Fortran, 522
Computational Beauty of Nature, Duchamp, Marcel, 127, 633 Fractal.Invaders (Tarbell), 156–159
The (Flake), 469 Dunne, Tony, 634 Franceschini, Amy, 267
Computers and Automation, 603 Dürer, Albrecht 525, 612 Franke, Uli, 260, 271
Computer Clubhouse, 680 DXF, 520, 529–531 Free Radicals, 413
Computer Lib / Dream Machines Dynabook, 3 Friendster, 617
(Nelson), 3 Fourier, Jean-Baptiste-Joseph, 584
Computer Vision Homepage Eagle, 272 Fourier transform, 585, 588, 590
(Huber), 552 écal (école cantonale d’art de Futurist, 279, 579
Coniglio, Mark, 512 Lausanne), 271
“Constituents for a Theory of the Eclipse, 571, 625 Gabo, Nam, 633
Media” (Enzensberger), 564 ECMAScript, 681, 683 Galloway, Alexander R., 563
Conway, John, 461, 463, 467–468, Edelweiss Series (Maywa Denki), Game of Life, 461, 463, 465–466,
475 634 468, 475
Cook, Perry, 592 Edgerton, Harold, 295 Gardner, Martin, 461, 463
Cooper, Muriel , 327 Edison, Thomas, 579 Garton, Brad, 581
Cope, David, 581 Eighth Istanbul Biennial, 387 Gerhardt, Joseph, 391–392
CorelDRAW, 608 Eimart, Herbert, 580 Gestalt psychology, 584

706 Index

Reas_09_519-710.indd Sec6:706 5/16/07 12:33:54 PM


GIF, 95–96, 98–99, 421, 700–701 Huber, Daniel, 552 JavaScript, 268, 271, 522, 624, 680,
Girroir, Jonathan, 506–509 Huff, Kenneth A., 606 681, 683
Google, 568, 617 Hypermedia Image Processing Java Virtual Machine (JVM), 680
GPS (Global positioning system), Reference (HIPR), 552 Jeremijenko, Natalie, 548
619, 621 HyperTalk, 522 Jevbratt, Lisa, 566
Graffiti, 223 jMax, 592
GRASS, 681 IANA, 569 Jodi, 563–566
Groeneveld, Dirk, 333 IBM, 315, 537, 580, 585, 604, Jones, Crispin, 634
GNU Image Manipulation 620, 702 Jones, Ronald, 275
Program (GIMP), 95, 347, 355, IC (integrated circuit), 639, 647 Jonzun Crew, 508
607–608 I–Cube X (Infusion Systems), 642 JPEG, 95–96, 162, 421, 606, 611,
GNU Public License (GPL), 271 IEEE 1394 camera, 556 620, 701
Gnutella, 566, 571 If/Then (Feingold), 633 JSyn (Java Synthesis), 592
GPU (graphics processing unit), Igarashi, Takeo, 538 Julesz, Bela, 603
536–537 Igoe, Tom, 635, 648
Graphomat Z64 (Zuse), 603 Ikarus M, 170 Kay, Alan, 3
Greenwold, Simon, 525 Incredibles, The, 315 Kim, Tai-kyung, 5
Greie, Antye (AGF), 503–504 Internet Explorer, 565 Kimura, Mari, 582
Grzinic, Marina, 563 Internet Protocol (IP), 566–567, King’s Quest, 525
GUI (Graphical user interface), 569, 589, 645 Klee, Paul, 217
435–436, 448, 450, 499, 604, Impressionist, 279 Knowlton, Kenneth C., 315, 604
634, 679–680, 683, 685, 700 Inaudible Cities: Part One Krueger, Myron, 255, 512, 547
Gutenberg, Johannes, 111 (Semiconductor), 392 Kusaite, Lina, 275
Gutenberg archive, 433 InDesign, 683 Kuwakubo, Ryota, 634
Guttmann, Newmann, 580 Infrared, 553, 621
Gysin, Andreas, 373 Inge, Leif, 581 La Barbara, Joan, 511
Inkscape, 77, 607–608 Langton, Chris, 469, 471
Hall, Grady, 379 Installation (Greenwold), 526 Putto8 2.2.2.2 (Rees), 524, 526
Handel, George Frideric, 581 Institute of Contemporary Arts LaserWriter, 111, 604
Hansen, Mark, 515–516, 634 (ICA), 101, 522 Lee, Soo-jeong, 5
Harmon, Leon, 604 Intel Integrated Performance Led Zeppelin, 161
Harvard University, xxi Primitives (IPP), 512, 555 Legible City, The (Shaw,
Harvey, Auriea, 275 Interaction Design Institute Ivrea Groeneveld), 333
Hewlett-Packard (HP), 604, 610 (IDII), xxi, 634 Lehni, Jürg, 260, 271–273
Hawkinson, Tim, 633 i|o 360°, 565 Leibniz, Gottfried Wilhelm, 61
Hawtin, Richie, 507 I/O/D 4 (“The Webstalker”), 566 Letterscapes (Cho), 327
Hébert, Jean-Pierre, 217, 606 IRCAM, 554, 581, 592 LettError, 111, 168–170, 605
Hektor (Lehni, Franke), 260, Ishii, Hiroshi, 634 Levin, Golan, 259, 333, 511–512,
270–273 Ishizaki, Suguru, 327 547, 617–618
Henry, John, 507 ISO 216 standard, 611 Lewis, George, 582
Henry, Pierre, 580 Iwai, Toshio, 512, 549 LeWitt, Sol, 217
Hiller, Lejaren , 581 Li, Francis, 617
Hoefler, Jonathan, 112 James, Richard (Aphex Twin), 582 Lia, 316, 496
Hodgin, Robert, 6, 692 Jarman, Ruth, 391–392 Lialina, Olia, 563–564
Hokusai, 612 Java, 7, 9–11, 146, 161–162, 263–264, Licko, Zuzana, 112, 605
Hongik University, 5 271, 499, 521–523, 528, 555, 564– Lieberman, Zachary, 413,
Hong, Leon, 5, 375 565, 571, 574, 592, 622, 625– 626, 512–512, 547
Hooke’s law, 263, 487 642, 663, 673, 677, 679–683, Lifestreams, 425–426
Howard Wise gallery, 603 686–690, 699–700 Limewire, 571
HTML (HyperText Markup Java 2 Micro Edition (J2ME), 625 Lingo, 522–523, 555, 565, 683,
Language), 9–11, 93, 268, 427, 549, Java applet, 9–11, 264, 521, 656, 657, 686–687, 689, 691
564–565, 568–569, 621, 624, 675, 699 Linklater, Richard, 383
665–666, 684 Java Archive (JAR), 10–11, 700 Linotype, 111
HTTP (Hypertext Transfer Java Core API, 271 Linux, 4, 9–11, 508, 521, 568–569,
Protocol), 567–569, 623 625, 645, 649

707 Index

Reas_09_519-710.indd Sec6:707 5/16/07 12:33:54 PM


Listening Post (Rubin, Hansen), Metrowerks Codewarrior, 512 NetBeans, 625
514–517 Microsoft, 4, 111, 169, 436, 508, Netscape Navigator, 565, 683
LISP, 101 525, 537, 585, 702 Newton, Isaac, 477, 488
LiveScript, 683 Microsoft Direct3D, 537 New York University (NYU), 6, 634
Local area network (LAN), Microsoft Visual Basic, 436 New York Times, The, 150
568–569 Microsoft Windows, 9, 11, 264, 367, Ngan, William, 497
Logo, xxiii, 2, 217, 522, 681 421, 435–436, 511, 521, 568, 625, Nimoy, Josh, 512
Lovink, Geert, 564 645, 649, 665–666, 685 Noll, A. Michael , 217, 603
Lozano-Hemmer, Rafael, 546, 548 MIDI (Musical Instrument Digital Nokia, 517, 618–619, 625
Lucent Technologies, 515 Interface) 162, 554, 588–589, Nmap, 569
Lucier, Alvin, 590 591–592, 618, 621, 623, 642, 645, NSA (National Security Agency),
Luening, Otto, 580 683, 685 268
Lüsebrink, Dirk, 549 Mignonneau, Laurent, 549 NTNTNT (Cal Arts), 564
Lye, Len, 413 MIME, 623 NTSC, 367
Mims, Forest M., III, 648 NTT DoCoMo’s i–Mode, 624
Machine Art exhibition, 291, 633 Mini-Epoch Series, The Nuendo, Steinberg, 591
Machine Perception Laboratories, (Semiconductor), 390–393 null, 40, 701
549 Mini Movies (AGF+SUE.C), 500, NURBS (Non-uniform Rational
MacMurtrie, Chico, 549 502–505 B-splines), 526
Macromedia Director, 166, Minitasking (Schoenerwissen/ nVidia, 537
387–388, 554–555, 642, 683, 686 OfCD), 562, 566 Nyquist theorem, 585
Maeda, John, xix, xxiii, xxiv, 3, 5, Minsky, Marvin, 547
158, 333, 564, 606, 682 MIT Media Laboratory, xxiii, 327, OBJ, 529–531
Malka, Ariel, 372 634, 680, 682, 702 Objectivity Engine, The (Paterson),
Makela, P. Scott, 605 MixViews, 591 164–167
Mandelbrot, Benoit, 153 MP3, 162, 421, 585, 621, 623 Oliveros, Pauline, 582
Manovich, Lev, 565 MPEG–7, 549 Olsson, Krister, 589
Marble Madness, 525 Mobile Processing, 521, 622–626, Once-Upon-A-Forest (Davis), 564
Marconi, Guglielmo, 579 683 On, Josh, 267–268
Marey, Étienne-Jules, 295 Mohr, Manfred, 217, 602, 606 oN-Line System (NLS), 205
Mark of the Unicorn Digital Möller, Christian, 549 OpenCV, 512, 555
Performer, 591 Moore, F. Richard, 592 OpenGL, 512, 520, 528, 531, 537,
Markov chain, 581 Mophun, 625 554, 684
Marx, Karl, 267–268 Morisawa, 605 Open source, 4, 268, 271, 512, 521,
Massachusetts Institute of Motion Theory, 378–381 555, 591, 625–626, 640, 684
Technology (MIT), xix, xxiii, MTV, 384 OpenType, 111, 169
xxiv, 327, 634, 680, 682, 693, 695 [murmur], 618 Oracle database, 264
Masterman, Margaret, 101 Museum of Modern Art, The OSC (Open Sound Control),
Mathews, Max, 580, 586, 591, 683 (MOMA), 291, 633 516–517, 571, 589
MATLAB, 522 MUSIC, 580, 591 oscP5 (Schlegel), 571
Max/MSP/Jitter, 2, 503–504, Musique concrète, 580–581 Osmose (Davies), 526
515–517, 522, 554–555, 571, 580, Muybridge, Eadweard, 295, 373 O’Sullivan, Dan, 635, 648
592, 642, 683–685 Myron, 555 Oswald, John, 581
Maya Embedded Language (MEL), MySQL, 267–268 Owens, Matt, 565
680, 683 Myst, 525
Maywa Denki, 634 Pad, 435
McCarthy, John, 101 Nakamura, Yugo, 565 Paik, Nam June, 633
McCartney, James, 592 Nake, Frieder, 217, 603 PAL, 367
McCay, Winsor, 315 Napier, Mark, 566 Palm Pilot, 223, 625
McLaren, Norman, 413 Napster, 507, 571 Palm OS, 625
Medusa, 387 Nees, Georg, 217, 603 Panasonic, 625
MEL, 680, 683 Nelson, Ted, 3 Papert, Seymour, 2, 217
Mendel, Lucy, 507 “net.art”, 563–564 Parallax, 640
Messa di Voce (Tmema et al.), net.art (Baumgärtel), 564 Parallel Development, 516
510–513, 547 net.art 2.0 (Baumgärtel), 564 Pascal, 522

708 Index

Reas_09_519-710.indd Sec6:708 5/16/07 12:33:54 PM


Paterson, James, 165–166, 316, Q*bert, 525 Schlegel, Andreas, 498, 571
565, 606 Quartz Composer, 684 Schmidt, Karsten (a k a toxi), 4, 518
Paul, Les, 580 Qualcomm, 625 Schoenerwissen/OfCD, 562
PBASIC, 642, 681 Quest3D, 275–276 Schöffer, Nicolas, 633
PC, 10, 227, 388, 625, 665, 682 Schumacher, Michael, 582
PCB (printed circuit board), R, 515, 517 Schwartz, Lillian, 315
639, 640 Raby, Fiona, 634 Scientific American, 461, 463
PCM (pulse–code modulation), Radial, 503–504 Scratch, 680
585–586, 699, 702 RAM, 701 Screen Series (Snibbe), 549
PDF, 520, 606–608, 682 RandomFont Beowolf (LettError), Scriptographer (Lehni, Franke),
Pelletier, Jean-Marc, 554 111, 168–170, 605 270–273, 683
Penny, Simon, 549 Rauschenberg, Robert, 606 Seawright, James, 633
Perl, 146, 515–517, 522–523, 565, 571, Ray Gun, 605 sed, 684
681, 684 Razorfish, 565 Semiconductor, 390–393, 646
Perlin, Ken, 130 RCA Mark II Sound Synthesizer, Sessions, Roger 580
Personal area network (PAN), 580 Sester, Marie, 549
621–622 Readme!, 563 Shannon, Claude, 669
Petzold, Charles, 648 Real-Time Cmix, 592 Shape of Song (Wattenberg),
Phidgets, 642 Rees, Michael, 526 160–163
Philips, 634 Reeves, Alec 585 Shaw, Jeffrey, 333
PHP, 267–268, 522–523, 565, Reich, Steve, 293 Shiffman, Daniel, 6
682, 684 Reichardt, Jasia, 522 Shockwave Flash (SWF), 158, 565
PHPMyAdmin, 268 Reiniger, Lotte, 315 Short Messaging Service (SMS),
Physical Computing (O’Sullivan, RenderMan, 315 617, 619, 621
Igoe), 648 R.E.M. “Animal” (Motion Theory), SHRDLU, 101
Piano Phases (Reich), 293 378–381 sh/tcsh, 515, 684
PIC (Microchip), 272, 640 ResEdit, 170 Shulgin, Alexi, 563–564
PIC Assembler, 271–272 Resnick, Mitchel, 471, 680 Silicon Graphics, 529, 537
PIC BASIC, 681 Reynolds, Craig, 295, 473, 497 Simon, John F. Jr., 413, 565
Pickard, Galen, 507 Rhino, 271, 537 SimpleTEXT, 618
Pickering, Will, 516 Rich, Kate, 548 Sims, Karl, 295
Pixar, 315 Riley, Bridget, 151 Sinclair Spectrum, 264
Pixillation (Schwartz), 315 Ringtail Studios, 275 Singer, Eric, 554
PNG (Portable Network Graphics), Risset, Jean-Claude, 581 Sketchpad, 217
95–96, 98–99, 606, 622, 701 RoboFog, 170 SketchUp, 538
Pocket PC, 625 Rokeby, David, 548, 554 Slacker, 383
PoemPoints, 617 Rotoshop, 383–384, 413 Slimbach, Robert, 112
Pong, 256, 590, 618 Royal Academy of Arts, 169 Smalltalk, 685
PortAudio, 512 Royal College of Art, 634 Smith, Laura, 275
PostScript, 111, 143, 169–170, 522, Rozin, Danny, 549 Snake, 618
604–605, 681 RS-232, 639, 554, 640, 645 Snibbe, Scott, 413, 549
Poynor, Rick, 605 Rubin, Ben, 515, 634 Social Mobiles (SoMo), 634
Practical Electronics for Inventors Ruby, 681, 684 Sodaconstructor (Burton),
(Scherz), 648 Ruby on Rails, 684 262–265, 413, 499
Practice of Programming,The Runge-Kutta method 7, 494 Soda Creative Ltd., 263–264
(Kernighan, Pike), 252 Russolo, Luigi, 579 SoftVNS, 554
Praystation (Davis), 564 Solidworks, 537
Public Enemy, 581 Sabiston, Bob, 383–384, 413 Sommerer, Christa, 549
Puckette, Miller, 2, 592, 684 Saito, Tatsuya, 198, 529, 568 Sonami, Laetitia, 582
Pulse–code modulation (PCM), Samyn, Michaël, 275 Sonic Inc., 392
585–586, 699, 702 Sauter, Joachim, 549 Sony, 634
Pure Data (Pd), 592, 684–685 Schaeffer, Pierre, 580 Sony Ericsson, 625
Python, 146, 170, 517, 522–523, Scheme, 522 Sorenson, 388
681–682, 684 Scherz, Paul, 648 Sorting Daemon (Rokeby), 548, 554
Schiele, Egon, 217 Sound Films, 392

709 Index

Reas_09_519-710.indd Sec6:709 5/16/07 12:33:55 PM


Spark Fun Electronics, 640 Toy Story, 315 von Neumann, John, 461
SQL (Structured Query Language), Tmema, 510–513 Vorbis codec, 585
685 Transmission Control Protocol Voxel, 527
Srivastava, Muskan, 5 (TCP), 569 vvvv, 685
Standards and Double Standards Tron, 315
(Lozano-Hemmer), 547–548 Truax, Barry, 581 Wacom, 383
Star Wars, 315 TrueType, 111 Waking Life, 382–385, 413
Strausfeld, Lisa, 327 Tsai, Wen–Ying, 633 Walt Disney, 315, 379
Stedelijk Museum, 218 TurboGears, 684 Wang, Ge, 592
Stehura, John, 315 Turkle, Sherry, 5 Warner Bros. Records, 379
STEIM (Studio for Electro- Turux (Lia, Dextro), 316 Wattenberg, Martin, 161–162, 606
Instrumental Music), 554 Type, Tap, Write (Maeda), 333 Watz, Marius, 374
Steinkamp, Jennifer, 387–388 Tzara, Tristan, 150 WAV, 585–586, 621, 623, 702
Stipe, Michael, 379–380 Wayfinder Systems, 619
Stockhausen, Karlheinz, 580 Überorgan (Hawkinson), 633 Wegman, William 606
Stone, Carl, 582 Unicode, 432, 665–668 Weizenbaum, Joseph, 101
Stop Motion Studies (Crawford), University of California Whitney, James, 315
316 Berkeley, 589 Whitney, John, 315
Studies in Perception I, (Knowlton, Los Angeles (UCLA), xxi, 4, 5, 574 Whitney Museum of American
Harmon), 604 San Diego (UCSD), 549 Art, 516
Substrate (Tarbell), 6, 154, 156–159 University of Cincinnati (UC), xxiii Wilhelm Imaging Research, 610
Sudol, Jeremi, 507 University of Genoa, 554 Wilson, Mark, 152, 217, 604
Suicide Box, 548, 554 UNIX, 227, 435, 517, 569, 645 Winograd, Terry, 101
Sun Java Wireless Toolkit, 625 U.S. Army Ballistic Missile Wiring, 521, 633, 640, 641, 645–646,
Sun Microsystems, 521, 537, Research Laboratories, 603 648–649, 685
625, 682 USB, 556, 640–645, 701 Wright, Frank Lloyd, 333
SuperCollider, 571, 592, 685 User Datagram Protocol (UDP), Wrongbrowser (Jodi), 566
Sutherland, Ivan, 217 554, 569, 589 Wolfram, Steven, 461, 463–464,
SVG (Scalable Vector Graphics), Ussachevsky, Vladimir, 580 467, 475
77, 520, 606, 624 UTF-8, 665 Wolfenstein 3D, 525
Symbian, 625 Utterback, Camille, 549 Wong, Andy, 507
Synergenix, 625 Wong, Yin Yin, 327
Valicenti, Rick, 605
Tale of Tales, 274–277 van Blokland, Erik, 169–170 Xenakis, Iannis, 581
Talmud Project (Small), 327 van Blokland, Petr, 170 Xerox Palo Alto Research Center
Takeluma (Cho), 327 VanDerBeek, Stan, 315 (PARC), 3, 205
Takis, 633 Vanderlans, Rudy, 605 Xerox, 507
Tarbell, Jared, 6, 155–156, 606 van Rossum, Just, 169 xHTML Mobile, 624
Tangible Media Group (TMG), 634 Vaucanson’s Duck, 461 XML, 421, 427–428, 520, 549, 621,
TARGA, 368, 606, 702 Vehicles: Experiments in Synthetic 624, 702
Tate Gallery, 218 Psychology (Braitenberg), 473
T|C Electronics Powercore, 587 Venice Biennale, 391 Yamaha Digital Mixing Engine
tcpdump, 568–569 Verschoren, Jan, 275 (DME), 516
TCP/IP, 554, 569, 589 “Video Games and Computer Yellow Arrow, 618
Technics, 507 Holding Power” (Turkle), 5 Youngblood, Gene, 388
Teddy (Igarashi), 538 Videoplace (Krueger), 547
Telephony (Thompson, Visual Language Workshop (VLW), Ziggurat (font), 112
Craighead), 618 327, 702 Zooming user interface (ZUI), 435
TeleNav, 619 Visual programming languages
Teleo (Making Things), 642 (VPL or VL) , 679–680
Tesla, Nikola, 579 Vitiello, Stephen, 582
Text-to-speech (TTS), 516–517 VLW font format, 112, 702
They Rule (On et al.), 266–269 Vogel, Peter, 632, 633
Thomson, Jon, 618 Von Ehr, Jim, 170
TIFF, 368, 507, 606, 608, 611, 702 Vonnegut, Kurt, 507

710 Index

Reas_09_519-710.indd Sec6:710 5/16/07 12:33:55 PM

You might also like