Essence: Desktop operating system built from scratch
81–90 of 299 posts
Re: Essence: Desktop operating system built from scratch
#82Re: Essence: Desktop operating system built from scratch
#83This is an amazing piece of work, but it's clearly a labor of love: this isn't going to have any real-world use any time soon. Where operating systems are headed is more towards security (process isolation, bulletproof input etc), not lightweight GUIs on top of thin kernels like this. Are there any passion (or other) projects that explore this? I know about Qubes, but that's more like a heavy layer on top of a heavy…
Re: Essence: Desktop operating system built from scratch
#84Re: Essence: Desktop operating system built from scratch
#85Earlier quoted context omitted.
> Showing total size of subdirectories is expensive To me the real obstacle isn't that it's expensive (I mean, you could ostensibly cache the size on disk for each directory, if not find some other clever algorithmic solution), but that the notion of "size of a directory" itself isn't all that meaningful in the presence of e.g. hardlinks.
Roughly 0% of a typical desktop’s disk space is used by hardlinked files. You can safely double count them. That’s exactly what every disk space analyzer does! If you really wanna avoid double counting, just divide the size of every file by st_nlink. Of course you’d have to update the cached sizes of every directory that has a link to that inode so you’d need to cache the mapping from inodes to paths too. Another sol…
Re: Essence: Desktop operating system built from scratch
#86Earlier quoted context omitted.
Roughly 0% of a typical desktop’s disk space is used by hardlinked files. You can safely double count them. That’s exactly what every disk space analyzer does! If you really wanna avoid double counting, just divide the size of every file by st_nlink. Of course you’d have to update the cached sizes of every directory that has a link to that inode so you’d need to cache the mapping from inodes to paths too. Another sol…
Not sure what you consider a "typical desktop", but on Windows, WinSxS has gigabytes worth of hardlinks. If you don't care about them that's another matter I guess.
The point is, the problem itself is-ill defined. There's no solution to that other than scrapping or redefining the problem itself. And it's hard to define the problem precisely for a non-technical user.
Re: Essence: Desktop operating system built from scratch
#87I like that they implemented composing tabs between different applications. This is the way I try to organize work/projecta/projectb/personal use, but it never works with current osses.
Spaces in macOS is actually kind of useless, because certain applications have windows across screens (finder, chrome).
Tabbed Finder windows are the most useless thing ever.. It's Apple listening to HN haha.
Anyway, screenshot on twitter: https://twitter.com/_nakst/status/1477247856805351425/photo/... and gitlab https://gitlab.com/nakst/essence
Re: Essence: Desktop operating system built from scratch
#88Earlier quoted context omitted.
What’s the state of the art for file systems in the age of M2 drives that are bonkers fast? I dunno about everyone else, but knowing hierarchically where my disk space is going is a really common concern.
I would imagine, the “m2 fast” is visible more in reading medium sized files than 100k tiny reads (when recursively querying directories like this case GP is taking about) To make GP’s use case better, FS really needs an custom index or require that every write also update all hierarchy. Unless of course they work like indexers and just work with delayed data
Re: Essence: Desktop operating system built from scratch
#89Re: Essence: Desktop operating system built from scratch
#90Earlier quoted context omitted.
Really, there should be two file sizes: "how much space this will take if I copy it to other filesystem" and "how much space will be freed if I delete this"
Well, three, "how many bytes do I get if I open it and read all the bytes out". Or maybe four, how many bytes do I get if I open it and read all bytes which aren't holes (ie. how many bytes do I need to put into an archive that supports sparse files) :)