Unix and Beyond: An Interview with Ken Thompson (1999)
cs.princeton.edu
cs.princeton.edu
There's also a Chrome extension that restores encoding selection: https://chromewebstore.google.com/detail/set-character-encod...
https://github.com/jasperla/openbsd-wip/issues/86
Make of it what you will.
I see what you did here :)
Just replacing the word will with should could make that post work so much better.
I’m no Ken Thompson, but this resonates with me. I like to find the simplest, most powerful and general solution, then apply it to the problem at hand.
Super complex frameworks and systems are the bane of my existence, because I really can’t wrap my head around what they are doing, so I can’t trust them.
In fact I think what Ken is talking about here is using those simple tools to generate effective purpose built solutions rather than general multi-tools.
I mean, it's magical when they're the same. It's just that you don't see that very often.
Very true
Maybe if Plan 9 was released as FOSS in the 90s and somebody made an aggressive push to give it gas in some hacker circles, history would have taken a different path. But that didn't happen and so we live in a broken future. At least 9front is usable for a daily driver these days, I suppose.
Most of the POSIX cruft does not exist in Plan9/9front. It has a much simpler API. There's NPE, ok, but as an emergency to port some monolitical software from Unix, but not so big. Such as Nethack/Slashem, or Netsurf.
Go is the proper succesor to Limbo/Oberon and Inferno, to Unix.
"Probably the glaring error in Unix was that it underevaluated the concept of remoteness. The open-close-read-write interface should have been encapsulated together as something for remoteness; something that brought a group of interfaces together as a single thing�a remote file system as opposed to a local file system."
The thing is that Unix grew up w/o a network. Disk was slow though, so perhaps it could have had async I/O from the beginning, but... everything was slow, so maybe not. Most importantly the key is that when one is building something new, often one will build the easy stuff first, and synchronous metadata operations is definitely easier than async -- this is a lot easier to forgive 50 years ago than now because now we know that async matters a great deal, but 50 years ago it was a lot less clear.