voice of humanity: specifications for InterMix II begin to take shape    
 specifications for InterMix II begin to take shape13 comments
picture6 Jun 2004 @ 14:48, by Roger Eaton

On the web now at the InterMix home page -- click on the specifications link there. Having failed to get myself off the dime and actually coding, I have had to outsource InterMix development to India. No kidding. The Indian programmer will be using these specs. Comments welcome.

[< Back] [voice of humanity]



13 Jun 2004 @ 18:00 by ming : InterMix
A spec - that's quite a milestone there!

Would the actual content go into MixItem, or would it refer to it? Like if we're talking about a webpage?

How do you have in mind at this point that the end-users will talk to this? An Annotated Web Chandler Parcel thing?

I still think that the most leverage would be in some kind of widget that can be added to people's blogs, that connects with your engine.

And what makes me nervous about the whole thing is the uncertainly on whether or not your approach actually will work in providing useful collective intelligence. And the fact that this won't become clear before way down the line.

Anyway, if there were an API for what goes in and what should come out, I'd itch to implement it with PHP and MySQL as an alternative.  

13 Jun 2004 @ 23:40 by Roger Eaton @ : InterMix Specs
Good of you to drop by, ming. I've been following your posts. Aleister Crowley!? Well never mind.

I've had a feeler about reestablishing the {link:http://blog.voiceofhumanity.net/newslog2.php/_v252/__show_article/_a000252-000007.htm|Arab/Jewish}
dialogue, so that interface will come ahead of the Chandler parcel. To handle the dialogue, I will need to implement an email interface first. The {link:http://intermix.org/specs/toc.htm|intermix.org} website has the latest priority list for development:
build InterMix Database Engine
implement email interface
implement dialogue on top of email interface
mplement annotated web
implement annotated web as a Chandler parcel
reimplement the old InterMix forums

The content that gets indexed has to be captured to the MixItem, I think. Though for blog articles, it could be an rss feed that is captured rather than the item as a web page.

The widget I'll have to think on some more. Perhaps it would just be a link allowing a visitor to the blog to connect to an automatically created portal page with all of the blog items listed and available for annotation and linking -- an alternative representation of the blog. This will have to wait for the Annotated Web.

You are right (and wrong) to be nervous about the scheme working. Right because I may have misestimated the ability of todays home computer to do the kind of indexing and calculations that will be needed. Wrong because the payoff is big enough that it is worth the gamble. What is the gamble, anyway? Really it is less technical than social. How can the idea take root? This is where your widget comes in, so I will think on it some more.

Thanks for the feedback -- when the Engine spec is more complete I will post it in the blog. Then there will be an xml spec, because the MixItems will be wrapped in xml before being presented to the Engine. Finally, we wrap the engine in the input/output API as already largely outlined at http://blog.voiceofhumanity.net/newslog2.php/_v252/__show_article/_a000252-000034.htm.

The email interface and the annotated web and the dialogue facility and the Chandler interface are all separate programs that connect to an InterMix hub either one running locally on the same computer, or over the net.  

14 Jun 2004 @ 01:21 by ov : The Gangs All Here
Greetings Roger, I'm not sure if we've met, or if you had a chance to read some of the specs that I had laid out in the Global Brain Wiring Closet, that was a couple of years ago and I've noticed that they've disappeared but wondering if you had a chance to see them before that happened. I've taken a quick look at the specs, but I haven't downloaded any of the code, and I've seen the InterMix forum here at NCN but it doesn't seem to be getting any activity. Is the Intermix you're proposing similiar to this wrt user interface?

My first concern is that there doesn't seem to be a way for the user to keep track of what has been read and what hasn't. Essential when the volume gets up there. The blogs here are at about the upper limit for what I can retain in memory and by daily monitoring I can keep track but it does require daily monitoring and it would be nice to have some data files to keep track of each user and releave a whole bunch of cognitive overhead.

Another point is that the collapse and selection is getting close to be a good idea but imho it needs to be broken into two components, client side as well as server side, because no matter how fast a connection you have, or how big a supercomputer powering your database it won't be in the fractions of a second that are required. I've seen some exact numbers on this but figure where but it is fractions of a second and any longer allows the mind to waunder and thus shifts the thought process from pure short term to a midterm working memory. A visual analogy that I have used for awhile for this peek and poke of data sorting is like the optomorist eye exam where different lens comparisons are made at lightening speed.

I'm reluctant to say much since I haven't done anything myself and so don't deserve the right to criticize. And also I'm not sure if the vision is still for a web conference software like the prototype here at NCN or if it has transmogrified into a widgit aggregator.  

14 Jun 2004 @ 16:06 by Roger Eaton @ : re: widget aggregator
Just a quick note for now -- widget aggregator is a good notion. We have two parties 1) bloggers and 2) InterMix portal operator. The portal operator can aggregate from the rss feeds, but for effectiveness, must personally contact the bloggers being aggregated and persuade them to add a link to the portal. In effect, the blogs become non-InterMix leaf nodes of the InterMix network.

