Reflection Loop | 2001

Pseudocode (Public Event Reflection Loop), 2001

This poem was written in pseudocode to explain the logic of 400 reprogrammed Furby toys. Each Furby "pixel" is modeled after a water molecule that responds to viewer presence, as would a reflecting pool - hence the title of the sculpture in which they were embedded: "The Pool," 2001.

//PUBLIC EVENT REFLECTION LOOP

import language.poesis.*;

public event reflectionLoop extends Self

{

//global

Object observer;
Instrument art;
Pixel furby;
Composition H2O[];
boolean somebody;

//constructor

public reflectionLoop(Object subject, Instrument mirror, Pixel physical_pixel)

{

observer = subject;
art = mirror;
furby = physical_pixel;
H2O = new Composition[20 * 20];
for (index i = 0; i < H2O.getLength(); i++)

{

H2O[i] = new Pixel(furby);

}

}

//methods

private simulatePerception()

{

flip();
feed();
talk();
tickle();
blind();
clap();
pet();

}

public anybodyThere()

{

mySignal.output();
myInput.check();
if (myInput == mySignal)

{

somebody = true;

}

else

{

somebody = false;

}

}

private void suspendAnimation()

{

eyes.close();
mouth.shut();
voice.silence();
motorFunction = null;

}

public animate()

{

motorFunction.enable();
voice.makeAudible();

}

//loop forever

public main()

{

while(ON)

{

for (index i = 0; i < H2O.getLength(); i++)

{

Pixel my_furby = H2O[i];
my_furby.simulatePerception();
my_furby.anybodyThere();

if (somebody)

{

my_furby.animate();

}

else

{

my_furby.suspendAnimation()

}

}

}

}

}