Drawing Machine

January 30, 2008

Thesis Proposal
Ben Leduc-Mills
Spring 2008

1. THESIS STATEMENT – What problem are you taking on, or what project are you proposing? This should be expressed in one or two sentences, and should be as specific and clear as you can be at the time. We anticipate that you will re-write this statement in increasingly specific terms as your sense of the project progresses.

I propose to build a physical drawing machine with the ability to draw complex illustrations based on various forms of user input.  I have two goals; make something meaningful, and to make something pretty.

2. PERSONAL STATEMENT – Why are you interested in this subject? When did your interest start, and why? What particularly fascinates you in this line of thought or type of project? What do you hope to gain from the experience? This should be one or two pages (250-500 words).

I became interested in building a drawing machine by asking myself what I wanted to create before my time at ITP was up.  I wanted to build a physical object, I wanted it to be able to create works of some permanence, and I wanted it to be fun.  Of the projects that came to mind, a drawing machine appealed to me for several reasons, apart from fulfilling the aforementioned criteria.
First of all, the act of making a drawing machine seemed feasible, given the skill set I have acquired at ITP.  A drawing machine would incorporate elements of physical computing, programming, and artistic expression through a huge variety of user interactions, which leads me to the second point:  the range of potential artistic expression available.  A drawing machine has, like most machines, an input and an output.  The great part about a drawing machine is that the input (the data that becomes the drawing), the method (the program that translates the data), and the output (the actual drawing tool), are all variable in interesting ways.
For example, the input could be the keypad of a telephone, a voice, or some text.  The program itself can be varied in a infinite number of ways to interpret and output the data it gets (line width, dots, text), and finally, the machine itself can be varied to produce different results based on what drawing instrument are used.

3. RESEARCH – Provide at least four examples of projects, books, products, or technologies that serve as background, inspiration, irritation, or research for the Thesis.

Tristan Perich is an ITP alum who made a simple form of drawing machine during his time here. I was impressed with the combination of simple mechanism and complex result.
A drawing machine I found during preliminary research is somewhat similar to what I have in mind in terms of physical appearance: http://bea.st/sight/sketch/.
Pendulum drawings at the Exploratorium when I was a child.
Etch-a-sketch.

4. WORK DESCRIPTION – One paragraph to one page description of what it is you actually intend to make or do to pursue your Thesis. As with the Thesis Statement, this should be expressed as specifically as possible, with the specificity increasing over time.

Begin research of both the physical parts needed and the possible programming methods.  What programs, interfaces, connections, etc. can be leveraged to create interesting results.
Continue to research.  Get theory started, order parts, begin programming.
Continue to build.  Start testing.
Continue testing, refine, start user testing.
Finish.

Social Software Week 1

January 27, 2008

Short Description: To add a gaming page to RapHappy.com, using the social aspects of the site to enhance the gaming experience.

1. Three Sites or services that have something in common with RapHappy:

Dopetracks.com – Another social networking site which allows users to record audio from their computers over music.

kSolo.com – A karaoke site which encourages social interaction by voting/rating, duets, and inviting friends.

myspace music – Allows users to host a profile and put original songs up for others to listen and respond to.

2. Three things that I hope users do with my project:

Use it. If no one uses it, does it really exist?

Have fun – RapHappy is irreverant and funny, (at least it’s supposed to be) and games are supposed to be fun, so if users do not have fun with the games, they are most likely a failure.

Be creative – One of the wonderful things about social games is that people may use them in unexpected ways. I hope to see some ingenuity from the community in their usage of the games.

3. Three things that could go wrong:

The interaction is unappealing, boring, repetitive, etc.

The concept itself of having games on a sites such as RapHappy is misguided and is not something that users will respond to.

The games page does not make good usage of the social aspects of the site, or of the information we have about the user.

A2Z, Week 1

January 26, 2008

For my first week’s assignment, I chose to take in some text from the Bible (genesis), parse the text into words, find all the references to ‘God’, and replace them with ‘Ben’. I then printed out the 3 words following all of the references into a new text file, with some humourous results.

