Words Myte Bite

Funny can be whatever you want it to be. The Words and Musings of Paul O'Malley. Sort of a Blog!

Archive for the 'Software' Category

12 May
Comments Off

Distributed Social Networking 5 (The Simple UI)

How do you actually read data on this Distributed Social Network?

I suggest that the model of a web server run on the local machine would serve many purposes.

In web services there is the concept of the “vhost” that of a virtual host a named site that lives at the same address as other sites.

In this way one computer can host many web sites.

The second part of this is to introduce something like “webmin” not webmin but something like it.


For every group Mary sets up she has a “vhost” like envronment.

To control her local settings and privacy she uses the webmin like tool.

This presents a few problems, such as firewalls, however there are ways to deal with this. It will need to be a little creative but should not cost too much effort.

12 May
Comments Off

Distributed Social Networking 4 (Paradigm Change)

Today if you want to find a persons server on the internet, you find their Internet Protocol Address (IP)  and you connect to it.

This is done via the Domain Name System (DNS) which converts all those addresses like funnycan.be to a number (IP) so computers can find each other using a method called routing.

This is invisible most of the time.

For the purposes of this article, let us take it that how Mary finds Sarah in the complex world of IP and routing has been resolved on the distributed social network.

Sending a package would be something like this.

Mary has a group called Lunch Time People.

Mary writes her message to this group, something as simple as: “Lunch today in our favorite place people?”

This message is destined for 10 people.

It has a couple of qualities.

One is timeleness, it needs to be delivered before seats are booked so maybe it has a life span of 2.5 hours.

Another is it has the right to be delivered without anyone in the middle being able to read it, or alter it.

It has a quality that is not spoken about often nonrepudiation, that is the ability the group to not only know it is from Mary but that she can’t deny sending it. Perhaps you may say this is a little extreme for a lunch time invite, but it could be a please take money from my bank account, so there are messages that it would be good to be able to say that about.

So how do you do this.

Simple tools already exist for this, my one of choice is GPG  (Gnu Privacy Guard).

It is a non proprietary encryption program, with its source code available for peer review.

If Mary signs the message with her electronic signature using GPG then everyone knows that the message is from her.

If she then encrypts the message to Sarah, and other members of the group it can only be read by them.


What this means in practice is that the message is hidden from view of anyone involved in its transit to its destination and thus can’t be altered.

This provides secure computing between the people involved, however when you send data to a person in this way, if their computer has some other compromise (some kind of malware) then the message when it is generated on the compromised computer or opened on the compromised computer is vulnerable to being copied.

We can’t do anything about this much as we can’t do anything about people having badly configured computers, weak passwords, non existant security setups other than advise them as we go.

So that is the message packaging sorted.

11 May
Comments Off

Thoughts on Distributed Social Networking 3 (How do you talk to someone!)

Working with this principle: You could be totally private. You could share with your partner. You could share with your family.  You could share with your friends. You could share with your colleagues. You could share with organisations. You could share with the public.

Let us suppose that there is a Distributed Social Network, and two people want to communicate on it.

The first party A has a UID of 1001.

The second party B has a UID of 2001.

The third party Z has a UID of 3001.

A wants to address B.

The first question, is B on the network?

We don’t know.

A does know Z.

A asks Z does Z know B.

If Z knows B both parties A and B can be introduced.

How to find B if A and Z don’t know B.

A pushs a question to the six contacts in the “swarm”.

If the answer is “no” they then in turn ask six of their contacts.

Each iteration of the query would get to increment a counter within the query. Setting a treshold for this counter would set the query as not being interested in continuing the persuit at this time. It would be useful to delay between the query steps the further it moves away from A. Consider the case where someone has a positive answer as to who is B, then a stall order could be issued, i.e. they would ask no one else and tell peers to pause. Then A would be presented to with the matches be there none, one or some.

The question being correctly answered and confirmed as such by A goes no further.
Should the question be answered incorrectly the instruction to continue the query could be given.

This of course is a question that says computer to computer, not computer to person, nor person to person where the UID could be given. Stopping the search at 14 steps we would have asked the question of 13,060,694,016 instances, however this accounts for many overlaps and one would hope that the right answer would be in within a couple of steps.

There may be enough interconnection, to search the publically available information for B, however maybe B is not known publically, perhaps then a question could be left with B that A is looking for a B but without the UID, this means that other B’s would also be informed of the query.

Eventually a message gets to B, A is requesting a conversation with B who could then admit A to their circle, or not!

What if B lost their internet connection that day, then their swarm of friends / colleagues / family would have the data available to say “you may want to talk to UID 2001″ and depending on how B has set their privacy information may filter to A.

A then sends a direct request UID 2001, and B can answer as they wish when they come back online.

There is always the chance that B meets A and exchanges UIDs.

This document would not have been written without the help of Niall Walsh who had ideas bounced off him and they came back in much better shape than when they went out.

10 May
Comments Off

Thoughts on Distributed Social Networking 2 (some rough notes)

Currently reading the page on wikipedia about Distributed Social Networking.

Other thoughts that have passed though the grey matter since I last wrote about this subject.

Locally a web server with several virtual hosts to enable peering the groups  and some kind of web administration for the local box all seperated but under the control of the person running it.

The local server.

A tool to tell identi.ca or twitter or the like your UID and IP address.

A “knock on the door” protocol which identifies the callers and what group you have put them in.

I see the P2P swarm as a way to pass info from one person to another but only within the “peer group”.

In theory even if a person has a hundred contacts then not one person will distribute all their data.

Posts should be kept short 500 characters?

Links to outside sites should be short.

Groups should be able to be formed.

Adding yourself to a group or a “game” assuming there are games,  should be easy to reverse.

Someone will no doubt roll a stack for ISPs which would provide local “stacks” for those who don’t want to or can’t run a machine themselves.

Encryption and ssh are in my mind as enabling tools, saves on spoofing and hijacking.

10 May
Comments Off