JSLinux

bellard.org

392 points by TechTechTech 12 days ago


tombl - 11 days 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 - 11 days 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 - 11 days 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 - 11 days 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 - 11 days 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 - 11 days 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 - 11 days 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 - 11 days 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 - 11 days 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 - 11 days 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 - 11 days ago

I just spent an hour playing Solitaire in Windows 2000

skerit - 12 days 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 - 11 days ago

Fabrice Bellard is the Chuck Norris of software engineering

dxroshan - 11 days ago

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

someoneontenet - 11 days 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 - 11 days ago

Good.

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

We don't need anything else anymore.

slackfan - 11 days ago

Ah, the destroy all software talk is coming true!

cardiffspaceman - 12 days ago

The TEMU column is not shopping links.

gamebak - 11 days ago

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

babuloseo - 10 days ago

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

roschdal - 11 days ago

JSLinux is too slow to be used for anything.

Where is the complete source code for this?

DrNosferatu - 11 days ago

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

loeg - 11 days ago

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

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

Maksadbek - 11 days ago

Fabrice Bellard is a real coding monster!

- 11 days ago
[deleted]
DyslexicAtheist - 11 days 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.