Final Project Presentation: Data Visualization without Data*

At the outset of this project, I set for myself the following two goals:

1) To learn D3.js well enough so that I was comfortable manipulating and visualizing data, as well as working with D3’s various functions and its unique syntactical quirks (such as method chaining).

2) To create a visualization that tells a story of Laos and the horrific plight of unexploded ordnance (UXO) left behind since the early 1970s, a result of the CIA’s covert bombing campaign in the country, concomitant with the Vietnam War.

The first task, I am fairly certain I accomplished. With the help of two books, an online lecture course, an online library of D3 works (replete, occasionally, with commentary and example code), and various online forums and communities, I’m now comfortable visualizing data with D3.

The process of fulfilling my second task—and the variety of obstacles I encountered over the course of this process—is essentially the story of my work on this project. (This story … below) Continue reading “Final Project Presentation: Data Visualization without Data*”

Final Project: Data Visualizations without “Data” and the CIA’s Secret War in Laos

Between 1964 and 1973, the US dropped anywhere between 2 and 2.5m tons of bombs on Laos, more than they dropped on both Germany and Japan combined over the course of WWII.

The US, then fighting a spurious war in Vietnam, was not officially at war with Laos (official acknowledgement of the bombing campaign of Laos came in 1970). The CIA’s covert activity in Laos—Vietnam’s neighbor to the west—was intended to cut off supply lines for the North Vietnamese army, as well as to suppress the Laotian communist party, which at the time was engaged in a civil war against the royalist government. It is frequently contended, moreover, that US warplanes would drop remaining munitions from bombing runs in Vietnam in Laos, in order to return to their bases with empty planes.

Per Legacies of War, the 580,000 bombing missions undertaken by the US unloaded what was equal to “a planeload of bombs every eight minutes, 24-hours a day, for nine years—making Laos the most heavily bombed country per capita in history.” Even still, few in the US or the world were aware of these bombings at all.

Cluster bombs were heavily employed in the bombing of Laos. It is estimated that over 270m cluster bombs were dropped on Laos during the Vietnam War. Anywhere up to 80 million of these (with some analysts putting this figure higher) failed to detonate upon impact—more than a third of all those dropped.

Per Legacies of War, “nearly 40 years on, less than 1% of these munitions have been destroyed. More than half of all confirmed cluster munitions casualties in the world have occurred in Laos. Each year there are now just under 50 new casualties in Laos, down from 310 in 2008. Close to 60% of the accidents result in death, and 40% of the victims are children.”

These undetonated munitions are called unexploded ordnance (UXO). And they are at once the legacy and active (albeit delayed) continuation of the US’ secret war in Laos.

Data visualizations are rife in media today. They allow numerical information to be grasped by ordinary people who have no background in parsing tables, charts, and datasets, or who simply find it difficult to comprehend the scale of statistics, or empathize with the stories depicted in shapeless, colorless numbers.

In this respect, we might consider widening the term “empathy machine”—which has of late been reserved for immersive virtual reality systems by the silicon valley edutainment complex—to extend to all media or designed experiences that facilitate an emotional comprehension of something that people, for one reason or another, have difficulty understanding—or, in some cases, are altogether alienated from.

Data visualizations tell a story. They do so in a manner that is at once not without an aesthetic logic (i.e. people work hard to make them visually compelling) and whose authenticity or verity is usually beyond dispute—or at least much less disputable than editorialized .. in paragraph form

But … rising cachet … prestige …

For more reasons than one, data visualization …

a cultural reason … yearned-for and sought-after …  Our time, after all, so regularly ..  … post-truth, alternative facts …

But this … on data … , while salutary in a number of ways, comes with risk of …


data visualization between historiography (the writing of history) and memorialization (its … living)


Laos (see flagged stats on first page of eternal harvest) … casualties unrecorded and unrecognized …

what might data visualization … without data …



comprehension of the scope/scale of mass death events … the .. that turns human lives into numbers, … visualizations and others similar .. purport (and in many cases, successfully do) turn those numbers back into something that alienated .. can once again understand

Returning to the topic of the covert bombing runs of Laos by US warplanes, we might ask a couple of questions about data visualizations. Who visualizes data? What data is there? What is a data visualization without data?

ICMadness Collaboration Sketch

“ICMadness” is a class-wide event held here at ITP, during which students from different Introduction to Computational Media (ICM) sections collaborate in groups of three on a randomly decided-upon project for roughly an hour and a half.

My group included Ellen Nickles and Jenna Xu, and our project’s parameters (randomly generated by an algorithm provided for us) were “climate change,” “nested for loops”, and “unusually large.”

Continue reading “ICMadness Collaboration Sketch”

Interactive Portfolio

For this week’s assignment, we were tasked with working with DOM (document object model) elements in the p5 library, such as buttons and sliders, and a variety of functions intended for their presentation and control.

Given that the bulk of what I’ve done for this class so far has been abstract in nature—weird geometries, experimentation with color, delightful but nonsensical interactions, and so on—I wanted to make something a little more grounded this week, even something functional or utilitarian. Continue reading “Interactive Portfolio”

Functions, Translate, Scale

Here is my first sketch assignment remade using a function for the slatted background, which was translated differently each time and given a scale modulation effect that induces them to quiver, as I had initially wished them to (back in week one).

I don’t consider this a final project as there are other aspects of this section that I wish to further explore, grow more acquainted with, and exploit toward the ends of redesigning the Klee-inspired sketch.

For Klee v.2

Collaborating with Code

Here is the code to the project Mary and I collaborated on over the past week or so:

Coming around to this sketch was a process, and not an especially easy one. Less so because of the difficulties of finding time (Mary is a part-time student with a full-time job, while I’m the reverse), than because of our shared unfamiliarity with collaborating on a code-centric project. The difficulties chiefly revolved around logistics (how do we work with code over telecommunication? how do we work on code in person together?) and legibility (everyone seems to write code in a different style).

In the end, though, we landed upon a pretty good system for exchanging code and making adjustments to the shared project. Whenever we had minor adjustments to add (color tweaks, subtle animations), we would just send along that line with instructions for where to paste it. Whenever we had more substantial changes (such as a button, more complicated movement, etc.), we would send a link to the entirety of the code.

Learning how to work together on a project like this was as much as the project as the resultant sketch. Both of us are pretty happy with how it turned out, though, and both surely learned a lot about working with code both together and remotely.

Second p5.js Assignment

Though colorful, last week’s piece was defined by stasis and flatness. I wanted to follow up on this piece with something

What I most wanted to do next was make something that was not only interactive, but also something with multiple layers, compelling visual effects, and movement.





sense of depth and …



It exists in two versions—one version with an uncapped frame rate, and another with a frame rate capped at 10. The uncapped version is closest to my original vision, but it’s also somewhat visually aggressive (those sensitive to rapidly blinking light should probably skip it).


The ellipses are randomly generated (though of a uniform size) in clusters set within sections of 100×100 pixels. The ellipses’ borders (or strokeWeight) are randomly generated as well (flitting between values of 0-10).

The upward ascending horizontal bars are on a loop, and the color of the background is controlled by the user’s movement of the mouse, along the X-axis: when all the way on the left, the canvas is black; on the right, white. The palpitating ellipses look very different depending on whether the canvas is black or white: when black, the eye focuses on the white circles themselves, when white, only on their outlines.

When the sketch is played in its intended FPS (uncapped), it resembles a cross between television static seen from up close and gyrating genetic material.