[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freenet-chat
Subject:    [Freenet-chat] Want to develop for Freenet?
From:       Ian Clarke <ian () octayne ! com>
Date:       2000-08-29 4:22:52
[Download RAW message or body]

Excuses for those who claim they would like to develop Freenet stuff but
can't due to the code's complexity are rapidly running out of excuses. 
The Java client API is now in place, and while there is no written
documentation, the InsertClient and RequestClient classes should serve
as good examples of how it all *should* work.  Additionally the Python
client library is coming along really well and already supports KSKs.

So what could people do?  Here are some ideas -

Devise a standard for something called a "Periodically Updated Document"
or "Purl" where-by a subspace would be defined which would contain a
number of things.

Firstly, it would contain a document called "frequency" which would
indicate how often the document is updated in seconds, and "start" which
would be the date the first document was inserted in "YYYYMMDDMMSS" format.

Secondly, it would contain an optional document called "replaced_by"
which would point to a subspace containing a Purl which should be used
instead of this Purl should this Purl become depreciated (ie. if a
change in interval was required).

Thirdly, it would contain one or more documents named as a number, the
first being "0" which would be inserted at the time specified in the
"start" document, and subsequent documents being specified after that at
the interval specified in "frequency".

Clients would also have fall-back mechanisms for where a document
doesn't appear to have been inserted at the appropriate time.  These
could range from simply trying older and older documents one after the
other, or employing a more sophisticated exponential search of some kind.

Using this protocol for Purl's a form of updatable document can be created.

If you are a Linux fan, Freenet is an ideal way to distribute RPMs,
particularly when combined with subspaces to ensure fake files are not
inserted.  Create a Purl which contains a daily-updated index of the
latest RPMs along with the CHKs which they have been stored under. Then
write some Linux code which checks this subspace regularly and downloads
any new RPMs.  You could even point to other subspaces which are owned
and controlled by 

You could implement a DNS replacement in Freenet (an idea which has been
floated before).

You could regularly publish some kind of newspaper on freenet using a Purl.

And 1001 other things....

Ian.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic