abstractmachine

26 November, 2009

bitPong

Filed under: abstractmachine, code, exhibition, hypertable, interface, play — Douglas Edric Stanley @ 22:04 pm

bitPong, Douglas Edric Stanley, 2009

I have finally found a venue to show a decent working version of bitPong, a piece I created some time ago when I was still working on the close relationship with phsyical implementations of data and their aesthetic consequences.

bitPong bitPong

The idea is simple: a two-player game, based on the uber-referenced Pong, here played with 8-bit controllers. When I say « 8-bit controller », I mean literally 8-bit, i.e. 8 buttons, each representing 1-bit of data. Collected together, this byte represents a 256 value variable which is used to control a visual paddle representation within the game. To aid players in the conversion of 1-bit discrete switches into their collective base-two 8-bit value, each button has been labelled: 2^n, i.e. two to the power of zero, two to the power of one, two to the power of two, and so on. This is otherwise known to mere mortals as the values 1, 2, 4, 8, 16, 32, 64, and 128. To move your paddle, you must add each of these values together in order to position it somewhere between position 0 and position 255.

bitPong bitPong

For those who know little about how the computer works internally, this is how the computer moves from the well-known binary 0 | 1 value, to complex values such as the letters you are reading right now: by associating a different value to each bit (the 1 values of « 0 1 0 1 0 1 » get converted to « 0+2+0+4+0+8+0+32 », otherwise known as the value 42) the computer can use a physically limited scheme (0 or 1, on or off, yes or no, true or false) in order to represent a far greater sum of possibilities (here a number from 0 to 255). bitPong plays off of this configuration and brings its dynamics to the surface of the playing field. In order to take control of your paddle, you will have to quickly master binary encoding.

bitPong bitPong

In this Victor Vasarely inspired version of bitPong, hexagons populate the playing field and create an added diversion. Therefore, bitPong has now turned into something like a two-player bitBreakout. I was actually inspired by the following sign which is posted on the wall just next to my installation, indicating the escape routes out of the museum.

bitPong Fondation Vasarely, Aix-en-Provence

I have to admit, even considering the current legal battle of the Fondation, and the related embezzlement of it’s holdings by its president / family members, all leading to the current dilapidated state of this curious monument, it’s still a pretty cool place to show work.

17 September, 2009

Temporal divergence

Filed under: abstractmachine, code, exhibition, interface, live, publication — Douglas Edric Stanley @ 19:59 pm

After some complications actually getting into the country, I am now finally in Brazil for the 8° Encontro Internacional de Arte e Tecnologia in the capital city of Brasília. Last night was the opening of the exhibition on « computational instinct » where I’m currently showing a new piece, « Bohlen’s Experiment No.1 ». And tomorrow Joseph Nechvatal and I will be each be giving lectures as part of four days of conferences organized by the Laboratório de Pesquisa em Arte e Realidade Virtual.

The installation as well as tomorrow’s lecture are my attempt at a response to Suzete’s invitation to present something around the subject of « computational instinct ». The subject is vast, and this piece is by no means to be considered my definitive response. But it has allowed me to work out a certain framework for thinking the subject of instinct, and from which I’ve come up with this proposition « no.1 » in what could easily be extended into a series.

While I suppose there are a lot of directions one could take the concept of « instinct », I actually decided to avoid the whole innate vs. aquired debate, and focus instead on the environmental conditions of behavior, in other words looking at existence not from the perspective of a subject (transcendental or otherwise) in conflict with its biological predispositions, but instead from the perspective of a being historically embedded in an environment; i.e. a question of « Umwelt » as a formative ingredient to embodiness. From this perspective, instinct is not some contrary force acting against us, but rather the residue of our environmental context that exposes itself through our behavior. From an evolutionary perspective, instinct could then be considered a context within which behavior takes place; it is the behavorial framework that reveals something about the nature of our consciousness and how this consciousness is shaped by our negotiations and inscription within the world.

