aboutsummaryrefslogtreecommitdiffstats
path: root/notes
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-10-18 17:18:23 -0700
committerBryan Newbold <bnewbold@robocracy.org>2017-10-18 17:18:23 -0700
commit5c59ba4e6f3ca12877d79859b16d1e63e559bb8a (patch)
treeb6842d9a76e6832642ca1a78f596ec1abe2a9094 /notes
parente46bfcad874c4cb0e100f8cae15d23501a376dc0 (diff)
downloadgeniza-5c59ba4e6f3ca12877d79859b16d1e63e559bb8a.tar.gz
geniza-5c59ba4e6f3ca12877d79859b16d1e63e559bb8a.zip
commit a bunch of meta files
Diffstat (limited to 'notes')
-rw-r--r--notes/process.md34
-rw-r--r--notes/spec_todo.txt15
2 files changed, 49 insertions, 0 deletions
diff --git a/notes/process.md b/notes/process.md
new file mode 100644
index 0000000..bd3a516
--- /dev/null
+++ b/notes/process.md
@@ -0,0 +1,34 @@
+
+This is an ordered list of testable steps to get to a minimal dat client in
+just about any language.
+
+sleep
+ read/write headers
+ read/write individual elements as raw bytes
+ read/write contiguous batches
+
+registers
+ read elements by index
+ verify signature by index (not leaves)
+ append elements
+
+drive
+ data register to a single file
+ single file to a data register
+ print metadata tree ("ls")
+ create metadata tree for a directory
+ directory to metadata+data registers
+ registers to directory
+
+sync
+ send/receive messages to a known host
+ pull register from a known host
+ wrapper command
+
+
+
+
+Shortcuts:
+ key/value store instead of SLEEP files
+ pull/read/to-file only
+ don't verify any hashes (!)
diff --git a/notes/spec_todo.txt b/notes/spec_todo.txt
new file mode 100644
index 0000000..b361f70
--- /dev/null
+++ b/notes/spec_todo.txt
@@ -0,0 +1,15 @@
+
+Things that were underspecified in the spec/whitepaper:
+
+- endianness of magic (big-endian)
+- uppercase/lowercase of algorithm name (inconsistent in one place)
+- what if there is only a single chunk/entry in a register tree? then a leaf
+ acts as a root?
+
+"You can use the byteOffset property in the Stat meta- data object to seek into
+the right position in the content for the start of this chunk." => unnecessary,
+node.js specific?
+
+Clarify: appending to tree SLEEP results in writes into middle of file (for
+root nodes). This seems not-great for performance (can't bulk-write). Better to
+cache or work in RAM then batch commit?