Instead of being just a link, I expect there would be a way to display an up to date list of recommended articles. I am weak in this area, but I would think a script could go get the latest recommendations from the InterMix aggregator and expand into an html list of links right on the blog page in a side column.

This needs more work.  

14 Jun 2004 @ 16:22 by ming : Widgets
Now, if there were a way of connecting to the InterMix system remotely, other smart folks can easily solve those things, I think. Like, I'd happily work on such things like displaying a list of recommendations, and it wouldn't be hard at all, if there were a clear way of talking with the database. A web service, or REST interface, or RSS feed, or whatever.  

14 Jun 2004 @ 23:15 by Roger Eaton @ : getting over the hump
I'm worried the Indian programmers can't hack it. Feed back so far is sparse and not very comforting. Somehow, I just can't seem to get into Python, I can't get over the hump. I'm blocked! Well, I'll give it a few weeks and in the meanwhile will develop the specs, which are needed anyway. If the Indians don't come through, then I will find someone local to babysit while I get started. Once I am set up, then I think I can make a go of it.

Flemming, I just have to proceed step by step. I'm planning to set up a wiki as a way of communicating better with India. Thursday I'll spend a few hours on it and hopefully that will do it. I'm going to try moinmoin - it is supposed to work with Apache, which is what I am running. You will be able to interpose suggestions right in the specs.

One thing I am having a problem with is organizing my specs properly. So far the Engine Design spec is rather stream of consciousness. I guess I need to give it some thought.

Robert, I understand about not showing items again to the same user. InterMix will have an item-to-item cross reference table. Participants will themselves be handled as items in the item file, so the cross reference between participants and other items will give rapid access to everything a particular user has looked at. This list of items previously seen can be tabled when the user logs in and then used to bypass items that the user has seen before. Another reason to keep session state. If there are sessions with state, then InterMix will build the table of items read by participant just once for a session. REST is not going to be efficient enough as far as I can see.

There are a couple alternatives as well. For the owner of a hub, every item added to the database can be tagged "not-read-by-owner". This is not very expensive for just one person. Then whenever a list is created, the lookup instruction can be complemented with an "AND not-read-by-owner" requirement. As soon as the owner does read it, the tag is removed. The second alternative is to keep a bit map for each user. The items are keys in numerical order, so each bit in a large chunk can mark an item as having been seen or not. I.e., if the 20th bit is a 1, then the item number 20 has been seen by the user. This works straight out for small systems, and could be jiggered for larger systems with sparse array tricks -- I think it can, anyway. If there are 100 million items, then clearly the array will be mostly zeros for any one user, so there must be a way to keep blocks of some optimal size and truncate the blocks to length zero if there are no bits on in the block.

InterMix is a peer to peer scheme rather than client/server, so the "client" will be one's own InterMix hub plus a local interface to it. Locally, the access will be at the subsecond level.

I'll post something when the wiki is up. I hope both of you will drop by now and then.  

16 Jun 2004 @ 04:56 by ming : Hump
I think the hump would be easier if there were a spec of it as a black box. I.e. what goes in (and how) and what goes out. I.e. what is it supposed to do, rather than being stuck in how.

I.e. what is the protocol for adding an item to it? What are the fields needed, and what is the wrapper? The same for rating an item. And how do I submit a query to get something that is in there. And the things it is supposed to do, like showing individual ratings, sorted lists within different subject areas, keeping track of who has read what, etc.

As I mentioned, I could very well be inspired to prove that it could be done just as well in PHP/MySQL, and that I could program it in an evening. At least that's the kind of thing that would get my competitive programmer manhood going, even if I ended up discovering that it wasn't that simple.

And I actually think that might be a good thing, if there early on were a little competition in how to most efficiently accomplish what you're trying to make it do. Rather than betting on a particular internal design for it, which will take months to prove itself. Right, it is worth it, regardless.

Plus, if I knew how the system expected to be spoken to, I could make a piece that was ready to speak to it. Right now I can't, because I'd have to wait for it to be finished, to see what it does.  