The code:

// Word search and replace

// Ben Leduc-Mills

// Programming A2Z, Spring 08

// Based off of code by Daniel Shiffman import java.io.*;

import java.nio.*;

import java.nio.channels.*;

public class Blm272Week1 {

public static void main (String[] args) throws IOException {

// Create an input stream and file channel

// Using first arguemnt as file name to read in

FileInputStream fis = new FileInputStream(args[0]);

FileChannel fc = fis.getChannel();

// Read the contents of a file into a ByteBuffer

ByteBuffer bb = ByteBuffer.allocate((int)fc.size());

fc.read(bb);

fc.close();

// Convert ByteBuffer to one long String

String content = new String(bb.array());

//Split text by wherever there is a space

String[] words = content.split(" ");

System.out.println("Read " + words.length + " words from " + args[0]);

StringBuffer gods = new StringBuffer();

for (int i = 0; i < words.length; i+=2) {

if (words[i].equals("God")) {

gods.append(words[i] + " " + words[i+1] + " " + words[i+2] + " " + words[i+3] + "\n");

}

}

String output = gods.toString();

String ben = output.replace("God", "Ben");

// Create an output stream and file channel to write out a report

// (Also print out report to screen)

FileOutputStream fos = new FileOutputStream(args[1]);

FileChannel outfc = fos.getChannel();

// Convert content String into ByteBuffer and write out to file

bb = ByteBuffer.wrap(ben.getBytes());

outfc.write(bb);

outfc.close();

System.out.println("Reversed text written to " + args[1]);

}

}

And the results:

Ben said, Let there Ben divided the Ben called the light

Ben said, Let there

Ben called the dry

Ben said, Let the

Ben saw that it

Ben said, Let the

Ben saw that

Ben said, Let the

Ben made the beast

Ben said, Let us

Ben created man in

Ben blessed them, and

Ben said unto them,

Ben said, Behold, I

Ben ended his work

Ben blessed the seventh

Ben created

Ben had

Ben formed man of

Ben to grow every

Ben said, It is

Ben formed every beast

Ben had made. And

Ben said unto the

Ben said, Behold, the

Ben made he him;

01:005:002

Ben after he begat

Ben took him.

01:005:025 And

Ben came in unto

Ben said unto Noah,

Ben commanded him, so

Ben had commanded him:

Ben made a wind

Ben spake unto Noah,

Ben said, This is

Ben of Shem; and

Ben talked with him,

Ben unto thee, and

Ben said unto Abraham,

Ben said, Sarah thy

Ben went up from

Ben destroyed the cities

Ben remembered Abraham, and

Ben came to Abimelech

Ben said unto him

Ben caused me to

Ben had commanded him.

01:021:005

Ben hath made me

Ben said unto Abraham,

Ben heard the voice

Ben opened her eyes,

Ben was with the

Ben that thou wilt

Ben did tempt

Ben had told him.

01:022:004

Ben will provide himself

Ben had told him

Ben of the earth,

Ben of my master

Ben of my master

Ben of my master

Ben give thee of

Ben of Isaac: the

Ben will be with

Ben hath judged me,

Ben hearkened unto Leah,

Ben hath given me

Ben hath endued me

Ben remembered Rachel, and

Ben hearkened to her,

Ben hath taken away

Ben of Bethel, where

Ben hath taken from

Ben came to Laban

Ben of

Ben of my father,

Ben of Nahor, the

Ben of their

Ben of my father

Ben of my

Ben and with men,

Ben hath dealt graciously

Ben said unto Jacob,

Ben was upon the

Ben said unto him,

Ben said unto him,

Ben Almighty: be fruitful

Ben went up from

Ben will shortly

Ben is?

01:041:039 And Pharaoh

Ben hath

Ben be gracious unto

Ben forbid that I

Ben sent me before

Ben of his father

Ben spake unto Israel

Ben hath shewed me

Ben which fed me

Ben shall be

Ben of thy father,