1033 Objects by Ingrid Burrington

This project is a “visualization” of items which have been transferred to police departments around America from the Pentagon. The project plays off of 1033 Program — an initiative to transfer excess military equipment from federal agencies to civilian law enforcement agencies. At the time of the project about 200,000 objects had been transferred. In an attempt to convey the quantity of objects and ambiguity of the program, the website displays 1033 random objects. The viewer gets a good sense of the sort of items transferred and while it would take an inordinate amount of time to read the information, the items are arranged in a grid so the scrolling motion down the page drives home the notion that there are VERY VERY many of them.


I had originally planned on finishing a app for the hololens, but amidst a hectic final week of classes and numerous software updates to unity and visual studio, I decided to go with a simpler project. I made a unity app which tracks mouth movement and screams for the user when the user opens their mouth.

Feeling frustrated with my projects and exams, I said to myself “I just want to scream.” This is often not a reasonable reaction when in class or in any public setting, but screaming can be very cathartic. This app, used with headphones, allows a user to experience the stress-reliving sensation of screaming without disturbing those in his or her vicinity.

I was heavily inspired by some of these public works. (Mostly the vicarious scream button)


I wanted to make unnecessary tweaks to an everyday object that would record and post something banal about its use. I came up with many many ideas (a motion detector for a book so that a tweet would be produced for every page turned, a motion detector for eye glasses that would post an instagram picture every time you blinked, a pressure detector for a shoe that would tweet every 100 steps). The concept behind this piece would be to (perhaps pedantically) point out the banality/self-centrist nature of posts on our social media as well as the hilarious frivolity of the internet of things, taken to an extreme. At this point, such statements are almost cliché, I realize, but I wanted to do it anyway.

I finally settled on creating a coaster that would make a facebook post every time a user picked up their drink. The post would document the place and time as well as an optimistic health-related message about staying hydrated.


A machine that judges how sick your ollies are. This is actually a really simple piece. The artist used a gyroscope as well as an accelerator to judge the angle and displacement of a skateboard in the x, y, and z directions. This work was so compelling to me because it was simple and snarky. Although there are definitely things I would change about it (instead of making a carnival game of it, I would have installed it in a skate park where people could use the board. the skaters would then be judged loudly and harshly by the machine in the presence of their peers), ultimately I find the idea of machine judgement of subjective things really fascinating. At some point, technically speaking a machine is better equipped than any fallible human to judge certain things… but is this always true? What qualifies as an ollie? As a “good” ollie? Is it some quantifiable motion or is it pizazz and attitude? Can machines judge your “cool factor,” can it make you self conscious?


I would like to continue the project I was working on over the summer, here in the studio for creative inquiry. I’m planning on getting the hololens app (which receives kinect data via osc) to coordinate the hololens 3D space with the kinect 3D space so the app can be used to attach virtual objects to humans in the real space.


6. The Critical Engineer expands “machine” to describe interrelationships encompassing devices, bodies, agents, forces and networks.

This tenent is connected to several others in the manifesto (namely 9 and 4) but most directly articulates the underlying idea that and single engineering work does not exist in a vacuum. There are always social, political, emotional, humanitarian, economic, and other conversations which influence and can be influenced by an engineer’s creation. This core idea, like many of the others, applies to any sort of manufactured culture (movies, books, toys, software, art…). A critical engineer will always recognize and strive to examine the nuanced forces that could be affected by a “machine,” to look beyond the inherent workings of any singular device at the broader ramifications of it within our culture. An example, which is always at the forefront of my mind, is virtual reality headsets. Often they are manufactured because they’re cool; students want to work at Oculus because the tech is new and interesting, the job pays well, but the creation of virtual worlds is endlessly important in how society evolves. If creators aren’t careful with the content, or if engineers aren’t considerate of the accessibility, virtual reality works can be a source of contention and division in society. Obviously there will always be upsides and downsides, societal speaking, to any “machine” but makers should be aware of them.


Fig. 1. Lil Wayne and Fat Joe making it rain.

Fig. 2. A closeup of Lil Wayne.

Fig. 3. Bender, a sentient robot from Futurama, making it rain, presumably in the club.

These gifs (Fig. 1-Fig. 3), while not my own personal sketches, illustrate the concept I was going for very well.

I wrote a sketch in Unity that would receive OSC data from KinectV2OSC. The sketch identifies the hand-position and state (open or closed) and allows users to make it rain. I am pretty pleased with what I accomplished although the video and kinect feeds must be manually synced up. (Ie you have to place the camera/laptop on top of or very near the kinect camera.) I would have also liked to introduce some random movement into the dolla dolla bills as they fall. While I do have a cloth simulator on them, some values need to be tweaked in order for the money-rain feel more realistic.


My book is called “What I Was Doing When You Texted Me.” It’s a personal text-photo memoir of the last two years of my life and also a look-up table for texts that my friends have sent me. It’s very personal project so my opinion is very biased, but I thought the content and the juxtaposition of certain texts and photos were very compelling. Because of the sheer amount of data I had produced, there were upwards of 20 photos/texts that were received/taken within one second of each other, so the “what I was doing when you texted me” question is very literally and accurately answered. The answer was “I was looking at this thing.” (Unsurprisingly many of the photos were screenshots, photos of my boyfriend, or selfies).

In order to generate my book, I cross referenced the time stamps of all of my photos using the EXIF metadata with the time stamps to all of my received texts. After scraping this data, I used processing to create a CSV containing all of the texts received with the photo with the closest time stamp. After ordering the data according to temporal proximity, it was easy to compile a book showcasing the information.

What I Was Doing When You Texted Me (PDF)

Table data;
Table final_data;
Table final_no_repeats;
StringList used_pics;