16 Jun 2004 @ 10:56 by Roger Eaton @ : PHP/MySQL version of InterMix
That is a wonderful offer, Flemming. My plan has been to start the detailed specs from the inside out, so the first spec is for the Database Engine. Then I was going to do the MiXml spec, and only then the overall InterMix Wrapper spec. Since I am already well started on the Database Engine spec, I think I should finish it. But then, instead of the MiXml spec, I will go onto the Wrapper spec.

Lucky me, I may have found someone to help me get started on Python for Windows, and if that pans out, then they can help me set up the wiki. I think a wiki would be a good way to develop the detailed InterMix Wrapper spec. We already have the {link:http://blog.voiceofhumanity.net/newslog2.php/_v252/__show_article/_a000252-000034.htm|InterMix API} article which details the following functions:

1) ListFunctions -- this is like help
2) RequestRegistrationLoginAccess
3) RegisterNewUser
4) Login
5) RequestPasswordBeEmailed
6) RequestItemList
7) GetItemFormats
8) GetItem
9) HilightItemText
10) RateItem
11) AnnotateItem
12) AddItemKeywords
13) RecategorizeItem
14) AddLinkInItem
15) AddItem
16) UpdateItem
17) ReplyToItem

All this needs to be tuned and the exact format decided, plus many functions are missing, but it is a start.  

10 Jul 2004 @ 16:40 by swanny : Hi
Hi Roger came across this ....
though it may be of interest to you

SIAM Journal on Discrete Mathematics
Volume 9, Number 2
pp. 258-268
© 1996 Society for Industrial and Applied Mathematics

On the Power of Democratic Networks

E. N. Mayoraz

Abstract. Linear threshold Boolean units (LTUs) are the basic processing components of artificial neural networks of Boolean activations. Quantization of their parameters is a central question in hardware implementation, when numerical technologies are used to store the configuration of the circuit. In the previous studies on the circuit complexity of feedforward neural networks, no differences had been made between a network with "small" integer weights and one composed of majority units (LTUs with weights in $\{-1,0,+1\}$), since any connection of weight $w$ ($w$ integer) can be simulated by $|w|$ connections of value $\Sgn(w)$. This paper will focus on the circuit complexity of democratic networks, i.e., circuits of majority units with at most one connection between each pair of units.

The main results presented are the following: any Boolean function can be computed by a depth-3 nondegenerate democratic network and can be expressed as a linear threshold function of majorities; AT-LEAST-k and AT-MOST-k are computable by a depth-2, polynomial-sized democratic network; the smallest sizes of depth-2 circuits computing PARITY are identical for a democratic network and for a usual network; the VC-dimension of the class of the majority functions is $n+1$, i.e., equal to that of the class of any linear threshold functions.

Key words. artificial neural network, weight quantization, linear threshold function, majority function, circuit complexity

AMS Subject Classifications. 68Q05, 68R99

DOI. 10.1137/S0895480193244292


21 Jul 2004 @ 22:40 by Roger Eaton @ : neural network technology
Hi Swanny,

On the Power of Democratic Networks available at

Thanks for finding this, though, if I understand rightly, it is talking about logic functions and how to program them efficiently (or for speed?) in chip technology. So even tho there is talk about democracy and majorities, it is all a metaphor and not really useful for what I am working on. I appreciate your interest, tho.

I am still active on this project btw, tho it might not appear so from the (lack of) activity on the blog.  

13 Aug 2004 @ 19:18 by ming : Comments
Hm, you seem to be a target of spam comments. I've tightened things a bit so it shouldn't let them through without name and subject.  

15 Aug 2004 @ 09:37 by mre : such nice spam
I'm cleaning all that spam out, Flemming. Thanks for the fix.  

20 Dec 2008 @ 22:57 by 相武紗季 @ : thanks
nice site. thanks.  

Your Name:
Your URL: (or email)
For verification, please type the word you see on the left:

Other entries in
24 Jun 2007 @ 23:17: Global Assembly now accepting sign ups
26 May 2007 @ 19:26: WiserEarth / Paul Hawken
18 Mar 2007 @ 23:19: Latest InterMix Design
30 Dec 2006 @ 17:53: A Nonviolent Service Arm for the Global Assembly
19 Nov 2006 @ 15:45: Global Assembly Dialog Progress Report
12 Oct 2006 @ 15:49: True Religion Creates Community
1 Oct 2006 @ 18:24: Voice of Humanity and the Information Commons?
24 Sep 2006 @ 22:12: The Outsider has a place in the Global Assembly Dialog
17 Sep 2006 @ 20:44: "Unity and Diversity" and "Unity in Diversity"
11 Aug 2006 @ 05:13: The Wedding of Humanity and Nonviolence

[< Back] [voice of humanity] [PermaLink]?