unexpanded notes from Twice-Weekly Hack Hour, 2014-03-06

Zooko Wilcox-OHearn zooko at leastauthority.com
Mon Mar 17 12:37:38 UTC 2014

.. -*- coding: utf-8-with-signature-unix; fill-column: 73;
indent-tabs-mode: nil -*-

notes from LAFS Weekly Dev Chat 2014-03-06

in attendance: Zooko (scribe), Oleksandr (lurker), Brian, Daira

* bitcoin-sorcerers, Bitcoin-onlyists vs. altcoinists

* Oleksandr is in Kyiv; He is safe.

* posters with pictures of eyeballs make people behave better (from
"Dragnet Nation"); non-eyeball-shaped cameras are the worst of both
worlds ; googleglass triggers the eyeball-response ; Facebook early-on
put images of the reader's faces (and eyes) right next to the
text-entry form.

* Ars Technica is claiming that Newsweek has found out who Satoshi
Nakamoto is: Satoshi Nakamoto!

* Brian's FireFoxTahoeThing→PetMail2
  - frontend: FireFox extension written in Javascript, installable to
desktop with "Web RT -- Web Run Time"
  - backend: same backend code could run in node.js or in browser

* identity within Mozilla
  - Persona is in limbo, "Firefox Accounts" is the new thing
  - Firefox Accounts is not federated, just centralized (to Mozilla.org)

* Brian's FireFoxTahoeThing→PetMail2
  - erasure coding

TANGENT: erasure coding, transparency, better-is-better ; vs.
replication or 1-server, worse-is-better

TANGENT from TANGENT: Tahoe-LAFS needs to set K=H=N=1 for the default!
(says Zooko)

* Brian's FireFoxTahoeThing→PetMail2
  - de-emphasize erasure coding and separate the DHT from the layer
above it that tracks what files/directories/things you care about
  - it is easier to think about deploying small numbers of servers in
a fixed configuration rather than make that thing dynamic

Separating DHT from other layers in LAFS would allow LAFS to use other
DHT tech, and would also help the community of DHT researchers to
learn and use LAFS. E.g. they can get another publication saying "we
adopted LAFS to our DHT".

* Brian's FireFoxTahoeThing→PetMail2
  - Tahoe-LAFS immutable filecap is equivalent to a PetMail2 "BlobCap"
  - A PetMail2 "FileCap" is filename, metadata, BlobCap, maybe an icon
or a thumbnail
  - the DHT layer gives immutable BlobCaps and mutable "channels"
  - the only mutable things are channels, and channels are special ;
not a general-purpose filesystem tool
  - channels are unidirectional, one-writer, one-reader
  - if you want to back something up, then you create a channel for
which you have the writecap, and you persist the readcap and store it
somewhere where you can get back to it later
  - if you want to send data to someone else, then you have the
writecap and they have the readcap
  - one of the UI operations may be to tell your agent: here's a local
OS directory tree that I want to send through this channel ; your
affordance for that is to drag that folder into your agent and drop it
into the box that represents that channel ; really an Instant
Messaging type metaphor, so there's a scrolling window and you can
type text in there and you can drop folders in there
  - you can set up automatic repeated updates
  - there are no network-side or DHT-side directory caps in this approach
  - so when you want to send a directory to somebody, what your agent
does is scan through the directory locally, upload all of the files
that are in there and upload them, and get back a BlobCap for each
one, then build a local database of filepaths and BlobCaps and
  - then serialize that...
  - This design is pretty equivalent to the "Virtual CDs" idea for
LAFS (insert ticket # here)

Daira: This is why Noether adds channels before it adds mutable state.
In the expressiveness vs. tractability, channels are more tractable
and slightly less expressive.

* Brian's FireFoxTahoeThing→PetMail2
  - Precise GC by having at most two roots for each thing. Atomic
operation can acquire leases on new stuff and drop leases on old

In theory garbage collection ranges from "trivial" to "difficult", and
in practice that range is like "difficult" to "impossible". ☺

Somebody please make a googly-eyes version of the Google (tm) logo!

* update on https://LeastAuthority.com: Unnamed Potential Business
Partner Company, needs accounting
  - accounting needs leasedb
  - leasedb needs 1.10 released
  - 1.10 released needs #1832

More information about the tahoe-dev mailing list