
Tern: Wooden blocks shaped like jigsaw puzzle pieces
Created by Michael Horn and Robert J.K. Jacob at Tufts University, Tern is a tangible programming language for middle school and late elementary school students. Children connect the tailored wooden blocks to form physical computer programs, which may include action commands, loops, branches, and subroutines.
Download Tern's paper for Chi'07

Quetzal
Prior to designing Tern, the authors created Quetzal (pronounced ket-sal), a "tangible programming language designed for children and novice programmers to control LEGO MINDSTORMS robots. It consists of over one hundred interlocking tiles representing flow-of-control structures, actions, and data. Programmers arrange and connect these tiles to define algorithms which can include loops, branches, and concurrent execution."
Also Oren Zuckerman from the MIT Media Lab created Systems Thinking Blocks for children to model and simulate dynamic systems.
Flow Blocks for children "to create 3D structures in space, that look like common structures in life"
Sunday, April 29, 2007
Tangible Programming in the Classroom
Posted by
cati
at
11:28 pm
1 comments
Labels: children, code, design, education, HCI, MediaLab, technology
Friday, March 09, 2007
Digital marks
A little bit on digital marks, I selected a variety of them.
The semacode, a two dimensional code that encodes a URL. The picture below is the semacode of architectradure. Thank you Michael Surtees for the link! This tag embed the URL address of my blog, that can be read by your cell phone and send you to its page. I guess it avoids typing in the URL and you can rapidly go through a series of web sites using the respective tags. 
semacode of architectradure
It is especially useful for combining physical space to digital content. The Semacode's Software Development Kit has is developed for ubiquitous computing by creating visual tags for objects and contexts, and read them using a mobile camera phone. The physical Wikipedia called Semapedia , created by Alexis Rondeau and Stan Wiechers, allows you to add place tags on places and things to link them to the relevant Wikipedia articles.
trash can with a wikipedia tag
Semacode technical paper
Urban tapestries allows public mapping and sharing by combining mobile and internet technologies with geographic information systems. This system was linked to Natalie Jeremijenko's famous feral robots -open source robots for investigating contaminated urban sites- and called Robotic Feral Public Authoring: "Adding the sensor readings to online mapping tools, such as Urban Tapestries, suddenly brings the relationships between environment and home vividly to life. It enables people to feel they can learn about their environment and have the evidence to do something about it"
Yellow Arrow allows a community to tag places using arrows. You can post a message using the arrow and anyone could retrieve it using their cell phone. Another method to link digital content to a physical place. The community of yellow arrow is quite big. Their blog.
Elens allows anyone to create talking landmarks. Developed by the MIT Media Lab it allows anyone to tag a place by adding a sticker on a physical location, sticker that can later be scanned by a cell phone, in this case the Motorola A1000.
M-views developed at the MIT media lab in the interactive cinema group -media fabrics- with Glorianna Davenport, explores the "ideas, methods, and culture of mobile cinema, which is experienced in temporal and spatial narrative segments that can be delivered on context-aware mobile devices."
In 2002, I researched with Glorianna Davenport on technologies to allow digital information to communicate with the physical space. I worked on Passing Glances a system that enables users to create ambient urban interludes through the use of SMS text messages. Associated graphics and storytelling were projected in the urban space.
CHI'04 paper
Enarrative5 2003 paper
With these tags, the physical space is tagged to the digital space. One can think the other way around and tag the virtual space with physical content. That is what Josh Lifton told me he was working on the other day. Josh created a plug sensor/actuator network, called the dual reality lab, that links the MIT Media Laboratory space to a virtual lab space in the Second Life online virtual world. 
Location of the MIT Media Laboratory in Second Life
More info technical about the plug
Posted by
cati
at
6:42 am
1 comments
Labels: code, culture, design, digital, physical, technology, urban
Sunday, March 04, 2007
my body is a hypertext
I love this concept of Yasmine Abbas
project number . 20050816
project title . shotcode tattoo
medium . ink or washable tattoo
my identity has shrunk to my skin...
<< I link therefore I am >> says WJM
my tattoo is no more a barcode that one scans
for revealing the identity of a product
the extension of my body is a url
we exist because of the envelope, the image
which is drawn, written, or projected onto it
our skin is a state of mind, a habitat, and our identity
the last private space?
my body is a hypertext
Also available for 5$, washable bar code tatoos - Via needled
Posted by
cati
at
8:11 pm
0
comments
Labels: AI, architecture, awareness, code, conceptual, critique, culture, design, mobile
Wednesday, February 28, 2007
Issey Miyake by Etienne Mineur

Stunning interactive graphic piece for Issey Miyake by Etienne Mineur. Jean-Jacques Birgé talks about la derniere valse of this work.
Spring summer 2007 women collection.
Spring summer 2007 men collection.
Collections designed by Naoki Takizawa for Issey Miyake.
Posted by
cati
at
2:14 pm
1 comments
Labels: aesthetic, animation, code, conceptual, creativity, design, digital, fashion, french, graphic-design, inspiration, pixel, technology
Friday, February 16, 2007
Tested and approved: Csound is awesome

