5 ms·
Interested. I have been stumbling around on this for years. Old comment, https://news.ycombinator.com/item?id=6972431 https://news.ycombinator.com/item?id=69724
by cturner 7y ago
Interested. I have been stumbling around on this for years. Old comment, https://news.ycombinator.com/item?id=6972431 https://news.ycombinator.com/item?id=6972431
I like your rule-of-thumb that you should not need a package manager.
Muratori has a theory that USB has made the OS scene complex (https://www.youtube.com/watch?v=kZRE7HIO3vk&t=1350s https://www.youtube.com/watch?v=kZRE7HIO3vk&t=1350s).
Two other things - the browser and TCP/IP.
Goal: a system where you can fit the whole stack in your head, yet participate in a networked world.
Approach A. Outline a reference hardware platform. Port NetBSD or minix3 or plan9. Then simplify. e.g if unix, get rid of users and groups, get rid of x, get rid of package mgmt, get rid of nfs. You could bootstrap this in qemu.
Approach B. Establish an alternate browser. Something like gopher, but with async events between the 'page' and the user. This allows for chat and form manipulation. You can send non textual content through this async link - video, audio. Codecs are a trap, they lead to pkg management and complexity. How to stop proliferation?
- qznc 7y agoIf you want use it as a desktop, then plan for a Linux above or below. Linux above: You need a hypervisor. See L4 or Genode. Linux below: See unikernels.
- AnIdiotOnTheNet 7y agoUnfortunately I have to agree with this precisely for the reasons outlined by Casey in the parent's linked video. The shift from standardized ABIs to driver-abstracted hardware has ballooned the code required to work on "a PC" geometrically. It's basically impossible to catch up to established OSs now. An alternative would be targeting a single set of hardware that's likely to be around a really long time. I'd be ok with that and something like a Raspberry Pi, but only if all the hardware was open. Of course, then you're in more of a 68k Mac space where hardware choices are extremely limited.
- cturner 7y agoMainstream OSs are good at what they do. I think we are talking about a different niche. If so, no need to think in terms of catch-up. Rather: work out the design values of this niche. Lots of ideas, but this thread is already deep. I have created #dinghy on irc.freenode.org, would be interested to discuss further.
- guidoism 7y agoI've been playing around with this idea myself. My solution is to isolate the "stack of shit" that is still useful into VMs or separate processors entirely. The USB stack is already implemented on microcontrollers. If you only want mass storage and HID keyboards you can implement your own simple protocol. TCP/IP, again, plop it onto a microcontroller and create some simple file interface for it. The browser, um, well, put it in a VM running linux... or really want I would rather do, put it on a VM in the cloud and make the big computer in the cloud do all of the hard work and just send down a simple description of the page, maybe using a protocol like, well, I don't know, Postscript?
- tellme_throwa 7y ago1. Package managers need not be complicated. I think a simple sandboxing app mgmt is possible. 2. about web: too bad that design-addict webdev community bloated it. But wish someone make a simpler, faster & straightforward web as portable app platform with few nice commercial qualities... 3. About OS: OS need not be bloated if it isn't running behind popularity by satisfying everyone's remote needs. ( source: plan9, suckless, busybox )...
- AnIdiotOnTheNet 7y ago1. Package managers only exist to manage complexity. If you want one, the system is already too complicated. You can sandbox applications without them. 2. No disagreement here. 3. Unfortunately it still kinda does, because drivers. Two of the ones you listed sit on top of the Linux kernel, which even Linus thinks has become bloated.
- AnIdiotOnTheNet 7y agoI think Casey hit the nail on the head here. We used to have hardware with standardized ABIs, some of which had extensions (like Tandy graphics compared to CGA). That made it relatively trivial to make OSs, which is what PC booter games did really. DOS itself barely abstracted anything at all, because you didn't need drivers for standardized hardware ABIs. Unfortunately the only way to deal with that is to give up on the idea of running on a majority of existing PC hardware and target only a small subset of commodity hardware. Ideally it would all be open, to ensure it isn't going anywhere for a while, but sadly there is no such system. I'm glad to see I'm not the only one who thinks Users and Groups are the wrong abstraction for systems like this.
- deleted 7y ago[deleted]