traceroute mapeando mi web by Sebastian Morales

Wait... what's with the spanish?

Esta es la segunda tarea para la clase de "Understanding Networks" en ITP. La tarea consiste en utilizar tracroute para entender como nuestros paquetes viajan en la red, como empiezan a aparecer nodos y caminos comunes.  

Que es traceroute (tracert en Windows)? 
Es un commando en la consola (terminal) que podemos usar como herramienta de diagnostico para observar como viajan nuestros paquetes desde nuestra computadora hasta la página web que queremos acceder. Por donde paran, cuanto tiempo toman y como saltan de router en router. 
 

Inspirado por la red que es el internet, quería representar las conexiones no tanto de manera geográfica pero de forma mas abstracta, a la vez, quería mostrarlas casi de forma orgánica. Como si estuviera analizando un organismo vivo bajo microscopio. Un organismo que no es estático y que se adapta y cambia con el tiempo.

Aclaración: Tom hizo que me diera cuenta de un par de cosas en las cuales no fui muy claro. A qué me refiero con querer mostrar las conexiones "casi de forma orgánica"? Me refiero a dos cosas, a que normalmente estamos acostumbrados (por lo menos yo) a pensar de cosas de forma espacial, coordenadas, posiciones geográficas, o marcas (pasando el soriana, dos cuadras a la izquierda). Pero el internet, a pesar de ser algo que existe en cables y computadoras, no siempre funciona de manera geográficamente eficiente, al menos no a simple vista. A veces vemos que nuestros pedidos (requests) viajan de Nueva York a Europa para regresar inmediatamente a Estados Unidos, dando saltos de servidor en servido que uno no puede explicar viendo un mapa. A veces, y aquí voy por mi segundo punto, vemos que nuestros pedidos viajan en cierta ruta, pero segundos después, el mismo pedido puede tomar una ruta completamente distinta. Cuando estaba pensando en como visualizar esto de manera gráfica quería que el sistema fuera flexible, que pudiera adaptarse y crecer, "casi de forma orgánica" para dar reflejo a la flexibilidad de el internet. 

Pero me estoy adelantando...

Archivo json de conexiones.

Primero escribí un programa usando Node.js para realizar los traceroutes y guardar la información recuperada en un JSON. Básicamente una lista declarando que ip esta conectada con que ip. 

Para que mis búsquedas tengan un poco mas sentido para el observador, la primera (la de mi compu), y la última (la de la pagina de interés) direcciones ip llevan nombre.
 

Una vez que logré guardar todas las conexiones en el archivo, me puse a trabajar un poco en como visualizar esto. Para esto decidí usar P5.js, una biblioteca de javascript muy fácil de usar sobre todo para crear visuales en la web.

Sin mucho esfuerzo pude crear este desastre:

Primera representación de conexiones.

Desastre por que no es nada fácil de leer y te deja hasta más perdido que si te pusieras a leer el json con las conexiones en lista.  

Si te pones a pensar en como organizar todas estas conexiones de manera automática (o inclusive manual) te darás cuenta de que no está tan fácil. Sobre todo cuando el sistema se vuelve más complejo. Sin embargo, este tipo de conexiones ocurren de manera natural, tanto en la naturaleza como en infraestructuras creadas por nosotros, lo que quiere decir que se tiene que poder programar de alguna manera.

Curioseando por la web, me topé con este sketch escrito por Tazal que tiene exactamente el estilo de lo que tenía en mente. Solo que a diferencia de la red del internet, no todos los nodos se conectan a sus vecinos, sino que existen nodos líder con muchas más conexiones.

Organic Blob por Tazal, Modificado para P5.js
Dale click para ver que pasa.

El código de Tazal tine tres reglas muy sencillas:

  1. Todos los nodos se mueven hacia el centro
  2. Si los nodos, entre si, están a menos de cierta distancia crean conexiones
  3. Si los nodos, entre si, están demasiado cerca se repelen

Estas tres reglas también las puedo usar yo, solo que la única diferencia es que las conexiones no se crean por cercanía sino por conexiones entre las direcciones ip. 

Una vez aplicada la lógica salió esto: 

desdoblando

