JSLinux

bellard.org

392 points by TechTechTech 3 months ago


tombl - 3 months ago

Fabrice does a great job at building these self-contained pieces of software which often grow to have lives of their own. As a lesser known example, JSLinux's terminal emulator was forked a few times and is now known as xterm.js, which has become the predominant web embeddable terminal emulator.

This all comes full circle, because now I'm building a true successor to JSLinux that's way faster because I've natively compiled the kernel/userspace to wasm, and of course I'm using xterm.js for the terminal emulation.

If you like buggy demos that probably shouldn't be shared yet, you should check out https://linux.tombl.dev, but note that it's currently just a busybox shell and nothing else, so I hope you're good with `echo *` instead of `ls`.

tombert - 3 months ago

Fabrice is amazing. The amount of stuff this guy has built is utterly incredible.

If I built any one of the things he's built (ffmpeg, qemu, tinyc) I would never stop bragging about it. Instead, he just keeps hacking on other cool stuff.

smusamashah - 3 months ago

There aren't many VMs that can run in browser

https://copy.sh/v86/

https://webvm.io/

https://bellard.org/jslinux/

https://jamesfriend.com.au/pce-js/ (https://github.com/jsdf/pce)

https://www.pcjs.org/ (lots of hardware and OSes) (https://github.com/jeffpar/pcjs)

Mac OS

https://infinitemac.org/ (https://blog.persistent.info/2023/03/infinitemac-dot-org.htm...)

https://jamesfriend.com.au/projects/basiliskii/BasiliskII-wo...

https://jamesfriend.com.au/pce-js/pce-js-apps/

pveierland - 3 months ago

Considering the extremes of prolific developers gives interesting contrast to dogmas such as "functions/files should never be above x lines", where `quickjs.c` is 50k lines and has functions that are hundreds of lines long:

https://github.com/bellard/quickjs/blob/master/quickjs.c

(Obviously different approaches suits different circumstances.)

rmac - 3 months ago

Kohei Tokunaga has the next generation of this

https://ktock.github.io/container2wasm-demo/

with emscripten Browser networking via fetch, or a Posix compat websocket proxy

https://ktock.github.io/container2wasm-demo/amd64-debian-was...

patwolf - 3 months ago

I played around in Windows 2000 for the first time in 20 years. I know nostalgia can be blinding, but I would go back to that UI in a heartbeat. The uncluttered taskbar, the simple start menu that isn't full of useless recommendations and ads—such a joy!

throwaway2037 - 3 months ago

Does anyone know how Fabrice Bellard gets paid? This guy's output of open source project is simply stunning. Is there anyone in his class? It is hard to compare. I assume that someone like VMWare would try to hire him, or Google to work on video codecs, V8, Chromium rendering, or ffmpeg.

keepamovin - 3 months ago

I have to say there are some extremely talented, creative and productive "software artists" or ICs coming out of France. Not sure if that's a French thing (the Ecoles or whatever) or something else, but it's noticable.

a3f - 3 months ago

We are using JSLinux over at https://barebox.org/webdemo to let potential users see the conveniences of the bootloader's shell without having to flash it to actual hardware.

I am glad to see all the forks mentioned here, need to see which one runs bareDOOM best and if any have working sound perhaps..

ridruejo - 3 months ago

JSLinux was our inspiration for creating Endor (https://endor.dev) and his qemu work is also powering a lot of other Wasm-related browser projects

NetOpWibby - 3 months ago

I just spent an hour playing Solitaire in Windows 2000

skerit - 3 months ago

I can't seem to get the Linux VMs running (I'm just getting a CORS error when it tries to fetch the little text file at `https://vfsync.org/u/os/buildroot-riscv64/head` for example), but the Windows 2000 one does work. Quite smoothly even.

slt2021 - 3 months ago

Fabrice Bellard is the Chuck Norris of software engineering

dxroshan - 3 months ago

Fabrice is an amazing programmer, and does cool things. He is an inspiration to us all.

someoneontenet - 3 months ago

My dream is have a in browser nixos vm on wasm. If I could have a bare vm, I can bootstrap it easily with a nixos config. From there I can start thinking about running web services in browser tabs instead of physical hardware.

sylware - 3 months ago

Good.

Only wayland RISC-V 64bits binaries from now on, even for the web.

We don't need anything else anymore.

slackfan - 3 months ago

Ah, the destroy all software talk is coming true!

cardiffspaceman - 3 months ago

The TEMU column is not shopping links.

gamebak - 3 months ago

This is amazing! But beware admin, it seems that the RAM can be hijacked and increased...

babuloseo - 3 months ago

I use ffmpeg to create transcript with a popular video sharing site.

roschdal - 3 months ago

JSLinux is too slow to be used for anything.

Where is the complete source code for this?

DrNosferatu - 3 months ago

- What about a WASM flavor of this, Fabrice? ;)

loeg - 3 months ago

Any particular reason we want to revisit this (2018) now?

https://hn.algolia.com/?q=jslinux

Maksadbek - 3 months ago

Fabrice Bellard is a real coding monster!

- 3 months ago
[deleted]
DyslexicAtheist - 3 months ago

for now I get a kernel panic due to NoScript.

But does this support recursion? I'd like to run JSLinux in my browser and then point its Browser to https://www.bellard.org/jslinux/ which then starts another JSLinux which opens the browser on JSLinux which ...

JSLinux isn't another Linux but a landmark of postmodern philosophy, and OP most def forgot to credit Baudrillard.

crazy cool.