Tuesday, January 10, 2012

Friday, November 11, 2011

nullPointerException Exhibition at PJ Olivier





The crazy days of installation and setup, opening and examiners have passed. Here are some photos. The show runs till 25 November and is open on weekdays from 9:00 - 16:00.

Sunday, November 06, 2011

tests and installation

As an initial preparation I went through each of the pieces and tried to think which parameters would be different in the gallery space. Since I wasn't sure which pc's I could use and they all vary in speed and the screen resolution wasn't completely clear either, the number of particles in each piece needed to be variable. More particles = fuller screen but slower response. I made these parameters variable so I could read them from a file. This means I can tune the installation in the space without doing a recompile.

To get final measurements of the screen sizes and for general sanity I did a pre-install test run.

As part of the installation process I made 6 identical usb disks which will auto boot into ubuntu and have all the kinect drivers installed and have the pieces on each disk. This will make the installation easier because I can borrow PCs from people and just pop the disk in and run up the work.

Prepare packing lists and order wood for the screens. Visit the gallery space again and measure and marked where everything has to go. Pack and early Saturday morning started the installation.
Lessons learnt: You can never have enough extension cables. USB cabling is difficult if you want the pc hidden and the sensor in an optimal position; need powered hubs and active USB extension. Bring food.

Saturday, October 08, 2011

Sunday, October 02, 2011

memory leaks begone


With the help of Valgrind and some judicious code commenting not unlike a binary search I have tracked down the memory leaks in my code. Why is this important? If my code leaks memory it will crash eventually and installations in a gallery shouldn't crash.

The first graph shows the memory foot print over night taken at 60 second intervals. The spikes happen when the software detects someone there. The second graph shows a more complicated piece that detects users and hand movements. This is a preliminary test but it is looking promising. In this case the spikes are people detected and hand movements. It releases the memory again if it forgets about a user but this only happens after a while.

Here is the bash script I used to record the memory samples: It takes 2 parameters the sleep interval and the process id.


#!/bin/bash
if [ $# -lt 2 ]
then
  echo
  echo "This script needs at least 2 command-line arguments: sleep interval and process id."
  exit 1
fi  
while true; do
   #echo "infinite loops [ hit CTRL+C to stop]"
   ps --no-heading -o rss $2 
   sleep $1
done

I created the graphs by feeding the script results into gnuplot.

Thursday, September 22, 2011

Tuesday, September 13, 2011

null pointer exception - work in progress

null pointer exception from Maia Gr on Vimeo.

ideas and intentions are converted into code
code runs on machines
people interact the code and the machines

code runs too quickly to see
code hides
code can be understood for a short while by some people and then they forget and have to reread it

the kinect can only see me sometimes
I can move too quickly for the kinect to see
I can hide behind the door

documentation of 4 software pieces coded in openframeworks and using the kinect with OpenNI and PrimeSense drivers on ubuntu 10.04