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,