Post Reply 
Public Beta Availiable - Win/Firmware
04-17-2021, 06:36 AM
Post: #31
RE: Public Beta Availiable - Win/Firmware
(04-16-2021 11:35 PM)Jean-Baptiste Boric Wrote:  Well, it's not me who needs to be convinced.
I do not try to convince you, I present arguments to all readers, including the HP team, that the risk that someone would break exam mode if native code is available is over-estimated. Unless I'm mistaken, if you look at the history of exam mode security attacks on calculators, they come from exploits of OS bugs, and not from native code execution.

Quote:To be fair, native code support does require design/development/QA time and manpower to implement, which until recently seemed to be in rather short supply for the HP Prime. It does carries non-zero amounts of risk that can be mitigated against at an extra cost. I doubt HP would be willing to go down that road. Instead, maybe we would ask for something more realistic.
Casio has support for native code (addin) on their calculators. I don't think it's unrealistic to hope the same on HP. The HP Prime has a much more capable hardware (no 2M upper limit for example), that could attract more developers and make the Prime more attractive for all users.

Quote:Personally, I'd vote for WebAssembly support. It's an open industry standard, it's sandboxed by design, several open-source implementations are available under different licenses (Wasm3 is under the MIT license for example) and the LLVM toolchain supports it as a backend. People who keep complaining about KhiCAS on the HP Prime would finally be able to run it (even though it's mostly just giac which is already available by pressing the CAS key, along with some extra bits and a bespoke UI).
It's more than just some extra bits. My main concern is that I can not publish myself a fixed firmware when someone detects a bug in the CAS, or if I want to bring improvements. For example, I'm currently improving symbolic integration code in giac, I will probably publish a revised nspire version in a couple of weeks but I don't know when it will be available on the Prime.

Quote:It's not quite as fast as native code execution especially if it's just interpreted, but most program and libraries can be ported to it as-is and the HP Prime has ample performance headroom to handle that. We don't even technically need HP's support since a WebAssembly interpreter could be written in HP PPL, although performance would be rather poor when compared to an official solution.
wasm is already supported by giac with emscripten (e.g. in Geogebra, Xcas for Firefox, Tableaunoirxcas). But it's not as simple as you say to port libraries. It's easier to port libraries with a cross ARM toolchain. And of course you will have a performance penalty. With a good wasm implementation, mean performance loss is a factor of 3 for giac (e.g. inside Firefox), but it can be much more for bigint computations (7 or 10 times for Groebner basis computations for example). Wasm3 would probably be at least 10 times slower (mean) and up to 50 times slower for large computations and that's significant for CAS.
And it's not clear that adding wasm support would require less work than adding native code support...
Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
RE: Public Beta Availiable - Win/Firmware - parisse - 04-17-2021 06:36 AM

User(s) browsing this thread: 1 Guest(s)