Hacker News new | ask | show | jobs
by iheartmemcache 3821 days ago
The most important role of UNIX is to provide a file system. From the point of view of the user, there are three kinds of files: ordinary disk files, directories, and special files. [DRAFT: The UNIX Time-Sharing System]

> "In the spirit of UNIX, every thing is a file." "Everything is a file" is a Plan 9, not UNIX, adage. `Block devices aren't a file (though they are represented by files). Network devices are not files (again, they have representational forms, but you can't pipe to them, a la Plan 9). > "Though unlike it, a file can contain other files. " By definition, a directory is a file. It's the second item in that tuple of 3 outlined by Ritchie.

You essentially have re-invented Plan 9 and to some extent ACME[1]. Sadly, Plan 9 faded into obscurity due to licensing, but it was poised to fill the position Linux has now. Watch that video [the whole thing) and borrow the good ideas. LISPs are homoiconic in that whole text-is-data sense. ACME takes it a further, in that your terminal is a shell, which can invoke programs to manipulate data. The only other environment I've ever worked where everything was as unified consistently was Smalltalk.

Emacs is a close 3rd and that's hard for me to admit, as an emacs fanatic. Though I can (and have been) doing exactly what you're trying to solve for ages within emacs, but that leaves all the vimmers in the dark ;) Ledger for accounting, org-mode for generic notes, a highly customized e-mail client which I integrated to a calendar/contacts/todo, all of which have tags. I can fuzzy-match my notes to the point where if I'm trying to remember a resource (say, a library for redistribution of data amongst a network on soft-failures), I can search by tag, by time (i.e., I remember it was sometime this week; filter; I remember it was a link on medium.com; filter), and various other components.

I see what target demographic you're going for and it's a pretty good idea. Most people need 'information stores'. Evernote was the Web 1.5/2.0 solution, inevitably there'll be a Web 3.0 version, you might be it.

Side bit of trivia: Cox loved ACME so much he ported all of the essentials when he moved over to Google, from the Plan9 FS (FUSE'd, not native, obviously) to ACME itself.

[0] http://www.tuhs.org/Archive/PDP-11/Distributions/research/Mc... [1] https://www.youtube.com/watch?v=dP1xVpMPn8M

1 comments

Thanks for bring up Acme and Plan9. Having used Acme as a primary editor for a while I definitely plan to bring some of its features along. I have ported part of plumbing to elisp though very rudimentary. Though I wonder how plumbing could be implemented in the web. It is an interesting thought.