Replacing the Unix tradition
Video Statistics and Information
Channel: Brian Will
Views: 79,965
Rating: 3.8876112 out of 5
Keywords: Unix (Operating System), Software (Industry)
Id: L9v4Mg8wi4U
Channel Id: undefined
Length: 40min 45sec (2445 seconds)
Published: Wed Sep 23 2015
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
I've got no idea who this guy is, and it's true that *NIX systems have a lot of baggage, but I think the only bits of this rant that didn't make me want to stop him and ask "Just how is that an improvement?" Were "language-specific package managers represent failure" and the general concept of using message based IPC universally.
Most of what he described may only reduce complexity as perceived from certain perspectives, possibly from the end-user view, but Android, iOS, and MacOS are all built on top of the same abstractions he's ranting against and are widely considered some of the simplest UX.
I'm not entirely sure what his experience is, but it mostly feels like someone complaining that your interactive
$SHELL
isn't a competent programming language, when that's not what they're meant to be used for anyway. It's like saying you can't tow a U-Haul with your Prius or that your hatchet isn't useful for changing tires.Edit: if anyone happens to know how to get in touch with this guy, could you PM me or direct him to this comment? I'd really like to discuss his ideas as invited by the video. I'm no rockstar or anything, but I do work with *BSD and MacOS for fun and profit, and I'm genuinely confused what experiences would lead someone to think that these are the appropriate solutions for *NIX systems.
Edit 2: I'm just now seeing that this was published in 2015, so it may no longer accurately reflect his views, and be difficult to recall why he held these beliefs. I'd still be interested in discussing the proposed solutions, if he still holds these beliefs.
Use Linux for another 5 years then come back and revisit. Most (every one?) of these ideas don't make sense or are mis-directed.
I think he wants AS/400
I thought he could have made a fool of himself in a lot less than the 40 minutes this video runs. It only took a minute or so for me to realize it wasn't a joke video.
Does he seriously think that a user typing that command needs to know about argv/fork/exec???
Yes, any useful system is going to be complex underneath.
The art of abstraction is what he is describing, and *NIX doesn't do abstraction well. A computer is a massive state machine and what I hear Brian saying is why should program A be modified with program B's config, which has often happened to me with *NIX.
So he wants TempleOS then
So the closest things he describes here are and some thoughts of mine:
interactive shell: ipython / javascript console / Powershell?
Package Management: nix package management with UUIDs for a namespace for each package / appimage / flatpack?
IPC: Androids Intent system
Permissions: Sandboxed applications each running with no access, have to request permissions from the kernel to gain certain capabilities (no real need for a true admin account) Look at iOS / Android's permission models
Configuration: I'd like to see something like .plist on macOS for configuration with small independent files, clearly defined schema and location. Putting settings into a relational database/registry/huge xml structure for no apparent reason seems unnecessary. looking at you gconf
Kernel talks to hardware and provides process separation/ access control/scheduling. It has afaik no real concept of files and can be seen as a Service Provider programms can interact with via systemcalls. Why would you put the complexity of file retrieval/organization into the kernel?
File metadata with just xargs / flat filesystem hirachy --> a lot messier. Than the unix permission model / ACLs IMO