dennykane
I am currently developing a new kind of operating system using nothing but web technologies (ie, it is technically a single-page web app). It might not be the same kind of legacy hardware-centric operating system that most techies fret over, as I am just interested in "userland" ideas (ie, what new kinds of applications can we build, using what new kinds of higher-order abstractions). IMO, the kinds of research programs you are thinking of are really, practically speaking, solved problems.
Also, my OS is compatible with POSIX, as it is the first (that I know of) Javascript implementation of IEEE Std. 1003.1 (Shell Command Language).
The project is called "Linux on the Web" :
~or~
- https://linuxontheweb.appspot.com
As individual developers, we really need to start thinking of web browsers as the hardware layer, virtualized as it may be. Just as the scripting languages of the early 90's allowed us all to start thinking at higher levels at the language layer, modern web browsers allow us to start thinking at higher levels at the OS layer.
Go to this link to test it out:
https://linuxontheweb.org/desk?desk_init=bHMgL3B1YjtvcGVuIEF...
The argument in the URL is the base64 encoding of an initialization script that is being passed to the desktop environment. Going to the link in current Edge should just open the "Arcade" app, with nothing else happening.
You should be able to drag-n-drop ".gb" or ".nes" ROM game files from your native desktop right onto the Arcade app window, and it should just start playing. You can also just drop them onto the web desktop to save them there, then just double-click them when you want to play. That way, the file is kept in the site's local storage.
Learn more about how to use the web-based OS here: https://www.youtube.com/channel/UCZkhPP7327fXcSsjD_lt67w
If anybody has wasm-capable Edge or Safari, let me know if you can play the game.
Projects like that can pioneer a whole lot of new techniques and infrastructure that can be very easily applied to whatever technology is eventually going to win out.
The main JS file that implements it is currently showing less than 6k lines (which doesn't include the lexer/tokenizer, in another file, and adds another couple thousand).
I have seen silly toys in websites that have superficial resemblances to *nix shells, but this one seriously borders on 100% standards compliance. Most users will want to run this command upon system "bootup":
$ import fs
... which loads in a lot of typical filesystem related commands like cp, mv, rm, and less. The command to edit files is:
$ edit file_name.txt
... which you can throw a '-c' flag in order to create a new, empty file at the same time. Alt+s to save edits, Ctrl+x to exit. Several nano key bindings apply.
You can do something like this to see the gui in action:
$ import gui && desk
Then you are on the desktop. You can do an Alt+t to open the terminal while there. This is a decent video to start out with: https://www.youtube.com/watch?v=9tl8I8YcH7g
A couple other recent videos can then be found from there.
Ask HN: Is my addiction to porting Unix onto the web psychologically damaging?
I've got a web site I've been working on for going on 5 years now. The project is called "Linux on the Web".See it here: https://linuxontheweb.appspot.com/The concept of a "web based operating system" is certainly not new. Most of the links returned by that search term are barely from this decade. The only project that seems to be active is called OS.js, and it is honestly a joke compared to...