Which leads me back to this first experiment which like all experiments is about exploring the limits of a concept. While the concept of Umwelt is highly cybernetic in its conception of stimulus and effectuation, I found it more interesting to approach the concept of Umwelt from a purely temporal perspective. So I asked the question: what is our temporal behavior? and its corrollary can we experience other temporal existences? And if indeed the answer to the latter is yes, is our experience of temporally divergent worlds limited to communication or can we also simulate such environments, through immersion or other means?

In « Bohlen’s Experiment No.1 », I have recreated a machine described only on paper in Philip K. Dick’s 1964 science fiction novel « Martian Time-Slip ». In the novel, Dick suggests that communication could be made with autistic children via temporal variation devices:

« There’s a new theory about autism, from Bergholzlei, in Switzerland [...] It assumes a derangement in the sense of time in the autistic individual so that the environment around him is so accelerated that he cannot cope with it. In fact, he is unable to perceive it properly, precisely as we would be if we faced a speeded-up television program, so that objects whizzed by so fast so as to be invisible, and sound was a gobbledygook, you know? Just extremely high-pitched mishmash. Now this new theory would place the autistic child in a closed chamber where he faced a screen on which filmed sequences were projected slowed down. Both sound and video slowed, at last so slowed that you and I would not be able to perceive motion or comprehend the human sounds as speech… » - Philip K. Dick, Martian Time-Slip

The novel goes on to discuss an attempt to build such a device, but which ultimately fails for various reasons concerning the intrigue.

Obviously, a similar device has already been made for the image: it’s called « 24-hour Psycho » and « Five-Year Drive-by (The Searchers) », by Douglas Gordon. And stretching the image this way is fairly easy, at least from a technical point of view: just slow it down. But I got to thinking about the sound, which is continuous medium and not discontinuous like the film frame: how could we stretch the sound in a more consistent way while avoiding the chipmunk effect?

In my first attempt at creating Bohlen’s device (Bohlen being the character hired to actually build such a thing in Dick’s novel), I decided to create a purely audio communications device wherein one could communicate in real-time and yet to two divergent scales of real-time. You speak into a microphone, and out the other end your speech is stretched from anywhere to 1x to 100000x. You can adjust the speed with a dial.

Therefore, you co-exist in two temporal scales, and yet both, while temporally divergent, can still be considered real-time in the cybernetic sense; it is merely the biological rythm or scale of that real-time that has shifted. Indeed, as my colleague Jean Cristofol has argued within our various theoretical working groups (cf. « lenteur »), real-time is a temporal form, and not a measure of speed. s Speed and feedback are in fact two very different temporal forms.

On the technical side of things, this piece is little more than a real-time adaptation of Nasca Octavian Paul’s Paul Stretch algorithm. Basically, it uses FFT to analyze the frequencies of the sound at any single point within the wafeform, and then scrubs through those frequencies indepedently of the temporal constraints of the incoming audio. The result is fully comprehensible speech, no chipmunk effect, and yet stretching on a scale which can go from seconds, to days, and even (if desired) years. As anyone who has heard 9 Beet Stretch knows, the result can be quite beautiful.

While there are some other questions I’m asking as well in this piece, notably the question of consciousness in relation to the speed of computation, I’ll discuss all that tomorrow. This talk will also be reproduced in a publication some time next year. I’ll also try to add some photos to this post once I’ve had a moment to return to the exhibition space with a camera.

15 October, 2007

(music_thing)^3

Filed under: abstractmachine, code, instrument, interface — Douglas Edric Stanley @ 14:12 pm

This nice post over at Music Thing about my Rubik’s Cube project has lead to a lot of traffik and linking (cf. here and here, for example). I’ve been a Music Thing reader for years, so that was nice to see. But for their readers, I thought they might be interested in this video, shot by Artfuture last summer during the ZeroOne festival in San Jose in which I demonstrate — in all my true geekiness — the functioning of the first physical prototype. More will indeed follow at a later date, when I’ve finished all my current duties.

23 May, 2007

!shadows

Filed under: abstractmachine, code, interface, live — Douglas Edric Stanley @ 16:43 pm

I’m preparing for my presentation on Processing this Sunday at Flash Festival 2007. For this conference I’ve adapted a very sturdy presentation system I started in Lingo way back in 2000. The conversion has been relatively painless, except for the occasional details.

Thanks to Marius Watz and VitaFlo I’ve been able to make a nice Mac OS X full screen application that can open other windows on top of it. Usually Processing runs full-screen applications Java-style, i.e. on top of all other windows, including the dock & menu. But since I want my Applet to be a launching-pad for several websites, videos, and applications, I needed a different solution. Marius’ proposition only removes the menu & dock; this allows for many different solutions for what I want, several of which I’m exploring this week.

But one thing that was bothering me was the operating system’s imposed drop shadows. Mac OS X adds these love-em-or-hate-em shadows for a pseudo(d*3) look, but because of my design choices I wanted them gone. I first tried Window Shade X, but that was lame because it’s a system-wide hack. When you think about it, it’s just a simple application parameter; for example, applications built directly in Apple’s Cocoa environment have drop-shadows as an option that you can just check off from within Interface Builder:

Drop Shadow checkbox in Interface Builder

So after a quick search in Apple Developer Forums on removing drop shadows in Java, I found the following code that is fairly easy to adapt to any Processing Applet :

import com.apple.cocoa.application.NSApplication;
import com.apple.cocoa.application.NSWindow;
import com.apple.cocoa.foundation.NSArray;


public void setShadow(String windowTitle, boolean isShady)
{
  final NSApplication application = NSApplication.sharedApplication();
  final NSArray windows = application.windows();
  Enumeration e = windows.objectEnumerator();
  boolean done = false;
  while (!done && e.hasMoreElements()) {
    NSWindow w = (NSWindow)e.nextElement();
    if (w != null && windowTitle.equals(w.title())) {
      w.setHasShadow(isShady);
      w.invalidateShadow();
      done = true;
    }
  }
}

You just have to include this code into your applet, and then call:

void setup() {

  size(500,500);
  setShadow("", false);

}

There should also be a way to remove shadows via the info.plist, but I wasn’t able to get the right combination.

If you analyze the above code, basically what you have is a hook to the Cocoa platform that looks through all the windows for the one that contains your Java applet. Once you’ve found it, you can easily deactivate its shadows.

17 November, 2006

Apple…meet Ralph Baer

Filed under: interface — Douglas Edric Stanley @ 23:09 pm

Apple Mechanical Overlay Patent Apple Mechanical Overlay Patent

Above are some images of an Apple patent which have just been published by the US Patent Office. It’s an interresting idea: a touch-pad, just like the current Apple trackpad, or a touchable-screen, as in the rumored touch-screen iPod, but that can house different mechanical overlays that convert all or part of the surface into a mechanical device. The more improbable being a joystick (ok, I’d like to see that thing withstand intense gamer pounding), with the more serious being a control surface which is what many people use Macs for already, although they plug in the controller alongside it. These ideas can obviously go in many directions, and I won’t comment them any more here, at least not right now. But while all the (other) geeks out there are salivating, I just wanted to point out that Apple’s idea maybe isn’t all that original, especially when you compare it to this technology I used to play in the 1970’s under the name Magnavox Odyssey (1972):

Magnavox Odyssey, 1972

23 November, 2005

instruments + plateformes interactives

Filed under: abstractmachine, atelier hypermedia, code, design, hypertable, instrument, interface, live, play, podcast, student — Douglas Edric Stanley @ 16:40 pm

This is a recording of my presentation during the Symposium Audio/Espaces/Réseaux organized by Locus Sonus. In the accompagnying pdf file (destanley.pdf) you will find links to all of the films and interactive animations described during the talk. This talk is in French (why the hell am I writing this in English? I have no idea)

 
icon for podpress  instruments + plateformes interactives [01:06:34m]: Play Now | Play in Popup | Download