# Eye of Beholder

## [About the installation](https://photos.nandn.org.il/eob) [+ [demo video](https://photos.nandn.org.il/piwigo/picture.php?/925/category/29)]

### A work about false narratives, dead journalists, and not-so-innocent bystanders.

This work involves a display and a distance sensor ([HC-SR04](https://www.sparkfun.com/ultrasonic-distance-sensor-hc-sr04.html)).

* When far from the screen, we see video describing Gazan reporters who were killed by IDF (interviews with them, footage of them reporting, and/or documentation of the attack that killed them). At the bottom we can see a blurred text ticker.
* The closer we get to the screen, the video becomes more blurred and the ticker becomes more focused. The ticker is in Hebrew and quotes Israeli media claiming the slain reporters were terrorists.
* Once the video ends, we continue with different videos, showing other reporters, each with a new Hebrew ticker that allegedly justifies the killing of whoever the video describes.

#### View when far from screen (דברים שרואים משם)

![clear video of the reporter Ana A-Sharif, blurred text](static/gfx/foreign-beholder.jpg)

#### View when near screen (לא רואים מכאן)

![blurred video, clear ticker claiming reporter was a terrorist](static/gfx/local-beholder.jpg)

----

### How to


#### Install distance sensor server (on [Adafruit Feather HUZZAH ESP8266](https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/) board)
```
$ cd HuzzahAPDistance
$ cp config.h.example config.h # and edit it with SSID and Password for the AP (pick something hard to guess)
```

Upload to the Huzzah board, and connect it to [HC-SR04](https://www.sparkfun.com/ultrasonic-distance-sensor-hc-sr04.html) like this:

![Scematic diagram](HuzzahAPDistance/HuzzahAPDistance_bb.png)


#### Test distance sensor server

Connect PC to the WiFi network you've defined at `config.h`

Browse to [http://192.168.115.23](http://192.168.115.23). You should see a report of list of current client MAC addresses (typically, only yours), and a link to a JSON end point that returns distance.

#### Install web server (on linux PC)

``` 
$ virtualenv venv
$ . venv/bin/activate
$ pip install -r requirements.txt
$ cd ../static/js
$ cp config.js.example config.js # and edit it according to room size, etc.
```

#### Debug and calibrate server

```
$ ./serve.sh
```


This will start a localhost web server. You can see the work at [http://localhost:5000/](http://localhost:5000/)

You can also browse to [http://localhost:5000/p](http://localhost:5000/p) to see distance as a progress bar (this can help callibrate `static/js/config.js` according to room size).

#### Run in production

```
$ ./run.sh
```
This will start the server and run a browser in kiosk mode.