Adam Boulanger gave Aurelius Prochazka and I a three hours introductory tutorial on csound.
Csound is a programming language -originally witten in C, ref. its name- by Barry Vercoe at MIT Media Lab. Synthesized sounds that come out of csound are elegant and allow anyone with a computer to freely compose sounds. I prefer it to reason for its infinite personal potentials.
Composer Richard Boulanger edited the famous Csound book. BT on the other end revisited csound taught by Dr Boulanger for his Binary Universe album.
Saying that, all I can say is tested and approved and I can share some of the notes I took, as I think it can help anyone start with the Csound software and compose music.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
instr 1
kamp = 10000
kcps = 220
ifn = 1
a1 oscil kamp, kcps, ifn
out a1
endin
; Table #1, a sine wave table with a small amount of data.
f 1 0 4096 10 1
; Play Instrument #1, the basic oscillator, for
; two seconds. This should sound relatively rough.
i 1 0 2
e
icon, your piece will play back.10 is the gene routine number. 4096, a power of two. it drastically changes the sound if 4096 becomes 8!
In file:///Library/Frameworks/CsoundLib.framework/Versions/5.1/Resources/Manual/ScoreGenRef.html
the gene routines are explained.
i: means instrument
1: refered to the instrument 1 from the orchestra window
0: start
2: duration in seconds
3: frequency
(then you can add different instruments, that overlap in time or start at different times etc...)
. foscil (A basic frequency modulated oscillator.)
. grain (Generates granular synthesis textures)
. grain2 (Easy-to-use granular synthesis texture generator.)
. soundin (Reads audio data from an external device or stream)
. physical modeling instrument: pluck (Produces a naturally decaying plucked string or drum sound.)
Good luck!
Posted by
cati
at
9:40 am
1 comments
Labels: code, programming, sound, technology, tools
Monday, April 10, 2006
Processing point of view
processing en essais
For instance I wrote the following script:
size(600, 600);
background(50,50,50);
for(int x=0; x<600; x="x+7){" y="0;" r =" (int)(40*(log(x)));" g =" (int)(30*(log(y)));" b =" (int)(r*g" gr =" (r"> 128){
stroke(r, g, b);
rect(r,g, 1, 8);
}
else{
stroke(50,0,0);
rect(x,y, 10, 91);
}
}
}
and processing has generated the following graphic:

Rendez-vous creation has selected a few images I made with processing.
Posted by
cati
at
11:42 am
1 comments
Labels: code, MediaLab, programming, project, technology
Monday, March 13, 2006
Architectural computing

This semester I am studying Advanced Studies in Architectural Computing : Harvard Design School, Spring 2006 taught by Kostas Terzidis
Description
The course is an in-depth study into the theories, processes, and structures of computing in architecture. It will seek to develop design projects that will illustrate the applicability, value, and potential of computing in addressing, solving, or (re)defining architectural problems. The purpose is to invent computational schemes that encapsulate the processes that lead to the generation of buildings and structures. Furthermore, the course will seek to define, explore, and critically evaluate the aesthetics of computing not only as a form of artistic expression but also as a means for architectural poetics.
For the first assignment we had to test script editor from the Maya software and create a building under particular conditions:
Site: Flat/urban context: square (110’ x 110’) on a corner of two streets
Program: 200-units 80% made of
50 effic. ( 400 sqft)
100 1-bed ( 900 sqft)
50 2-bed (1,600 sqft)
Circulation 20%
Constraints: For each unit facing the street we get one point. For each floor we go up we loose 10 points. Satisfying the above requirements for the lowest cost, create a structure(s) using any (or combinations) of the following algorithms: stochastic search, hybridization, cellular automata, multi-Booleans, genetic.
First, as shown in the following code and model, we have resolved the problem by creating the units with no overlap between one another (we did a scholastic search on the units location):

We tested the following variations by modifying our previous Maya script:

We decided that our final model will
- be a dynamic building
- give the impression of a frozen moment
- contrast with still surrounding buildings
- offer a street view for each unit
- have the circulation and ventilation in the back
The following diagram features the organization of one floor:

Our final model ' la Tour Chatouilleuse' is made out of the following Maya Script
for($l=0; $l<25; i="0;" name = "floor" rangex =" 4;" rangey =" 5;" sv="0;" rx =" rand(-$rangex,$rangex);" ry =" rand(-$rangey,$rangey);" overlap =" false;" j="0;" name = "floor" px =" eval(" py =" eval(" diffx =" abs((float)($rx-$px));" diffy =" abs((float)($ry-$py));" overlap =" true;" overlap="=">100){print("not found\n"); break ;} } }; select -all; group; rotate 0 0 3deg; move -r 0 0 -1; };

Posted by
cati
at
8:40 pm
0
comments
Labels: architecture, code, Harvard, project