Skip to content

Latest commit

 

History

History
64 lines (54 loc) · 2.02 KB

TODO.markdown

File metadata and controls

64 lines (54 loc) · 2.02 KB

CUT THE FEATURES, SHIP EARLY!

  • Behaviour driven development ! rename test methods to "should_allow/do_XYZ" Given that [initial context] if and when [some events occurs] then [ensure some outcomes]

  • test Malloc() failures (#ifndef RESEALSE)

  • clients on Mac, Win, Linux (libuv)

  • server (libuv)

  • no encryption

  • simple web-configuration (MySQL or even text files)

  • simple GUI (little QT-app)

  • Transport via HTTP(S) to pass firewalls and proxies

    SLA parameters!!! Tags (like in Git). Command and control synchronization manually (lib, web, CLI).

READ https://github.com/joyent/libuv using libuv: http://vimeo.com/24713213

Competitors: https://www.aerofs.com/ (search news.ycombinator.com for comments) http://www.tonido.com/cloud/

Files are complex! https://www.dropbox.com/help/145/en

  • file permissions.
  • UTF8/16

config (exclude like .gitignore!) access permissions (LDAP auth) web-access file encryption (on server and on clients, current user can be EXCLUDED from the group of using file) banding and customization backups hooks (events), API data storage deduplication: http://pdos.csail.mit.edu/papers/lbfs:sosp01/lbfs.pdf

TODO: 0. How to treat directories, trees? 2. Instead of zlib use liblzma (http://tukaani.org/xz/) 3. Warn a user when mtime of the file is later than now.

Searching:

  1. Zero-step, go up to the first splitting found.
  2. The second changing of direction is not allowed.
  3. Lockfiles for: head, lastid, stones/.../ch*