[ mona / prog / sol ]

prog


When everything isn't just a file.

1 2020-09-10 14:48

https://weinholt.se/articles/non-posix-filesystems/
The lack of a capability system in POSIX is causing real world damage that affects billions of people. It might be an app on your phone that spies on all your messages, a JavaScript package that sends all your SSH and Bitcoin private keys to a thief, or your browser might be exploited, make itself root by running sudo with your privileges and then install a rootkit. Why can your browser run sudo? Sudo is by design a confused deputy.

Suppose only your SSH client had the operation required to use your SSH keys. Suppose the operation to export those SSH keys was only accessible via your login session when you specifically used your keyboard or mouse to make that export. This would be more secure.

Suppose the file system protected your files against data corruption (e.g. making it impossible to write a bad /etc/fstab)? Sounds pretty good to me.
Post script

Multics enabled a superior paradigm for storage management and backups. Xerox Alto allowed a disk structure to be restored even if all metadata blocks had been damaged. Hydra used a capability system to provide a powerful protection mechanism for data. All of these enabled interesting types of functionality that we are missing in POSIX.

There are many good ideas in historical file systems that have been completely dropped today. I’m building some sort of operating system in Scheme in my Loko Scheme project and would like to explore these ideas there.

2 2020-09-10 16:20 *

This copypasta is missing mac and orange book.

3 2020-09-10 16:45

It disgusts me, when I see UNIX weenies argue it's actually a good thing UNIX can't do something, and we don't want or need it anyway. Anyway, it's clear to me that the very idea of a filesystem is part of the issue. When I read of the Hydra system, with a file able to protect itself, I noticed that's just an object. Why have a filesystem, when a sea of persistent objects is a much nicer way to think about it?

The notes on the Xerox system labelling each block is neat. I'd wondered how to get reliability in longterm storage, and marking each unit of the disk hadn't occurred to me, but repeating the metadata across the disk had. It's akin to the difference between C and Lisp, where Lisp knows what everything in memory is, and C doesn't.

4 2020-09-10 21:05

[...] is it not embarrassing that we still think and talk about the digital versions of the file cabinets and desks the inventors probably sat next to when inventing their digital analogues? [After all, doesn’t "everything is a file" sound more like something from Kafka, than the maxim of an operating system?]

https://ruzkuku.com/txt/unix-harmful.html

5 2020-09-10 21:10 *

>>3,4
Remember when this was object only https://dz.ru/os-phantom

6 2020-09-11 21:55 *

>>5
The FUCK am I looking at?

7 2020-09-12 10:30 *

>>6
In russia everything is an object, until kapitalism introduced webshit.
Disregard files where always bloated objects for the joke.

8 2020-09-12 18:00

>>3

Why have a filesystem, when a sea of persistent objects is a much nicer way to think about it?

I'm sure this isn't controversial in these parts, but I really want a tag based filesystem that allows for arbitrary links between files (including at different points within the file), viewing the backlinks to files, and for files including those over the network to be treated no differently than variables. org-roam, and org-noter allow for a cheap proof of concept with regards to epub, pdf, and org files, for the first part of this request but I want more. It doesn't really provide a nice way for me to link my projects to my notes, and it doesn't allow for tagging of resources, or projects. Does anyone know of a good tag-based filesystem with GNU Emacs integration?

9 2020-09-12 20:07 *

>>8
You post an interesting question.

10 2020-09-12 21:47

>>8
This is something I've been wishing for lately as well. Something like Hydrus Network mixed with a personal wiki/Zettelkasten so that my files can be easily managed and integrated seamlessly into my notes, which are of course themselves just files that can be arbitrarily linked to one another. When you look at things like Xanadu and all the alternative filesystems and OSes that have been developed, it really feels like the absolute laziest and least transformative vision of organizing information won out.

11 2020-09-13 01:40 *

>>10

This is something I've been wishing for lately as well.

Well, if you just want to get started I'd really encourage you to use org-roam and org-noter. My slip-box is currently pretty small, only about 35 notes, but my notes tend to be a bit larger than what is traditionally advocated for by advocates of Zettelkasten. I also do use the built in tagging system instead of the index notes which are typically used. It's not perfect but it's a start.

it really feels like the absolute laziest and least transformative vision of organizing information won out.

Unfortunatly it was that weird type of lazy that ends up being more work and stress in the end as well. It's amazing how pervasive procrastination is among people who really ought to know better.

12 2020-09-14 21:52

>>11

Unfortunatly it was that weird type of lazy that ends up being more work and stress in the end as well.

"Vision without action is a daydream. Action without vision is a nightmare."
Xanadu's vision was perhaps even more ambitious than it was transformative, with the promise of production code always pushed further out of reach as project goalposts moved again and again.
UNIX was perhaps the lazy vision, but it was also an extremely pragmatic one. Project goalposts were firmly planted, and production code proliferated early even during the design process.
I think the moral here isn't that we should be lazy, but that we have to temper our ambition with enough practicality to ensure great ideas don't end up as only mental masturbation for a few cultured types.

13 2020-09-15 01:21

>>12

UNIX was perhaps the lazy vision, but it was also an extremely pragmatic one.

Sure, in the same way eating shit is more pragmatic than cooking. Fortunately for the UNIX weenies, computers getting a mere few trillion times faster makes UNIX look downright efficient, and GNU actually writing correct software made it look like it wasn't completely worthless.

Project goalposts were firmly planted, and production code proliferated early even during the design process.

That implies there was a design process.

I think the moral here isn't that we should be lazy, but that we have to temper our ambition with enough practicality to ensure great ideas don't end up as only mental masturbation for a few cultured types.

I think the real moral here is that some people will justify anything, no matter how asinine, and idiots will endlessly create new religions with new gods, even when decrying religion itself.

There have been problems that have stayed with UNIX for decades, because no one ever fixes them, because the changes won't be accepted, because it's better to be backwards-compatible than correct, because the glorious leaders got it right the first time, with the proof being these have stayed with UNIX for decades.

14 2020-09-15 01:29

>>12,13
I think there is something to be said for developing a minimal viable product so long as the architecture (as defined by interfaces) are refined and well thought out. I'm a bit too tired to defend this position at the moment so I'll leave it at that unless anyone has any comments. Honest question, was Xanadu even a good idea?

15 2020-09-15 15:52 *

>>13
Your impassioned defense on behalf of the right thing makes me emotional.

16 2020-09-15 17:53 *

>>14
Xanadu at the core is a good base theory to ponder over but the entirety is not a good idea. Something else would of caused another 7/11 for "general computing" if xanadu didn't exist.
>>15
Let >>13 have his fun. Other sides are needed for comparison, better extreme of that side better model. I could citric on how this isn't extreme enough but I've been doing that for years. Doesn't help anyone not even the clowns for hilarity.
You got condemned by reading the above spoiler, yes you already knew this. No I mean you.

17 2020-09-16 01:37

>>14

I think there is something to be said for developing a minimal viable product so long as the architecture (as defined by interfaces) are refined and well thought out.

Is this actually the Scheme approach to systems design? It seems to reflect the language as a whole but has this approach been extended to projects written in the language?

18 2020-09-16 17:20 *

>>17
Scheme in general isn't that minimal but could be.

19 2020-09-22 01:45 *

>>18
I was thinking more along the lines of the standardization process which has lead to Scheme. On second thought though this might just be the way inorganic things are standardized generally. Further looking over Scheme projects it truth be told seems like worse is better is the dominate perspective.

20


VIP:

do not edit these