Saturday 10 December 2011

Staging illusion



Despite horrendous storminess this was a great event, I didn't realise some of the other delegates and academics were also illusionists/magicians and members of the magic circle. I'm glad I didnt show anyone how my Pepper's Ghost Buddha works or I would have been in big trouble..drummed out of Brighton at least.

Sunday 27 November 2011

Weird Big Bang Trigonometry


Now I know how the universe began,mucking around with Trigonometry..suddenly stuff like this happens. It's the wicked atan() function..



void setup() {

size(500, 500);
background(0, 12);
smooth();
}

void draw() {

translate(width/2, height/2);

for (int i = 0;i<680;i++) {
stroke(random(55), random(55), random(255), 75);
point(cos(i)*frameCount%width, sin(i)*frameCount%height);

strokeWeight(1.2);
stroke(random(53), random(55), random(255), 120);
point(cos(i*atan(frameCount))*width, sin(i)*height);

stroke(random(253), random(55), random(255), 123);
line(tan(i*frameCount)*width, tan(i)*121, tan(i*frameCount)*height, tan(i)*120);
}
filter(BLUR);
filter(DILATE);
if (frameCount%width*55==0) {
setup();
}
}

Friday 21 October 2011


Good turnout for this yesterday at the Centre for Creative Collaboration.

Friday 16 September 2011

Tuesday 13 September 2011

Link to Istanbul papers

http://isea2011.sabanciuniv.edu/.dare
ENCOUNTERING THE BODY IN ART, ONLINE: VAINS (VISUAL ART INTERROGATION AND NAVIGATION SYSTEM) THE ABJECTION APPLICATION AND THE NEURAL ART NAVIGATION TOOL

VAINS is a cu­ra­to­r­ial art plat­form, fo­cus­ing on repos­i­tory, search and con­tent rec­om­men­da­tion tools ad­justed to art con­tent on­line. It is ded­i­cated to repo­si­tion­ing the body in HCI and de­ploy­ing thr em­bod­ied and sit­u­ated na­ture of human users as core re­sources. cu­ra­to­r­ial method­olo­gies and ways in which dig­i­tal art is re­shap­ing cu­ra­to­r­ial prac­tice are dis­cussed. Ex­per­i­men­ta­tion with Ab­jec­tion Ap­pli­ca­tion and Neural Art Nav­i­ga­tion tool de­scribed .
AUTHOR(S)

Lee Weinberg
Dr Eleanor Dare

Wednesday 7 September 2011

Preparing for Istanbul


Lee and Alexandra and I have all been preparing for Istanbul ISEA next week. I'm not going but have done short, weirdy film intros for both of the collaborative papers. This is a still from the intro Lee and I recorded today, this is the future of conferencing, or should be, saves on air-miles and travel anxieties. Wonder if anyone will notice the frog on my shoulder? It drove everyone in the GDS mad with its constant croacking.. until we did an operation on it and removed the croak.

Sunday 28 August 2011

Draw an ellipse with pixels only

Draw an ellipse with pixels only (i.e not with the ellipse() function)

/*
E.Dare August 2011
Draw an ellipse with pixels only
*/

int x = 150;
int y =150;
float radius =80;

void setup() {
size(300, 300);
}

void draw() {
background(255);


color col2 = color(0, 0, 255);


//if i and j are within half radius width of x and y (centre) fill with blue
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
if ((dist(i, j, x, y)<=radius/2)) {
set(i, j, col2);
}
}
}
}

Friday 26 August 2011

Had a paper accetped for this conference, Staging Illusion with key note from none other than my old doctoral supervisor (I mean supervisor of old) Sarah Kember. Cooool. :-)

Saturday 9 July 2011

Model realistic movement that is subject to friction

/*
Model realistic movement that is subject to friction
and therefore non-uniform acceleration/deceleration.
*/

float velocity = 50.0; //added to y coordinate
float friction = 0.99;

/*velocity is multiplied by friction, because friction
is less than 1, friction decreases the velocity with each frame
so the 'ball' slows down, until we re-boost it with a mouse press */

float y =0;

void setup() {
size(400, 400);
}



void draw() {
background(255);

fill(255, 0, 0);
ellipse(55, y, 45, 45);
velocity*=friction; //this decreases velocity with every frame.

y +=velocity;//add this to y;
//check for edges:
if ((y>height) ||(y<0)) {
velocity=-velocity;
}
println(velocity);
}

//reboost the 'ball'
void mousePressed() {
velocity =10;
}

Visualising name, age, height, data



























String name ="Taumata­whakatangihanga­koauau­o­tamatea­turi­pukakapiki­maunga­horo­nuku­pokai­whenua­kitanatahu"; //name of a hill in NZ


Friday 8 July 2011

Glasgow Coma Test (GCT)


Worrying results from the Glasgow Coma Test: It thinks I have a mild head injury...
:-/

Thursday 7 July 2011

Visualisation of 'Chakra' test results



Results from my Chkara Test, 07/07/11. Chakra test available at : http://www.eclecticenergies.com/chakras/chakratest.php, and mapped to my body.











Sequences of EEG readings mapped to my image
















The brainwave frequencies are mapped to colours that tint the video as I capture my EEG readings, by coincidence they look like 'aura' images or images of Chakras ('wheel-like vortices which, according to traditional Indian medicine, are believed to exist in the surface of the 'etheric double' of man' (wikipoodia where else). I used the crude background subtraction and transparency effect I wrote the other day in Processing.

Wednesday 6 July 2011





















I'm trying to obtain images inbetween 'fractional fixations', capturing the ninety waking minutes a day each of us reputedly spends in total darkness...I'm not sure if that's really the same thing as a blink, or if a saccade is even smaller, but even a blink seems to represent cognitively indiscrete moments of darkness, a partial loss of awareness, when 'we are basically sightless' (Cognitive Impact of Eye Movements in Picture Viewing, Gufran Ahmad, Yukio Ohsawa, Yoko Nishihara, International Journal of Intelligent Information Processing, Volume 2, Number 1, March 2011)

Tuesday 5 July 2011

Various ways of converting from decimal to binary

/*
Various ways of converting from decimal to binary
In order to convert a decimal number to its
binary equivalent, you repeatedly divide
the decimal number by 2, the base of the binary system.
Division by 2 will either give a remainder of 1 (dividing an odd number)
or no remainder (dividing an even number). Collecting the remainders
from our repeated divisions will give us the binary answer....

*/

void setup() {

//convert decomal to binary

int mynum = 13; // num to unpack
for (int i=mynum; i >= 0; --i) { // start at 31, go down to 0
int bit = 1 << i; //clever bit wise operator
if ((mynum & bit) == bit) {
print(" 1 ");
}
else {
print(" 0 ");
}
}
println("\n ");
//could also just cheat and do
println(" CHEAT:" +Integer.toBinaryString(13));

//another way:


int dec, rem;
int i=1;
int sum=0;

dec =13;
do
{
rem=dec%2;
sum=sum + (i*rem);
dec=dec/2;
i=i*10;
}
while (dec>0);
println("The binary of the given number is:"+sum);

//even simpler:

int x =13;

while (x>0)
{
int y=x%2;
x=x/2;
System.out.print(y); //reverse numbers to get the proper binary number
/**
The while loop will run until the variable x is equal to 0. While running,
this loop will get the remainder of x divided by 2, assign the remainder to variable y,
divides x by 2, and prints out y to display to the user The process repeats until x is 0.
*/
}
}

Monday 4 July 2011

Ganesh calming Android phone app



Ganesh calming Android phone app

















very simple:
PImage gan;
int counter;

void setup() {

gan =loadImage("ganesh.png");

background(#FF99FF);
}




void draw() {
imageMode(CENTER);
counter =frameCount;

translate(width/2, height/2);
image(gan, 0, 0, width, height);
rotate(counter*TWO_PI/360);
strokeWeight(5);

stroke(#CC527A);
fill(#FF99FF);


tint(255, frameCount%5);
noTint();
tint(255, 124);

image(gan, 0, 0, 400, 400);
noTint();
tint(255, frameCount%120);
image(gan, 0, 0);

}

Saturday 2 July 2011

The Global Consciousness Project Meaningful Correlations in Random Data

The Global Consciousness Project could form the basis for an interesting arts project, the site includes 'EEG tapestries', with data gathered at the time of major traumas, earthquakes, train crashes etc and tries to prove a linked consciousness and impact on random number generation...

http://noosphere.princeton.edu/

Subtle interactions link us with each other and the Earth

"When human consciousness becomes coherent and synchronized, the behavior of random systems may change. Quantum event based random number generators (RNGs) produce completely unpredictable sequences of zeroes and ones. But when a great event synchronizes the feelings of millions of people, our network of RNGs becomes subtly structured. The probability is less than one in a billion that the effect is due to chance. The evidence suggests an emerging noosphere, or the unifying field of consciousness described by sages in all cultures.

The Global Consciousness Project is an international, multidisciplinary collaboration of scientists and engineers. We collect data continuously from a global network of physical random number generators located in 70 host sites around the world. The data are transmitted to a central archive which now contains more than 12 years of random data in parallel sequences of synchronized 200-bit trials every second"

Wednesday 29 June 2011

Video Transparency hack part II




/**
* hacked background subtraction and transparency effect in live video - needs refining!!
* E.DARE 2011
*/

import processing.video.*;
PImage star;
Capture cam;

void setup() {
size(320, 240);

cam = new Capture(this, 320, 240);
star =loadImage("back.jpg");

}


void draw() {
image(star, 0, 0, cam.width, cam.height);
if (cam.available() == true) {
cam.read();
cam.loadPixels();
color cc =color(255, 0); //

for (int x = 0; x < cam.width; x++) {
for (int y = 0; y < cam.height; y++ ) {
int loc = x + y*cam.width;
if (brightness(cam.pixels[loc])>=120) { //set your threshold here
cam.pixels[loc] = cc;//
}
}
}


}
cam.format = ARGB;
cam.updatePixels();
image(cam, 0, 0);
}

Remove background and make it transparent

/*
removes a black background from the vase picture and replaces it with translucent pixels, so the image behind the vase is revealed
*/
PImage img, img3, destination;


void setup() {
size(300, 300);
img = loadImage("vase.jpg");
destination = createImage(img.width, img.height, RGB);


img3 = loadImage("star.jpg");
}

float threshold = 12;
void draw() {
//noLoop();
background(255);

img.loadPixels();
destination.loadPixels();
color cc =color(255, 255, 255, 0); //with transluscent alpha channel
//could just write 255, 0
color cc2 =color(0, 0, 255);

for (int x = 0; x < img.width; x++) {
for (int y = 0; y < img.height; y++ ) {
int loc = x + y*img.width;

if (brightness(img.pixels[loc])>=threshold) {
destination.pixels[loc] = img.pixels[loc];// the vase , could be a color fill too i.e =cc2;
}
else if(brightness(img.pixels[loc])<=threshold) {

destination.pixels[loc] = cc;
}
}
}
destination.format = ARGB; //this is the crucial line
destination.updatePixels();


image(img3, -20, -20);
image(destination,0,0);
}

Tuesday 28 June 2011

Creativity and Cognition artwork accepted for Atlanta conference

Creativity and Cognition

Had my artwork proposal (the Lost Memories project) accepted to be exhibited/performed at the Atlanta conference, Creativity and Cognition 2011:

The 8th ACM Conference on Creativity and Cognition will be held from November 3rd through November 6th at Georgia Institute of Technology in Atlanta, Georgia, USA. Starting in 1993, the Creativity & Cognition (C&C) conference series have evolved into lively interdisciplinary meetings, bringing together artists and scientists, designers and educators, researchers and practitioners.

The theme of Creativity and Cognition 2011 is Creativity and Technology. We seek to understand human creativity in its many manifestations, to design new interactive techniques and tools to augment and amplify human creativity, and to use computational media technologies to explore new creative processes and artifacts in all human endeavors ranging from the arts to science, from design to education.

Saturday 25 June 2011

The I Ching in 8 Bytes: 00000010010001010100001101001100101101100011101011 10011110111111


I really like the idea of this circular sequence as the whole of the I Ching, a 64 bit number which I stumbled upon tonight while looking for visual mappings of the hexagrams to binary numbers.
http://www.onlineclarity.co.uk/friends/showthread.php?t=5212
So from left ro right, 000000 is the hexagram kūn, Earth, the receptive:
_ _
_ _
_ _






image from http://proporzionedivina.blogspot.com/2009/06/i-ching-as-binary-system.html


00000010010001010100001101001100101101100011101011 10011110111111
6*64 = 384 lines to represent the entire realm of change...

Nice data visualisation


http://www.webdesignerdepot.com/2009/06/50-great-examples-of-data-visualization/

Friday 24 June 2011

Simple visual version of Bubble Sort


Simple visual version of Bubble Sort, adapted from previous code
<----void draw() {


// If the mouse is pressed sort the array
if (mousePressed == true) {
bubbleSort(myArray);
for(int i=0;i fill(myArray[i]*20, myArray[i]*25, myArray[i]*5, myArray[i]*20);
ellipse(50, +i*25, myArray[i]*2, myArray[i]*2);
print(" " + myArray[i]);
}
}
}
------>

Bubble Sort algorithm




Nice bubble sort example from Kevin, I've made a simpler version below
/*
demonstrates a bubble sort algorithm, a variety of 'comparison sort'.
involves repeatedly stepping through the list to be sorted, comparing each pair of adjacent
items and swapping them if they are in the wrong order. The pass through the list is
repeated until no swaps are needed, which indicates that the list is sorted.
The algorithm gets its name from the way smaller elements "bubble" to the top of the list
adapted from Kevin:
http://processing.org/discourse/yabb/YaBB.cgi?board=Programs;action=display;num=1059766998


**/

//NASTY BLOG DOESNT WANT TO DISPLAY CODE PROPERLY

void bubbleSort(int array[])
{
int i, j;
boolean sorted = false;

// while the array isn't sorted
while (!sorted) {
sorted = true;
// loop through array
for (i=0;i array[i+1]) {
// swap values
j = array[i];
array[i] = array[i+1];
array[i+1] = j;
//println(array);
// trigger's been hit, array isn't sorted.
sorted = false;
}
}
}
}






Thursday 23 June 2011

Factorials: 5 ! = 5 * 4 *3 *2 * 1 = 120 \

5 ! = 5  \times  4  \times  3  \times  2  \times  1 = 120  \
(! means factorial) The factorial function (symbol: !) means to multiply a series of descending natural numbers. Can be used to find permutations and combinations, especially of large numbers
Here first 20 factorials:

void setup() {

for(int i=0;i<20;i++) {
long N = i;
println(i+ " :" +factorial(N));
}
}

long factorial(long n) {
if (n < 0) throw new RuntimeException("Underflow error in factorial");
else if (n > 20) throw new RuntimeException("Overflow error in factorial");
else if (n == 0) return 1;
else return n * factorial(n-1);
}





//Processing variation adapted from http://introcs.cs.princeton.edu/java/23recursion/Factorial.java.html



Output from code:

0 :1
1 :1
2 :2
3 :6
4 :24
5 :120
6 :720
7 :5040
8 :40320
9 :362880
10 :3628800
11 :39916800
12 :479001600
13 :6227020800
14 :87178291200
15 :1307674368000
16 :20922789888000
17 :355687428096000
18 :6402373705728000
19 :121645100408832000

Wednesday 22 June 2011

Find prime numbers/prime factors

simple algorithm to find prime numbers and prime factors
depending on the value of N

void setup() {
long N =463;
for (long i = 2 ; i <= N ; i++) {
while (N % i == 0) {
System.out.println(i);
N = N/i;
}
}
}

Heron of Alexandria/Babylonian Algorithm to find square roots

imperative programming :
'imperative programs define sequences of commands for the computer to perform.'

Heron of Alexandria/Babylonian Algorithm to find the square root of a number, 3 versions here:

/*
1. Start with an initial guess (g) of what the square root of some number
(call it n) might be. The initial guess doesn't even have to be close. For simplicity's sake, let's always choose g = 1.
2. Compute result = ((n/g) + g)/2. Let g be the result just computed.
3. Repeat step 2 until the last two results obtained are the same.
sucessive approximation? Adapted from some C++ code I found on the web
*/

void setup() {
}
void draw() {

//doesn't really need to be in draw()

heronSqrt(44);
}

double heronSqrt(int number) {

double x = number/2;
for (int i = 0; i< 10; i++) {
x = (x + number/x)*0.5; //0.5
println("next approximate: " +x);
}
println("Processing guess: " + sqrt(number));
return x;
}
}

////another 2 variants:

//heron 2
void setup() {
heronTwo(44);
println(" ");
println(heron3(44));
}


double heronTwo(int n) {


double guess = n/2;
double r = 0.00;
for(int i = 0; i < 10; i++)
{
r = n / guess;
guess = (guess + r) / 2;
System.out.println(guess);
}

System.out.println("The square root of "+n+" is:");
System.out.printf(" [ %4.2f ]", r);//printf = formatted according to flags

return r;
}


double heron3(double number)

{ //square root Babylonian method



double estimate=number;

double divisor=2;

//below 100 is arbitrary, for very small decimals i values must be large

for(int i=0; i<100; i++)

{

estimate=number/divisor;

estimate=(estimate+divisor)/2; //find average estimate & divisor

divisor=estimate;
}

return estimate;
}

LCM and HCF algorithms

/*work out the Highest Common Factor, i.e the largest number that can
fit into the two numbers
and the lowest common multiple
i.e the smallest whole number which is a multiple of the two numbers
i.e 12 and 15
*/


/*the two numbers I'm working out LCM and HCF for */
long a =12;
long b =15;

long d=2;
long s=1;
void setup() {


while(a>=d && b>=d)
{
if((a%d==0) && (b%d==0)) {

s=s*d;
a=a/d;
b=b/d;
}
else
{
d++;
}
}
println("HCF = " + s);
println("LCM= " + s*a*b);
}


void draw() {
//do nothing here
}

Great Writing Conference

Took part in the Great Writing Conference this weekend at Imperial College, heard some interesting papers and presented my own garbled version of a paper, but left wondering what the point of it was.

Thursday 2 June 2011

Dreamt I was in a crashing plane




The last few weeks I've been discussing lucid dreaming with a number of different people, several of whom have said you should try to read a book or look at your hands to see if you can recogonise patterns etc while dreaming, since those conversations I've had two more lucid dreams in which I've remembered to find something to read and to look at my hands, then turn them over and try to remember the lines on them. Last night I dreamt I was in a plane that was crashing, as it was about to hit a bridge I thought, 'this is really going to hurt' then I realised it was a dream and said to myself 'it cant hurt' and just went straight through the concrete and out the other side. I looked at my hands to remember the patterns on them, I'd done that before, but they were blue, this time they were my normal hands and I could remember the patterns, I found a boy reading a book and I looked at the title, it was a book on Coffee...I woke up and it was morning...the most lucid dream I've had so far.

Wednesday 1 June 2011

Derek Jarman's Wittgenstein

http://www.youtube.com/watch?v=6WzqyO-wIMI
Found Derek Jarman's Wittgenstein on the web, I'm framing the Buddha box/Zen garden as an investigation into the limits of symbolic logic, carefully (and slowly!) reading the The Tractatus Logico-Philosophicus ("Logical-Philosophical Treatise"). Section 4 is the tricky one:

4.1 Propositions represent the existence and non-existence of states of affairs.
4.11 The totality of true propositions is the whole of natural science (or the whole corpus of the natural sciences).
4.111 Philosophy is not one of the natural sciences. (The word "philosophy" must mean something whose place is above or below the natural sciences, not beside them.)
4.112 Philosophy aims at the logical clarification of thoughts. Philosophy is not a body of doctrine but an activity. A philosophical work consists essentially of elucidations. Philosophy does not result in "philosophical propositions", but rather in the clarification of propositions. Without philosophy thoughts are, as it were, cloudy and indistinct: its task is to make them clear and to give them sharp boundaries.
4.113 Philosophy sets limits to the much disputed sphere of natural science.
4.114 It must set limits to what can be thought; and, in doing so, to what cannot be thought. It must set limits to what cannot be thought by working outwards through what can be thought.
4.115 It will signify what cannot be said, by presenting clearly what can be said.

With the Buddha Box you can never see directly in it, only via a camera, and then only when Brainwave states are those synonymous with 'higher consciousness'.

http://ijb.cgpublisher.com/product/pub.27/prod.388

hooray!

Sunday 29 May 2011

Back to the gene garden




back to the gene garden:




float xoff = 0.0;
float xincrement = 0.01;
int THRESH = 100;//size of best int
int POP_MAX = 1200;
int maxSIZE = 122;//max cell size
int[] pop = new int[POP_MAX];
//int[] fit = new int[10];
ArrayList fittest;
ArrayList babies;
int b, c, bab, baby;
//int cycles = 9;
void setup() {
size(900, 200);
fittest = new ArrayList();
babies = new ArrayList();
for (int i=0; i < POP_MAX; i++) {
pop[i] = (int)random(0, maxSIZE);//fill first population
}
}



void draw() {
// noLoop();
frameRate(2);
babies.clear(); //kilfuture parents

int ran2 = (int)random(maxSIZE, maxSIZE+maxSIZE/2);
for (int yy = 0;yy<5;yy++) {
babies.add(ran2);//couple of mutants
}
float n = noise(xoff)*width;

// With each cycle, increment xoff
xoff += xincrement;

fill(255);
rect(0, 0, width, height);
//initial population
for (int i=0; i < POP_MAX; i++) {
// println(" " +pop[i] + " ");
// ellipse(i+30, 50, 25, 25);
getFit(pop[i]); //asess for fitness
}
for (int i=0; i < fittest.size(); i++) {
Integer a = (Integer)fittest.get(i);
//println(" " +a + " ");
}



//best babies bred from best of population:
for (int i=0; i < babies.size(); i++) {
Integer tempbab = (Integer)babies.get(i);
bab = tempbab;


noStroke();

fill((int)random(bab*2), (int)random(bab*3), (int)random(bab*2), bab);
// ellipse(i+bab+bab/2, 100, bab, bab);
ellipse(i+bab+bab/2, 100, bab, bab);
// ellipse((int)random(n),height/2,bab, bab);
}
/*for(int i=0;i=THRESH) {
// println(" " +check + " ");
fittest.add(check);
breed(check);
}
}

///add biggest together
void breed(int a) {

int ran = (int)random(fittest.size());
for (int i=0; i < ran; i++) {
Integer tempb = (Integer)fittest.get(i);
b = tempb;
}

for (int i=ran; i > ran; i++) {
Integer tempc = (Integer)fittest.get(i);
c = tempc;
}

// fill((int)random(20, 255), 20);
///println(b+c);
// translate(20, 20);
//ellipse(b, c, 20, 20);
// baby =b+c+(int)random(-200); //breed and mutate
baby =b+c; //slight mutation
babies.add(baby);
}
///ignore this (note to self)



World world;

void setup() {
size(1100, 200);

world = new World(15); //20
smooth();
}

void draw() {

background(255);
world.run();
}


void mousePressed() {
aahha
save(frameCount+".jpg");
}
////


class Food {

ArrayList food;
ArrayList ellie; //my random size variables
int eloc;
int a =80;

Food(int num) {
// Start with some food
food = new ArrayList();
ellie = new ArrayList();//random sizes
for (int i = 0; i < num; i++) {
food.add(new PVector(random(width), random(height)));
}

for (int i = 0; i < food.size(); i++) {

ellie.add(int(random(10, 78)));
}
}


void run() {

for (int i = 0; i < food.size(); i++) {
PVector loc = (PVector) food.get(i);
ellipseMode(CENTER);
eloc = (Integer) ellie.get(i);

fill(loc.x, eloc, loc.y);


ellipse(a+i*53, 80, eloc, eloc);
// rect(a+i*50, 80, eloc, eloc);
}
}

// Return the list of food
ArrayList getFood() {
return food;
}
}
/////


class World {


Food food;

// Constructor
World(int num) {

food = new Food(num);
}


void run() {
// Deal with food
food.run();
}
}
//thanks to D. Shiffman...

Friday 27 May 2011

Photographing God Part II

This is the most mysterious image of God I have captured so far, and I can definitely see a bit of a laugh forming on that ghostly face. If God is light (Apollo is a god of light and the sun, God is light and in him is no darkness at all (John) and in Buddhism, all beings are imbued with a spark of inner divine light), then the attempt to use optical methods for capturing a representation seems reasonable, more reasonable at least then using words. It's quite hard to find serious references to this endeavour. I've just discovered Mel Alexenberg has a site called 'Photographing God', with this heading of text:
'Focus your camera lens on God and you will see God looking back at you. Seeing God is seeing divine light reflected from every facet of your life.' http://photographgod.blogspot.com/
I Haven't thought yet how to frame my project, but I suspect, it's underpinned by a search for the possibilty of experiencing an absence of dread, an absence of specific subjectivity as well as the more laudable academic quest for the unrepresentable - exploring the limits of symbolic representation. Can we have a 'direct experience', for example? This is an analogue device in which there is no inscriptive technology at play, only a fleeting im-material presence. What the viewer sees is only light, which we can pass our hands right through - through God and out the other side, leaving us wondering if we have seen anything at all.
The blueish one in this image is with natural light, the red one (earlier post) is with electric light..the result is like a pin-hole camera photograph, I'd like to add garden sounds to the box.

Buddha garden 'hologram' part I

The idea is for a mystical and peaceful meeting with G (of some sort), you press the hefty steam punk button on the lid and see G in a nice Zen garden, it's Pepper's Ghost illusion, which my students told me about on Tuesday - an optical illusion with a reflective surface and light. Looks a lot like a hologram or a ghost..

Tuesday 24 May 2011

Bizzare results from my gene garden this afternoon

Bizare results from my gene garden this afternoon, trying to grow the Zen Garden via Genetic Algorithm, but somehow it got out of control and started breeding 'plants' by the thousand.oops