
Show HN: CheerpX – x86 virtualization in browser using WebAssembly – Python Demo - apignotti
https://www.leaningtech.com/pages/pythondemo.html
======
apignotti
This demo requires WebAssembly tail calls support. Instructions for how to
enable it in Chromium are included.

~~~
vanous
Sounds very interesting. Can Firefox be used too? I am on mobile right now and
it only shows the "It looks like CheerpX could not start" in Firefox for
Android.

~~~
apignotti
Firefox does unfortunately not currently support WebAssembly tail calls.
Sadly, they also seem not be making any progress on this feature, even if it's
supposed to be in the "Implementation Phase" of the WebAssembly
standardization process.

------
apignotti
Feel free do drop me any question:
[https://twitter.com/alexpignotti](https://twitter.com/alexpignotti)

------
perryizgr8
I've seen many python repl websites. What's the difference here?

~~~
apignotti
This is literally running the Ubuntu x86 packages for python in the browser,
by dynamically recompiling binary code to WebAssembly.

This demo is indeed just a Python REPL, but the technology is fully generic.
On top of this you can make _any_ binary run. We are actually working on using
this to preserve Flash content by running the official Adobe plugin safely in
the sandbox.

~~~
Nuzzerino
Kind of like Emscripten but for x86 instead of LLVM?

~~~
apignotti
CheerpX is actually fully dynamic. You don't even need to "compile" things
manually before. You can just feed binaries to the JS API and the program will
run.

~~~
Nuzzerino
Appears to be proprietary based on the look of the website - what's the price
range for this?

~~~
apignotti
Our roadmap is to release our Flash solution in 2020, and we are in the
process of finalizing the pricing of that. We have not yet defined how other
uses (like REPLs) will work. If you have an interesting use case for our tech,
drop us a line info@leaningtech.com