En la siguiente imagen me conecté desde dos redes distintas a adorevolution.com y a google.com. Ambas conexiones inician desde direcciones marcadas "pedregal". Se puede observar como google es mucho mas eficiente y llegar a sus servidores es mucho mas rápido.

map2.jpg

Vamos a hacer una prueba by Sebastian Morales

So you are wondering why my blog posts are in Spanish? You came to the right place.

For the rest of the semester I have decided to do an exercise and write my blog posts in Spanish. In part it is because I want to share some of the knowledge I am absorbing with people back home. Also, I am learning all of this in english and if I don't force myself to learn the concepts and terms in Spanish, it is hard to later have those conversations without jumping back and forth across languages.

More important however, is the fact that a lot of what I am learning is already written in English and not so much in other languages. I have been thinking a lot recently if learning English should be a requirement in order to learn more advance computer concepts. Although today it might be the case here is an effort for the opposite.

Talking with fellow ITPer Sejo about this, he shared a story he read about Mariano Gomez, who been doing remarkable work in his rural community in Chiapas (south Mexico) connecting isolated communities to the internet. Awarded by the Internet Society as one of the 25 under 25 making a difference in their community he could not receive the award in person. The US embassy denied his visa based on systematic discrimination towards indigenous communities. His house not having a proper address with street names and numbers, his bank account not having enough funds, and his region being a strong source of undocumented immigration. 

I am not sure where I am going with all of this, I guess the story resonated with me because Mariano is fully bilingual (in Spanish and Tseltal, a Mayan language). 

If you are a professor grading me this semester, and have difficulties reading my posts I would like to talk to you. If you are a student or anyone else interested in my posts but can't understand them reach out to me and I'll explain them to you in english. 

Mientras tanto, pasa tanto!

Sockets y Guitarras by Sebastian Morales

WAIT... WHAT'S WITH THE SPANISH?

Esta es la primera tarea para la clase de Understanding Networks en ITP-NYU. También es la primera vez que intento escribir este blog académico en Español. También cabe aclarar que aunque todavía no estoy oficialmente inscrito en la clase tengo fé de que alguien más de de baja la clase o de que el prof. Tom Igoe la agrande un lugar. 

La tarea consiste en diseñar y construir un aparato que se conecte a un servidor usando un socket TCP para jugar el juego. La idea también era de usar un microcontrolador tipo un arduino o una mini computadora (sistema embebido) como una raspberry pi. 

El juego es un muy simple, una vez que el jugador logra conectarse al servidor, aparece una barra con su direccion IP en la pantalla. La barra se puede mover arriba, abajo izquierda y derecha. 

El objetivo del juego es trabajar en equipo para que las pelotitas boten de barra en barra haciendo puntos. El video de la izquierda es una muestra.

 

Pensando en distintas maneras en como podría convencer a Tom de que dejara entrar a la clase, se me ocurrió llevarle serenata. 

Si alguna vez visitas ITP, probablemente vas a ver la famosa guitarra de ITP. No se bien la historia pero alguien la donó y pues ahí esta. Algo desafinada, algo maltratada, pero sigue sonando. Ha sido usada para muchos proyectos y noches de diversion. De izquierda a derecha: Justin Lange, Joe Mango (para Cici) y Tiri.

Experimentando con un simple multímetro y la guitarra, medí la resistencia a travez de la cuerda. Para ser honesto me sorprendió un poco la alta resistencia de las cuerdas de metal y como funcionan perfectamente como un potenciómetro lineal. 

Para poder controlar el juego con la guitarra, del lado donde se tensan las cuerdas conecté un cable a tierra del arduino. La püa (cubierta en tape de cobre) la conecté a 5V, y mis dedos los cubrí en tape de cobre los conecté al arduino para medir el voltaje. Así, al mover los dedos y tocar la cuerda podía medir distintos valores desde el arduino. 

Una vez conectado todo:

Para conectarme al servido desde mi compu simplemente usaba el instrucción en terminal:

$ cat /dev/cu.usbmodem1421 | nc 172.22.151.20 8080

esto básicamente significa algo así: agarra (cat) el contenido del serial port (/dev/cu.usb...) y escúpelo ( | ) a la esta ip/puerto (172.22.151.20 8080) usando netcat (nc). 

Para el proyecto final (de una semana), terminé usando un arduino mkr1000 y las bibliotecas <SPI.h> <WiFi101.h> para conectarme directo desde el arduino sin necesitar la compu.

  

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 (https://github.com/sebmorales/seleniumITPClassSearch).

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. 

Digital Consequences api integration by Sebastian Morales

As our digital existence evolves, we continue to discover (rediscover) the meaning of our virtual self.

People often refer to the "real" life as "real" which implies the existence of another type of life which is not real.

The fact is that this parallel reality is less of a parallel and more of a strong weave, perhaps a different manifestation of ourself, but nonetheless ourselves. 

Digital consequences is a social sculpture. Feeding of people likes and loves, shares and comments.

After developing a chrome extension to detect and send changes on a fb live, I decided to use the api instead. It turns out that the fb live is not as live as fb wants us to believe.

Using the API Graph is quite simple to use. After learning the basics I tried to access it though node.js using express and passport-facebook . That proved to be annoyingly difficult so I decided to look for other alternatives. 

Looking at the Network flow every time I did a request thought the fb graph api, I realized that the url was quite 

Fb url api call found on network headers.

Then I realized that as long as my token is alive (I think this last a little over 1h but could be mistaken) I could simply request that URL and fb would respond with a JSON file. 

Controlling 360 Environment Node.Js + Socket.io + 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. 

https://www.foro3d.com/f111/background-360-grados-en-cycles-115111.html

http://www.themodernnomad.com/sossusvlei/

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. 

Inspiration/Influence

http://wafaabilal.com/domestic-tension/

http://wafaabilal.com/domestic-tension/

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. 

 

 

 

Urban Tumors by Sebastian Morales

Urban Tumors is a hypothetical series of artworks emerging inside the decadent MTA infrastructure. The project was inspired by a couple of thoughts:

  • Decadence of current affairs
  • Vacuum as the seed for life.
  • Tumors as a self generated condition 
  • Maintenance as art 
  • Increased digital shadow

Download obj.

Vacuum as the seed for life

Yaxchilan Mexico

 

 

 

 

 

 

 

Tumors as self generated condition

 

Maintenance as art

Mierle Ukeles1

Mierle Ukeles1

 

Increased digital shadow

 

 

 


Decadence of MTA

Pictures 2 and 4 photo credit, Melissa Orozco

This a rendering of how the new wall might look once the tiles are maintained. 

before.jpg

Process:

Modeling

https://www.cgtrader.com/free-3d-print-models/art/scans-replicas/face-and-neck-study Face and neck study free 3D print model- ClayGuy

https://www.cgtrader.com/free-3d-print-models/art/scans-replicas/face-and-neck-study
Face and neck study free 3D print model- ClayGuy

Using some quick pictures I took from the area, and using a metro card for sense of scale, I was then later able to model an approximation of the the actual tile missing.

I then removed the eyes section of the face and merged it with the brick model.

Fabrication

After considering milling I decided to 3D print instead. This way I could move a little faster. The CNC machine has been really busy lately. 

I was actually surprised on how well the scale turned out after my basic "scan".

The actual mold was a real failure so I ended up just using the 3D print instead. 

Matching color 

I never realized how difficult it could be to match a color without a sample. The only samples are form photos of the station that I had and although being underground the lighting is always artificially the same. My camera showed dramatic differences between shots. I ended painting a couple of wooden blocks and comparing them against the actual bricks. Thank you to Akmyrat for his good (color blinded!!!) eye and help matching colors.

Priming and painting 

Now you can go and do your own hypothetical Urban Tumor! If you actually wanted to install it you can go to Canal 6th station in NYC and find the perfect place for it. You can also modify it to replace bricks at home or to build an entire wall and divide a continent!

SMMM Kinect Alternative Skeletons by Sebastian Morales

Forward Kinematics

For the following exercise I wanted to experiment with idea of linking every joint of the body to another, in a linear fashion.   

Graphics by Ron Rockwell

The idea is perhaps inspired on concept of industrial robot arms where the position of the end effector is a combination of all the previous joints. The first joint having most effect on the final position and orientation.

Forward kinematics calculations consists of finding the end effector position and orientation by computing the joint parameters. We are most interested however in finding the joint parameters based on a desired end effector position and orientation. This is known as inverse kinematics (IK).

 

Another interesting video showing a similar concept of kinematics is the X125, in particular the series 2. 

Kinectron + p5js

The forward kinematics for this sketch are quite simple, based on Mimi's code, I simply did another function and passed all the joint values in my desired order (arms first, legs second, spine third and head last) to achieve the widest range of movement. 

To create the single line of joints I only had to simply push and pop the matrix once for the entire set of joints.

I realized that the order of joints is not as relevant in the program above, this because I am only translating position but not adding rotation depending on joint orientation. (Full code)

Hacking the Browser final proposal by Sebastian Morales

For my final project I have two ideas. I should probably stick to one but what the heck. 

Idea no. uno!

Have you ever thought about how the future affects the present? Hmmmmm. What??? What if events happening in the future could ripple their consequences into today... I am afraid that if I keep going deeper into this subject I might start making terrible youtube videos about how the government is traveling through time to stop free thinking, free energy, elect trump and hide extraterrestrial evidence from the rest of america. 

Anyways. How would I make this into a chrome extension? in a week... "a week", I guess time has a different meaning if you can move freely through it. Ahhhh! Back to chrome extensions.

Spoiler alert: [I am not really sending messages from the future.]

What if searches from the future could show their results today? What if one day you open a new tab and see this:

Weeks later, long after you have completely forgotten about that Sri Lankan politician, you open a new tab only to be redirected to a wikipedia page:

What do I need to achieve this?

  • First learn how to use the wikipedia API, find articles and extract the description out of them
  • Store this search terms/pages in a server or a database for the future redirection. 
  • A chrome extension with basic new tab redirect
  • Some js program in the extension to decide when to redirect you to a new hint from the future, or full search. 

Idea número dos

This would combine my class of Rest Of You with Crazy DanO as well as some pcomp madness.

The idea consists of utilizing galvanic skin response sensors to constantly monitor your internet experience. If the sensor detects a rise in arousal over a define threshold, it would send a signal to the chrome extension to record the value of arousal as well as a screen recording of the active tab.  

Constant Galvanic Skin Response Measurment 

If the reading goes past a threshold save screen capture to server. Also record reading value. 

  • The most complicated part for this project, based on my expertise, might be get the arduino constantly sending values to the chrome extension. 
  • I would also need access to the tabs and all websites
  • A way to save images into a server or data base. 

 

Just Not Sorry by Sebastian Morales

This is a quick analysis on the Just Not Sorry Gmail Plugin chrome extension. 

What does the extension do?

It matches words or sentences as you compose emails to a list of predefined insecure words. If the match exists, the words are undefined for the user to become aware of their language use.

questions for our Guest 

One of the developers for the extension will visit today in class, here a couple of questions I have for him:

  • What is the "_metadata" folder, I wouldn't let me load the extension. 
  • Google analytics? Trying to track how many users? What kind of info do you get from this. 
  • Storage? 
  • What is going on in the script loader? Why have it instead of naming them on the manifest?
  • update_url?? In the manifest

Example of JustNotSorry in action.

Getting 3D models from Google Earth by Sebastian Morales

Update: There have been some questions about apple maps vs google maps and which will return better results. I haven't yet tested apple maps but judging by the picture quality I am guessing that it will give better results (at least for the texture).

Google left vs Apple right

Google left vs Apple right

Original Post

Thinking about it, this method can be applied to a lot more than google earth models... In this particular case I just wanted to get the corner of a particular building in the city of New York. 

In the past I remember people using programs like 3D ripper that would try to capture the geometry directly from openGL, I actually tried it once but without any luck. The other problem with that approach is that you need a windows machine. 

In this method we will use a photogrammetry approach. 

Start by scouting your building.

Identify what you want to capture and what is irrelevant. The clear the idea here the better the chances of success. 

Start a Quicktime screen recording 

Try moving at a regular speed about the object of interest, I would say that you have about 1.5 minutes to capture all the geometry you want before you run into problems afterwards. Maybe you can push it up to 2 or 2.5 minutes. I really haven't pushed the method to it's limits.

Move around and make sure to get all the different angles you may need. 

A good tip here is to only capture the section of the window with no words, logs or icons, this will save you time later and increase your chances of success. 

This is also one of the reasons why I like using google earth better than google maps, you can turn all icons off. 

Here is the actual video recording I used if you want to get an idea.

 

Isolating Frames

The free version of Autodesk Remake (formerly Memento) will only allow you to upload up to 250 frames. Now, our screen recording is about 1.5 minutes long, at 60fps, it means we have about 5400 frames. Truth to be told, most of those frames are repeated since we were moving slowly compared to the screen recording. 

There are probably a couple of ways to do this but the one I am most familiar is using photoshop. First import the video frames as layers, limit to every 20 frames or so (5400/20=270), let it run and then export the layers as files. This last step might take some time but that is it.  

Remake

This is one of the easiest steps to follow, open Remake, select Create 3D from Photos. Select the images and Create Model. The defaults work fine.

You are almost done but this step actually takes a long time, hours. Go out on a date, have some nice dinner, and get back to work. 

Hopefully if everything went right, the moment you open remake you should be able to open your new 3D model. 

I hope it this was helpful! 

Old Memories I didn't know I had by Sebastian Morales

Going back into memories while revisiting old data which I didn't know I was sharing. 

You can download your own data here

You can download your own data here

There is all kinds of data you can download, from you search history to your entire email, from your pictures to every single move you have done (location). Select the data you want to get and simply download it. This step might take several hours or even days (for me it took a little under 1 day to process).

Different types of data come in different formats, location for example comes as a JSON

Interestingly enough, the last entry for my location was back in 1398884229139, that is April 30, 2014 for those of you who don't keep track of time as ms after 1970. 

What happened then? Why did it stop logging/tracking? 

Let's take a look at the map.

It looks like I left home around noon and walked very slowly to what seems to be my girlfriends (at the time) dorm... Then radio silence.

I decided to check my email to see if there was some evidence of what could have happened.

Well there you have it. Got an iPhone and the tracking stopped logging. 

Before I jump into other things however, i wanted to share some days.

Churros!

Like the day we traveled almost two hours just to get some good churros! Then somehow eneded up going twice to the same restaurant up in the north side. 

...or the day that I was trapped in the US (waiting for my OPT) but Christmas was still happening and all my Muslim and Hindu friends showed up, went to target, bought some frozen Pizzas, had a "family dinner" and ended up at one of the best Blues clubs in the city. 


Thinking about other interesting ideas that could be hidden inside of the massive amounts of data I decided to take a closer look at my email. In this case I was using immersion, a tool developed by the MIT Media labs to portrait your networks of emails.

Screenshot 2017-02-23 12.52.14.png

It looks at whom you are sending and receiving emails from. It actually looks at the From, To, Cc and Timestamp sections of every email. If a particular email was sent to multiple people, then connections start to form among those people, the more emails, the stronger the connections and the bigger their bubble. Take a look at the image above for my last year or so. If you feel like your bubble should be bigger, send me an email (or a hundred). 

For privacy reasons, the Immersion project won't look into the content of the emails, but DanO will. I decided to take a look at the email word count code he made available:

After logging in, it will start analyzing in batches, I am not exactly sure how this works exactly but here some results. Clicking next again will add another batch of words the already listed. The list keeps going for what feels forever but here are the first 50 words. 

Over 300 000 words are listed in what looks to be almost 2400 emails. Not sure about this but judging by the appearance of "www", more important "mailto" I am assuming this represent one appearance per email.

What does this all means?? No clue... but I am reading the secret life of pronouns... maybe something will be revealed. 

 

edit.

Screenshot 2017-02-25 22.25.04.png

I have been thinking about the 14 "the" I write in an email and really find it impossible to believe that my average email has those many "the"s. I am starting to believe that the "mailto" word only appears on replies and forwards, but not when you first send or receive an email. I believe this is true if the code only looks at the body of the email, then the body would only include this information if it had been recorded in the chain.

Midterm Ideas + Isadora HW2 by Sebastian Morales

Midterm Ideas!

For the midterm Roi Lev, Akmyrat Tuyliyev, Ari J Melenciano and me will be working together. For this first week we were tasked with coming up with 3 ideas for projects as well as locations to do them at. 

The ideas are quite challenging but very exciting, props to Akmyrat for coming up with two of them, and two Roi for thinking of the concept for the other. Left to right, for the first one we would install mirrors along the train platform, the mirrors would be pointing to cloud images in the ceiling. 

The second idea consists of projection mapping an elevator in the exact place where the elevator used to be before ITP became the entire 4th floor. Then we could project ITPers throught the history of the program. 

The third idea, by far the most challenging one, consists of remembrance for the catastrophe of the Triangle Shirtwaist Factory. The concept still needs some working due to the importance of the event. If we are going to do it, it needs to be done properly. 

 

For HW2 we had to create a simple patch with at least two scenes and one effect. 

 

The piece has actually 3 scenes, the first two can be observed in the following video.

Study of Pathways Post-mortem by Sebastian Morales

It is that time of the project that rarely ever comes. Time to be critical of what worked, what didn't, and what surprised us. All in the hopes that next time will be much better. 

What pathways did you see?
The pathways observed can probably be divided into two main categories. There was a lot of back and forth motion, a lot of linear movement. This was particularly true of David as he moved around the room. Jade however, tended to move more about the same area, orbiting around in what could be consider circles or eights.  

Which ones did you predict and design for? Which were surprises?
Thinking back, we predicted a lot more of circular motion. But more important, we predicted a lot more collaboration among the users. We expected physical contact between them, at the end, they didn't even touched once. We predicted a lot more of pushing and pulling, perhaps some rolling on the ground and a lot of expanding and contracting, both in a personal but also in a collaborative way. 

 

What design choices did you make to influence the pathways people would take?
It is hard to say if there was a decision that influenced more than the rest but there were a couple that had a lot of weight.  Moving the kinect from the ceiling to the wall in front of the performers had an immediate effect on how they would move. It literally shifted gravity, the range of possible movements. In retrospect, perhaps not really a conscient design choice, showing the performers on the screen in front of them really affected the way they moved.  They seemed to be more interested on how the technology was capturing the movement than the movement itself.  

Thinking about design choices it is relevant to talk about the code, even if it did not turn out as expected. The idea was to make a polygon by joining different body joints of the two performers. By showing previous polygons, the performers could see the history of their movement. This is important because it makes them aware of how their motion is not limited to space but extends through time. The visuals are a consequence of the movement but in turn these inform future possible motion.

What choices were not made? left to chance?
We only designed the interactions involved with one or two people, so the third person's joints would not be shown on the display. And the joints selected to form lines were only left shoulder, left wrist, left hip, left foot, since we thought people might move these joints a lot. However, when the users started, they waved the hands and walked around to discover the space, with little focus on the shapes they formed.

What did people feel interacting with your piece? How big was the difference between what you intended and what actually happened?-Jade

We intended to project the screen to the wall which faces to the users, but due to the equipment locations, we could only project it on the floor. In this way, they firstly expected to see some visuals shown  on the floor, but it seemed hard to understand the connections between user behavior and the projection because the visuals projected were reversed. We didn't expect people to pay attention to the floor, but instead, we hoped they could watch the visual changes on the two computers. It might have affect how long people may understand the interactions.

After we suggested them see the computers, people could soon get the idea. But one of our programs with floating curves can only catch one user's joints and thus couldn't show an enclosed shape, while the other one showed a changing hexagon. We also intended that people held their hands together, and touched each other's foot, but people tended to stay away with each other. And the shapes they formed became much wider.

Provide BEFORE and AFTER diagrams of your piece:

Performers on the floor, connected by foot-hand action

Performers on the ground, connected by hand-hand foot-foot actions

After:

Performers detached, walking and moving in very independent ways.

Alternative motions considered:

Code:

https://alpha.editor.p5js.org/sebmorales/sketches/rypE_wAdl

https://alpha.editor.p5js.org/Jade/sketches/BkfE2U1Yx

 

Important Acknowledgments:
Professor Mimi Yin  
Tiriree Kananuruk for the documentation
Lisa Jamhoury for the development of Kinectron
Class of Sense Me Move Me

Galvanic Response by Sebastian Morales

This is the second post on the series of Talking to the Elephant. in this case the first results of the Galvanic Skin Response sensor are shown. The axis are fairly arbitrary.

First test abandoned after user was asked an personal question. 

Pulling hairs out of leg, causing pain and spikes in the graph.

Discovered that heavy breathing, in particular exhaling, will cause peeks on the graph as well. 

Bookmarklet by Sebastian Morales

I found this amazing bookmarklet by Aram Bartholl  (FFFFFAT) that with the help of Ai Weiwei lets you say fuck off to any page with inappropriate content. 

Original photo

Drag Ai Weiwei – FUCK OFF to the bookmark bar to see it yourself!

The bookmarklet itself was inspired by another one before it, where you could see any page through Kanye vision (back in 2009).

Tools to reverse engineer bookmarklets:
http://meyerweb.com/eric/tools/dencoder/
http://jsbeautifier.org/

Here the code:

javascript: (function() {
    kanye_sunglasses = "<a href='javascript:(function(){document.getElementById(\"glasses\").style.display=\"none\";return})();'><img src='http://datenform.de/ai-weiwei-finger.png' width='100%' heigth='100%'></a>";
    var div_popup;
    div_popup = document.createElement('div');
    div_popup.innerHTML = kanye_sunglasses;
    div_popup.id = "glasses";
    div_popup.setAttribute("style", "position:fixed;z-index:1000;top:-10px;right:0px;width:100%;height:100%;");
    document.getElementsByTagName("body")[0].appendChild(div_popup);
})();

Here is mine bookmarklet AreTheyWatching?

Eye by http://oodigi.com/shop/eyeball-3d-model/


javascript: (function() {
    kanye_sunglasses = "<a href='javascript:(function(){document.getElementById(\"glasses\").style.display=\"none\";return})();'><img src='http://s3-ap-northeast-1.amazonaws.com/itpnyu/HackingTheBrowser/HW2/eye1.png' width='150' height='150'></a>";

    var div_popup;
    div_popup = document.createElement('div');
    div_popup.innerHTML = kanye_sunglasses;
    div_popup.id = "glasses";
    var eyeR=0;

    document.addEventListener("mousemove", mouseM);
    div_popup.setAttribute("style", "position:fixed;z-index:1000;top:-75px;left:-75px;width:150px;height:150px;transform:rotate(0rad);");
    function mouseM(e) {
      eyeR= Math.atan((e.pageY)/(e.pageX));
      div_popup.setAttribute("style","position:fixed;z-index:1000;top:-75px;left:-75px;width:150px;height:150px; transform:rotate(" + eyeR + "rad);");
      }

    div_popup.setAttribute("style", "position:fixed;z-index:1000;top:-75px;left:-75px;width:150px;height:150px;");
    document.getElementsByTagName("body")[0].appendChild(div_popup);
})();

Seeing is forgetting the name of the thing one sees. by Sebastian Morales

For me, the reading started with a fruitless trip to the library, well it is difficult to really know if the trip was in fact fruitless. Lets say I didn't find the book as I was hoping for since the 3 copies were checked out... I did however, find something else. 

Back to the reading. Seeing is forgetting the name of the thing one sees. Here embedded the older version of the book, easier to read than pixelated copies. 

 

One of my favorite quotes form the reading is about how artists "build energy by the interaction between things, that one and one don’t make two, but maybe five or eight or ten, depending on the number of interactions you can get going in a situation". When he makes this quote he is referring to how he is placing the dots on the canvas, but I really like how it resonates with a earlier quote in the reading, a warning to the reader:

"You have to make it very clear to anyone who might read your essay, especially any young artist who might happen to pick it up, that my whole process was really an intuitive activity in which all of the time I was only putting gone foot in front of the other, and that each step was not that resolved."

I think together these two thoughts express the importance of the process. And how ideas and questions tie together, not in an additive way but perhaps in a more unpredictable way. In a way impossible to foresee but non the less possible to follow. 

Finally, I want to mention a thought that I wound really interesting:

"The civilization that you and I live in makes most of its critical decisions based on logic. I feel that maybe a hundred and fifty years ago [art] began to drop out of that; it began to become less logical. Even though it proceeded logically, it found questions that could not be answered logically”