Wednesday, July 30, 2014

The Vertebra can be a model of wiring for Robots (small/narrow space)

When you build slim and parts-denced robots, wiring shall be smart and slick.

Both of them are nearly the same topology, but packet routing(switching hub) differs from aggregation(by proxy/broker).

Loose coupling (by proxy/broker) may give you freedom to select implementations from wide range of choices.
And model shall be clean. (Minimize specification)

Saturday, July 12, 2014

Augmented Brain

 Brain of Homo Sapiense : Sensori-Motor system

Sensori-Motor system is going to be realized by IoT.
SNS is external brain; (augemented)

Thus, SNS + IoT may cause Augmented Brain!

Monday, October 21, 2013

just a RANT: The world is not sequential. ACID is nice to have, baby.

DISCLAIMER: Sorry, there is no content on ACID here.

I love the Erlang programming language.
It is a kind of functional programming language, but it is not the reason why I love it.

It is based on communication. That's real. So I love it.

'Lazy evaluation' is a bad conception, I think.
An evaluation is a transaction between a caller and  a callee.
In Quantum Physics, 'entangled state of quantum model' is encapsulated most of the case.

Non-deterministic logic is hard to implement (easy to make a permutational / combinational explosion).

Functional language also have same weak point in pattern matching / search trees.

So, real power in Erlang is to make enoumerous number of process(agent)s and support their overwhelming scale of communicaiton.
The magic is there in the simpleness of messages and actions.

Each message goes to requester.
Requester wants messages which he can process only.
The reasons to separate message and process are,
1) scalability
2) parallelism
3) thin connection API

Call tree is just a tree. Not so flexible structure than N x M producer/consumer model.


Now I need more flexibility than N x M connection mesh, especially in time dimension. But extending that way is rather easy for me with Erlang. That is the most important feature for me, right now.

Friday, October 4, 2013

A loop is not a data-structure, but a phenomenon, stupid!

I've lost my way to whether Loop shall be a class or such-a-name of phenomenon.
To track loops are copied, joined, paraphrased, and deleted etc., I need a Class (of Java) or such a programming jargon.
But it would do harm to (the (ability|performance)  to emulate the virtual machine of INTELLIGENCE. | clarity of model).

Loop is not bound by a priori structure. Vivid and lively sequence of firing of synapses are stuck in some limit-cycle or attracted in some patterns, we just say 'I found a loop'.
So I need some criteria to call something as 'loop'.

Here is my idea on API.

Criterion:
Network.isLoop(time-coverage t, place-coverage p) : Network object instance method

Matching:
metric-type Network.similar(Network.coverage a, Network.coverage b): Network Class static method

Copy (Dup?):
void Network.map(Network.coverage c): Network object instance method

for Join (concatenate),  Divide, Connect, Merge, Overlap, Head, Tail, Cur, Cdr can be given if Loop is just a sequence of objects as Lisp. But I want to see how a loop is established, long-run, diminished,, the dynamics of it.
Dynamics and structure of (dynamic and plastic) network is the key, I think.

So, I need to see the very moment of 'birth of the loop', in various type of network model.

Syntax rules the world

If it were loops (echo chamber memorization system) are storage system of brain (or Virtual machine of brain), syntax of spoken sentence would affect the structure of loop.

+ a b
a b +
I love you
WATASHI wa ANATA wo AISURU

loop could be rehearsed as sound 'sequence'.

There is another problem.
How to 'match' each sequence (loop).
Pattern matching? meaning equality?

Anyway, 'translation' can be 'memorization of matching between some loops'.

loop of translation : 'the fact loop A = loop B' to memorize
Thus, yet another loop 'A = B' 

How to match 'partially'?
A B +
C D +
How to detect some compatibility between above loops?

Matching of '+'?

If syntax is not compatible, hard to detect?
(in this case 'containing' matching)
A B +
A + B

Note: Matching problem can be the problem of 'definition of distance'.

Element of loop may be matched.

'+' would be the very popular and significant element (loop) in arithmetic context.
Thus '+' and both loops('A B +' and 'A + B') could be connected and compiled yet another loop.

////

I/O system may affect loop system

Handwriting, Typing keyboard, Speak directly your idea, Thin in mind, etc.
may affect loop construction.

loop is memory of sequence.
Mixture of thinking (loop rehearsal) and IO (body movement) are compiled the loop.

Visual image, music, smell of environment etc. also compiled (make linkages to each element:loop).

Thursday, October 3, 2013

imagine there is no OS, nor DataCenter

no center: P2P (Mob to Mob)
multiplexed, and democratic consensus based decision,
dynamic, random, and stochastic networked,
computing.

maybe encrypted, but if the data is scattered in random pattern with timestamp and window offset, and processed at very high-speed, and in very fat volume,
there would be no decryption scheme to rival.

No OS: no specific boundary other than working sets.
There only are computation units, Data and Recipe.
Data calls process, or wait for in queue.

No architecture on backend. Just API.
Just Virtual Queues and Virtual Coolies there.
Queues are multiplexed and Issuer satisfied by one result. one after another (and even better) result may come later, but first one clears queue. (ticket maybe 2-part, recipe and return address/answer space to call contentment checker)

Tuesday, October 1, 2013

Chorus of loops: how to hear my thoughts

Loops are murmuring random song in random rhythm.  Some are the same, and others are completely different.

When it becomes to a "Chorus" by some group of loops, it comes to 'my mind' and make me move... isn't it?

I wondered how to pickup special loop from the sea of them. But, no one choose, the loudest group can be heard.
How to be louder? Sync with someone like you.

Loops are stored and repeat its song endlessly/randomly  in the long-term storage: Frontal lobe.
But when some of them sync in Chorus, it sounds loud and clear and attract more synchronous peer.

The 'Sound' of Chorus of loops may affect my sensor-connected part of brain like Scenery from my eyes or Music from my ears.
... is it a DREAM?

Chorus of loops may not be heard as the real sound, but memories of sound.
Loop pattern may be constructed chain of other loops.

Chorus of loops can be 'memorized' as another loop. It may differ from original one (some member of Chorus) or mean value of them.

Items of loop may be visual memory, and others may be audible memory.
Then, Chorus memorization process may cause some error to change type of memory. (coded value nearly the same,, but type bit is wrong,,etc.) 
In such a case, visual / audio /smell context may be mixed. I believe some part of my memories are such a mixture/mutation of loop-chains.

Monday, September 30, 2013

A virtual machine of Thinking

Unfortunately, I have nothing innovative findings on human brain.
But I have some ideas on architecture of (yet another) Thinking.

Here are some thoughts on how Virtual Machines work.

Thinking maybe implemented countless echos of event-loops and kinetic-I/O for human(or yet another intelligent object) body.

Loops and kinetic-I/O connection are dynamic, stochastic and in some degree repeatable.

In this model, the sense of self consciousness is a series of Loop-rehearsal.

Loop subjective view :

 loop gets access to kinetic-I/O

Kinetic-system subjective view:

 some condition of kinetic-system and loop variance choose some (always roaring) loops.

The group of loops is activated (adopted to kinetic-I/O to control behaviour of body, and other loops to activate).

Loop is a series of operation to change kinetic-system and signal some other synapses and activate/de-activate other loops.

So, I'd like to design loop-VM.

To descrive how 'act', I used the model of interaction between kinetic-system and pool of loops. Which is inspired by human-body and cerebellum-nerve system (older part of human brain to control body dynamics).
But, at some point, loop-loop interaction can be emerged, I guess.

loop-loop interaction and self ignition mechanism is my next target.
But I have no clear idea for now.

Sunday, September 22, 2013

resemblance means neighborhood

thinking about the concept of distance...

In a sea of dynamic balance,
resemblance means neighborhood.

Like text search inverted-indices. resemblance is neighborhood.

In neighborhood each (virtual) synapse affects others, vice versa.

Synapses affects neighborhood, in some sense. (But is there any 'environmental factor' other than synapse, while you are thinking about behavior of synapse connection dynamism? )


Tuesday, September 10, 2013

random, dynamic and plastic network is my tool to seek the number 42

hopefully, I'll post some articles on some networks which are
random,
dynamic,
plasitic,
stochastic.

For randomness of network, I have such an idea like this.

Here are 2 agents 'A' and 'B', and 1 key-value database.

'A' puts some data to the database.
'B' gets the data from the database.

The relationship of 'put'-'get' for 'A' and 'B' can be a 'network'.

When so many agents are out there, 'put'-'get' relation (network linkage) would not be stable. Sometime 'A' puts, and 'C' gets. or 'B' gets again.

If 'A'-'B' linkage were stable, there would be some reason.
1) 'A' and 'B' share almost same timing of 'get', 'put' operation.
2) Only 'A' and 'B' are connected the same database.
Then, I'd like to define 'distance' or 'closeness' on the "network" of 'A' and 'B' nodes.
For 1) case, time dimension may be used to measure the 'distance'.
For 2) case, connection (physical distance) may be used to measure the 'distance'.

So, I modeled some "random" network and distance (inverse of linkage strong).
Then I'd like to expand them to the limit.

Thursday, August 22, 2013

tangled in PowerShell scripts

Recently bogged some Windows Power shell codes.
It does following batch jobs according to the file list on AWS S3 storage. To make the list, I've modified a sample code of AWS S3 Java SDK.
  1. invoke Java code (slightly modified AWS S3 Java SDK sample, too) which downloads netsh-made network trace log file which zipped in .cab or .gz format from AWS S3
  2. unzip .cab or zipped trace file,
  3. invoke Microsoft Network Monitor 3.4 with command line options to extract KerberosV5 specific packets and save to another network trace file
  4. invoke Network Monitor again to extract more detail KerberosV5 error packets, and saved its counts to 'YYYYMMDD-HH-krb-err-ERRTYPE.txt' file. This process is iterated for each ERRTYPE.
Most of difficulties come from PowerShell specific features to handle command pipeline and asynchronous unzip process execution. Later on, I may have time to describe details of them.

bye for now.

Monday, January 14, 2013

donno why .bash_login is not used in OSX 10.8

So, I made a tweak. Please don't repeat after me. There shall be better way.

Here is my .bash_profile fragment.

ppid=`ps l $$ | awk '$3 ~ /[0-9]+/{print $3}'`
isloginshell=`ps l $ppid | awk '$13 ~ /login/{print $13}'`
if [ "$isloginshell" != "" ]
then
  /usr/bin/script ~/worklogs/`/bin/date +%Y%m%d-%H%M`.$$.console.log
fi

Wednesday, May 18, 2011

An anatomy of FUMBARO Japan project : why I'm watching

"FUMBARO Japan" project is not the only one.
There are so many NGO, NPO, volunteer groups. Of course, Japanese goverment and each public bodies doing best. And, as an Japanese, I thank for so much help from so many countries on the earthquakes and nuclear-plant acceident.

The reason why I'm following FUMBARO project is,
  1. It concentrates in matching between needs and relief goods. Out-sourcing logistics to Amazon. This strategy keeps away from bottle-neck problem.
  2. It does not wait for request. It does search for request on foot. (Network is not available there)
  3. Find out key-person from disaster-stricken area. Then ask him/her to be a network-node of the project. Now, FUMBARO project has over 200 nodes, and that number is going up.
  4. Via network nodes in disaster-stricken area, the project detecting changes of needs. Used to be, food is the first priority. Now, victims needs skills to build up their new town. The project began new plans to support them to get license to drive some heavy machinery.
For some people other than Japanese, it may seem ordinary NGO. But this style is very new and eccentric as a Japanese NGO. So, I'm very interested. Also I'm very worried about its success.

FUMBRO Japan project : http://fumbaro.org/

FUMBARO Japan project

Recently, I'm spending so many hours in Twitter.
There, "FUMBARO Japan" (Never say die Japan!) project http://fumbaro.org/ is going on.

The project covers "needs vs help matching" in recovery process from that earthquakes and following nuclear-plant accident.

Usually, this function is covered by the Japanese goverment and local public body. But in this disaster, some of local public body itself were severely damaged. So, thousand of people are still no-food, no-tapwater, no-electric power, no-home (some are gathering at relations home).
Many NGO, NPO, and volunteer groups are busy helping victims. But, still "needs research on-foot" is not completed yet. The "Fumbaro Japan" project covers this point.
As long as you can see on TV, and internet, most of striken areas are going back to "NORMAL". But, still there are so many people waiting help without network connection.

If you have any idea to help them, please contact to @saijotakeo on Twitter. Or, look at http://www.facebook.com/fumbaro.org on Facebook.

Further, if you can read some Japanese, you can send goods based on "Wish list" on Amazon.co.jp . "Fumbaro Japan project" is working on wish-list making from their "needs research"

Tuesday, June 15, 2010

Cannot click OK button in Google's OAuthAuthorizeToken page using mobile phone

I'm trying to make a Buzz viewer for Japanese mobile (not so smart) phones, which cannot execute Javascripts.

And I'm in trouble to navigate OAuth process.

To get authorization, first, you need to go
https://www.google.com/buzz/api/auth/OAuthAuthorizeToken
with parameters below (as documented in OAuth API/Buzz API docs).

oauth_token
domain
scope
iconUrl(optional)
hd(optional)
hl(optional)
btmpl(optional)

Expecting rather simple templete, I've set btmpl parameter as 'mobile'.
But it still includes Javascript-assisited-buttons.
Thus, most of the Japanese mobile phones (and its browser) cannot
click "OK, continue" button. Nor OAuth work.

Is there any solution to show simpler template?

At first, I planned to post above to Google Buzz API Developer forum.
But I've changed my mind. This is common problem in all Google's OAuth processes.
Where/Who can I ask for?

Tuesday, June 1, 2010

micro(nano?) Auth

just thinking now... not yet completed memo.

For mobile (or whatever computers which run modern OS) device, every "Native-application" call for kernel would better be under MAC(Mandatory Access Control).
In this case, request-token can be used.
Request tokens are issued by OS while the application is certified. The token is checked for Revokation. MAC on each kernel call realizes "real-time Revokation".

Of course, periodical check would be available, and with less load; such a s "on app booting only" or "on OS rebooting only" type.

I'd better make a survey on SELinux case...

For virtualization Hypervisors, MAC can be useful, because application ACL is almost compatible for various guest OS.
But it should not degrade performance drastically.
Anyway, every kernel call is trapped by Hypervisor (CPU may help passing thru for most of the cases). And there, MAC can be done.

