From owner-freebsd-fs@FreeBSD.ORG Wed Feb 20 19:27:06 2013 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 584F02CF for ; Wed, 20 Feb 2013 19:27:06 +0000 (UTC) (envelope-from radiomlodychbandytow@o2.pl) Received: from moh2-ve1.go2.pl (moh2-ve1.go2.pl [193.17.41.186]) by mx1.freebsd.org (Postfix) with ESMTP id E4A25E47 for ; Wed, 20 Feb 2013 19:27:05 +0000 (UTC) Received: from moh2-ve1.go2.pl (unknown [10.0.0.186]) by moh2-ve1.go2.pl (Postfix) with ESMTP id 31D0244D54F for ; Wed, 20 Feb 2013 20:26:43 +0100 (CET) Received: from unknown (unknown [10.0.0.74]) by moh2-ve1.go2.pl (Postfix) with SMTP for ; Wed, 20 Feb 2013 20:26:43 +0100 (CET) Received: from unknown [93.175.66.185] by poczta.o2.pl with ESMTP id nQYMSp; Wed, 20 Feb 2013 20:26:43 +0100 Message-ID: <51252372.1040001@o2.pl> Date: Wed, 20 Feb 2013 20:26:42 +0100 From: =?UTF-8?B?UmFkaW8gbcWCb2R5Y2ggYmFuZHl0w7N3?= User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130201 Thunderbird/17.0.2 MIME-Version: 1.0 To: freebsd-fs@freebsd.org Subject: Some filesystem thoughts References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-O2-Trust: 1, 31 X-O2-SPF: neutral X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2013 19:27:06 -0000 Hello, I'm a pretty fresh Unix user, suffering from productivity loss caused by changing OS. I dearly miss a couple of facilities that I had implemented in my file manager (Total Commander) and sought a file manager that could replace them. I'm pretty sure there's none. I found that Unix does some of them at the OS level and that's a superior way. But with others it doesn't; some file managers implement them by themselves, much like TC (not well enough, but that's another rant), but I think that for them, OS is the right place too and that's what I'd like to talk about. I come with a free idea that I think would be awesome to have implemented, while not being sure it even can be implemented sensibly within Unix. Maybe I miss something? Maybe the idea ain't good? Maybe there are things that do the job well enough already and I just miss them? Anyway, here's the story: Total Commander's filesystem plugins are awesome. They enable users to manage remote / virtual resources just like remote filesystems. FTP, websites, process list, calendar; the variety is rich. In Unix, there are equivalents for some of them; the ones that mattered the most for me can be usually simulated by mount. And that's a better way because when mounted, they can be used by any program, not just file manager. I'm sure that all people here are used to enjoying the benefits of this approach, though for me they are novel. The other thing - packer plugins. They allow treating archives like directories. Again, there are many useful ones, some obvious (like zips), some not so much. I treated my executables as directories, which enabled me to easily manipulate resources stored inside. Especially useful when hacking closed-source Delphi programs as they contain lots of GUI code stored directly (The name 'TNASTYNAGSCREEN' will stay in my mind for long). Or extracting icons. Or doing many other things that are necessary to play with closed source code, but less relevant in Unix. There was a steganography plugin storing data inside images. A plugin for generation and browsing of file lists. A Java decompiler. And a great variety of others. Unix file managers offer similar, though not so rich options. Yet I think it's not their job. Like with mounting, there's great benefit from being able to use standard tools with them. Some write things like zipfs, but I think it's wrong. First, typing a command is cumbersome. Second, even if it was automated, mounting needs a mount point. The only good one is the file itself; working with a dozen (or thousand) of archives in a single directory is a norm for me. Switching dirs back and forth would be very disruptive. Breaks relative paths. And so on. The way I see it is not to treat files as streams of bytes. That's not what they are, files have meanings and there are tools that bring them out. A picture is a stored emotion. OK, there are no tools for that yet. But it is also an array of pixels. And a container with exif data. And may be a container with an encrypted archive. And, a stream of bytes too. They have multiple facets. I think that it would be useful to somehow expose them to applications. Wouldn't it be useful to be able to grep through pdfs in your email attachments? Mass-edit music tags with sed? Manually edit with your favourite text editor instead of the sucky one-liner provided by your favourite music player? How about video players being able to play videos by reading them in decoded form directly from the filesystem instead of having to integrate a significant number of complex libraries to provide sufficient format coverage? -- Twoje radio