From d28dc7b97c3c40ff16352b665d22a4ec55ead0a2 Mon Sep 17 00:00:00 2001 From: zooko <> Date: Tue, 16 Mar 2010 17:43:19 +0000 Subject: [PATCH] add Secure Decentralized Wiki, add Brian to Share Migration [Imported from Trac: page GSoCIdeas2010, version 90] --- GSoCIdeas2010.md | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/GSoCIdeas2010.md b/GSoCIdeas2010.md index 1b8bdf9..c6d9849 100644 --- a/GSoCIdeas2010.md +++ b/GSoCIdeas2010.md @@ -14,8 +14,9 @@ Deadlines and directions for students' applications to the Google Summer-of-Code |---|---|---| |*Project*|*Difficulty*|*Contact*| |[#RedundantArrayofIndependentClouds Redundant Array of Independent Clouds]|Medium|[Zooko Wilcox-O'Hearn]mailto:zooko@zooko.com or any mentor| -|[#ShareMigration Share Migration]|Medium|any mentor| -|[#CloudApps Cloud Apps]|Easy–Hard|Jack Lloyd or any mentor| +|[#ShareMigration Share Migration]|Medium|[Brian Warner]mailto:warner-tahoe@lothar.com or any mentor| +|[#SecureDecentralizedWiki Secure Decentralized Wiki]|Medium|[Zooko Wilcox-O'Hearn]mailto:zooko@zooko.com or any mentor| +|[#CloudApps Cloud Apps]|Easy–Hard|[Jack Lloyd]mailto:lloyd@randombit.net or any mentor| |[#WebDAV WebDAV]|Medium|[David-Sarah Hopwood]mailto:david-sarah@jacaranda.org or any mentor| |[#DistributedIntroduction Distributed Introduction]|Easy|[Zooko Wilcox-O'Hearn]mailto:zooko@zooko.com or any mentor| @@ -64,19 +65,17 @@ file health and accounting, so prospective students would do well to explore those open issues, too. A good accounting jumping-off point is #666. A good jumping-off point for health is #778. +# Secure Decentralized Wiki + +Write a wiki in Google's ["caja"](http://code.google.com/p/google-caja/) dialect of JavaScript. This wiki will load and store data directly on a Tahoe-LAFS storage grid so that it is a full "Cloud App"—there is no server. All computation is done in the user's web browser in caja and all of the storage is done by the decentralized Tahoe-LAFS storage grid. This wiki should leverage Tahoe-LAFS's secure sharing features to offer fine-grained, dynamic, and easy transclusion or client-side mashups. This project is intended to be the successor to [the [TiddlyWiki](TiddlyWiki)-on-Tahoe-LAFS project](http://allmydata.org/trac/tiddly_on_tahoe), which is a wiki written in JavaScript and hosted on Tahoe-LAFS, but one that has been "bolted on" to Tahoe-LAFS instead of designed for Tahoe-LAFS, and is currently incapable of good transclusions or mashups. + +To get started, play with [the [TiddlyWiki](TiddlyWiki)-on-Tahoe-LAFS quick start](http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:7h7syiurogz5erc2au74tjwguu:h7bdxvjtvidlkcdbld3j2d5sbgyzsbqs7wdnu6yznqrejzssc5za/wiki.html), read the source code of [the !HTTPSavingPlugin](http://allmydata.org/trac/tiddly_on_tahoe/browser/tahoe_tiddly/HTTPSavingPlugin.js) and [the TahoePlugin](http://allmydata.org/trac/tiddly_on_tahoe/browser/tahoe_tiddly/TahoePlugin.js) for TiddlyWiki, and experiment with [writing live caja applets](http://caja.appspot.com/). + # Cloud Apps Difficulty: easy to hard, depending on project choice and how far you want to push it -There are a lot of applications that could potentially make good use of Tahoe-LAFS replacing the typical centralized storage of flat files or SQL databases. Currently supported projects include [TiddlyWiki](http://www.tiddlywiki.com/) (one of the Tahoe-LAFS developers hosts his blog using [TiddlyWiki stored in Tahoe-LAFS](http://allmydata.org/trac/tiddly_on_tahoe)), [Hadoop](http://hadoop.apache.org/), and [a number of others](RelatedProjects). - -There are still many useful and interesting things that have yet to be built using Tahoe-LAFS. Perhaps the most promising is in the area of web applications; what applications can you think of that could make use of a highly reliable filesystem accessible from both desktops and [handheld devices](http://github.com/ctrlaltdel/TahoeLAFS-android)? Keep in mind that Tahoe-LAFS's architecture allows sharing and delegation opportunities that are difficult or impossible to implement using other backends. Some ideas people have suggested include a calender or photo album, or porting Mozilla's [Bespin](https://bespin.mozilla.com) editor). - -Nathan Wilcox wrote most of interactive tree browser frontend in JavaScript (see [the [RelatedProjects](RelatedProjects) page](RelatedProjects)); Toby Murray wrote [a front-end in Cajita](http://allmydata.org/pipermail/tahoe-dev/2010-March/004137.html); what interesting ways might this be extended? - -This is in some ways the most interesting area for development as it combines security and distributed systems problems with providing a user interface that lets a person who isn't particularly security minded operate safely by default. This is a hard problem, but offers great rewards in terms of learning, and even the ability to break new ground in safe-by-default interface design. - -Required skills: HTML and JavaScript for web applications. For other tie-ins, will depend on the base project (for instance porting the git DVCS to run on Tahoe would good C-fu, with git experience helpful). +Invent your own Summer-of-Code project by building a new web app on top of Tahoe-LAFS. The [#SecureDecentralizedWiki Secure Decentralized Wiki] is one example of a Cloud App. See [GSoCIdeas](GSoCIdeas)/CloudApps for other ideas. # WebDAV @@ -92,9 +91,6 @@ Implement a protocol for distributed introduction, thus removing the only remain *Who is willing to spend about five hours a week (estimated) helping a student do it right?*
* [Zooko Wilcox-O'Hearn]mailto:zooko@zooko.com [blog](http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html) (Python/C/C++/JavaScript, security+cryptography) - * Jack Lloyd [blog](http://www.randombit.net) (C/C++/Python, security+cryptography) + * [Jack Lloyd]mailto:lloyd@randombit.net [blog](http://www.randombit.net) (C/C++/Python, security+cryptography) * [David-Sarah Hopwood]mailto:david-sarah@jacaranda.org (Python/C/JavaScript, SFTP frontend, security+cryptography) * [Brian Warner]mailto:warner-tahoe@lothar.com (Python/C/JavaScript, security+cryptography) - ----- -This page was modelled on [the NetBSD Summer-of-Code page](http://www.netbsd.org/contrib/soc-projects.html).