How to check?
Full Certification is heavy process. Just check matching of fingerprint? Or, just booting/loaded to memory as DLL case? I guess short-handed check shall be done on each load of executable objects.
But, "on writable-memory exec" would be the path to jail-breaking of executable loading check although some CPU architectures inhibit such operation(Stack area corruption and jump to anywhere hacker'd like is the very familier opration.)

Saturday, September 5, 2009

XML parsing in Erlang

XML handling in Erlang is too hard for me. So I've made some survey first.

Characteristics


XML handling operation has two major phases.

  • Parse XML document and make data(tree of elements)
    • xmerl_scan (whole element tree is processed at once)
    • SAX type parser
      • xmerl_eventp
      • erlsom_sax (developed 3rd party. not bundled with Erlang OTP)

  • Access (traverse) elements within data
    • XPATH (xmerl_xpath)
    • XSLT (xmerl_xs)
    • callback (hook) function from SAX type parser
    • hand-made logic
      • traverse tree
      • extract tuple from element tree(list) by 'list comprehension' technique

So, methodology of XML parsing is characterized by Parsing and Access method

matrix of each method


parse method
Acceess method
samples on the Web
by
xmerl_scan
xmerl_xpath
Parsing Atom with ErlangSam Ruby
xmerl_scan
xmerl_xpath (with useful MACRO)
XML processing in Erlang
Torbjörn Törnkvist
xmerl_scan
hand-made (traverse tree by lists:foldl)
Return Erlang Data from XML
Muharem Hrnjadovic
xmerl_scan
hand-made (use list comprehension)
XML processing in Erlang
Hakan Mattson
xmerl_eventp
callback(hook) function
XML processing in Erlang
Torbjörn Törnkvist
erlsom_sax
callback function
XML processing in Erlang
Willem de Jong


Operation example


example-1 : emerl_scan + xpath


If you know which elements you need exactly, and source XML file is not so huge, parse by xmerl_scan, access by xmerl_xpath.
Note: As of Erlang/OTP R13B01 supports XPATH 1.0

inspired by Torbjörn Törnkvist's code.

sample xml data ("e.xml")

<Envelope>
<Title>envelope title</Title>
<InnerEnv>
<IDNUM>403276</IDNUM>
<ItemName>Name String</ItemName>
<Pages>0</Pages>
</InnerEnv>
</Envelope>

code


-module(example1).
-export([doit/1]).
-include_lib("xmerl/include/xmerl.hrl").

-define(Val(X),
(fun() ->
[#xmlElement{name = N,
content = [#xmlText{value = V}|_]}] = X,
{N,V} end)())
.

doit(File) ->
{Xml, _} = xmerl_scan:File(File),
[
?Val(xmerl_xpath:string("/Envelope/Title", Xml)),
?Val(xmerl_xpath:string("//IDNUM", Xml)),
?Val(xmerl_xpath:string("//ItemName", Xml)),
?Val(xmerl_xpath:string("//Pages", Xml))
]
.

results

1> example1:go("e.xml").
[
{'Title',"envelope title"},

{'IDNUM',"403276"},
{'ItemName',"Name String"},
{'Pages',"0"}]

example-2 : xmerl_scan + traverse element tree by lists:foldl


if you want to translate whole XML data into other scheme, you need to traverse whole tree by lists:foldl function.

inspired by Muharem Hrnjadovic's code

sample xml data ("e.xml")

<Envelope>
<Title>envelope title</Title>
<InnerEnv>
<IDNUM>403276</IDNUM>
<ItemName>Name String</ItemName>
<Pages>0</Pages>
</InnerEnv>
</Envelope>

code

-module(example2).
-export([go/1]).
-include_lib("xmerl/include/xmerl.hrl").

go(File) ->
{R, _} = xmerl_scan:file(File),
io:format("~p~n",[lists:reverse(traverse(R, []))])
.
traverse(R, L) when is_record(R, xmlElement) ->
lists:foldl(fun traverse/2, L, R#xmlElement.content) ;
traverse(#xmlText{parents=[{'Title',_},_], value=V}, L) -> [{title, V}|L];
traverse(#xmlText{parents=[{'IDNUM',_},_,_], value=V}, L) ->
[{idnum, V}|L];
traverse(#xmlText{parents=[{'ItemName',_},_,_], value=V}, L) ->
[{itemname, V}|L];
traverse(#xmlText{parents=[{'Pages',_},_,_], value=V}, L) ->
[{pages, V}|L];

traverse(_R, L) ->
L
.


results

2> example2:go("e.xml").
[{title,"envelope title"},

{idnum,"403276"},

{itemname,"Name String"},

{pages,"0"}]


example-3 : SAX type parsing operation


if the computation resouce is limited, whole XML data cannot be processed at once. So, SAX type parser callback functions to process just parsed element.

As SAX type parser, erlsom_sax is welknown. And Willem de Jong posted his code based on erlsom_sax.
see http://blog.tornkvist.org/blog.yaws?id=1193209275268448

here is the code based on xmerl_sax_parser library which is inspired by above code.

sample xml data ("e.xml")



<Envelope>

<Title>envelope title</Title>
<InnerEnv>
<IDNUM>403276</IDNUM>
<ItemName>Name String</ItemName>
<Pages>0</Pages>
</InnerEnv>
</Envelope>


code

-module(example3).
-export([go/1]).

go(File) ->

Option = [
{event_fun, fun eventfun/3}, {event_state, {[], []}} ], case xmerl_sax_parser:file(File, Option) of
 {ok,{Stack, Acc}} -> lists:reverse(Acc);
{Other} -> Other
end .

eventfun({ignorableWhitespace, _}, _, State) ->

State
;
eventfun({startElement, _, Tag, _, _}, _Location, {Stack, Acc}) -> {[Tag | Stack], Acc} ;
eventfun({characters, Value}, _Location, {[Tag | _L] = Stack, Acc}) -> {Stack, [{Tag, Value} | Acc]} ;
eventfun({endElement, _, _, _}, _Location, {[_ | L], Acc}) ->
{L, Acc} ;
eventfun(_,_,State) ->
State .



results


6> example3:go("e.xml").
[{"Title","envelope title"},
{"IDNUM","403276"},

{"ItemName","Name String"},

{"Pages","0"}]

Wednesday, August 26, 2009

Insider's portal - why we need it

I've just made a presentation.

As a system(or network or everything) admin, I thought that user literacy is the key to administration.

(Disaster-)Preventive education (to get LITERACY) is more important than incident response. (Of course incident response is important. But preparation of it is more important too.)

But, how?

Here is my plan. Make an attractive portal site for insiders of your company.

In the site,
administrators can hide some tricks to kick them to be educated.
both user and administrators can get immediate response.
user could know who is in the server, and hopefully be friend.
we can centralize resource.
we can simplify client-environment enough to keep them clean.

anyway, if you were interested in, please click my presentation.

Friday, August 21, 2009

feedchat - chat in valid RSS format

This is inspired by the sample code of chat server from "Programming Erlang" by Joe Armstrong

Chat Server -> as the sample is
feed view -> tail -N of feed history
           or,   tail -f -N =:= friendfeed

chat server process : implemented by CouchDB
    RSS entry = document
    DB = history (w/ time stamp)

this is cheapest implementation of friendfeed


Map-Reduce (query against CouchDB) view point
    Map : crunch feed via XMPP or Pubsubhubbub...

    Reduce: tail -N of (feed history)
    Reduce: tail -f -N of (feed history)


Wednesday, August 12, 2009

Quest for Quality Without A Name

from the aftermath of FriendFeed acquisition

This entry is translated from my Japanese blog(diary) entry やや感傷的なex-日記オヤジの繰言 Maybe too long, and pointless, sorry. But, it is required to describe my thought exactly (diary is used for).

--------------------------------------------------------------------------

My first impression on the news of friendfeed acquisition by facebook was, "Congrats, Good Exit".

Because I know a bit about exhausting life in start-ups. I've been a programmer of venture software company just for a half a year. But a half a year is enough for me. Money burns down every second, heavy pressure, too tight schedule, anxiety about future... Venture company almost always stuck in the mud of shortage of money to run. For both growing, shrinking, too little money to survive. Even if you have growing/promissing business, it's too hard to maintain cash flow to catch up growth.

So, every venture company would be broken in some sense.
Change itself from slim/beauty deer to fat cash-cow, or, just vanish.
Anyway, stop running is a relief. I thought. -- I had a point of view from inside of start-ups.

But, soon I noticed the "not-welcome" comments from USERs. I don't know claiming users are majority or not, but they are impressive and they are like a flood of voices.
(I just remembered the article on realtime-riot on friendfeed)
If you saw that in real-time-line, it would be overwhelming.

I just wondered, were "Friendfeed is coolest service, but NO ONE USE" true?  But, Look, here so much people crying for help and showing disbelief within friendfeed!

It's not only because coolest toy taken away. I guess. They are serious about something more important. What's that?


So, here is my thought.


Friendfeed is open-architecture. Not only open, they welcome to questions, requirements, and ready to offer rich API. Only a few guys challenged raw API hacking, but even average users (if active), enjoyed making groups, special feeds based on rich API. Little tweaks they made, would become little treasure of themselvs. So, they invest their small hacks into the friendfeed, and made virtual money(value). Like a sort of SECOND-LIFE without 3D avator, and its value is not money, but rich communication/fun.



Once dived into friendfeed and soaked, then you can find out people just like yourself. Even if you are minority in real life, here you have friends. This is common phonomena when the network shrink size of the world. (I've experienced some times. When I made my homepage(Diary) around 1996, its content was very nitch/minor one,, my daily life... But soon, I could found out people like me!)



Thus, in friendfeed, communication made community, and flexible system enforced eco-system of value-creation among users.



But, no one(very few, maybe), recognized that. Anyway, such a recognition itself would help too little in value-creation, might be :-p


Then, the crisis on the basis of community enlightened people. They noticed the existence of community, value of community, and realizing how the system enforced the process of creation.



Sooner or later, system itself would be bored by people, then people abandon the system. Thus, divorce of system/user is inevitable.

So, I'm asking to myself. What happens next? What's the next friendfeed? I don't know. But one thing is certain.
People wouldn't vanish.
They will make another community in the long run.
Linkage among people also survive for long time.
Then, next edge-community may looks drastically changed, but the same face you can find out, I think.
Because, My experience assures.

In Japan, on Sep 15, 1995, a meeting held which named "Second Summer of Web", it's a milestone event in internet users and Web-diary("NIKKI in Japanse, ancient hand-made blog) community in Japan. Since then about 15years, now I can see some in the front of network community "BENKYO-KAI" in Japan.


So. Folks, once you recognized the situation, please be calm down. Still, you think you need to take action, go ahead.
Then, see you again, in another space, another time, at edge of the net.

-------------------------------------------------------------------------------------

Addendum


Witing nn community and creation, I remembered the name Christopher Alexander. And his book on Design Pattern. "A Pattern Language: Towns, Buildings, Construction". In that book, key phrase "Quality Without A Name(QWAN)" also remembered.
Now I don't have enough time to explain it. But it would be interesting to what corresponds to QWAN in friendfeed system/community, I think.