Kasem Kydd Final Project

For my Final Project I created a twitter bot that I’ve been working on for some time to build up a library of tweets and also add some functionality for it to interact with other uses on twitter.
The bot is called Black Excellence Bot, but it’s twitter handle is @BlackLoveBot. I wanted to create something that was a bot but actually contributed to something online in a meaningful matter that was relevant to my interests. I consider myself to be an artist that works with political and social issues especially pertaining to race and different intersectionalities. I wanted to make a bot that created a loving atmosphere for people of color, specifically black people, because I think the online sphere sometimes creates an environment where people feel that they can be free to exhibit the most racist and disgusting intentions in an attempt to “troll” others or truly display their real mindset. I wanted to bring something I work on in my work, black liberation, celebration, and my tendency to actively address destructive systems that continue to oppress our people. The bot tweets different figures that I associate with black excellence along with the hashtag #blackexcellence. It also tweets different ideas and moments in history that are relevant to my idea of black excellence. The bot has been functioning sort of for some time but I have continuously been trying to curate the library and add more functionality such as responding to followers, and replying to @ mentions. This is my first time using twitter so it was a little bit of a strange process for me but I honestly think I learned a lot from this small project.
You can view the bot here




Final Project: Audiovisual mixer

For this project, I wanted to create a program that takes sounds and relates images to them via a mixer or board style. The keys used are a,s,d,f,j,k,l. Each key corresponds to a component of a short song I made using LogicPro. Basically, when each key is pressed, the sound will go on, and when it is released, the sound will stop, so it is more of a killswitch board. I am using primitive shapes right now and would like to eventually develop them into gifs or images to make it more complex. The current result, I feel, is not optimal since the synchronization is quite awful at the moment(not a p5.js problem – I trimmed one of the audio clips too short by mistake), so please excuse the urge to vomit. Here is a quick demo:

sketch to be uploaded in a minute

Final Project – Jo McAllister – Mosaic Maker

My Mosaic Maker is a Photo-Booth-like program that creates image mosaics out of images or videos taken from your computer. There are different modes so you can control what the image mosaic is made up of. After struggling to code this in python using openCV and Numpy, I’ve come to better appreciate those who have developed P5.js, Processing, OpenFrameworks, and other tools that ease the creation of quality graphics and image manipulation. Just the simple task of displaying an image needs so much thought to be executed in the most convenient way.

This first video shows image mosaics created with a simple tint function to change the colors of the pixel-images.

This second video shows a mode that uses an algorithm that sorts recorded images by their average grayscale color, and then finds the most appropriate pixel-picture to place at each pixel of the mosaic.


The rest of these are screenshots from my friends and  I playing with the Mosaic Maker.



imgImg2CopyScreen Shot 2015-12-12 at 12.26.50 AM Screen Shot 2015-12-12 at 12.54.11 AM

Screen Shot 2015-12-06 at 9.57.39 PMScreen Shot 2015-12-12 at 1.46.40 AM



Final Project – Lidar Visualization

Over the past month or two, I’ve been scanning people and environments—both urban and natural—using a form of light-based rangefinding called LIDAR. Over thanksgiving break, I began to “shoot” 360˚ environments at a small farm in Virginia using a rig I built that allows the LIDAR, which captures points in a plane, to rotate about a vertical axis. This additional movement allows the LIDAR to “scan” over a space, capturing points in all directions.


My favorite capture by far was taken in a bamboo forest (pictured above) at an extremely high resolution. The resulting point cloud contains over 3 millions points. Rendering the points statically with a constant size and opacity yields incredibly beautiful images with a fine-grained texture. The detail is truly astonishing.

Screen Shot 2015-11-30 at 11.38.11 PM

However, I wanted to create an online application that would allow people to view these point clouds interactively as 2.5D forms. Unfortunately, I was not able to develop a web app to run these, as I underestimated 1. How difficult it is to learn how to use shaders well and 2. How much processing it takes to run a 3 million point point-cloud. One possible solution is to resample the point cloud to cull every nth scan and, in addition to that, remove all points within a certain distance of each other.

