Compile Linux kernel to wasm. So it can run inside a browser with a very nice performance.
Write FS drivers to enable seamless caching and remote data storage, so you can shutdown your system on PC and boot from laptop. Or even some kind of hibernate mode, so you can just continue from where you left off.
Write graphics drivers using WebGPU and other technologies, enabling very nice performance. May be not perfect for AAA games, but for anything less demanding it'll work.
So basically make a proper Linux port for browser and then reuse all the applications already built.
UML[0] and LKL[1] prove that running the kernel in a process is viable. μClinux efforts like NOMMU and binfmt_flat prove that you don't need memory-management nor ELF to run the kernel.
Both my own independent experiments and WALI[2] have shown it's possible to port the Linux syscall interface and userland ecosystem to WASM.
I'm confident it's doable, but there are a number of other challenges to solve along the way (like dynamic linking, the Harvard architecture, etc). Currently I'm blocked on the fact that while the kernel supports running non-ELF binaries, it really wants to be an ELF itself.
[0]: https://en.wikipedia.org/wiki/User-mode_Linux
No need to run the user's browsers separately inside a slower layer of emulation, when you already have a browser implementing the desktop.
Fewer layers and less bloaty software is better. We're already stuck with the browser, and it's not going away, so use it for everything. X-Windows and Wayland are obsolete and useless, so should be flushed.
"Like, maybe 2 or 3 right now, my dude"
"You are like a little baby, watch this..."
opens 10 browsers inside browsers recursively and crashes hyper-v
Or even plain ChomeOS -- especially if you then run Firefox for Android.
Inception bwaaaaaaaa
Another useful mishmash of technology is pikvm, a kvm based on the raspberry pi.
You connect the pi to a machine via USB and HDMI, and remotely access it through the web browser.
The pi will digitize and send you HDMI out, and relay your keyboard and mouse to the remote machine.
What's fascinating is that pikvm can also emulate a usb flash drive, so from your browser you can give it a liveusb image and boot and run it on the remote machine.
Basically just what you would do with some kind of remote desktop. But it's not remote, it runs locally, with perfect latency. And it's easy to switch to another computer with any underlying host OS, without even interrupting your applications (if hibernate idea would work).
Or wait. Perhaps we could run a VM inside the OS in the browser...
Of course you could just say IPKVM or VNC, but I would say it's a bit different if you can run most of the logic client side (via webassembly etc...). So this would require the app to be rewritten to have a clearer separation between the view and controller... which is what most linux apps don't really do. So I think at this stage it's just a pipedream.
On the other side of things, you can just run an SSH + X11 server for remoting; and have fairly good integration between windows controlled by a remote process on your desktop, and windows controlled by a process on your laptop. Over fast links it’s nicer than RDP kinds of protocols.
Finally Plan 9 really runs with this idea - you can mount the processors of another system to use them on yours. Plan 9 is a distributed operating system, designed to make a network of heterogeneous and geographically separated computers function as a single system. In a typical Plan 9 installation, users work at terminals running the window system rio, and they access CPU servers which handle computation-intensive processes.
This meant for example that you could have your "personal mainframe" in your office, then go with your "laptop terminal" to a conference hall, and when it came to your presentation instead of attaching the laptop to a display, a room-local computer could be used for its resources like screen and audio. All the while you have continuity because applications stored the state on your "mainframe"
Sadly haven’t been able to find it.
There's (theoretically) nothing standing in the way of making self-hosting of serverside apps as easy and painless as installing mobile apps, except someone has to do the infrastructure/integration work to make that UX come true. Docker got us 80% of the way there, but maintaining a complex setup can still be painful even for seasoned sysops (and we'd rather not take our work home more often than we already do). Sandstorm added another 80% and I wish it could take off like mobile did.
as i understand it, it's more that you mount your window on a cpu server so your computation-intensive process can draw into it; there isn't a filesystem interface to the processor itself
If I recall at some point there was even a SunRay laptop with wifi, but I never got a chance to use one 'cause we just didn't need it.
https://news.ycombinator.com/item?id=25241123 (149 points | Nov 28, 2020 | 43 comments)
https://news.ycombinator.com/item?id=29779753 (194 points | Jan 3, 2022 | 126 comments)
This is a reminder of a time when Microsoft had all A grade players.
https://berlin.sourceforge.net/
I followed this project for years and it's still where I think we should be. X11 architecture with higher level primitives
None of them are dynamically extensible at runtime the way the browser is with JavaScript, or Emacs is with Lisp, or NeWS was with PostScript (which failed for economic reasons).
Why not simply use a standards based web browser running directly on the hardware to implement the desktop user interface and window manager and network distributed app platform (i.e. Electron), instead of trying and failing to reinvent X-Windows for the 100th time?
speaking of expensive to run, electron struggles to run an app in less than 4 gibibytes of ram, and it's impossible to get things to be reliably responsive in it. and the 'standards based' platform has the kind of sandboxing you need to safely run third-party apps, but it eats its children, like the pgp message format: you only get one level of sandboxing, no sandboxes inside sandboxes, so things implemented on the 'standard' platform can't actually use the sandboxing to confine apps
android surfaceflinger seems to have done a pretty thorough job of displacing x-windows in that surfaceflinger installs outnumber x-windows installs by about 100:1
The website of a window manager impersonating the window manager.
Creator says it took three years on the side to build: https://www.reddit.com/r/react/s/JZRRdq1Qv3
Interesting note, Chrome now shows me how much memory each tab consumes. No matter what I did it is always stay on 50mb (which sounds like a bug in chrome), while a page from SO consumes 87mb and HN takes about 30mb.
I wonder if it's the animated wallpaper that's causing the fans to fire up.
And each time you just decrease the animation durations by half. :)
I always speed them up by 2x, makes the ui feel snappier.
What is the use like these works?
https://www.windows93.net/ https://v3.windows93.xyz/ https://windows96.net/
> TalOS the gift of HefaistOS KholOS to MinOS, KokalOS who gave DaidalOS refuge in KamikOS from MinOS, PegasOS, OrfeOS, AisculapiOS, MinotaurOS, CetOS, AgriOS, EnkeladOS, HippolytOS, SisyphOS, NessOS the son of KentaurOS who slew Herakles the lover of IolaOS and slayer of AntaiOS
sadly theseus is θησεύς, ending in an actual υς rather than the ος of the above examples, so he isn't eligible to have an operating system named after him
OK, found: https://github.com/durasj/webamp-desktop/releases/tag/v0.3.0
The html + css approach is wonderful, easy to learn and thanks to arias and html standard amazing in terms of accessibility.
It’s quite sad that Microsoft apparently doesn’t think he’s worthy of the ‘senior’ title yet whilst his work is heaps better than most seniors I know. Kinda explains their poor software quality lately.