2,341 karma · joined October 4, 2013
Italy is characterized by _lots_ of small/medium sized businesses (not startups, actual profitable businesses often decades old). Some of them producing state-of-the-art tech in many different industries (Aerospace, Defense, Pharma, etc). The issue with this highly fragmented industrial environment is that it might be difficult to know what it is like to actually work somewhere before spending some time there. Companies tends to be unique.
There are also offices from all the well known names (Google etc...), but usually these are sales oriented. I'd still call them "tech jobs" though.
About Visas, as an Italian citizen I don't have direct experience. I suspect it might be difficult to get one. Of course EU citizens can do what they want.
There might be (relatively) easy paths to citizenship for people with italian ancestry though.
In terms of quality-of-life I'd recommend Tuscany, but as an expat Milan might be the best choice. Good luck.
More seriously though, you are right. The current implementation of the Linux syscalls interface does not enforce permissions and users. We plan to implement those correctly at some point.
This said, most use cases we are currently considering do not have any shared state and are mostly "throw away" execution environments. As such the missing access control checks do not seem to be a significant problem.
The next demo we are planning is actually more ambitious, we will drop users into a bash shell and give them control of the machine. The experience will be something like having your own zero-cost cloud machine always available and with total data privacy.
At this time we don't plan to make CheerpX open source, although this might change in the future. We are still working to figure out exactly what use cases we should bring to market first, so we prefer to keep our options open.
CheerpX allows running unmodified X86 programs, it does not matter if it's Python or something else. It does not even have to be a REPL, for that matter. We use this tech in production to run the legacy Flash plugin, for example: https://leaningtech.com/cheerpx-for-flash/
It seems to us that in server-side scenarios it is most usually possible to execute apps natively anyway.
Powered by CheerpX: A WebAssembly virtual machine for X86 executables.
Please note that is a sneak preview of our tech, we plan to release it soon to the public. Stay tuned.
At LeaningTech we have since several months been able to run nodejs, but also python and ruby using our Wasm based x86 VM (CheerpX), the demo is available here: https://repl.leaningtech.com/?nodejs
With our solution the full Linux x86 binary of nodejs is running including the whole of V8 and its JIT engine. Of course fully client side.
This tool allows to safely run applets in Chrome purely in HTML5/WebAssembly/JavaScript. No plugins needed.
Over 50k users are using it, and over the years we have been shocked by how many people and businesses are dependent on this kind of legacy content.
The extension is only intended for non-commercial use, we offer business an even better/faster solution by converting Java bytecode Ahead-of-time.
Disclosure: I am CTO of Leaning Technologies, the company developing this extension and the underlying CheerpJ technology.
Obviously compiling directly to Wasm will provide the best level of performance, but it also take effort for every single application/library you want to port.
(2) We are implementing syscalls and devices as they are needed for the various use cases we are considering. In general even if something is not natively supported in the browser it can still be virtualized to various degrees. In particular CheerpX provides a virtualized FileSystem that does not map to your local files. The same would apply for the virtual disks in traditional VMs though.
(3) We plan to release benchmarks soon, but the level of performance is very promising. Consider that we have been using the Flash plugin as our main benchmark which is very demanding. For the REPL use case the limiting factor right now is I/O performance, but we are already working on this and we thing we will achieve much better results very soon. In general, all aspects of CheerpX performance will improve, we are really not done yet.
The scrolling behavior you mentioned is actually a feature, we want to give people time to read the first message before filling up the console.
Further reading:
https://medium.com/leaningtech/preserving-flash-content-with...
https://medium.com/leaningtech/running-flash-in-webassembly-...
https://medium.com/leaningtech/announcing-cheerpx-for-flash-...
https://medium.com/leaningtech/cheerpx-for-flash-now-general...
For questions: https://twitter.com/alexpignotti