Node + Selenium + ITP class search automation by Sebastian Morales

Initially motivated by my misfortune of not being able sign up to all the classes I wanted for my next semester at ITP I decided to create a script to constantly monitor the lists in case one of the classes I am interested opens.

For this purpose I am using node.js in combination with Selenium. 

It started with me navigating through the inspector window and analyzing the network traffic as checked classes. I noticed an interesting request that lead to the entire NYU classes database. Every NYU student can login into their account and access this, but the reason why this link is interesting is because it's open to anyone, meaning that I don't have to use my credentials to make the requests. 

The actual script is available on github (

At this point the script will run uninterruptedly on my local machine though a node server. Future steps is to have it run on my digitalocean server. 

The script will check the classes I am interested in every two minutes, if for some miracle one of the classes is open, it will automatically login into my account and enroll me. Then send me an email. 

So far it has worked for one of my classes! Two more to go :)

Once a class is detected as waitlisted or open, it will automatically login into my account and sign me up for the class. 

The following images represent the process, a failed attempt of registering me for live web. Failed attempt because the class is currently closed.

The actual script is running with phantomjs, which is sort of an invisible browser, meaning that it has no actual GUI and it runs in the background. 

Controlling 360 Environment Node.Js + + Three.js by Sebastian Morales

Our Sense Me Move Me final project is a multifaceted performance. For part of it we will be projecting a 360 environment on the walls, ceiling and floor of the room. Perhaps inspired by VR, maybe as a critic to it, or in an effort to make it more inclusive, we are going to use a single projector on wheels. As we turn or tilt it the projection will react to reveal the proper side of the virtual world. 

Using the sensors inside an iphone you can accurately identify the orientation of the phone. If only there was a way to send all these numbers live to my laptop... Interesting fact, a couple of years back laptops (mac book pros) used to have similar features to protect/lock the hard drive in case the computer found itself falling, as hard drives were replaced with SSDs, this feature faded away.

Connecting phone to laptop
Before I continue I wanted to thank Or Fleisher for his help me set up the server properly. 

Now that I look back at it, it all seems quite straight forward but at the time it seemed daunting.




The entire code is also available on github

Not sure about this but I'll likely use it as reference in the future. First started creating a npm package.json file, and importing all the packages needed. 


After setting up all the pages and the server, you can now seamlessly control the the view of a 360 world by tilting, and rotating your smartphone. 

Finally, since we were using a projector and wanted to give an effect of shining a flashlight into a world, we added a alpha image of a spotlight, this would hide the edges of the projector. 

The 360 image is actually a composite of two image quickly merged together to create a more dramatic and surreal environment.

NETMEDIA Final Proposal by Sebastian Morales


I want to use fb infrastructure to create a live video broadcast of a machine about to perform an action. Users/viewers can move the machine by "liking" the live video or "loving" it. A "love" moves the machine to the right, a "like" moves it to the left. There is a time countdown in the feed, when the feed reaches zero the machine executes the inevitable action. By liking/loving, the users can reposition the machine, that way they can prevent/ensure the machine from executing the action on a subject. As of what the action and the subjects are? I am not sure. 

Examples include:
   - Fish in fishbowl- a hammer.
   - Dollar bill destined for a fb watcher- a lighter/shredder
   - Wall constructing deconstructing robot.

Why facebook? 
   - The idea of someone being "more real" than an ip address/ not anonymous. People can visit your profile and get some information about you. 
   - The wider reach of audience through an established infrastructure.
   - The established presence and role fb has in today's society and its appropriation. 

Why Left and Right and not destroy or save?
Our actions may be simple, but their consequences are often complex, rarely black or white. At the end, that which happens is often a mixture of uncountable inputs,  a machine to which we all contribute without necessarily understanding how. By clicking left or right you are collaborating (efficiently or not) with a larger audience. The result will be your collective decision, even if it is not the majority's choice.

Thoughts about the internet
   - How it tends to polarize, how "as an online discussion grows longer, the probability of a comparison involving Hitler approaches 1"(Godwin's law). 
   - The chance for a meaningful interaction decreases, hatred grows and biases are strengthen. 
   - Then way the medium (internet) nourishes on its own blood to exist. 


Perhaps one of the biggest sources of inspiration for this project is Iraqi-American artistWafaa Bilabl. 

In 2008, in efforts to bring himself and the world closer to the war conflicts tearing apart Iraq Wafaa lived for 31 continues days in a gallery in Chicago. His loyal companion an internet controlled paintball gun. Anyone in the wold with an internet connection could move and aim the gun as well as pulling the trigger.


Other thoughts:
Lately I have been reading a lot about the way internet transforms our behavior.
 - We often think about things online as easily accessible, and the truth is that for the most part, the web is invisible to us. Yes, you can write a post and have it read by anyone in the world, but how often does that happens.
Perhaps play with money. Have a (100?) dollar bill and a random player form the crowd. The player has the chance to convince the people not to burn the note. Let the world decide. 

In about 10 minutes the fire turns on half the space, if the dollar bill is on that side it gets consumed by fire. Else the person gets the dollar bill through facebook messenger.  

This action will be repeated every hour on the hour for 10 hours.

Why one dollar? 
Because I can afford it. 
Because there is no difference between wining $1 or $10. Perhaps $100 starts making a difference. $10000 would be great but I can't afford to lose.

Perhaps there could be a system where people could pay to increase the pot.

Is the money being destroyed real?
Not sure, apparently it could be illegal. Do I really want to loose that money. Perhaps it make sense in the larger skim of things. 




Setting up the server by Sebastian Morales

The feeling is a little silly...

Following the instructions: we created our own server that runs forever.

The reading for this week is actually quite comical and very revealing. It starts narrating the future as possibly seen 50 years ago, before the digital era was in sight. It describes how humans in the future will have a small (walnut size) cameras (think spectacles or google glass) with perfect lenses and amazing film capable of recording rich images just by pressing a button with cables running up the wearers sleeves. Then the author describes tiny books with incredible amounts of information, in tiny font. There is also an impossibly complex automata which can help you find the information you are looking for.

The article basically goes about describing our digitally infused modern live through the spectacles of a steampunk dreamer. 

Absurd in every way, except to prove that even today, we keep transforming our digital world to consume it physically through matter. Whether is by converting bits to sound waves that a hear can then transform back to electrical impulses inside the brain. Or electrical impulses that transform into light in our screens to be transformed back into electrical impulses in the back of our eyeballs. The reverse is also true, electrical impulses travel and make our fingers type on a keyboard that translate mechanical energy into more electrical impulses.

Unfortunately it looks like my server is not very secure and it won't accept https requests (only http).