Hard Data

Hard Data by R. Luke DuBois

Hard Data is a data-mining, sonification, and visualization project that uses statistics from the American military actions in Afghanistan and Iraq as source material for an interactive audiovisual composition based around an open-source “score” of events. Using Xenakis’ understanding of formalized music as a starting point, DuBois draws upon a variety of statistical data ranging from the visceral (civilian deaths, geospatial renderings of military actions) to the mundane (fiscal year budgets for the war) to generate a dataset that can be used for any number of audiovisual compositions. The intention of the project is to recontextualize the formal stochastic music in the context of real-world statistics, and to provide a compositional and metaphoric framework for creating an electroacoustic music relevant and significant to our time.

Hard Data description via turbulence.org

Kuler and sclang

This patch extracts color values from the kuler api via a themeID and converts them to Color objects.

It requires 
- the XML quark by Jens Gulden (wow! thanx) for parsing the xml stuff and
- the wslib quark by wouter snoei (wow, too!) for Meta_Color:newHex
- a valid kuler dev-key (see http://kuler.adobe.com/api/ for details)


// Process Kuler rss feed for Color extraction

(
~getFeed = {
arg
fileName,
kulerKey, // insert your kuler key
themeID(347630); // ID of a kuler theme

"curl \"http://kuler-api.adobe.com/rss/search.cfm?itemsPerPage=20&startIndex=0&searchQuery=themeID:%&key=%\" > /tmp/%"
.format(themeID, kulerKey, fileName).unixCmd;
};
~xml2color = {|fileName|
DOMDocument("/tmp/%".format(fileName))
.getElementsByTagName("kuler:swatch")
.collect{|swatch|
swatch.getElementsByTagName("kuler:swatchHexColor")
.collect(_.getText)
}.flatten.collect{|str|
Color.newHex(str)
}
};
~tidy = {|fileName|
"rm /tmp/%".format(fileName).unixCmd;
};
~show = {|color, bounds(Rect(30,300, 100, 30))|
var window;
var extent = bounds.extent.asArray;
window = Window.new("ColorTest", bounds, false);
window.drawHook = {
3.do{|i|
Pen.color = Color.gray(i * 0.5);
Pen.fillRect(
Rect.fromArray([i*(extent.first/3),0] ++
(extent * [1/3, 1]))
);
};
Pen.color = color;
Pen.fillRect(Rect.fromArray(extent*0.1 ++ extent * 0.8));
};
window.front;
}
)
(
{
~fileName = "%.xml".format(Date.getDate.stamp);
~getFeed.value(~fileName, "your Kuler key here");
2.wait;
"less /tmp/%".format(~fileName).unixCmd;
a = ~xml2color.value(~fileName);
1.wait;
~tidy.value(~fileName)
}.fork;
)

a.do{|c| ~show.(c)}

Aspects of my Work

Till Bovermann: Aspects of my Work

With this chart I try to show relations between mostly tangible computing applications I designed and developed together with colleagues during the last 4 years.
Wow. Sometimes making a rough chart of what you’re doing in your daytime job takes a lot of time. I really like this organic kind-of structure. This chart, by the way, is intended to be interactive: first, it is possible to click on the applications, which hides all other apps, and secondly, the used application (OmniOutliner) allows to easily reconfigure the nodes’ and edges’ positions. There is, however, no straight way to convert these features into something web-friendly. If you are curious, please feel free to contact me.