CAS Scotland Conference 2015

On 7th November, I attended the CAS Scotland Conference. Below is the links to presentations I gave during the conference.



Introductory materials can be found at Permission is given to use any or all materials. I have provided a Microsoft Word version of the introduction booklet so that you can make changes if you wish.

Sewing Bee for the Digital Age


  • Processing (free download from
  • Instruction sheet (pdf)
  • Code (see below)

As part of Dundee Science Festival 2013, I was involved in a sewing bee with a difference, an idea developed by Dr Karen Petrie. Participants were invited to create a computational image using Processing in a morning, before spending the afternoon embroidering their image. 16 participants attended, aged from 6 to 67 years old.

Processing is an open source language based on Java and is free to download. A massive online community means that this development environment is perfect for beginners and more advanced programmers alike. The visual nature of the program means that beginners can see their programs take shape very quickly, making it perfect for an event such as this, where many participants may have never coded before.

The shift from the digital image creation to the tactile embroidery phase of the workshop feeds into the Maker community, allowing people to use technology to create lots of things that are engaging and creative.

In the instruction sheet, you are told to open ‘Digital_Sewing_Bee.pde’. The code for this file is shown below:

PImage img; // declaration of image to be used

void setup(){
size(400, 400); // size(width, height) – use these later to determine lengths of shapes
// image is saved to be 800 x 800 pixels in size

background(255); // start background as white


save(“img.png”); // save the created image
//mirrorImage(); // flip the image
save(“mirrorImg.png”); // save the mirrored image


void mirrorImage(){
img = loadImage(“img.png”); // load the image
imageFlip(img,300,600); // rearrange the pixels to flip image
image(img,0,0,width,height); // display the new image

void imageFlip(PImage image, int xPos, int yPos){
image.loadPixels(); // array of pixels in the image

// width * height is total no of pixels
int tempImage[] = new int[image.width*image.height];

// temp array to hold the image, pixel by pixel
for(int i = 0; i < image.width*image.height; i++){ tempImage[i] = image.pixels[i]; } // rearrange the pixels back into the original array for(int i = 0; i < image.height; i++){ for(int j = 1; j < image.width; j++){ image.pixels[(i+1)*(image.width) - j] = tempImage[i*image.width + j]; } } // update the pixels using the image array image.updatePixels(); }

The image below shows an example of an embroidered image, created using processing.

Tree created using processingEmbroidered tree



I am now a stand-up comedian

That’s something I never thought I would say – “I am a stand-up comedian”. Well, as of the evening of December 18th 2012, it’s true!

As an outreach veteran, I was convinced (rather easily) to take part in Bright Club Dundee. This was outreach like I have never experienced before. Not to worry though, training was provided beforehand, rehearsals were had, and despite my nerves on the night, I was happy with the results. Watch my debut performance below.

Bright Club Dundee is a public engagement opportunity like no other! Researchers are given training in the art of stand-up before being let loose on the public at regular stand-up shows. You need no previous experience to give it a go. You might be surprised by just how much fun it is.

Anyone interested in joining the exclusive list of Bright Club performers should contact Jon Urch ( Alternatively, I am happy to put you in touch with the right people to make it happen. You could also go along to a performance to see what it’s all about. Check out, or http// for information on tickets.