Archive for April, 2006

Contracts Revisited

While I’m still dabbling with rigid bodies and accidental surrealist physics, working through semantic web and constraint propagation in 6.891, and discovering my inner dynamist/libertarian in CMS, now I’ll also be adding a revisit to social and economic contracts. I hope to (a) examine patterns of informal social contracts, and (b) construct a demonstration system that acts as executor of a coded contract.

Of course my goals seem to change weekly, so its hard to know if this direction will be fruitful. i know it feels interesting. John suggested that if I were not somewhat unsure of my direction at this point then something would be wrong. I do feel like I’ve already thought up and discarded so many half formed ideas, so I’m not particularly attached to this one either. Maybe this is the secret, all part of letting go. I’ll just see where it takes me.

Recent bugs

bug 2 bug 1
bug 3

Slow Computing

Not long ago my mom clipped out and sent me an article describing the emerging popularity of the slow movement, a reemphasis on the importance of taking time in life rather than rushing. Perhaps the most widely known element of this trend is slow food, but as a general lifestyle aesthetic it is easy to see how it may extend to other activities.

A related offshoot of this could be Slow Computing: networked programs that can be trusted to alternately execute and hold state for days, months, years even. This idea came up back when I was considering serializing continuations for the contract programming project, thinking about how programmed contract logic spanning months or years could be executed slowly. This isn’t new technology, but, like the slow movement itself, is a new approach. The program needn’t wake up or run quickly, but it must be robust, and it should survive changes in hardware. It must move not only at a human pace, but at a slow human pace.

Distributed Constraint Propagation

This week in my Adventures in Advanced Symbolic Programming class we were graced with an intimidatingly complex problem set on constraint propagation systems. Already I am just having trouble loading the damn thing, and Chris Hanson mentioned after class that he’d already poured in several hours working on it and hadn’t finished. It’ll take me exponentially longer…

The plus side is that constraint propagation is a topic I’ve always found intriguing, and I’ve even thought about it on my own without realizing that it was a subfield in and of itself. Inspired in part by the coverage it has received in this class (and in part by an offhand comment from John to rethink the spreadsheet) one of the ideas I’ve been tossing around is distributed constraint propagation, where each datum or datum collection (cell, row, column, group) is a small server on the net. Each of these individual pieces is aggregated by other nodes that act as constraints. These pieces can be created independently and composed and reconfigured dynamically and arbitrarily. This is in some sense a generalization of some themes Burak is exploring in his thesis.

Surrealist Physics Engine

I’m working on a small physics engine right now to play with some of my ideas with interaction closures and information exploration. A nice accidental bug/feature right now is this particularly surrealist tendency for the objects to drape and hang on things. Here is one of Burak’s images subjected to the surrealist physics.

Surrealist particle engine screenshot

the laundry of the unwashed masses

What sort of processes would benefit from collective human power?

One possibility is image processing: removing wires and unwanted backgrounds from video, cutting out the main characters from a green screen, filters and effects that capture a certain human randomness.

Can we utilize something like the Amazon Mechanical Turk here? I need to talk to John about getting some funds for this.

What sort of image processing tools would make it easy for workers to do this? For each domain (images, transcription/language, trivia/polls, etc) we need a generalized app that can take a remote job description and set up a task-oriented environment.

How can we invert OPENSTUDIO applications to make them for the collective instead of for the individual?

Bicycle Culture

I received some positive comments on the CMS paper I wrote about bicycle culture. The assignment was to write an autobiographical essay about a cultural artifact, placing it in a larger social context.

bicycle_culture.pdf