<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I am sorry I missed the start of this conversation because the mail below -  <div>* <a href="http://zerostate.net">http://zerostate.net</a></div><div>* smallest federated wiki, fossil</div><div>* XMPP</div><div>* litter, torchat </div><div>* YaCy</div><div>- etc. is superb.</div><div><br></div><div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div>Nick Hardiman</div><div><a href="mailto:nick@internetmachines.co.uk">nick@internetmachines.co.uk</a></div><div><div><div>@intmachines</div></div><div><br></div></div></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On 20 Sep 2012, at 19:19, Eugen Leitl wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>----- Forwarded message from Bryce Lynch <<a href="mailto:virtualadept@gmail.com">virtualadept@gmail.com</a>> -----<br><br>From: Bryce Lynch <<a href="mailto:virtualadept@gmail.com">virtualadept@gmail.com</a>><br>Date: Thu, 20 Sep 2012 12:49:35 -0400<br>To: <a href="mailto:doctrinezero@googlegroups.com">doctrinezero@googlegroups.com</a><br>Subject: Re: [ZS] ZS reboot seed<br>Reply-To: <a href="mailto:doctrinezero@googlegroups.com">doctrinezero@googlegroups.com</a><br><br>On Thu, Sep 20, 2012 at 11:59 AM, Dirk Bruere <<a href="mailto:dirk.bruere@gmail.com">dirk.bruere@gmail.com</a>> wrote:<br><br><blockquote type="cite">Given that you know vastly more about it than most of us, including<br></blockquote><blockquote type="cite">me, could you put together some suggestions as to how we proceed, with<br></blockquote><blockquote type="cite">recommendations?<br></blockquote><br>I'll take a crack at it:<br><br>A lot of the Zero State notes and docs are online in Google Pages.<br>That's pretty much a wiki.  The usual wiki software (MediaWiki, Trac,<br>MoinMoin, et cetera) is nice, but not distributed.  One server, one<br>database, one wiki.  While it's possible to cluster the databases not<br>all software plays nicely that way, and in fact a lot of database<br>software we're likely to get hold of has serious hardcoded limitations<br>on the number of nodes (MySQL, I'm looking at you).  There are<br>alternative wiki implementations that do the same thing but make it<br>possible to share the whole shebang across arbitrary numbers of nodes,<br>potentially more one per member of the Zero State, potentially more<br>than one per member.<br><br>The first thing that comes to mind is Ward Cunningham's Smallest<br>Federated Wiki (<a href="https://github.com/WardCunningham/Smallest-Federated-Wiki">https://github.com/WardCunningham/Smallest-Federated-Wiki</a>).<br> It's a web application (Ruby/Sinatra/JavaScript) which runs on a<br>machine and is accessible through a web browser.  It's designed such<br>that multiple instances of the server can connect to one another over<br>a network and synch up, so it's really one wiki spread across lots of<br>machines at the same time.  Multiple people can browse the wiki,<br>create and edit pages.  I dont' see why we can't have instances<br>communicating over a darknet.<br><br>The one that I keep coming back to (and not just because I suck at<br>Ruby apps) is called Fossil<br>(<a href="https://www.fossil-scm.org/index.html/doc/trunk/www/index.wiki">https://www.fossil-scm.org/index.html/doc/trunk/www/index.wiki</a>),<br>which is a distributed revision control system, bug/ticket tracker,<br>blog, and wiki.  It uses many of the same techniques as (and in fact<br>is compatible with) the revision control system Git<br>(<a href="http://git-scm.org/">http://git-scm.org/</a>).  Again, it's accessed with a web browser,<br>everything is versioned, and multiple instances can synch up with one<br>another in a by-any-means-necessary approach.  Revision control is<br>good for more than just source code - a lot of us use it to help<br>manage our configuration files as well as things we write.  We can<br>check stuff we're working on into revision control if we wanted to.<br>We could definitely use the wiki and blog.  The ticket tracker could<br>be used to assign and keep track of tasks (ticket #31337: Create<br>Friendly AGI) that we're working on.  Fossil can automatically synch<br>off of a single server, or instances can synch off of each other and<br>merge the data.  It's cross platform.  And, if something does happen,<br>all it takes is a single instance of Fossil to re-bootstrap because<br>every node has... well.. everything.<br><br>We could import everything important into one of these systems and<br>others could set up and synch their own copies of the whole Zero State<br>superstructure.<br><br>Chat isn't particularly difficult: While we could set up our own<br>servers we could also just as easily take advantage of any and all<br>XMPP services out there.  There are skillions of them, and most of<br>them can cross-chat between one another.  I do that a lot with friends<br>aorund the world: My <a href="http://jabber.ccc.de">jabber.ccc.de</a> account can talk to the <a href="http://endno.de">endno.de</a><br>folks, the Blackbird folks, and so on.  If we really wanted to we<br>could set up our own XMPP servers.  But there are other ways.<br><br>Lately I've been experimenting with Litter<br>(<a href="https://github.com/ptony82/litter">https://github.com/ptony82/litter</a>), a distributed microblogging<br>system written in Python.  Unpack it, run it, and it does pretty much<br>what you'd expect of Twitter.. save that it automatically seeks out<br>and finds other instances of Litter on the network using IP<br>multicasting and exchanges messages with them.  It's pretty nifty and<br>very lightweight.  I haven't tested it with Tor or I2P yet, though.<br><br>Torchat (<a href="https://github.com/prof7bit/TorChat">https://github.com/prof7bit/TorChat</a>) is actually implemented<br>in a number of languages, but they all do pretty much the same thing:<br>If you're running Tor on your laptop or workstation it'll set up a<br>hidden service that is uniquely yours.  Other Torchat users can, if<br>they know the address, add you as a friend and you can IM over the Tor<br>network.  It's a pretty nice IM client.<br><br>Tahoe-LAFS (<a href="https://tahoe-lafs.org/trac/tahoe-lafs">https://tahoe-lafs.org/trac/tahoe-lafs</a>) is a massively<br>distributed file storage and sharing grid.  The idea is that you<br>install it and join a grid, and you donate a portion of your disk<br>space to the grid that people can use to share and back up files.  If<br>some number of members built a grid we could put Zero State related<br>materials into it for us to access - Fossil trees, documents, videos,<br>audio recordings, whatever we needed to replicate and make available,<br>we could.<br><br>The next question is how to network all this stuff together. Tor<br>(<a href="https://torproject.org/">https://torproject.org/</a>) is the first thing that comes to mind<br>because it's the most popoular and heavily worked on right now.  There<br>isn't a whole lot that we couldn't set up so that it's available only<br>to Zero State members through the Tor network who know the .onion<br>addresses.<br><br>If we wanted to go about it another way, we could use something like<br>SocialVPN (<a href="https://socialvpn.wordpress.com/">https://socialvpn.wordpress.com/</a>).  It's written in C# but<br>designed to be Mono-compatible, and it's a peer to peer VPN that<br>connects users over... XMPP.  Rather than hunting for IP addresses of<br>other nodes to connect to, the addresses are usernames of some people<br>you probably already have in your IM friends list.  As I recall, their<br>primary test transport for this project is GChat.  However, my concern<br>is that it implicitly exposes your socnet because the usernames and<br>addresses of your IM friends/VPN nodes might be in the clear.  I'm not<br>sure yet, I haven't looked into it.  It also hasn't shown a lot of<br>development in the past year.<br><br>For whatever software development we do in the long run, we'll need<br>someplace to put it all.  If we go with Fossil we'll have a very<br>useful hosting environment already.  However, there are some<br>alternatives which should be explored (though they're not as<br>distributed-friendly as Fossil).  Gitlab (<a href="http://gitlabhq.com/">http://gitlabhq.com/</a>) does<br>pretty much what Github (<a href="https://github.com/">https://github.com/</a>) is, though it's F/OSS,<br>meaning we can set up as many instances of it as we like, anywhere we<br>like.  It does project management, Git repository hosting and<br>management, bug tracking, fork and merge management, it has a wiki...<br>It's written with Ruby On Rails.  We can also clone Github with<br>Redmine (<a href="http://xdissent.com/2010/05/04/github-clone-with-redmine/">http://xdissent.com/2010/05/04/github-clone-with-redmine/</a>).<br>I have personal reservations about Redmine (because I suck at Ruby and<br>have been fighting with it at work for most of a year now) but if<br>someone here is good with it, feel free to consider it as an option.<br><br>So, how do we search all this stuff?  I've been running a YaCy<br>(<a href="http://yacy.de/">http://yacy.de/</a>) node for over a year as part of their grid and I'm<br>quite pleased with how well it works as a search engine.  It's<br>basically a distributed search engine that you can either proxy your<br>traffic through (and it'll index everything you browse through it -<br>it's privacy aware, too), or it can be fed links that it'll index,<br>follow, index, follow...  It can be run as part of a private search<br>grid (Crusoe Mode), so we could set up a private YaCy network (and run<br>the traffic over Tor) to index all of our resources.  It's written in<br>Java but installs pretty easily, though the indices are pretty big so<br>disk space will be necessary.  I'm long overdue to add a couple of<br>terabytes to my YaCy box.<br><br>-- <br>The Doctor [412/724/301/703] [ZS]<br><a href="https://drwho.virtadpt.net/">https://drwho.virtadpt.net/</a><br>"I am everywhere."<br><br>-- <br>-- <br>Zero State mailing list:<br><a href="http://groups.google.com/group/DoctrineZero">http://groups.google.com/group/DoctrineZero</a><br><br><br><br>----- End forwarded message -----<br>-- <br>Eugen* Leitl <a href="http://leitl.org">leitl</a> http://leitl.org<br>______________________________________________________________<br>ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org<br>8B29F6BE: 099D 78BA 2FD3 B014 B08A  7779 75B0 2443 8B29 F6BE<br><br>_______________________________________________<br>Freedombox-discuss mailing list<br>Freedombox-discuss@lists.alioth.debian.org<br>http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss<br><br></div></blockquote></div><br></div></body></html>