void setup(){
  final_data = new Table();

  data = loadTable("combined_pic_text.csv", "header");
  for (int i = 0; i<500; i++){
    for (TableRow row: data.rows()){
      if (int(row.getString("dif")) == i) {
        String file = row.getString("pic_file");
        String pic_time = row.getString("pic_date_time");
        String text_time = row.getString("text_date_time");
        String text = row.getString("text");
        String to = row.getString("to");
        String from = row.getString("from");
        String dif = row.getString("dif");      
        TableRow newRow = final_data.addRow();
        newRow.setString("pic_file", file);
        newRow.setString("pic_time", pic_time);
        newRow.setString("text_time", text_time);
        newRow.setString("from", to);
        newRow.setString("dif", dif);
        saveTable(data, "data/data_sorted.csv");
  saveTable(final_data, "data/data_sorted.csv");

void remove_duplicates(){
  final_no_repeats = new Table();

  for (TableRow row: final_data.rows()){
    String file = row.getString("pic_file");
    if (!used_pics.hasValue(file)){
      TableRow newRow = final_no_repeats.addRow();
      newRow.setString("pic_file", row.getString("pic_file"));
      newRow.setString("pic_time",  row.getString("pic_time"));
      newRow.setString("text_time",  row.getString("text_time"));
      newRow.setString("text", row.getString("text"));
      newRow.setString("from",  row.getString("from"));
      newRow.setString("to", row.getString("to"));
      newRow.setString("dif",  row.getString("dif"));


Reverse OCR is a bot which chooses a word and draws randomly until the OCRad.js library recognizes it as that word. This bot is charming to me because the relationship between the “drawer” and the software “judge.” They are both humorously incompetent. On one hand the bot can’t seem to get the letters right at all and the judge, perhaps out of pity, just accepts the chicken scratch. This bot was created by Darius Kazemi AKA Tiny Subversions (the artist most known for buying random stuff on amazon). Kazemi works in Portland at Feel Train, a creative technology cooperative he founded. Basically this guy just makes a bunch of bots for the lolz.

screen-shot-2016-10-24-at-12-39-55-am screen-shot-2016-10-24-at-12-40-11-am screen-shot-2016-10-24-at-12-39-17-am


rachel-rossin-lossy-03 rossin_in6709_rosesinavase_2015_36x48_800pxRachel Rossin

is a New York based painter and programmer. Her exhibit “Lossy” was a combination of oil and canvas (traditional painting techniques) and digital capture. Rossin would scan her surroundings/objects and upload the scans to unity to edit. She would then paint the resulting view which results in a fragmented and “lossy” representation of the original space. I love this work and I love her subject matter because I am exploring a very similar realm in my art. I am interested in memory and the lossy, fragmented attributes of that as well as in the relationship between the real, tangible world and the virtual. Her work spans a gap between the two in a very aesthetically pleasing way (even if it is very straightforward and simple).




import oscP5.*;
import netP5.*;
PImage hand;
PImage foot;
PImage pizza;
PImage burger;
PImage cupcake;
PImage donut;
PImage bg;
float timer;
ArrayList foods = new ArrayList();
PImage[] indexedFoods = new PImage[6];
OscP5 oscP5;
NetAddress serverAddress;
NetAddress clientAddress;
int listeningPort;
int sendingPort;
float mouthHeight=-1;
float position_x=-1;
float position_y=-1;
boolean mouthOpen = false;
int score = 0; 
PFont f;
String feedback = "LEVEL 1";
int feedback_timer = 150;
xy feedback_pos = new xy(300,200);
int fall_speed = 4;
int duration = 250;
int level = 1;

class xy
  float x,y;
  xy(float _x, float _y)

void setup(){
  bg = loadImage("factory_background.png");
  image(bg, 0, 0);
  timer = millis();
  hand = loadImage("hand.png");
  pizza = loadImage("pizza_graphic.png");
  burger = loadImage("burger_graphic.png");
  cupcake = loadImage("cupcake_graphic.png");
  donut = loadImage("donuts_graphic.png");
  foot = loadImage("foot.png");
  indexedFoods[0] = hand;
  indexedFoods[1] = foot;
  indexedFoods[2] = cupcake;
  indexedFoods[3] = pizza;
  indexedFoods[4] = burger;
  indexedFoods[5] = donut;
  listeningPort = 8338;
  sendingPort = 12345;
  oscP5 = new OscP5(this, listeningPort);
  serverAddress = new NetAddress("", sendingPort);

  f = createFont("Arial",16,true);

void generateFood(){
  int x = int(random(100, 700));
  int y = -100;
  int z = int(random(2,5));
  int t = 0;
  int foodIndex = int(random(0,5));
  if (foodIndex == 0){
    IntList hand = new IntList();
  } else if (foodIndex == 1){
    IntList foot = new IntList();
  }else if (foodIndex == 2){
    IntList cupcake = new IntList();
  }else if (foodIndex == 3){
    IntList pizza = new IntList();
  }else if (foodIndex == 4){
    IntList burger = new IntList();
  }else if (foodIndex == 5){
    IntList donut = new IntList();

void draw(){
  image(bg, 0, 0);
  if ( millis() - timer > 1000 ) {
    timer = millis();
  for (int i = 0; i < foods.size(); i++) {
    IntList food = foods.get(i);
    int index = food.get(0);
    int x = food.get(1);
    int y = food.get(2);
    int z = food.get(3);
    int t = food.get(4);
    PImage foodToDraw = indexedFoods[index];
    if (y < 150 && z == 2){
      food.set(2, y+ fall_speed);
    } else if (y < 200 && z == 3){
      food.set(2, y+ fall_speed);
    } else if (y < 275 && z == 4){
      food.set(2, y+ fall_speed);
    } else if (y < 350 && z == 5){ food.set(2, y+ fall_speed); } food.set(4, t+1); //add to time image(foodToDraw, x, y, 50*z, 50*z); if (t > duration){
  if (mouthHeight != -1 && position_x != -1 && position_y != -1){
    ellipse(position_x, position_y, 100, 10*mouthHeight);
  xy mouth_position = mouthClosed();
  if (mouth_position.x != -1 && mouth_position.y != -1){
    chomp(mouth_position.x, mouth_position.y);
  if (mouthOpen == false && mouthHeight >= 2){
    mouthOpen = true;
  text("Level " + level + "   score: " + score, 500, 50);
  if (feedback != ""){
    text(feedback, feedback_pos.x, feedback_pos.y);
    if (feedback_timer <= 0){ feedback = ""; } } if (score >= level*100){
    level = level+1;
    duration -= 10;
    fall_speed += 4;
void oscEvent(OscMessage receivedMessage)
  if (receivedMessage.checkAddrPattern("/gesture/mouth/height")==true){
    mouthHeight = receivedMessage.get(0).floatValue();
  } else if (receivedMessage.checkAddrPattern("/pose/position")==true){
    position_x = 800 - map(receivedMessage.get(0).floatValue(), 80.0, 530.0, 0.0, 800.0);
    position_y = receivedMessage.get(1).floatValue();

xy mouthClosed(){
  xy mouthPos = new xy(-1,-1);
  if (mouthOpen == true && mouthHeight <= 2){
    mouthOpen = false;
    mouthPos.x = position_x;
    mouthPos.y = position_y;
  return mouthPos;

void chomp(float mouth_x, float mouth_y){
  String[] food_feedback = {"Get in ma belly!", "Yum!", "Good Job!", "+10", "+10", "+10", "+10", "+10", "+10", "+10"};
  String[] hand_feedback = {"Ew!", "A hand?!", "wtf!", "A hand?!", "-10", "-10", "-10", "-10", "-10", "-10"};
  String[] foot_feedback = {"Ew!", "A foot?!", "A foot!", "Oh my lord!", "-10", "-10", "-10", "-10", "-10", "-10"};
  int feedback_index = int(random(0,9));
  for (int i = 0; i < foods.size(); i++) {
    IntList food = foods.get(i);
    int index = food.get(0);
    int x = food.get(1);
    int y = food.get(2);
    int z = food.get(3);
    int wid = z*25;
    if ((abs((x+wid)-mouth_x) < 50) && (abs((y+wid)-mouth_y) < 50)){ foods.remove(i); if (index >= 2){
        feedback = food_feedback[feedback_index];
        feedback_timer = 40;
        feedback_pos.x = map(x+wid, 0.0, 800.0, 20.0, 600.0);
        feedback_pos.y = map(y+wid, 0.0, 800.0, 20.0, 600.0);
        score += 10;
      } else if (index == 0){ //hand
        feedback = hand_feedback[feedback_index];
        feedback_timer = 40;
        feedback_pos.x = map(x+wid, 0.0, 800.0, 20.0, 600.0);
        feedback_pos.y = map(y+wid, 0.0, 800.0, 20.0, 600.0);
        score -= 10;
      } else if (index == 1){ //foot
        feedback = foot_feedback[feedback_index];
        feedback_timer = 40;
        feedback_pos.x = map(x+wid, 0.0, 800.0, 20.0, 600.0);
        feedback_pos.y = map(y+wid, 0.0, 800.0, 20.0, 600.0);
        score -= 10;

For this project, I wanted to create a game that could be played easily enough with the face so that the user had an intuitive response. I settled on making a game about capturing and eating food because the inclination for a user to open their mouth when they see a burger/pizza/etc is automatic. It’s also hilarious. I used the mouth height parameter as well as the face position parameter to give the user control over the food they chomp on. I tried to make the game funny to play as well as to watch, and I think I definitely achieved the latter. If I could spend more time on this game I would revise the graphics. I drew them myself in an attempt to make the game feel kinda cheesy and morbid at the same time. I would also add more objects, introduce some better effects, add sound, and change the ellipse to a pair of lips on the screen.


The Manual Input Workstation (2004-2006: Golan Levin and Zachary Lieberman)

Yes, I realize that writing about Golan’s work is maybe not the most productive thing in this class but this piece was super cool!

Basically this is a system which uses two kinds of projection (digital and analog) and computer vision to recognize hands. The shadow produced by hands in the projection are identified by the computer vision software and shapes are created using both the negative space and the actual form of the hand. The user can interact with and play with forms made from light. The light takes on a material property as you can see it bounce and you can control it’s movements.

I loved this project because it’s so tangible in borderline-sculptural way. Many digital interactions are abstracted beyond the point of intuition or too simple to be entertaining for very long. This seems like it would be endlessly amusing because there are so many infinite shapes that hands are capable of making and the animations are so physical. The only thing that seemed a little off was how bouncy the shapes were, it could have been intentional or just a limitation of the technology.

Link to Project Page




For this project, I created a simple gradient from disorder to order using bezier curves. With each iteration of my Processing application, the randomized parameters of the bezier curves would decrease. This resulted in a relaxing of the “wavy-ness” or “knotty-ness” of my lines, ending in 25 straight horizontal lines. I originally considered making a flip book because there was such a clean progression between my frames, but ultimately I only had time to plot 9 frames.





img952680 img952506


A lot of people like the general design. Admittedly, I did too. I think my success came from keeping it simple and smooth– the motion was coherent and corresponded to every other element. The elements that people didn’t like were the motion of the smallest circle– they wanted it to be on the outside of it’s path-circle and the colors. I definitely understand the color criticism especially given that I had not put much consideration into that part of my project. I was more focused on the movement of the circles at the expense of the color consideration. As for the criticism about the placement of the circles: I tried many different combinations of which circles go inside which and had carefully considered this component. Perhaps this is just a difference of opinion.

Moving forward I will consider color more and I especially liked the suggestion to xor the colors.



Tom Beddard is based in Scotland. He started his career as a laser physicist with a PhD but has since moved onto more creative endeavors. He started Hyper Digital Ltd, which produces mobile and web applications as well as explores information visualization and interactivity. The project photographed below was created with Fractal Labs, an in-browser application which allows people to create and modify 3d fractals in real time with chosen parameters. Beddard describes it as a side project. He exported some of his creations with PixelBender and QuartzComposer. Performance of the algorithm used to generate the fractals was obviously a huge concern, so many optimizations were used in his code.

What I admire most about this work was that it’s not just generative, but Beddard wanted it to be publicly accessible so that anyone can create their own fractals. I appreciate efforts in creative fields that are not exclusive and that make the process transparent. The actual making of the fractal is a nice gui– wonderful!

Beddard has balanced disorder and order in a way that greatly favors order. Every pixel has a correct color, every curve has one correct orientation; this is the inherent nature of fractals. Given that this would theoretically be a software available online, perhaps the results of many iterations by multiple users is disordered.

Link to fractals!



Something I like that exhibits effective complexity is grocery stores. Between crystalline lattice and the the total randomness of gas particles, grocery stores lean heavily towards total randomness (maybe a 70/100, where 100 is random and 0 is ordered). Regardless of what grocery store you go to there are infinite possibilities for where isles are, how they are oriented and how fruits and vegetables are displayed. Every grocery store is different from the last but at the same time, one can easily forget that they are in a Giant Eagle in Pittsburgh and not the WalMart in Virginia.
Here is a screenshot of image search “grocery store interior”:

Galanter effectively articulates what I’ve felt about a lot of generative art. In relying on things beyond our control as artists to make work– to remove ourselves and our hand in some way from a creation, and to remove our subjectivity– is an inherent statement. Generative art, I’ve always thought, isn’t usually focused on the artist’s rendition of something beautiful and it’s not usually focused on the craftsmanship and labor of creation. Generative art, then is in a direct conversation with more traditional art forms and must inherently take a sarcastic point of view. But then again as I am exposed to more forms of generative art, I think that the interpretation can perhaps replace these ideals of beauty. Also, combined with other methods of working, the inherent impersonal nature of generative art can be used to make a different statement. In all, I think about both sides of the argument and inherently the generative nature of generative art is quite postmodern, but the way artists pick and choose how to use it and in what context to display it broadens the statement the art can make.



I really enjoyed copying another artists work, mostly because I liked analyzing the process. It was a good break from inventing the process. The key observations I made were:

  • using a grid with a line each cell
  • adjusting the cell width and height to most optimally fit the average line angle
  • not choosing each line angle randomly, but rather deviating a little from an initially randomly chosen angle
  • choosing several chunks of the grid to omit lines gives the illusion of the lines being “interrupted”
  • there is a white border

In the end I thought that the user would have more fun if they could click to reveal a new iteration of the algorithm. This way, you can more accurately analyze the way I formed my own lines.

GitHub Link





For this project, I wanted to create something simple but organic– something that actually repeats in real life. I tampered with various rolling object ideas and falling objects, but the mechanics of water/fluid interested me the most.
My original idea for this project was to create a droplet falling from a horizontal surface. I didn’t quite get to the point where the droplet would detach and fall, mostly due to my inability to figure out how to use geometry and trig with bezier curves. I ended up just making the drop formation loop.

GitHub Link


Project page on Naimark’s website

This project, called Displacements, is something I was introduced to a few years ago in Larry Shea’s Media Performance class here at CMU. I wasn’t initially enamored by it, admittedly, but as time has gone on, I find myself thinking about this piece quite often. I think it struck a chord with me in the following months and years because it was such a simple, yet such precisely executed piece.

The installation is completely blank, white room in which a spinning projector projects color and movement onto. Before the room was colored white, actors had been filmed in the room with a camera rotating at the same speed in the same place as the projector, so that they appear in the projection.  Naimark is often referred to as a pioneer of projection mapping and indeed he is; Displacements was installed 1984 in the San Francisco Museum of Modern Art. (Although there are projection mapping projects such as the faces in Disney’s theme park as early as 1969)

As an artist who is interested in memory and the connection to space and objects, this piece hit each chord while simultaneously being a very open project. Its a step into augmented reality.





The goal in this project for me was to make a clock that didn’t completely abstract the data so that the time was readable, but that didn’t immediately appear to be a clock. I used the concentric orbiting motion of celestial bodies to inspire how I thought about days, hours, minutes and seconds, each of which is represented by a circle. The intersections of the circles belay information about the hour, minute, second, or millisecond respectively.

In my planning, I had initially run through several ideas. One was a poem-clock in which I would use a rhyming dictionary to find words that rhymed with the time. For example “five thirty six” could be abstracted to “jive dirty kicks.” The user would have to solve a sort of riddle to determine the time. I then contemplated using a more physical, particle-like representation for  units of time reacting in a Rube Goldberg setup. Seconds would be falling circles which would collect into a container, merge together, and then pour into another container containing larger circles representing minutes, etc. I thought that my current representation was a good compromise between legibility and physicality.




Milica Zec (pronounced Milizza like pizza) is a self proclaimed “film and virtual reality director, editor, and screenwriter.” She’s based in New York City although she grew up in a war-torn Serbia. Her experience with the bombings there influence her most well known work, Giant, a virtual reality “movie.” Zec also spend 9 years working with Marina Abramovic as a film-maker and installation designer.

For me, the most compelling aspect of Milica’s work is how she uses the immersive qualities of virtual reality to explore an entire narrative with very deep emotional implications. I’m also interested in evoking an emotional response with the virtual art I create rather than a “wow that’s novel” response. According to reviews of Giant (I haven’t gotten around to seeing it yet), she was quite successful.

Because I want to work with memory and sensual recollections, I think that an immersive experience like virtual reality has more to offer than still images or even video-art. Indeed the natural progression from photographs to videos to vr is apparent with Milica’s work as it straddles the boundary between movie and full immersion.

Milica’s Website

Eyeo 2016 – Panel: VR/Experience – James George, Winslow Porter, Milica Zec, Alexander Porter, Kamal Sinclair from Eyeo Festival // INSTINT on Vimeo.



The argument that a field as large, diverse, and ill-defined as art can be bisected “neatly… in two” by such elementary criteria seems to be an oversimplification, at worst. At best, it is a paradigm in which we can hope to better understand the motivations behind some (not all) works and how they are situated in a broader context. I think the article was quite articulate, but it presented nothing that I had not already contemplated. In fact the mere words “new media” inherently embody much of the article’s claims. The field is an artistic field because the methods and mediums within “new media art” have not yet been explored, which implies that in other fields of art, artists work with mediums that have already been explored.

That being said, Naimark deserves credit, at least, for contradicting himself in a significant way: he says that the two divisions are “not mutually exclusive,” even going so far as to assign a project to find works that fall into both categories. Naimark should have also assigned a project to find works that fall into neither category to exemplify the “in the middle” period that a lot of art movements must have. Of course if there is a beginning of an era and an end of an era, doesn’t that mean that there is a middle?

As a student interested in new media and technical arts, I continuously ask myself “is new media even new?” At times it seems that it is not new at all, which undermines so much of what makes my work compelling. After all, the second person who did something is not nearly as important as the first. Does my work fall into the forgettable middle? Neither pioneering or perfected?