[This announcement is being sent to <a href="mailto:tiddlywiki@googlegroups.com">tiddlywiki@googlegroups.com</a>, <a href="mailto:cap-talk@mail.eros-os.org">cap-talk@mail.eros-os.org</a>, <a href="mailto:p2p-hackers@lists.zooko.com">p2p-hackers@lists.zooko.com</a>, and <a href="mailto:tahoe-dev@allmydata.com">tahoe-dev@allmydata.com</a>.&nbsp; Please adjust follow-ups appropriately.]<br>
<br>Announcing the 1.0 release of tiddly_on_tahoe!<br><br>This is the combination of TiddlyWiki, which is a JavaScript wiki that runs in a web browser, with Tahoe-LAFS, which is a decentralized secure storage grid.<br><br>
The result of combining these two things is a &quot;decentralized web app&quot;.&nbsp; It looks and feels just like a web app, but it is decentralized like a p2p app.<br><br><br>To see what one looks like and to make one for yourself, please follow this link -- read-only access to a copy of the tiddly_on_tahoe starter page:<br>
<br><a href="http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:7h7syiurogz5erc2au74tjwguu:h7bdxvjtvidlkcdbld3j2d5sbgyzsbqs7wdnu6yznqrejzssc5za/wiki.html">http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:7h7syiurogz5erc2au74tjwguu:h7bdxvjtvidlkcdbld3j2d5sbgyzsbqs7wdnu6yznqrejzssc5za/wiki.html</a><br>
<br><br>To see one with real content in it, follow this link -- read-only access to my daily hacking journal:<br><br><a href="http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:hgvn7nhforxhfxbx3nbej53qoi:yhbnnuxl4o2hr4sxuocoi735t6lcosdin72axkrcboulfslwbfwq/wiki.html">http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:hgvn7nhforxhfxbx3nbej53qoi:yhbnnuxl4o2hr4sxuocoi735t6lcosdin72axkrcboulfslwbfwq/wiki.html</a><br>
&nbsp;<br><br>To edit one of these and save your changes on the Tahoe storage grid, follow this link -- writable access to a copy of the tiddly_on_tahoe starter page:<br><br><a href="http://testgrid.allmydata.org:3567/uri/URI%3ADIR2%3Alq5unk3sdmwqckzey573b35paa%3Azshb54dvy4jmpdxjlptn6ttm4m7awi7xf7hqtwmvjriy6ryeb7ya/wiki.html">http://testgrid.allmydata.org:3567/uri/URI%3ADIR2%3Alq5unk3sdmwqckzey573b35paa%3Azshb54dvy4jmpdxjlptn6ttm4m7awi7xf7hqtwmvjriy6ryeb7ya/wiki.html</a><br>
<br>Then change something, then click &quot;Save Changes&quot;.<br><br>Everyone has write access to that last one, so it may have changed by the time you look at it.<br><br><br>For readers of <a href="mailto:tiddlywiki@googlegroups.com">tiddlywiki@googlegroups.com</a>:&nbsp; Tahoe-lafs is a secure, decentralized storage grid.&nbsp; All files are strongly encrypted and then split up into 10 pieces in such a way that any 3 of those pieces are sufficient to serve the file.&nbsp; Then each of the 10 pieces is stored on a different server.&nbsp; For more information: <a href="http://allmydata.org">http://allmydata.org</a> .<br>
<br>For readers of <a href="mailto:cap-talk@mail.eros-os.org">cap-talk@mail.eros-os.org</a>:&nbsp; Please let me know what you think about the user interface here which is offering crypto-capabilities embedded into URLs.&nbsp; This is an ongoing experiment in order to determine if crypto-caps-in-URLs work well for actual human use.&nbsp; Please notice the &quot;access control explanation text&quot; at the top of each page.&nbsp; See the appended JavaScript fragment which is the implementation of that explanation.<br>
<br>For readers of <a href="mailto:tahoe-dev@allmydata.org">tahoe-dev@allmydata.org</a>:&nbsp; All of the URLs in this note point to the Tahoe Test Grid, but you can of course do the same thing on your own Tahoe grid, and customers of <a href="http://allmydata.com">allmydata.com</a> are of course welcome to host their TiddlyWikis on the <a href="http://allmydata.com">allmydata.com</a> commercial grid.<br>
<br>For readers of <a href="mailto:p2p-hackers@lists.zooko.com">p2p-hackers@lists.zooko.com</a>:&nbsp; Isn&#39;t this cool?&nbsp; Decentralized web apps!<br><br>Thanks to FND and Eric Shulman -- Tiddly Hackers -- for teaching me JavaScript and Tiddly.&nbsp; Thanks to Douglas Crockford for jslint.<br>
<br>Regards,<br><br>Zooko<br><br>P.S.&nbsp; A bit of JavaScript to produce the access control explanation text:<br><br>if (document.location.toString().match(new RegExp(HTTPLEAD + TAHOE_IMMUTABLE_CAP_RE_STR))) {<br>&nbsp;&nbsp; wikify(&quot;This is an immutable view of this page.&nbsp; Using this URL will always show this version of this page, even if a newer version has been uploaded.&quot;, place);<br>
} else if (document.location.toString().match(new RegExp(HTTPLEAD + TAHOE_NONWRITABLE_THING_CAP_RE_STR))) {<br>&nbsp; wikify(&quot;This is a read-only view of this page.&nbsp; If you share this URL with someone, they will be able to see the most recent version of this page, but not to change the page.&quot;, place);<br>
} else if (document.location.toString().match(new RegExp(HTTPLEAD + TAHOE_WRITABLE_THING_CAP_RE_STR))) {<br>&nbsp; getReadonlyURLToThisPage(function (readonlyCap) {<br>&nbsp;&nbsp;&nbsp; wikify(&quot;This is a writable view of this page.&nbsp; If you share this URL with someone, they will be able to change this page.&nbsp; Click here for a [[read-only view of this page|&quot; + readonlyCap + &quot;]].&quot;, place);<br>
&nbsp; });<br>} else {<br>&nbsp; wikify(&quot;You are not accessing this page through the Tahoe-LAFS secure, distributed filesystem.&quot;, place);<br>}<br>