Skip to content

shouvikmani/IACD

Repository files navigation

IACD Projects

A collection of my projects from Interactive Art and Computational Design (IACD) class at Carnegie Mellon. IACD is an interdisciplinary arts-computing class that covers topics like data visualization and software art. In this class, I am learning how to write code that produces both value and beauty.

###Project 1: Drone Strikes Visualization  

Predators of the Sky uncovers some truths and raises questions about the U.S. government's drone program that is often hidden from public view. It visualizes this secret War on Terror in two ways:

  1. A map displaying the 610 drone strikes in the Middle East since 2002. Each marker represents a drone strike, color-coded by the victim country's flag color. Click on a marker to explore a strike's details, including location, narrative, and casualties.
  2. A grid of satelite images of the actual drone strike locations. Notice how many of the images show densely-populated areas packed with cars, roads, and houses. Consider that a drone strike can have a blast radius of up to 20 meters, and that should paint a horrific picture.

Technologies: I developed the drone strike map with Leaflet.js, a powerful and versatile mapping library. The grid of images uses Google Static Maps API. The data source is Dronestream. View my code [here] (https://github.com/shouvikmani/IACD/tree/master/Map_Visualizations).

###Project 2: Donald Trump Twitter Bot [Make Great Again Bot] (https://twitter.com/Donald_2016_Bot) (@Donald_2016_Bot) is a Twitter bot that impersonates Donald Trump. It posts an artificial Donald Trump quote along with a Donald Trump picture every hour. The quotes are not his actual words, but rather words generated by a 4th-order Markov chain from a collection of his speeches (more details below).

Here are some of my favorite posts from the bot:

How it works: A Markov chain is a probability construct that can produce ordered randomness (that's how I like to think of it). Basically, the future state of a Markov chain depends on the current and previous states. In my program, I use a 4th-order Markov chain, meaning that each word is generated based on the four words that come before it. For example, you often see the bot generating the words "social security" together because there is high probability that "security" will follow "social" in the Donald Trump speeches that it learns from. Still, because the Markov chain is vulnerable to randomness, the bot's output is mostly nonsensical and hilarious.

Technologies: I implemented the bot as a simple Node.js app. It uses Bing Search API to search for random Donald Trump images. It then makes a Twitter post using the Twitter REST API. I deployed the program to Heroku and set up Heroku Scheduler to run the script every hour. View my code [here] (https://github.com/shouvikmani/IACD/tree/master/twitter_bot).

About

Arts-Computing projects from Interactive Art and Computational Design (IACD) at Carnegie Mellon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published