It's time for me to talk about #dar, so here you go: #dar, a thread. 1/
You probably know #tar. A nice feature of #tar is that it can be streamed; you can pipe it to ssh to create or extract an archive, pipe it through compressors and encryptors and so forth.
This is also its weakness. If you want just one file or directory from a tar file, you have to decompress/decrypt and read the whole thing. Even if you just want a LIST of it, you have to read the whole thing. Very inefficient.
#dar 2/ So opposite tar, there is #zip. Generally speaking, zip isn't streamed, but it does support random access. It also is tightly coupled with certain compression algorithms.
So what we need is something that can do both: random-access and streaming. And while we're at it, it should slice and dice files like Perl does strings. It should be able to combine, separate, stripe over multiple media, compress and encrypt (preserving random access), and work with cloud. #dar does all this.
I just realized a lot of my favorite software is hard to describe. #orgmode: an outliner, but also a highly-integrated task manager and markup language. #NNCP, an asynchronous message passer -- and thing that can use USB drives as a network. #gitannex, a file location tracker and syncer that does a ton. #dar, an improvement on tar, that can be FUSE-mounted, sliced and diced, compressed and encrypted in different ways. #emacs, a live-modifiable mail reader & enhanced vim (with evil-mode) 🙂