[Edu-sig] PataPata 0.1.19 release & Stigmergy
Paul D. Fernhout
pdfernhout at kurtz-fernhout.com
Fri Jun 30 01:58:15 CEST 2006
kirby urner wrote:
> Or committed company employees, or crew members, or television screen writers...
Good point.
By the way, SourceForge is finally allowing logins again, so there is now
a proper release here:
http://sourceforge.net/project/showfiles.php?group_id=165910
> I wonder if you've contacted Kevin Altis, the PythonCard developer I
> know best. Robin Dunn, author of wxPython is also local (we've met
> many times). I saw the new wx book at Powell's Technical, and almost
> bought it (I'm waiting for a bigger book budget to materialize, so I
> might expand my library).
To be clear, it is limited PythonCard compatibility, but it is using TK to
achieve that, not WX. Eventually, I hope to improve the wx GUI, but the TK
one is more advanced right now and the PythonCard compatibility is built
on that. So, you can take your PythonCard resources (simple ones) and
build TK GUIs with them (at least, as far as laying out widgets,
connecting code still needs to be done by hand, and automating that is not
a priority for me, if it would be doable at all given various issues).
It's a tribute to PythonCard's modular design of using a resource file
that I was able to do this with PataPata.
The basic difference between PythonCard and PataPata is that PythonCard
seems focused on helping you develop GUI-oriented Python applications
faster and in a more maintainable way, whereas PataPata attempts to give
you a live world of Python objects where some of those objects are Morphs
and non-visual Prototypes.
Still, I'd expect the PythonCard project might not like a "competitor"?
:-) I'm all for friendly competition of course -- but the reality is there
are only so many volunteer developers to go around at any specific time,
so if PataPata picked up some I would expect PythonCard might lose some.
Certainly I could have tried to improve PythonCard rather than make
something different. On the other hand, sometimes when something becomes
popular, say building GUIs in Python, then everyone benefits (say if VB
and Ruby and PHP developers switch to Python and either PythonCard or
PataPata). In the PythonCard case, since it is under a more permissive
license (BSD-ish) than PataPata (GPL) they do address different audiences.
>>So, see, some teamwork going on, though of an "artifact mediated" kind. I
>>think of that as a form of "Stigmergy".
>> http://en.wikipedia.org/wiki/Stigmergic
>
>
> Wow, I'd never have guessed. Same root as stigmata, no? Maybe not.
Never thought of that.
On etymology:
From:
http://www.answers.com/topic/stigmata
"stigmata ... [plural of stigma, from Gr.,=brand]"
From:
http://stigmergiccollaboration.blogspot.com/2006_05_01_stigmergiccollaboration_archive.html
"Below are some variations on the terms origins (see the [poster for
references):
* ‘stigma’ (goad) and ‘ergon’ (work)…” to “…stigmergy (stigma: Wound
from a pointed object; ergon: Work, product of labour = stimulating
product of labour).
* from the Greek words stigma ‘sign’ and ergon ‘action,’ and captures
the notion that an agent’s actions leave signs in the environment, signs
that it and other agents sense and that determine their subsequent actions.
* [F]rom the Greek stigma: sting, and ergon: work."
So actually related in some sense I guess.
>> From there: "Stigmergy is a method of communication in emergent systems
>> in which the individual parts of the system communicate with one another
>> by modifying their local environment."
> So like when I mow my lawn in a certain pattern, signalling a
> satellite, or when ETs use a crop circle to phone home, right?
> Science fiction examples of "stigging out" (slang for "exercising
> stigmergic abilities").
Not quite the same, though interesting examples to work with. The point of
the individual or group stigmergic activity is not generally explicitly to
signal, which is what you give examples of -- people intending to send a
communication, but just doing it by making a large physical artifact.
Rather, the idea is that each actor does something that feels good to them
to improve their local environment, and other actors then build on their
work in some way, or connect their own independent work to the others work
on recognizing it. So the cooperation is mediated through the artifact,
but the artifact itself isn't necessarily intended as a signal (though it
could be). For a better example, it would be like your neighbor sees you
mow part of a crop circle in your cornfield, and they then decide to mow
another part of a circle along the same arc which joins up with yours
because it feels right, and so on, until soon your community has got a
really big circle around the whole neighborhood someone really could see
from space.
In the PataPata example, Gregor wasn't writing xturtle for PataPata, and
PataPata wasn't written to host xturtle, but it turns out the two things
can be used together. That is more like stigmergy in termite mound
building, where termites mill around building little stacks of grains of
sand, until finally two stacks accidentally lean on each other to make an
arch, and then other termites get excited and start building stacks next
to it to make other arches, which makes a tunnel, and so on to make a nest
(pheromones applied to the constructions are also involved here as
additional signals). The idea of stigmergy is that there is no central
blue print (though there may be shared useful behavior) and that there is
no central signaling architect or supervisor so the overall organic
structure emerges from the individual local actions (or sometimes local
signals) of those involved.
Maybe it would be kind of like people building geodesic domes by someone
fiddling with some construction materials and then making a triangle, and
then other people getting excited and making triangles and linking them up
to the first triangle, and then a whole dome somehow going up. Now, this
may not work with dome in reality, I do not know, but the general idea is
this building mediated by the artifact as the signal, not by plans or
other chatter as signals. Perhaps think of it this way -- a bunch of
people who are deaf, blind, and mute building a geodesic dome by just
helping each other add parts?
So, for another example, I and Kevin have never talked that I can recall,
but I am building on his good work in PythonCard by looking at what fields
and events it defines and using PythonCard samples as motivating use cases
for PataPata functionality. Then in turn someone may build on ideas from
PataPata (like PataPata is also built on ideas from Squeak and Self). So,
collaboration by experiencing artifacts more than by talking.
Now having said that, talking is still very useful lots of times. Ian took
the time to get me to outline a way to use metaclasses to define
prototypes, and Francois took the time to make some nice webcasts where he
explains how to use PataPata. But again, these activities, while involving
signaling, weren't exactly planned. Nobody told Francois what to do, and
no one scheduled Ian and myself getting together for a meeting about
prototypes. So, some emergent behavior is there as well, mediated by this
mailing list around some common interests related to Python and education.
--Paul Fernhout
More information about the Edu-sig
mailing list