sunfish | 2 years ago | on: WASIX, the Superset of WASI Supporting Threads, Processes and Sockets
sunfish's comments
sunfish | 3 years ago | on: Alan Kay on web browsers, document viewers, Smalltalk, NeWS and HyperCard (2021)
The goal is to build a new platform. Initially, that looks like adding layers on top of existing platforms (which, as you say, already have multiple layers). If we succeed, then we get to start taking out some of the layers.
sunfish | 3 years ago | on: Alan Kay on web browsers, document viewers, Smalltalk, NeWS and HyperCard (2021)
If you mean at the bottom of the wasm, the the answer is, those won't be legacy APIs. The direction we're heading is to provide POSIX compatibility as an emulation layer on top of a cleaner foundation, rather than just doing POSIX at the base layer.
If you mean that all Wasm engines today are implemented on top of traditional operating system APIs, then yes, that is how things will often work, but that's ok. What really matters is how the virtual platform works. We don't have to expose things like "the filesystem namespace" directly to wasm, even if it's present in the host. And if we don't expose "the filesystem namespace", then we don't have the associated problems, even if the underlying host has them.
sunfish | 3 years ago | on: Alan Kay on web browsers, document viewers, Smalltalk, NeWS and HyperCard (2021)
sunfish | 3 years ago | on: No Ghosts
sunfish | 3 years ago | on: No Ghosts
As an example of one such tool in practice, compare the task of "list all open file descriptors in an arbitrary Unix process" with "list all strings an arbitrary Unix process incorporates some knowledge of". One is a one-liner (`lsof -p <pid>`) and one is really tricky at best, and probably can't be done reliably.
sunfish | 3 years ago | on: No Ghosts
The blog post linked here is thinking about how the systems themselves could be designed differently, whether that's OS's, frameworks, platforms, languages, clusters, networks, or other things.
sunfish | 3 years ago | on: No Ghosts
To be sure, Unix-domain sockets aren't the answer to everything, but they are an example of a different way to think about communication.
sunfish | 3 years ago | on: System76 Lemur Pro Linux laptop with 14 hours of battery life
sunfish | 3 years ago | on: The State of WebAssembly 2022
Javascript can be compiled to WebAssembly, and there are people doing it:
https://bytecodealliance.org/articles/making-javascript-run-...
sunfish | 4 years ago | on: Bugs in Hello World
So to really do hello world in C right, in addition to fflush, you also need to check the return value from puts. I've never seen any C tutorial do that though.
sunfish | 4 years ago | on: liblinux: Architecture-independent access to Linux system calls
https://github.com/sunfishcode/mustang
It supports threads, filesystem, networking, and more!
The library for making Linux system calls is:
sunfish | 4 years ago | on: Rust programs written entirely in Rust
sunfish | 4 years ago | on: First-Class I/O
This is independent of whether the actual I/O is done via mutation/side-effects/execution/etc. or monads/purity/referential-transparency/etc.
sunfish | 5 years ago | on: A gentle intro to assembly with Rust
sunfish | 5 years ago | on: A gentle intro to assembly with Rust
sunfish | 6 years ago | on: Securing Firefox with WebAssembly
Beyond that, that file is just a simple example for showing how to work with the toolchain and the sandbox.
sunfish | 6 years ago | on: Why does WebAssembly need the relooper algorithm, instead of gotos? (2019)
https://github.com/WebAssembly/design/blob/master/FutureFeat...
sunfish | 6 years ago | on: Why does WebAssembly need the relooper algorithm, instead of gotos? (2019)
sunfish | 6 years ago | on: Standalone WebAssembly games using I/O devices
The article linked here is an advertisement for a startup.