Live data from Hacker News

Essence: Desktop operating system built from scratch

nakst.gitlab.io

201–210 of 299 posts

Re: Essence: Desktop operating system built from scratch

#201

So many interesting/fascinating concepts and ideas that will remain relegated to niche communities because of basically one problem: lack of drivers. This is the problem that must be solved if we ever want to move away from the dominance of a few OSes "too big to fail" and their million compromises to a thriving field where competent programmers can create new OSes as easily as now they can create new apps.

I wonder if there are any workarounds to this, such as some compatibility layer that allows a new OS to reuse Mac or Windows drivers.

I have no experience in operating systems, so may be proposing a naive solution.

Anyone here with more experience that could share some ideas?

Re: Essence: Desktop operating system built from scratch

#202
post #45

This is insane, I can't imagine how much work went into it. I had a similar idea as a kid, I was pissed at all the bloat consuming my cpu and ram on windows so I wanted to build my own os that would run a single app taking advantage of 100% of the hardware. I learned some assembly and managed to create a bootable floppy disk, then quickly gave up, realizing how much work a functioning os would take...

I did this in the mid-90s when this book came out: https://www.amazon.com/Developing-32-Bit-Operating-System-Cd... I knew x86 well from demo scene coding, and I had the Linux and NetBSD sources to help, but the hardest bit was just getting all the boot sector stuff going properly and getting the processor into 386 mode as soon as possible. I wrote an entire OS that booted into a windowed GUI, multi-threaded, file sys…

Very cool!

Do you have insight into why modern operating systems consume gigabytes of disk space and require so many system resources?

Re: Essence: Desktop operating system built from scratch

#203
post #31

This 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…

Well if you are looking for a Social Operating System… https://github.com/Qbix/Platform Labor of love for a decade

" There are lots of frameworks out there for making websites. You've probably encountered them. Well, Qbix is different. It was designed from the ground up to power social apps.". To me it looks more like a web app than an OS.

Re: Essence: Desktop operating system built from scratch

#204
post #203
post #31

Earlier quoted context omitted.

Well if you are looking for a Social Operating System… https://github.com/Qbix/Platform Labor of love for a decade

" There are lots of frameworks out there for making websites. You've probably encountered them. Well, Qbix is different. It was designed from the ground up to power social apps.". To me it looks more like a web app than an OS.

That’s because you’re seeing web apps built on it.

Kind of like MacPaint is an App but MacOS is an OS

Re: Essence: Desktop operating system built from scratch

#205

So many interesting/fascinating concepts and ideas that will remain relegated to niche communities because of basically one problem: lack of drivers. This is the problem that must be solved if we ever want to move away from the dominance of a few OSes "too big to fail" and their million compromises to a thriving field where competent programmers can create new OSes as easily as now they can create new apps.

I wonder if there are any workarounds to this, such as some compatibility layer that allows a new OS to reuse Mac or Windows drivers. I have no experience in operating systems, so may be proposing a naive solution. Anyone here with more experience that could share some ideas?

I am not an expert at all, but such compatibility layers exist. For example Captive [0] was able to reuse Windows XP binary NTFS drivers on Linux. At that time there was no Linux NTFS driver with writing capability.

As Linux's driver model is incompatible with Windows XP's driver model, Jan Kratochvil has to code a Linux driver implementing a Corba interface [1] to dialog with a remote piece of code implementing the other end of Corba.

This remote code itself was in two parts, one was a driver sub-system borrowed from Reactos 2.3 (its kernel was similar to Windows 3.51 kernel at the time) that piloted a binary Microsoft native NTFS driver.

[0] https://www.jankratochvil.net/project/captive/doc/Details.pm

[1] https://en.wikipedia.org/wiki/Common_Object_Request_Broker_A...

Re: Essence: Desktop operating system built from scratch

#206
post #164

Earlier quoted context omitted.

Interesting. Sounds like Gmail’s labels vs everyone else’s folders. I wonder if it is a patent holding things back.

No, Fastmail uses labels, and is also the org behind JMAP, which uses them natively. Folders are so common in email because that's built-in to IMAP.

Folders are so common still in part because many of us want them to the point that both Fastmail and Gmail lets you use tags in ways that behaves almost entirely like folders, including a hierarchy.

I'd never consider an e-mail system (or a filesystem) that doesn't allow me to at least very closely approximate that structure.

Re: Essence: Desktop operating system built from scratch

#207

So many interesting/fascinating concepts and ideas that will remain relegated to niche communities because of basically one problem: lack of drivers. This is the problem that must be solved if we ever want to move away from the dominance of a few OSes "too big to fail" and their million compromises to a thriving field where competent programmers can create new OSes as easily as now they can create new apps.

I wonder if there are any workarounds to this, such as some compatibility layer that allows a new OS to reuse Mac or Windows drivers. I have no experience in operating systems, so may be proposing a naive solution. Anyone here with more experience that could share some ideas?

We already see this to a certain extent, Linux has NDISWrapper to use some Windows drivers, but my understanding is that it isn't so straightforward for most other classes of driver because the way they work has a lot to do with the way the target OS kernel works and it's hard to map from one to the other.

Re: Essence: Desktop operating system built from scratch

#208

Spent some time reading through the networking stack, scheduler, synchronization, and networking device driver. It was a total breath of fresh air to read code in this area that wasn't a total spaghetti of years of maintenance and feature creep. Really happy to see a project like this!

I've had some classes from Sape Mullender where he showed Plan 9 source code. It was also quite beautiful. Each function fit on 1 slide and was clear enough to need no documentation.

Re: Essence: Desktop operating system built from scratch

#209

So first off: Very cool. Amazingly polished, and self-hosting! Especially since it looks to be an actually-independent project with POSIX as an optional compat layer. I feel like the features that are unique are mostly in 3 groups: 1. Features that shouldn't be unique to this system. Tabbed windows have occasionally happened on other systems, and probably should become more common, and there's no reason it shouldn't…

> Features that only work if you have really tight integration ... Programs updating file name when you rename from the file manager ... Even systems like MacOS are going to struggle

MacOS has actually had this one in the bag for a couple of decades now (likely due to their really tight integration).

Re: Essence: Desktop operating system built from scratch

#210

Very cool. Nice that it runs without all the processes... But that will come at a certain point haha. I 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 Finde…

> Tabbed Finder windows are the most useless thing ever.. I'm glad I'm not the only one. I had to switch off of Nautilus because it kept trying to make me open things in new tabs instead of new windows. The thing is that I don't use the file manager much and 9/10 times I want to open directories is because I want to move files between them or less often visually compare which doesn't work well with tabs.

The state of file managers is really annoying. I'm currently using Caja, which is a Nautilus fork for MATE, so basically Nautilus frozen in time before they yanked the spatial bit and destroyed a bunch of the rest of the usability too, and it's better but still then hampered by just undoing the latest generations of damage done to it, not trying to do better - it was never great.

To start with, I wish all of these would learn the lessons from E.g. AmigaOS of separating the "serious file manager" (which would tend to be e.g. Directory Opus or Disk Master II) from the launcher / desktop (e.g. Workbench). Though Directory Opus could be used as a Workbench replacement.

Secondly, I wish they'd all learn from the "middle ground" Workbench offered as a spatial-ish launcher: Workbench does not force only one open window for a given directory, so it's not fully spatial. It also does not remember the locations of everything unless you make it. But it does let you lay out directories spatially on the desktop and "snapshot" their locations and the locations of the files within them. And that makes it far superior as a launcher because you can organise your most used directories etc. for easy access. I get why people hated on a fully spatial launcher, but the tradeoffs of Workbench gave it the main benefits people who like spatial launchers/file managers tend to be looking for without the downsides people who hate them tend to hate the most - e.g. you can use Workbench without ever being affected by it's ability to snapshot icon positions or window positions if you prefer.

These don't make it a good file manager, but for that a multi-pane design is far better anyway and trying to shoehorn the full flexibility of a good file manager into a launcher is a folly. Dual pane + a command palette is a start, but e.g. DiskMaster II is the one I like best, because it lets your fully configure the layout with arbitrary file listing windows + arbitrary command palettes. For a file manager with that flexibility also having the option to open in tabs would be great, as long as it can be turned off.

The result of insisting on trying to combine the two seems to usually be something which is bad at both (though nothing really prevent you from making something that reuses most of the functionality to let you configure it to work like both a good launcher and a good file manager, it seems temptation then quickly turns to trying to merge the two modes)

Post reply on HN