Even so, I developed an application that runs locally using OpenFrameworks (see here for the full code). It performs operations to mimic depth / blur on every point, including making points larger and more transparent the closer they are to the eye coordinates (camera). It also introduces a small amount of three dimensional perlin noise to certain points, to add a little movement to the scene.

To allow others to see and explore the data from the bamboo forest capture, I made a three.js demo that visualizes an eighth of it (since the browser doesn’t like loading 3 million points, 200k will have to suffice).

Screen Shot 2015-12-29 at 10.43.06 PM

Sharon Yu Final Project

For this project, I wanted really badly for keys to correspond to body parts and create “creatures” with it. I had alot of fun drawing out everything on illustrator but I had a hard time trying to make everything not overlap. The scale and the way the creature would be presented was also a problem at times. However, I am quite happy with what it looks in the end. The code doesn’t work because all the images are local.

Screen Shot 2015-12-12 at 12.42.16 AM Screen Shot 2015-12-12 at 12.42.03 AM Screen Shot 2015-12-12 at 12.41.42 AM


md final

Screen Shot 2015-11-29 at 8.10.44 AM

I created a creature that interacts with the user, that grows when fed and speaks using the user’s information, which thus far only includes first name and age. I had originally wanted it to engage with user information that did not have to be put in manually but I have included the last email I sent, as well. This creature makes noise, originally intended to be connected to its y position, and as she is fed, her dialogue changes. I wanted to play with narrative and ghosts of oneself/ the abstraction of one’s digital self using the creature I started earlier, and this is a preliminary phase of what this project will end up like in the end.

A screenshot:


sketch50.js code

Katy Vs. The End of the World: Dsfrank Final Project


This is an animation based on the K-T extinction. It depicts a dinosaur called a Conchoraptor, running through the desert looking for food or water. Clouds are raining down molten glass and there are dead Tyrannosaurs laying everywhere. I wanted to emulate a scene from the movie Fantasia where dinosaurs lurch aimlessly towards death. For the landscape, I made a really neat effect by using angled triangles. It’s pretty busy in terms of objects so the frame rate is probably terrible.kt1 kt2 kt3 kt4 kt5 kt6 kt7 kt1.1



For my final project, I created an interactive environment that responds to scrolling. I paired my own art and collage elements with Pixies lyrics, to create a disorienting, surreal experience.

Skills that I used in this project include creating objects, manipulating images, storing information in arrays, and enabling interactivity via the mouseWheel (scrolling) function.

In order to view my project, please refer to the zipped file on Autolab. It contains the index, sketch, and a folder called “assets” that contains all of my images. Once you have that, run a local server so that the images will be able to load quickly.

Here’s a video capture of it in action:

Javascript Project Screen Capture from Lily Fulop on Vimeo.

It seems a bit jerky, but that’s just because of the way my trackpad lets me scroll. With an actual mouse, it would probably be better!

Final Project

Screen Shot 2015-12-11 at 8.24.21 PMScreen Shot 2015-12-11 at 8.23.24 PMwater

Due to the multiple files, the project is hosted on my website HERE.  Code has been submitted to Autolab.

For my final project I created a info vis /digital memorial to migrants that went missing while traveling across the Mediterranean.  The data came from the Missing Migrants Project, which tracks and locates migration around the world.

This project turned out to be more ambitious then I had expected- both technically and conceptually.  After looking at several data vis projects, I wanted to try something that was a bit less “data vis”.  I used the idea of being “lost at sea” as an experience by having the user scroll around to find the flower memorials floating in the space.  When the mouse is over a flower, a map and information appears that give you information about the incident that occurred in that location.  I am still unsure about how I feel about the overall experience, but am interested in further pursuing alternative ways of showing information.

While coding, I came across multiple technical issues that I had to resolve.. I created several functions and objects for this project and had to deal with placement and mapping things across the screen.  It felt great to be able to put together different things I learned throughout the semester and be comfortable with p5js to create something a little more elaborate.  I would be interested in continuing working with programming to see how to further integrate it into my practice.