This is quite contradictory, if it was challenging it would have taken significantly more time. So finally, they claim something was "relatively challenging" and they did it "in 4 days".
#Clr browser source plugin on mac code
The sandbox also disallows certain classes of instructions because they are "unsafe", and in particular most uses of inline assembly are likely to not work (again, this is what the authors claim, googling says native client supports hand-coded assembly code just fine).Īgain, the modifications they did to the code was very ad-hoc and is not proper support for an extra operating system in the MAME codebase, and is therefore not suitable for inclusion upstream. The provided libc implements many things as macros, which is a cause for several conflicts. Native Client runs applications in a minimal virtualized operating system for sandboxing, that only has partial POSIX support and doesn't even have support for the libc fopen/fclose functions (at least this is what the authors claim - googling about Native Client says it supports POSIX file I/O just fine, and C I/O should be the obvious thing to come with it). It's something you can throw away once finished, and that you'll need to redo whenever a new version gets released.
They also chose to remove use of makedep entirely, meaning their "port" is not something that anyone can keep or that could be integrated upstream. However they did that by using ad-hoc hacks specific to Native Client rather than doing it the right way: they still compile stuff that should be compiled for the host for the target, and then run it on the host with an emulator. They had to adapt the makefiles because they didn't support cross-compilation. But it's way too early to be worried about it - currently, NaCl is a mere curiosity. It could be a problem if Google refuses to participate in an effort to make a standard out of it, when (and if) it becomes widely used and has competing implementations. However, I don't see how that would be the case with NaCl: anyone can see how it works, take the code, make it work in any browser (or anything else), and change it at will with no strings attached - it has a BSD license. Now, there is a danger about non-standardized technology: it can be very bad if the creator tries to use it to prevent everyone else from competing in the same area, like was the case with ActiveX.
In each case, the new technology became a standard only after it was implemented and proven really useful.ĭemanding that every new technology comes out of a committee is insane: it's a great way to stifle innovation.
#Clr browser source plugin on mac windows
Why don't we all just run Windows and use ActiveX?Ī standard should be discussed and developed in partnership with the other parties Ī lot of standards we have today (Ethernet, HTTP, Javascript, to name a few) were born out of small groups of individuals with no input from other parties, at first. And if it isn't a standard and isn't available in all browsers people working with it will be forcing their choice of platform on their users and we're back to where we started. Just because google have published the workings of this doesn't make it a standard and there is really no reason for all other browsers to implement it. In this respect it's really no different to ActiveX. As soon as they use non-standard extensions you are no longer independent and now you are limited again. While apps only use standards you maintain independence. This doesn't make you platform independent though, it makes you OS independent - all you've done is just redefined 'platform'. That's a good thing if you take the traditional view that the OS is the platform - now you can run any old OS you like (with a standards compliant browser) and you'll be able to run the apps. The browser is your platform, that's the whole concept behind moving everything to web based. I, for one, like the idea that I can have desktop quality applications running independent of platform on my browser - and wouldn't mind if this became the standard