Trip Through Time in New York City

Using a MIDI keyboard as an interactive interface, and Isadora to program the projection, this installation allows you to have a seat and take a trip through time in the historic New York subway system. After visiting the Transit museum I took a few photographs at the angle which you would see when sitting inside the train. I then photoshopped the windows to be see through so I could bring those files into Isadora and project archival footage street and underground scenes as though it were happening out the windows.

Trolley background

A photograph of a photograph of the inside of Brooklyn’s above ground trolly cars, circa 1880’s.

Old subway no background

A 1930’s underground train.

Subway no background

Inside of a 1950’s era subway.

70's subway background

Subway car with a 1970’s era interior — still in use today!

newer subway no background

Modern MTA subway car.

Washington Square Arch Through Time

For our final my group, Alan, Xiping, and I, created projection of the Washington Square Arch that can be wiped away by hand to reveal newer images using the programs Isadora and Leap Motion with Processing code. As you wipe away the older image to reveal the new, sounds play that correspond to the time of the photographs. Starting with a projection of the arch in the 1880’s when horse drawn buggies would drive right through the park to current day when the sounds of the city are much different. What we hoped to reveal is how much history architecture can hold.

Although we had some trouble coming up with ideas for the final, partially due to the overwhelming expanse of the subject, it became clear that we had a few themes in mind. Below are the common notes we used when meeting to discuss our ideas:


Language vs Reality

  • The “real world” is to a large extent unconsciously built up in the language habits of the group… We see and hear and otherwise experience very largely as we do because the language habits of our community predispose certain choices of interpretation.
  • Explore how people’s cultural backgrounds affect their most basic cognitive processes: categorization, learning, causal reasoning and even attention and perception.

Online vs Offline Identity

False conceptions of truth based on memories we falsify

Creating something out of nothing

  • an image of a face or something else appears only when the smoke is there.
  • smoke and mirrors : (definition)  the obscuring or embellishing of the truth of a situation with misleading or irrelevant information.
        • What you see isn’t always what you get (also a theme)
        • gaslighting
          • create a temporary piece of art that is destroyed at the end.


  • Language, Culture, Memory


Projection mapping, 3D projection mapping?

Projection to smoke


Use projection mapping of bending a space to set up the scene, and then project voice recognized words onto smoke

Anthony McCall — pioneer works –

Gaslighting: 1. (slang; origin UK) To manipulate someone psychologically such that they question their own sanity. … The phrase “to gaslight” someone (to deliberately drive someone insane by psychologically manipulating their environment and tricking someone into believing that they are insane), was derived from the film.”

    *The term “gaslighting” comes from a 1938 stage play called Gaslight, in which a husband attempts to drive his wife crazy by dimming the lights in their home (which were natural gas-fueled fixtures), then denying that the lights had changed brightness when the wife asks him about it. Link


Immersive interactive experience where a person walks into small space and invited to interact briefly with an object in the dark. They have to say outloud what they think the object they just interacted with was but if they get anything wrong the space around them tightens physically and a flash of light (playing on “gaslighting”) goes off. The more they get wrong the more annoyances happen. (could be something obvious too, for example, bringing someone into a small space and asking them to explain something like a red apple in as many words as they can, and slowly we can tell them they’re wrong in a lot of different ways using noise and light).

3 Types of Memory: Visual, Auditory, and Kinesthetic Memory

A major breakthrough in visual memory research

“When a tiger starts to move towards you, you need to know whether it is something you are actually seeing or whether it’s just something that you remember or have imagined.”

Memory, a fundamental cognitive skill

“Types of Memory: Depending on how long, type of information, and the sensory organ”

Things We Want


A play on memory

Meeting Notes

Good vs bad memories

Ordered memory

Three types of memory:

Sensory Memory.

  • Short-Term (Working) Memory.
  • Long-Term Memory. Declarative (Explicit) and Procedural (Implicit) Memory. Episodic and Semantic Memory. Retrospective and Prospective Memory.

How to create a false memory in the audience?

As you can see from our notes, our ideas were a bit scattered and needed some honing in on. We really wanted to convey the concept of memory and I think our chosen subject of the Washington Square Arch decisively developed the direction toward retrospective memory as a result. The execution of the project consisted of writing the code for Processing and initiating OSC within Isadora in order connect our code. Leap Motion was also included as a library in order to work properly within our Processing script. Using two envelope generators in Isadora, that were set up to trigger every time a key press was initiated, we manually had to press “s” and 3″ in order to change the scenes and to switch the audio tracks correspondingly.

Coding and programming aside, there was a bit of editing work involved too. All of the photos, videos, and sounds were found online through archival libraries and simple searches and then edited in Adobe Creative Cloud.

Washington Square Arch

Processing Code:
Example: Using Syphon and OSC
With Isadora
Created by Andrew Lazarow
Nothing 2018
//import syphon library
import codeanticode.syphon.*;
//Import the oscP5 Library
import oscP5.*;
import netP5.*;
import com.onformative.leap.LeapMotionP5;
LeapMotionP5 leap;
//initiate value to receive from OSC
//Set at 1 which we can say means draw.
int OSCValue=1;
//Declare an instance of OSC, called oscP5
OscP5 oscP5;
//Declare a net address
NetAddress myRemoteLocation;
//Setting up or declaring your 'canvas' - that piece of paper
PGraphics canvas;
//This boolean restores the black background
boolean addBackground=false;
//Declare our Syphon Server
SyphonServer server;
void settings () {
size (360, 480, P3D);
//PJOGL profile = 1;
//This line is needed for older versions of Processing.
void setup () {
//Create our canvas to draw on
canvas = createGraphics(width, height, P3D);
//we want to create our syphon outpout
//Name it MySyphonOutputBlueberries
server = new SyphonServer(this, "MySyphonOutputBlueberries");
Whenever you draw on your canvas you need
to put "canvas." before any drawing call.
So let's set a black background on our canvas.
//Initiate our OSC
oscP5 = new OscP5 (this, 5001);
leap = new LeapMotionP5(this);
myRemoteLocation = new NetAddress("", 1234);
void draw () {
PVector fingerPos = leap.getTip(leap.getFinger(1));
//If Add Background is True. Then restore background
//And leave it black.
if (addBackground==true) {
canvas.fill(0, 10);
canvas.rect(0, 0, width, height);
// If addBackground is false, then draw the white ellipse
else {
//I set the fill's alpha to 80.
//A bit of a feather effect.
canvas.fill(255, 80);
//draw a circle following your mouse
//canvas.ellipse(mouseX, mouseY, 50, 50);
canvas.ellipse(fingerPos.x, fingerPos.y, 100, 100);
println ("finger position x = " + fingerPos.x);
//show our canvas in our processing window
image(canvas, 0, 0);
//send our canvas to syphon
//Your OSC Receiving event:
void oscEvent(OscMessage theOscMessage) {
// get the first value as an integer
OSCValue = theOscMessage.get(0).intValue();
// print out the message
print("OSC Message Received: ");
print(theOscMessage.addrPattern() + " " +
"is sending: ");
//If the OSC Value you get is '1' then let drawing happen
if (OSCValue==1) {
//If the value is anything else restore the black background
else {
void keyPressed() {
OscMessage myMessage = new OscMessage("/From_Processing");
//hitting 'b' restores our background.
//and acts as a toggle to restart drawing
if (key=='b') {
if (key=='s') {
oscP5.send(myMessage, myRemoteLocation);
if (key=='r') {
oscP5.send(myMessage, myRemoteLocation);
if (key=='3') {
oscP5.send(myMessage, myRemoteLocation);

Isadora Screenshots:

Screen Shot 2018-05-13 at 15.09.13

Screen Shot 2018-05-13 at 15.09.24

Sources /  Inspiration:

Downtown Doodler: Hidden History of Washington Square Park in NYC




Edison Lamp Station


My initial idea for a lamp included a light switch, a rubber mat to rest your phone on, a metal post for sunglasses, and a pocketed area for change.

Once I started drafting this idea in Vectorworks, and became aware of the size limitations of the 4-Axis, I realized I needed to rework my idea. I knew I wanted something functional for my bedside table, and I wanted to incorporate my skill builder into my final. (For the skill builder I made a small charging dock for an iPhone.)

Vectorworks prototypes:

Screen Shot 2018-04-27 at 11.26.02


Screen Shot 2018-04-27 at 11.12.24

Screen Shot 2018-04-27 at 11.06.23

Screen Shot 2018-04-27 at 11.04.09

Screen Shot 2018-04-26 at 17.27.50

Screen Shot 2018-04-26 at 17.02.49

2018-04-27 17.40.02

Once the cherry wood arrived in the mail it became easier to see the dimensions of everything I wanted to mill.

2018-04-29 10.12.42

Because I wanted to maximize the amount of wood I could use I needed to add tabs in Vectorworks to allow the machine to take off the minimal amount on the front and back. This also prompted me to create a third roughing and finishing tool path to ensure the front and back would be milled.

2018-04-29 11.51.52

Unfortunately, the drill bit was not as long as I needed it to be and at one point the callet, collet, caullet however you spell that, ran into the chuck. Oops!

2018-04-29 13.32.00

After restarting the machine due to that error, I was pleased to find I could restart the job without losing all my axies! I edited the tool paths to not mill on either side of the piece.

2018-04-29 14.03.23

Thankfully, the bit was just long enough to be able to mill down to the center on each side.

2018-04-29 15.37.05

Once the 4-Axis started milling the back I saw that the bit wasn’t in fact long enough make the hole for the charger.

2018-04-29 15.42.04

I was a little baffled as to why the machine left such rough lines on the front near the back, but I thought the final tool path would correct that.

2018-04-29 16.12.39

It didn’t unfortunately.

2018-04-29 16.17.44

It left some pretty nasty grooves on the top.

2018-04-29 16.29.12

I thought that maybe if I ran the last finishing step one more time it would get rid of the grooves on the surface.

2018-04-29 16.29.23

So I deleted all the other paths and highlighted the top of the surface where I wanted the machine to mill.

2018-04-29 17.04.07

After milling air for half an hour it finally started to smooth out where I wanted it to.

2018-04-29 17.43.44

But to my dismay, it didn’t smooth it all that much.

2018-04-29 17.43.48

After taking it off the 4-Axis and cutting off the extra wood on the sides using the bandsaw, I was left with some sanding to do. But first I wanted to drill a hole where the bit didn’t go through.

2018-04-29 17.54.12

Hastily, and after 7 hours milling, I slightly damaged the wood around the hole which was frustrating.

2018-04-29 18.03.22

I tried the drill press but it didn’t do any good, so I started filing the area down to make the hole big enough to fit a charger cable.

2018-04-30 16.36.32

Then I got to sanding the sides using a miter guide which made it easy to create an even surface area.

2018-04-30 16.38.16

The finished result looked great!

2018-05-01 14.33.03

Then it was time to discuss how to fit the lamp parts into everything before I lathed the remaining cherry wood bits.

2018-05-01 14.36.00

Ben suggested making a small lamp post and affixing it on the lathe with the chuck and then using the drill to create a hole large enough to fit the guided nipple post — is that what it’s called?

2018-05-02 09.47.40

The cherry wood pieces.

2018-05-02 10.08.58

The failed drill press attempt.

2018-05-02 10.25.06

The cherry wood prepared for lathing.

2018-05-02 10.36.17

2018-05-02 10.43.20

2018-05-02 10.52.59

I needed to make a .7 diameter, 1/4″ deep part at the bottom of my lamp post in order to securely glue it into the 4-axis part.

2018-05-02 11.17.45

Once I had the correct size for that part I started shaping the rounded wood.

2018-05-02 11.25.01

Using three grits of sandpaper, I sanded it until it was really smooth.

2018-05-02 11.28.13

And used the drill to easily make a centered hole through the middle.

2018-05-02 11.36.44

2018-05-02 11.40.40

After band-sawing off the ends, it was ready to be glued!

2018-05-02 11.55.34

Tightly clamped.

2018-05-02 12.00.19

Now it’s time to wait 8 hours.

2018-05-02 15.31.35

Since I had all this time on my hands to wait, I wanted to utilize one more machine, the Othermill.

2018-05-02 15.50.16

Out of aluminum, I wanted to make a lightning bolt.

2018-05-02 15.53.40

It took me a while to remember that the illustrator file had to be filled in in order to show up in Bantam. While the Othermill was doing it’s job I realized a crucial mistake.

2018-05-02 16.28.13

My charger cable wouldn’t fit!

2018-05-02 16.28.18

So I stared at it for a long time thinking of what I could do to remedy the situation.

2018-05-02 16.47.52

Every now and then glancing over and stopping the milling process to vacuum up the pieces!

2018-05-02 17.06.31

Thankfully Ben had a solution for me. And we carefully drilled a round hole in the bottom so I could thread the cable through.

2018-05-02 17.09.08

The lightning bolt came out nicely, and just required a little scraping off the ends to make it smooth.

2018-05-02 17.23.17

Ben was also kind enough to teach me how to properly wire the lamp so I wouldn’t die turning it on.

Screen Shot 2018-05-02 at 17.35.28

Although the two marked areas in red would be rounded, I think the bolt came out nicely.

Screen Shot 2018-05-02 at 12.46.27

The original Illustrator file without it being properly filled in.

Screen Shot 2018-04-29 at 10.00.30

Screen Shot 2018-04-29 at 09.34.34

Screen Shot 2018-04-28 at 15.38.30

Screen Shot 2018-04-28 at 15.36.52

Screen Shot 2018-04-28 at 15.26.09

I realized something wonky that took me a while to sort out when subtracting pieces from the main block in Vectorworks. I needed to use the arrows to have the part I wanted subtracted to be highlighted in yellow and the rest to be highlighted in red or else everything around it would be subtracted.

Screen Shot 2018-04-28 at 15.26.03

What it shouldn’t look like, but what it defaulted to.

Screen Shot 2018-04-28 at 15.05.10

The error I got when improperly trying to subtract the whole shape from the tiny part.

Screen Shot 2018-04-28 at 15.02.13

2018-05-03 00.03.50

After waxing on the lathe and by hand in the pocketed areas.

2018-05-03 00.03.53

2018-05-03 00.20.08

2018-05-03 11.10.25

Felt on the bottom.

2018-05-03 11.05.29

And it’s done!