Hacker Newsnew | past | comments | ask | show | jobs | submit | Klasiaster's commentslogin

So great that they worked on it! It seemed to be part of the arti work for a couple of years but I wasn't sure it was really on the roadmap. Wanted to do something like this since 2017 with smoltcp and also had a glued together version of it via badvpn/tun2socks (large DNS responses were broken though).


What's truly missing for Wasm and WASI to be an alternative to POSIX is dynamic instatiation so that a Wasm program/component can start another Wasm program/component by providing the bytecode at runtime. So far I don't think anyone is working on that.


in the browser you can compile modules and create instances from arrays of numbers/bytes, here's an obfuscated example: https://wasmgroundup.com/blog/wasm-compiler-in-a-tweet

if the host provides the guest wasm module via imports a function to create and run from an array of bytes then it can be done today (if I understand you correctly).

Here's some related content: https://github.com/pdubroy/til/blob/main/wasm/2024-02-22-Run...


Yes, this can be done today, though it needs some gluing together. On the Web (and in Node etc.) you can use JavaScript to create and link the modules, which is how dynamic linking support for wasm works there:

https://emscripten.org/docs/compiling/Dynamic-Linking.html


On the Web, you can do that today. This is what https://webvm.io does for example. It jit-compiles Wasm modules at runtime from the original X86.


The wasp runtime has a run_wasm host export but I guess that's cheating

https://github.com/pannous/wasp


I wonder if it hasn't been done because it would break the security model


does it? a program would be able to spawn another program only with the exports available to him


Many apps depend on running an "official" Android distro from Google, Samsung, etc. and don't work with Waydroid's Lineage-based distro. I think the Wine-like approach from https://gitlab.com/android_translation_layer/android_transla... might help to trick apps into believing that they run on an "official" Android distro.


There is a set of specific APIs you have to simulate to trick apps like this. On “real” Android, such simulation is done with things like Magisk modules (which mock certain things) or microG (which reimplementats Google services as a whole). The Wine-like approach used in ATL is certainly more straightforward for simulating APIs, but it’s still needs to be reimplemented specifically for ATL. Waydroid, on the other hand, can probably reuse Magisk or microG, since it’s running a whole Android setup.


Here is a list of implemented syscalls, but of course each checked one could still be slightly incompatible:

https://asterinas.github.io/book/kernel/linux-compatibility....


There's also tons of ioctls and /proc and what not.


There was also the similar project Kerla¹ but development stalled. Recently people argued that instead of focusing on Rust-for-Linux it would be easier to create a drop-in replacement like these two. I wonder if there are enough people interested to make this happen as a sustained project.

¹ https://github.com/nuta/kerla/


> Recently people argued that instead of focusing on Rust-for-Linux it would be easier to create a drop-in replacement like these two

I guess it depends on what they mean by "easy". Certainly it's easier in the sense that you can just write code all day long, and not have to deal with the politics about Rust inside Linux, or deal with all the existing C interfaces, finding ways to wrap them in Rust in good, useful ways that leverage Rust's strengths but don't make it harder to evolve those C interfaces without trouble on the Rust side.

But the bulk of Linux is device drivers. You can build a kernel in Rust (like Asterinas) that can run all of a regular Linux userland without recompilation, and I imagine it's maybe not even that difficult to do so. But Asterinas only runs on x86_64 VMs right now, and won't run on real hardware. Getting to the point where it could -- especially on modern hardware -- might take years. Supporting all the architectures and various bits of hardware that Linux supports could take decades. I suppose limiting themselves to three or four architectures, and only supporting hardware made more recently could cut that down. But still, it's a daunting project.


You can embed attachments in PDFs. This way you could include CSV or JSON files into your PDF report. For a quick way doing it with CLI see `qpdf --help=add-attachment`


A major problem is that one can only have a single connection. It would be nice to do WiFi Direct or AdHoc mode while being connected to an AP. Being able to use WiFi without losing the AP connection (or having a standardized AdHoc channel for discovery) would replace uses of Bluetooth in consumer devices where Bluetooth is used for the initial connection to join a WiFi - some devices rely on WiFi Direct but the UX is very bad because the AP connection gets lost.


Great to see it getting ready. Since the USB-C Power Delivery port doesn't support Display Port output, maybe there is a complex adapter that could splice the HDMI signal in (converted to Display Port) while still supporting data and Power Delivery?


Seems parts of the needed adapters do exist: https://www.amazon.com/Adapter-Converter-Thunderbolt-MacBook...


I have been wondering about something similar myself. It seems like each interface on the port boards has a separate internal cable, so even though by default PD is on the left port board and HDMI is on the right it might be possible?


I love that his exists without even being in the need of it!


I don't understand what the advantages are over Servo's inbuilt web browser¹. So far they look the same when opening but the inbuilt web browser is more stable (I see rendering bugs with Verso and it panics when entering a domain without the http(s):// prefix).

¹ https://servo.org/download/


Different project scopes. Servo's browser is just intended for testing. It recently got an address bar. Verso seems to aim for more features.


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: