Unix in the Browser Tab

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • possimpible

    Kernel in TypeScript

  • Wow I'm literally implementing this right now!!

    I was stuck at parents for xmas and I picked Tannenbaum “distributed systems” and “Modern operating systems”, which gave me an idea of running a "kernel" on a browser. It was more of an academic exercise than anything else, but my intention was to have a the following:

    Being able to unload and reload javascript. The initial idea was to write the website inside the website, but at the core level it requires having something akin to process isolation for javascript. It also requires the dom to be isolated.

    Implementing 9p2000, and share resources across browsers. I’ve been reading about the ideas of plan 9 and i would like to implement something that allows me to connect point to point to other browsers and mount their FS into mine so we can share resources.

    One of the cool results that I got was that since the dom is not directly changed (each process/worker has its own partial dom and every time that it changes it a delta is sent back to the main thread for sync) it allows javascript to be running somewhere else (another browser, back end server) and sync’ed back (much like vadaain, but more agnostic).

    Most of the code was inspired by the linux kernel (which gave me a reason to go learn its internals) and is kinda nasty at some points but is written in typescript as some of you have already mentioned. Someone might find it interesting even if just for the educational purpose of it

    https://github.com/intigos/possimpible

  • gotty

    Share your terminal as a web application

  • I have a demo of this here [0] (all the software is in /opt/appfs/rkeene.org). It's using GoTTY [1] for presenting a Linux pty and terminal to your browser, and a simple sandbox.

    [0] https://rkeene.dev/js-repl/?arg=bash

    [1] https://github.com/yudai/gotty

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • v86

    x86 PC emulator and x86-to-wasm JIT, running in the browser

  • xpra-html5

    HTML5 client for Xpra

  • Xpra (see https://github.com/Xpra-org/xpra-html5) is very similar to Guacomole, except the backend Xpra server is written in Python (and Cython), whereas Guacomole's server is written in Java and C. Xpra native frontends, but also an html5 frontend that you can embed in web applications. For example, CoCalc provides a modified version of that html5 frontend to serve graphical X11 apps: https://cocalc.com/features/x11

  • wasi-libc

    WASI libc implementation for WebAssembly

  • I think there is a straightforward path to having Browsix generically support the WebAssembly WASI system interface[0] -- any toolchain that emitted binaries targeting that would then work in Browsix without e.g. Emscripting needing to know anything about Browsix.

    0 - https://wasi.dev

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts