Pattern Language for Living

Welcome to the Pattern Language Project is the home page for a “Public Sphere Project” by the Computer Professionals for Social Responsibility that is attempting to develop knowledge of patterns that make for communication and living according to deep core values.

An ambitious project that seems both a naive application of trendy theory in computing (patterns) to (just about all) social problems, and a remarkably promising form of social dialogue. The participatory nature of the project, the use of ideas from architecture and computing, could provide a way into social responsibility for engineering culture.
Continue reading Pattern Language for Living

MetaMedia and Amateurism

We can extend Bakhtin’s argument about the novel being a genre that incorporates in dialogical form other written genres to theorize multimedia. Multimedia is to other media as the novel to other written genres. It uses interactivity to combine time-dependent and time-independent media into coherent works. The interface design and programming bring these media into dialogue with each other.
Continue reading MetaMedia and Amateurism

Ideas as Play: HalfBakery.com

halfbaker.com is a site for wacky ideas (some of which turn out to have happened.) Nice design and great idea itself.

“Ceci n’est pas un ideƈ.”

This site makes communal play out of what we do – fantasize about things that could be done (to make a million.) Such ideas are a rhetorical trope – a conversation starter (or stopper) independent from any desire to implement.

Symbolic Media

More on Abstracting Craft by McCullough. (See previous blog entries.)

How is code a medium? Code, symbols, abstractions, notation, structure, generative structure, mental models – terms McCullogh plays with.

The computer forces us to encode that which we want to manipulate. On the computer we simply manipulate codes – symbols. We develop structures of codes for different purposes. That is what a software tool does – it presents us with a structure within which to play. Unlike crafts that deal with physical media, craft on the computer resembles disciplines that deal with notations like music or writing. Good software and good digital craftspeople don’t think of the medium as code, but develop mental models based often on virtual realities. They think of drawing not CLUTs.

The structures developed on computers are not in reality – they are generative structures – designed to constrain in order to generate. They open a particular set of possibilities – like a painting program that lets you do certain things.
Continue reading Symbolic Media

Generative Structure

McCullough writes a lot about generative structure, drawing on Chomsky and Piaget. While generative structure may no longer be a satisfactory explanation for human language, McCullough sees is as a principle of computing media.

“We have seen the role of structure, particularly generative structure, in several contexts already: the syntax of notation, the design of an interface, the constructions of a type, the essence of a medium. In each of these contexts, structure is revealed in transformation.” (p. 232 of Abstracting Craft)

We learn about the structure of digital media by playing with it – by playing with a software package and seeing what sorts of transformations happen when we try different features. (See the section “Generative Structure” in the chapter “Symbols” – starting page 98.)

This connects to play and games. Generative structures provide the constraints that make play possible and open the possibilities that give play meaning.
Continue reading Generative Structure

Conscious Machines

Would it be possible to make a machine conscious? Obviously I am not going to solve this, but what if we played with the idea. Lets say that consciousness is:

1. Attentive memory – a space of memory that is attentive to things from the outside. It can be distracted, redirected by strong input from outside.
2. Continuous attention – a continuous attention to things over time
3. Private attention – a thinking that is not accessible in the same way to others
4. Reflective – an attention that can take itself and its short term contents as subject for attention
5. Associative – a thinking that brings in new items by association. Note that the associative process is outside consciousness – it feeds consciousness but isn’t of it.
6. Willful – a thinking that can control itself to some degree, but not totally. The control emanates in balance from consciousness.
7. It would think of its thinking as I, itself.

So can we create a program that would fit some of these characteristics. It would serve no purpose other than to run continuously. It would manage a space of memory not accessible to others. It would be capable of being distracted, of making associations, and of willfuling responding.
Continue reading Conscious Machines

Tool and Technology

The third chapter in Abstracting Craft on “Tools” has definitions of technology and tool suited for discussing software and computers as craft tools. Some of the key terms he covers are:

Tool, Technology, Instrument, Probe, Mechanism, Machine, Engine, Power, Technique, Medium, and Artifact

“A tool is a moving entity whose use is initiated and actively guided by a human being, for whom it acts as an extension, toward a specific purpose.” (p. 68, McCullough).
Continue reading Tool and Technology