5 ms·
I'm happy to answer any questions about this article or the implementation I've put together.
by btrask 11y ago
I'm happy to answer any questions about this article or the implementation I've put together.
- lisper 11y agoYou say you've been working on your CAS system for two years. What are the challenges you are facing that is making it take that long? Because a simple CAS is trivial: just hash the file, rename it to the hash, and serve it up via a normal HTTP server. What is making it hard?
- btrask 11y agoHere's what I've written up for a toy content addressing system I've been writing in Python: "If it's so easy, why did it take us 3 years and 10,000 lines?" "Because we wrote it in C." And because the real system: - Tracks file meta-data (including tags and full-text indexing) - Has a way to find files/hashes without file or hash (search) - Uses a database instead of hardlinks everywhere - Supports hash algorithm plugins (not technically done yet) - Supports more hash formats (short, base-64, etc.) - Is ACID (and coordinates transactions between DB and file system) - Supports multiple repos per user (at arbitrary paths) - Handles hash collisions (aside from the primary hash) - Has a basic user interface - Has a sync protocol