Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filesystem ideas #39

Open
stefnotch opened this issue Mar 3, 2023 · 0 comments
Open

Filesystem ideas #39

stefnotch opened this issue Mar 3, 2023 · 0 comments

Comments

@stefnotch
Copy link
Owner

Hash per file/byte stream/file collection
=> Whenever it changes, the hash changes
=> Automatic deduplication
=> Split file into multiple byte streams and then modify only one byte stream
Error correction
=> Redundancy and automatically fix errors
Temporary files
=> Automatically cleaned up
=> Can be put into memory
Cache files
=> Files that can be deleted without changing the behavior
Generated files
=> Potentially ignored by version control system
=> Plus some instructions on how to re-generate the files
Tags
=> Find by tag
=> Not only string tags, but also numbers, GPS coordinates, dates, file extensions
=> Find all "images" taken in 2019 in "Greece"
=> Find all "money" documents related to "Amazon"
=> Automatic tagging! AI go brrr
Dates
=> Created
Folder-files
=> Pretend that an entire folder is just one file
=> Flax: One file in there is the material properties
=> Flax: Another file is the compiled material (generated file)
Thumbnails
=> Multiple thumbnails for video files
File-folders
=> Pretend that a single file is an entire folder, like .zip and .tar.gz
Smart "save file" dialogue
=> Write "# TGI Homework" in a Markdown file and hit Ctrl+S. It automatically suggests the correct folder. And also applies tags based on the file content
Efficiency
=> Nice handling of "millions of tiny files aka node_modules"
Offline/Remote integration
=> Google Drive and co shouldn't be such terrible hacks
Partial file updates
=> Share file and suddenly have a rudimentary collaborative editor
=> Code editor adds a function (10 lines), compiler gets notified and only needs to partially recompile
File types
=> Backups
=> My own long lived files (videos, images, music, documents)
=> Files I created vs files I downloaded (timestamp?)
=> Downloads (partial file streams)
=> Caches (programming, build files)
=> Frequently changing binaries (databases, virtual machines)
=> Zipped (a zip file that's generated from an entire directory)
=> Source code? (How do I reference modules?)
Automatic sandboxing
File references
=> Sandboxed file preview is allowed to read those references
Which program is editing the file

Better file manager
=> Easy file sharing (HTTP server)
=> Start program using current directory (code .)
=> See multiple directories at the same time (MacOS)
=> Split view (copy from A to B)
=> File previews using provably safe code
=> Side pane where programs like GitKraken or a shell can appear
=> Copy file name, path
=> Filtering, tree-view (e.g. Select all .pdf files in folders recursively)

Implementation
=> Backbone: Normal filesystem like NTFS or IPFS
=> Then we can mount our better filesystem
=> Needs a totally custom file manager
=> Default copy dialogue gets intercepted and replaced

See also
https://www.nayuki.io/page/designing-better-file-organization-around-tags-not-hierarchies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant