Slashdot Mirror


MAME Running In Chrome

An anonymous reader writes to point out this interesting outgrowth of Google's Native Client: a Google engineer has ported MAME 0.143 to the browser-based platform, and written about the process in detail, outlining the overall strategy employed as well as specific problems that MAME presented. An impressive postscript from the conclusion: "The port of MAME was relatively challenging; combined with figuring out how to port SDL-based games and load resources in Native Client, the overall effort took us about 4 days to complete."

165 comments

  1. Is Google trying to fragment web? by SharkLaser · · Score: 5, Insightful

    We had that shit before with ActiveX. We need standards, not some stuff that only works in Chrome. However, I guess it's better for Google - now they have something that only works with Chrome. So when new users go to some web site it will say that they need to download and install Chrome to use it. Old users will also be locked to Chrome.

    Don't do that. Only use standards like HTML5 that work in every browser.

    1. Re:Is Google trying to fragment web? by errandum · · Score: 5, Informative

      I don't see your problem. It's not like they won't be supporting the standard, investing on their platform (that they even consider big enough to be your whole PC UI).

      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. By uniting all OS'es under this platform, I don't believe that there is fragmentation (what exists now IS fragmentation)

    2. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 1

      I don't think its intended to be accessed as a web resource, but a purely local one. Chrome has its own apps and an app store of its own as google intends to use it as an OS on their own devices while still enabling all software on their OS to be cross-platform. So, if you code your app on native client it should run on ANYTHING (OSX, Windows, Linux, & Google Chrome OS), locally. Far as I'm concerned, HELL YEAH.

      I'm coding for native client.

    3. Re:Is Google trying to fragment web? by drolli · · Score: 1

      And if you want some native program, then why not to compile the C on the client side (or use LLVM from the beginning)? In that way at least a new platform had a chance to compete. Compiling something for a specific architecture will automatically put all other architectures in a disadvantage.

    4. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Don't do that. Only use standards like HTML5 that work in every browser.

      I wouldn't be surprised if Google started to sell NaCl as being "HTML5". You can call anything "HTML5" nowadays and even the HTMLWG acquiesces.

    5. Re:Is Google trying to fragment web? by bmo · · Score: 0

      >ActiveX

      You totally misunderstand the entire point of MAME.

      MAME exists so you can run unmodified ROMs of classic games. Right down to the "insert coin" handling. It's not about running "work-alike games" but rather taking ROM dumps and using them.

      This is also not something that is going to be a standard part of Chrome. It is completely optional. It is literally a toy, to run toys. It's not meant to be anything other than that.

      --
      BMO

    6. Re:Is Google trying to fragment web? by 51M02 · · Score: 1

      We had that shit before with ActiveX.

      Native Client runs in a sandbox so it's nothing like ActiveX.

      HTML5 does nothing in itself, it still needs some coding to be done in Javascript. While Javascript interpreters did get better and faster it's still far from native speed. And it's still only Javascript. If you have a game developped in C I still don't see how to convert it to Javascript. MAME is one example of a complex C program hard to translate to Javascript but could be ported easily (4 days) to the Native Client platform.

      Chrome is available for most platform including Linux and is open source. So stop whining about it not being a standard. It's not IE we are talking about.

      --
      --- Bouh !!! ---
    7. Re:Is Google trying to fragment web? by Tubal-Cain · · Score: 1

      NativeClient programs = ChromeOS programs NativeClient support in the Chrome browser creates incentive to write NativeClient apps: write once, run everywhere.

    8. Re:Is Google trying to fragment web? by shione · · Score: 1

      I can't see whats wrong with this as this is a binary and not a website. Mame is ported to many OSs already and by porting it to chrome, it now works on any device that can run chrome. Websites are different though. They're public pages on the web and if they're only written to work in chrome then other browsers would be discriminated against. Chrome is also on windows, mac, linux, ios and android which basically covers everything. When ms was doing their activex shit, ie was only available on windows which meant if you didnt have windows you were SOL using the the website.

    9. Re:Is Google trying to fragment web? by shione · · Score: 1

      My bad. It looks like Native Client is windows, Mac and Linux only. Still thats more operating systems supported than activex ever has.

    10. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 1

      While we're at it, let's get rid of that pesky Firefox with add-ons that only work under FireFox...

    11. Re:Is Google trying to fragment web? by SharkLaser · · Score: 1

      So why make it again, and especially why bundle it with browser? There is Adobe AIR already and it works with every browser, not just Chrome. And on every platform, too.

    12. Re:Is Google trying to fragment web? by SharkLaser · · Score: 3, Informative

      I'm talking about Native Client, not MAME per se.

    13. Re:Is Google trying to fragment web? by Clarious · · Score: 1

      NaCl is open source, but Mozilla has refused to include it in Firefox.
      Also NaCl is quite different from ActiveX, if you have time to read the papers you will see that it is highly secure without hurting the performance much, as the code is analyzed before executing to make sure it won't do anything macilious.

    14. Re:Is Google trying to fragment web? by JanneM · · Score: 4, Insightful

      "write once, run everywhere"

      Write once, run in Chrome.

      You really want to return to the days when sites required a specific browser to let you in?

      --
      Trust the Computer. The Computer is your friend.
    15. Re:Is Google trying to fragment web? by StripedCow · · Score: 1

      With your logic, any attempt at advancing the web can be seen as an attempt to fragment the web.

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    16. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      * We had that shit before with ActiveX.

      Native Client? Not from what I've heard. I was extremely skeptical of Native Client - as should everyone be. UNTIL I actually looked at the details and watched the techtalks and saw how it actually works (security for example). It is a genuinely interesting idea for helping to port code from older native applications or for applications that need to be native for speed - without some shitty JIT getting in the way.

      There are parts that sound strange - like code on other architectures ending up being JITed into native stuff for portability... which sounds like a hell's merry-go-round. But I'm willing t give them the benefit of the doubt. This isn't Microsoft's collossally stupid ActiveX. Check it out for yourself.

    17. Re:Is Google trying to fragment web? by bmo · · Score: 0

      Then what, exactly are you trying to say?

      ROM images are not some new Web markup technology. They are old tech. Older than the Web itself. They have nothing whatsoever to do with the Web.

      MAME is for local use.. Having a plugin for Chrome allows one to open ROMs locally and run them within the browser on tablet devices. This is pretty cool and useful.

      It is entirely useless over the Web, however, because who, exactly, is going to open himself up to lawsuits by serving up ROM images of Zaxxon or Frogger out in the open?

      Your entire first post in this is a non-sequitur argument merely to flame Google and Chrome for no reason whatsoever.

      --
      BMO

    18. Re:Is Google trying to fragment web? by nogginthenog · · Score: 1

      Chromium is open source, Chrome is not.

    19. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 1

      ..

      You really want to return to the days when sites required a specific browser to let you in?

      The biggest problem was that it was not just one specific browser but it was one specific browser on one specific platform.

    20. Re:Is Google trying to fragment web? by deniable · · Score: 3, Insightful

      Java programs = JVM programs Java support in the browser creates incentive to write Java applets: write once, run everywhere. Been there, done that. Didn't get a t-shirt.

    21. Re:Is Google trying to fragment web? by StripedCow · · Score: 1, Insightful

      Native Client is a Chromium project, which means it is open-source, and other vendors can implement it as well.
      Right? (IANAL)

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    22. Re:Is Google trying to fragment web? by supersat · · Score: 2

      I've thought about this a fair amount and have come to the conclusion that Native Client is not at all like ActiveX.

      First, ActiveX targeted the Win32 APIs, ensuring that it only works under Windows. Native Client now uses the new Pepper APIs (which is a replacement for the old Netscape Plugin APIs) and runs under Windows, OS X, and Linux.

      ActiveX relied on users to decide if a plugin is trustworthy. Native Client uses a sandbox to prevent code from doing anything that a regular web page couldn't do.

      Work is underway to make Native Client work across multiple architectures. While x86, x64, and ARM are all supported today, soon you'll be able to build LLVM binaries that can be run on any architecture.

      Microsoft's interest in ActiveX was tying web applications to Windows. Google's interest is in moving the web forward. After all, the more capable web applications can be, the better positioned they are to compete with traditional desktop software.

      Google has long experimented with non-standard APIs in order to stimulate progress. For example Google Gears added geolocation, local databases and storage, background workers, and more. Due to the success of Gears, all of these are now in the HTML 5 standard. I think Google will pursue standardization of Native Client when it's more mature. In the mean time, it's giving people a glimpse of what web apps can be.

      (And just to give Microsoft some credit, they sometimes move the web forward too. For example, they enabled AJAX with their XMLHTTP object in IE, which was later standardized as XMLHttpRequest.)

    23. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Java is also "highly secure" and "extremely fast" (faster than C/C++ in some cases and that's true). It's also sandboxed, yada yada.

      NaCl is also difficult to integrate because it depends on V8. No V8 no NaCl, which means by extension, that it can only work in Chrome. So much for "but it's open source".

    24. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 1

      I for one don't want control of my desktop applications in the hands of 'cloud'. If I have dependence on something, I want to ensure I have access to it. this includes control, not just convenience.

      there is nothing wrong with fragmentation. it allows innovation. if everything's monolithic, nothing can change.

    25. Re:Is Google trying to fragment web? by BasilBrush · · Score: 2

      MAME is one example of a complex C program hard to translate to Javascript but could be ported easily (4 days) to the Native Client platform.

      Just because it was done in 4 days doesn't mean it was easy. They said themselves it was relatively challenging. And reading through their description of how many things that MAME does are not supported in Native Client, it does indeed look challenging.

      This was done by a team of damn good engineers.

    26. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Are you retarded or something?

    27. Re:Is Google trying to fragment web? by kangsterizer · · Score: 1

      NaCl is much more similar to java applets.

      And no, MS point of activex was, probably to allow easier plugin implementation (they already had sufficient lock-ins to have 95% of the OS market back then)
      Google's goal is obviously client browser control by enforcing Chrome. For one thing, NaCl is actually, well, about running native apps and not writing open apps (web technologies such as html/js/webgl/etc force you to write open apps). For the other, it's terribly difficult to implement in other browsers, and there is not a single doubt that Google would change the specs along the way so that other browsers don't have all the features.

      Now you don't have to believe me on that. You can just check.

      - Google's playing the spec/changes game already on HTML5. Many things are Chrome-only, and often in obscure way. Like, Gmail, Gdocs offline? Well it works only on Chrome because it uses Chrome specific tags. Please go ahead and look at it.

      - Google has a Chrome-only webstore which only, only works with Chrome. Even thus the apps on it are regular webapps, those use also a few Chrome-only things and you require Chrome to use the web apps (which, btw, are just websites of course, by nature).

      Now if that's not attempting to lock-in users and fragmenting the web I don't know what is.

    28. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      no thanks.. just another vendor api. nothing to see here. pcs suffer enough from ideologically or financially motivated stacking of apis that hinder performance and make manageability annoying. sun was saying the same thing about java in 1998 and microsoft still calls dot net 'cross platform.'

    29. Re:Is Google trying to fragment web? by kangsterizer · · Score: 4, Informative

      It's not a plugin. It's integrated in chrome. It's called NaCl aka native client.
      the mame emulator is just ran from NaCl just like you load a java applet when you visit the web, except that the java part would be integrated into chrome.

      it doesn't work anywhere else. do you call java applets loaded from - the web - local programs?

      And there are tons of emulators that work on the web *without* NaCl and which are fully open. Heck there's even a Linux emulator.None of which uses NaCl.

      Finally please note that you can't currently run NaCl properly on tablet devices. Also that's *Android* tablet devices, and no, they don't actually ship with Chrome yet.

      So you're entire post is very uninformed.

    30. Re:Is Google trying to fragment web? by kangsterizer · · Score: 1

      Firefox addons are full javascript. Plus Chrome supports similar addons.
      They've nothing in common with NaCl.

    31. Re:Is Google trying to fragment web? by thejynxed · · Score: 1

      Because it's an Adobe product, with every niggling bug, exploit, and vulnerability associated with Adobe software that typically takes them months to even acknowledge, let alone fix.

      --
      @Mindless Drivel: 100% of Twitter posts ever Tweeted.
    32. Re:Is Google trying to fragment web? by SharkLaser · · Score: 2

      That still doesn't change anything. Microsoft lets other browsers implement ActiveX too if they want to. But they don't. Why would other browsers suddenly start supporting everything Google does, especially non-standard stuff?

    33. Re:Is Google trying to fragment web? by Wabbble · · Score: 1

      As long as native support is still there, we have nothing to worry about and I seriously doubt that they'd be doing something like Microsoft and Silverlight.

    34. Re:Is Google trying to fragment web? by icebraining · · Score: 2

      The source is not sufficient. A standard should be discussed and developed in partnership with the other parties, not just "here's a code dump, take it if you want".

    35. Re:Is Google trying to fragment web? by StripedCow · · Score: 1

      Once NaCl gets sufficient momentum, I guess other vendors will, simply because it will allow them to access the content provided by the NaCl ecosystem.

      ActiveX was not adopted because the technology was just inherently broken.

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    36. Re:Is Google trying to fragment web? by MichaelJ · · Score: 2

      it is highly secure as the code is analyzed before executing to make sure it won't do anything macilious.

      That's not highly secure. That's a challenge.

      --

      Michael J.
      Root, God, what is difference?
    37. Re:Is Google trying to fragment web? by StripedCow · · Score: 1

      The problem with HTML is that it actually does not work in every browser (reliably). The reason is that the standard is way too complex. The underlying reason is that it was designed for humans, not for compiler back-ends. Supporting a handful of machine instructions in a reliable and secure way is actually much simpler than supporting the enormous HTML (and javascript, css, etc.) standard.

      So, in a way, W3C actually fundamentally fragmented the web when it introduced HTML.

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    38. Re:Is Google trying to fragment web? by StripedCow · · Score: 4, Insightful

      Java is much more high-level, because it integrates a garbage collector in the VM. This is what makes it a sluggish memory hog.

      NaCl does not do that. It allows lean-and-mean code. It is basically like a lightweight version of VMWare/VirtualBox sitting in your browser.

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    39. Re:Is Google trying to fragment web? by raburton · · Score: 5, Insightful

      > 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

      The browser is your platform, that's the whole concept behind moving everything to web based. 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.

      This doesn't make you platform independent though, it makes you OS independent - all you've done is just redefined 'platform'. While apps only use standards you maintain independence. As soon as they use non-standard extensions you are no longer independent and now you are limited again. In this case you are limited to Chrome.

      In this respect it's really no different to ActiveX. 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. 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. Why don't we all just run Windows and use ActiveX?

      Richard.

    40. Re:Is Google trying to fragment web? by icebraining · · Score: 1

      That's what PNaCL is for, but it's still in earlier stages.

    41. Re:Is Google trying to fragment web? by hairyfeet · · Score: 2

      Uhhh...because no matter how smart Google engineers THINK they are the malware writers are smarter? As the first poster said look at the history of ActiveX. When it first came out it was like a Godsend, an easy to use way to just host an app on your server and have ALL the branches instantly have access to it or to do the same for your customers. No rollout headaches or compatibility problems it all "just worked" but before you could say "Oh shit!" every malware writer and his cat and his cat's squeaky toy figured out how to get around the security and use it as a one stop malware drop. MSFT spent something like 4 years trying to plug the holes but it was like whack a mole.

      Personally I really really REALLY don't want native code running on my browser, thanks ever so. sandboxes can and have been broken out of and its just too risky a vector IMHO. While they've had a few sharp ideas (if anyone hasn't tried it chrome remote desktop makes taking control of a system for support work pretty damned simple) I really don't think this is the brightest idea they've had. I suppose we shall see but I wouldn't be surprised if the malware guys figure out how to jump out the sandbox just like they figured out how to get past FF's XSS protection and then this will be all kinds of nasty, especially on older systems that may not have all their patches up to date.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    42. Re:Is Google trying to fragment web? by TeknoHog · · Score: 2

      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. By uniting all OS'es under this platform, I don't believe that there is fragmentation (what exists now IS fragmentation)

      AFAIK, the "native" in NaCl means that it is compiled for a given CPU architecture. It is probably independent of the OS, but you still couldn't run an x86 version on ARM, for example.

      --
      Escher was the first MC and Giger invented the HR department.
    43. Re:Is Google trying to fragment web? by sproketboy · · Score: 1

      "If NaCl gets sufficient momentum." There fixed that for you.

    44. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Exactly. Not just broken, but a major security risk. NaCL is sandboxed and much more powerful, not to mention less bulky. I can see at least Firefox including it (you know, since Google just signed to give them $300 mil a year), which could potentially force the others too as well. If anything, Google has Chrome Frame for IE which I believe will be able to run NaCL content (?) so that just leaves Safari and Opera, both of which have low market share but generally loyal users. If those users request it, they'll eventually get it. At least with Opera.

    45. Re:Is Google trying to fragment web? by JohnnyMindcrime · · Score: 1

      Personally, I run MAME (have done for years) and I run Chrome, but apart from a quick look to satisfy my inquisitive geekness, I doubt I will use this long term.

      No, it's not standard, but neither are the plugins that you can run in Firefox, Chrome, etc. that give you themes, adblocking, download management, etc.

      And not that I own a single Apple device either (or plan to) but I assume this will be of interest to Apple users who currently can't load MAME onto their iP*ds/iPhones unless they jailbreak - as far as I'm aware, any emulation is a strict no-no on the App Store (and one of the main reasons I don't give Apple stuff a second glance).

      But I assume they can run Chrome and therefore can run MAME in it now. And if it's non-standard in this case then sobeit - it's for a minority of the populace that use Apple devices AND want to retrogame.

      --
      Windows 10 is great - I used it to download Linux.
    46. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      So it just crashes after a while by using up all memory? ...
      Since you don't know what you're talking about why not not shut up.
      Follow your own advice please.

    47. Re:Is Google trying to fragment web? by gbjbaanb · · Score: 1

      ActiveX was not adopted because it required (basically) Windows. If you tried porting it to another platform, you'd be onto an never-ending port.

    48. Re:Is Google trying to fragment web? by chrb · · Score: 2

      Microsoft never released the source code for free, though. The probability of uptake is higher if other browsers are given a free implementation.

    49. Re:Is Google trying to fragment web? by Hatta · · Score: 1

      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.

      Except that it defeats the purpose of choosing your OS. Why bother having multiple OSs at all, if you're just going to launch a browser and do everything there. You might as well boot directly into the browser to begin with.

      --
      Give me Classic Slashdot or give me death!
    50. Re:Is Google trying to fragment web? by tepples · · Score: 1

      NaCI doesn't garbage collect? So it just crashes after a while by using up all memory?

      That depends on how you define garbage collection. Some people define it to include only tracing garbage collection using a reachability metric, as used in the Java virtual machine, the .NET CLR, or the Boehm GC. Others define it more loosely to include reference counting schemes like that of CPython, retain/release in Objective-C, and the shared_ptr of Boost and C++11.

    51. Re:Is Google trying to fragment web? by tepples · · Score: 1

      For one thing, NaCl is actually, well, about running native apps

      When an NES emulator running in JavaScript runs as fast as an NES emulator in native code, I'll believe you that native code isn't useful.

      a few Chrome-only things

      If not Chromium, then in which project should developers experiment with new features before proposing their addition to HTML5?

    52. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Which some laptop can do nowadays.....

      The difference is that this has a standard while operating systems do not. The browser in this case acts as an abstraction layer on top of the very diverse OS. Sorta like the posix standard but aimed more for modern users. The main benifit is that it doesn't require cooperation from OS makers.

      Now is this a good or bad direction to take for the web/browser? Not sure but Google seems to think so and hence why they push it. Whether the rest of the world follows remains to be seen.

    53. Re:Is Google trying to fragment web? by marcello_dl · · Score: 1

      > I, for one, like the idea that I can have desktop quality applications running independent of platform on my browser

      I for one welcome your new OS overlord :D
      The advantage in running everything through the browser is ease of installation and compatibility with all platforms using that browser.
      The disadvantage is the security problem such freedom of installation poses, google browser becomes the os, and has to solve every problem the traditional os do. And until EVERYTHING you need has a native client version you'll be stuck with both an os for native apps and an os in the browser. Plus if you don't use chromium google has the same amount of control MS has on windows.

      Now, the advantage might still be good in the windows platform but take debian model. You have apt, the mother of app stores, with cryptographically signed packages, very very few installation problems even when you get 10x the number of apps that make windows choke, network activity is under your control, you can analyze traffic by port if you use traditional internet apps. And you're multiplatform and scalable. Did I fscking mention you're FREE too? I sure hope the web 3.0 resembles the internet 1.0 and not this.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    54. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      What happens is that Google engineers are unable to think outside of the web browser box, for a good reason: Google makes 96% of its profit with ads, they want users to spend as much time as possible looking at their browser. So things like this make a lot of sense to them.

      --
      There is a new arrogant asshole in town!

    55. Re:Is Google trying to fragment web? by gl4ss · · Score: 1

      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. By uniting all OS'es under this platform, I don't believe that there is fragmentation (what exists now IS fragmentation)

      AFAIK, the "native" in NaCl means that it is compiled for a given CPU architecture. It is probably independent of the OS, but you still couldn't run an x86 version on ARM, for example.

      '

      it's noteworthy that google has sort of parallel development going on with NDK for android, which is using native code from within android apps. but that has support for fat x86+arm binaries. now, why couldn't they just do android for chrome?

      --
      world was created 5 seconds before this post as it is.
    56. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      NaCL is completely open source you jackass. Surely the mighty Microsoft and now 300,000,000 doll or flush Mozilla can handle incorporating this great technology into their browsers. But, no, fuck that. Let's hold back the state of the art so that you can get a +4 for a good old fashioned google bash.

    57. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Instead of being an ideologue drone, how about manning up and using the right tool for the right job? Want ease of installation, cross platform compatibility, strong sand boxing, ease of upgradability? The answer is NaCL. I'm all in.

    58. Re:Is Google trying to fragment web? by Ihmhi · · Score: 1

      To be fair, you could use the same argument and say that it's not fair that Firefox extensions don't work in Chrome, Opera, IE, etc.

      I mean, I get the web should be all about open standards and everything, but if every browser could the same things as every other browser, why would people even make a choice?

    59. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Quick guess: NaCl runs on otherwise uncontrolled operating systems and therefore does a *lot* more checking of the binaries (limited instruction set, required 4-byte alignment of instructions and jumps,...). If anything, you'd get NaCl on Android, not the other way around.

    60. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      It's not ActiveX because it's (a) roughly as powerful as JavaScript and (b) doesn't run as a plugin. It's more client-side scripting in the language of your choice than a all-powerful plugin.

    61. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      As the first poster said look at the history of ActiveX.

      With that you've completely disqualified yourself to anybody that actually knows better (which admittedly that is a vanishingly small number of people here on Slashdot). NaCL is completely different from ActiveX and to compare the two is utter ignorance. ActiveX required the code you are running to be completely safe. NaCL is more like an industrial strength javascript in that it absolutely does not require the code you are running to be trusted. Now tell me how we should all abandon javascript because the malware authors are "smarter" than the js engine writers. Typical AHairyPFeetK indulgent stupidity.

    62. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Yeah, you can run ActiveX anywhere you want as long as it is on Windows(TM). That is nothing like NaCL which runs in Chromium/Chrome on every platform they run on which is essentially all of them as Chromium is open source and so is NaCL. Who let the 'tards into slashdot? Oh...the 2,xxx,xxx ID should have been the first tip-off. Do you and InterestingFellow/CmdrPony/cgeys/soppsa have beers after a "shift"?

    63. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Stop drinking the kool-ade

      Stop using tired ass internet memes that make you sound like a 16 year old valley girl. I can't help but to assume you also rolled your eyes and flipped your hair as you were typing that.

    64. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      actually, 32 byte alignment.

    65. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      I know right? Those darn forward thinking Google engineers. Always trying to make the web better and faster and more secure. It just grinds my gears that I can't comfortably use my Internet explorer 6 on hardly any website because of Google's incessant meddling and making the web better for everybody. What every happened to the halcyon days of MS having 95+ percent of browser share and we liked it? Or you are just an idiot. That's my other likely thought.

    66. Re:Is Google trying to fragment web? by Justin_Schuh · · Score: 5, Informative

      I can appreciate your confusion, but comparing NaCl to ActiveX doesn't really make sense. Once you instantiate an ActiveX control it runs arbitrary code at your full user privilege. Whereas NaCl is much more accurately compared to the restricted execution environment of a virtual machine, such as Java, .NET CLR, or even JITed JavaScript. It's just that NaCl virtualizes a well-defined subset of an existing hardware instruction set, rather than one developed specifically for it. That virtualization (and the associated instruction validation) is the primary security mechanism, and is typical of a VM environment. The process sandbox is just a defense-in-depth measure (and a very strong one) layered underneath an existing VM sandbox.

      However, there's no reason to take my word for it. If you research it a bit you should find that NaCl has a comparable or (in most cases) a more robust security model compared to the web-delivered execution environments most people are already running.

    67. Re:Is Google trying to fragment web? by goruka · · Score: 1

      It IS a plugin, it uses the PPAPI specification, which is a much improved plugin API. Firefox and Opera will probably never want to implement it, though.

    68. Re:Is Google trying to fragment web? by ChunderDownunder · · Score: 2

      Well that's the strategy of ChromeOS. The browser is, effectively, the OS.

    69. Re:Is Google trying to fragment web? by SharkLaser · · Score: 1

      Complex software has bugs, news at eleven. NaCI will have too.

    70. Re:Is Google trying to fragment web? by hairyfeet · · Score: 1, Insightful

      Can someone PLEASE tell me where the hidden setting is to block ACs, please? because I swear their fanboi bleating and flag waving must knock a good point or two off any IQ that dares to read their bullshit.

      Newsflash: sandboxes WILL be broken and no matter how smart your precious Google is (which if you think running native code in a browser is just JavaScript can i have some of what you are smoking?) the malware guys are ALWAYS smarter, always. look at how badly Google has gotten assraped in Android market with malware, everytime they think they have a handle on it something new comes out and stomps them down again.

      In the end just like JavaScript you are talking about running third party untrusted code and hoping the sandbox holds which we've seen time and time again is a BAD assumption to make. Even with all the testing JavaScript STILL gets "JavaScript malware o' the day" yet you think that running native code on top of that is SAFER? I'm sorry but if you were any more full of shit your post would smell like a porta-potty in July.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    71. Re:Is Google trying to fragment web? by Justin_Schuh · · Score: 1

      The parts of Chrome that differ from Chromium don't have anything to do with NaCl. The extras in Chrome amount to branding, settings, and plugins that cannot be distributed under an open source license (ie. Flash, PDF).

    72. Re:Is Google trying to fragment web? by Justin_Schuh · · Score: 1

      That still doesn't change anything. Microsoft lets other browsers implement ActiveX too if they want to. But they don't.

      You can't implement ActiveX in another browser. You can instantiate an ActiveX control on Windows in any application you want, but that's an entirely different thing. To implement ActiveX on another platform you'd have to also implement all of Windows, because that's the platform and API that ActiveX is written to. So, the comparison isn't really valid.

      Why would other browsers suddenly start supporting everything Google does, especially non-standard stuff?

      They shouldn't unless they have a compelling reason. If NaCl proves itself viable and and develops a broad base of supporting apps, then other browser makers might certainly find that to be a compelling reason to add support--hopefully using the open source code and documentation already available.

    73. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Java is also "highly secure" and "extremely fast" (faster than C/C++ in some cases and that's true). It's also sandboxed, yada yada.

      These are all hotly debated points. It's best to present them that way, lest people perceive you as being intentionally dishonest.

      NaCl is also difficult to integrate because it depends on V8. No V8 no NaCl, which means by extension, that it can only work in Chrome. So much for "but it's open source".

      I'm at a loss to express just how wring this statement is. There's no dependency between NaCl and V8. To the contrary, the two run in the same browser, but use dramatically different and incompatible architectures (load-time static code validation vs. runtime patching and recompilation).

    74. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      I think we're starting to realize a lot of stuff is needed on top of the source code, such as documentation, build instructions, known bugs. I see lots of FOSS projects that are pseudo open. You can get the code dump, yes, but the code's local cult protects from modification through social means.

      Can you hear me Audacity?

    75. Re:Is Google trying to fragment web? by FrangoAssado · · Score: 3, Informative

      A standard should be discussed and developed in partnership with the other parties [...]

      A 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. In each case, the new technology became a standard only after it was implemented and proven really useful.

      Demanding that every new technology comes out of a committee is insane: it's a great way to stifle innovation.

      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. 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. 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. But it's way too early to be worried about it -- currently, NaCl is a mere curiosity.

    76. Re:Is Google trying to fragment web? by BZ · · Score: 1

      The whole issue with Native Client is that it is NOT independent of platform. You have to specifically compile for particular hardware architectures; whichever ones your server doesn't have binaries for won't work.

    77. Re:Is Google trying to fragment web? by BZ · · Score: 1

      > Native Client now uses the new Pepper APIs

      Which are not so much documented; the only documentation is the implementation. How is that different from Win32?

      > and runs under Windows, OS X, and Linux.

      That's not all that interesting a metric. More interesting to me is that it only runs on certain hardware platforms, by design, so if it takes off that means no new hardware platforms can arise that can use the web.

      Or put another way, if this had happened in 1998, ARM-based phones would have been a non-starter.

      > Work is underway to make Native Client work
      > across multiple architectures

      If that actually happens, we can revisit the discussion. So far, a number of the LLVM folks are pretty doubtful. See http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/043719.html for example.

      > Google's interest is in moving the web forward.

      Google's interest is in tying users to their services (search, gmail, Google docs, etc) so they can deliver advertising.

      This may or may not coincide with moving the web forward as a whole. In the past it often has. Right now, a lot of the things Google is doing are harmful to the future of the web but good for Google services.

      > Google has long experimented with non-standard
      > APIs in order to stimulate progress.

      "progress" is not a single thing. Google is only interested in the forms of "progress" that benefit them. As long as those forms also benefit their competitors, things are not too bad. But I don't expect that to continue for much longer...

    78. Re:Is Google trying to fragment web? by makomk · · Score: 1

      PPAPI is, as I understand it, the Chrome-specific plugin API that's implemented by NaCl applications; NaCl itself is integrated into the browser. (I believe they're planning on migrating everything across and dropping support of NPAPI at which point Chromium users will be even more screwed than currently because the version of the Flash plugin that ships with Google Chrome isn't available to anyone using Chromium. Their Google Chrome-only PDF reader plugin already uses PPAPI incidentally.)

    79. Re:Is Google trying to fragment web? by icebraining · · Score: 1

      There's a big difference between forcing everything to go through to committee, and having a strong leadership but with a "release early, release often" approach and seeking input.

      And Javascript is a great example of a good technology with bad warts that could've been corrected if he had a little more time to gather feedback. As for HTTP, have you looked at the original spec? The implementation was so simple feedback would've been almost useless.

      currently, NaCl is a mere curiosity

      Possibly, but NaCl is just an example of what it seems to me as a trend.

    80. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      I will believe that the day Google fires arrogant assholes like Andy Rubin, Vic Gundotra and Tavis Ormandy.

    81. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      I will believe that the day Google fires arrogant assholes like Andy Rubin, Vic Gundotra and Tavis Ormandy.

      Yeah, I'm sure they're getting right on that now since you mentioned that. I mean, the billions of dollars the products that those guys head up be damned. amiright?

    82. Re:Is Google trying to fragment web? by RobbieThe1st · · Score: 1

      Well, as far as I'm concerned, you are right... Until Firefox has a competing implementation. At that point, it's a standard.
      Also, so long as it's /architecture/ independant - I.e. can be compiled for ARM or any other arch you want... Great!

    83. Re:Is Google trying to fragment web? by FrangoAssado · · Score: 2

      There's a big difference between forcing everything to go through to committee, and having a strong leadership but with a "release early, release often" approach and seeking input.

      I don't understand your position. Are you suggesting no one should develop anything except in the open and accepting suggestions from anyone, or merely that it might be a good idea to be considered?

      Javascript surely would have benefited from input from other people. OR it would never have existed, because Netscape and others would be too busy deciding the features of the language to ship it with Netscape 2.0, and then someone else would do something else first. And maybe the CERN people, after receiving input from other parties, would think better and decide that a text-only protocol really was too simple to work for any serious data transfer, what were they thinking?

      In the end, it doesn't seem productive to try to dictate how innovation should happen. And we certainly shouldn't prevent people from doing new things a certain way because they *might* do it wrong.

    84. Re:Is Google trying to fragment web? by drolli · · Score: 0

      i know. i would have preferred it it they did it earlier. Its not an open standard if its bound to a platform once.

    85. Re:Is Google trying to fragment web? by Locutus · · Score: 1

      lighten up Frances! This stuff is open source, unlike ActiveX(also known as CaptiveX ). And besides, even if it were technically defined as a "standard" it would still only be available in Chrome initially and other vendors would have to do the work. Since it is open source, other vendors are welcome to use it, implement it in their product(s) and even join in the development just like an official "standard".

      Unlike HTML5, which you seem to think is magically a cross platform standard, Native Client is all open. HTML5 has many aspects of it which allows vendors to use proprietary components and many vendors are doing just that. MPEG4 for instance as this blogger points out: http://elearningroadtrip.typepad.com/elearning_roadtrip/2010/05/before-you-get-too-twisted-about-flash-and-html5.html

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    86. Re:Is Google trying to fragment web? by kripkenstein · · Score: 1

      It's not a plugin. It's integrated in chrome. It's called NaCl aka native client.

      NaCl works through the Pepper plugin interface, which is a plugin API just like NPAPI is. So NaCl is most definitely a plugin, even if it is bundled in Chrome. For comparison, Flash is also bundled in Chrome, but it is of course still a plugin (it works through NPAPI).

      Finally please note that you can't currently run NaCl properly on tablet devices.

      You can't run them on anything that isn't x86 or x86_64, and it isn't clear whether we ever will.

    87. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Unlike ActiveX, Pepper and (P)NaCL are being developed in the open, support all of the current major architectures (IA-32, x86-64, ARM, more possible), and are arguably better for intensive processing and large datasets than JavaScript. The only reason that only Chrome supports them at the moment is that it was created by Google, but Mozilla is involved in Pepper too. Once Firefox fully implements Pepper, it will get NaCL support too.

    88. Re:Is Google trying to fragment web? by Vecanti · · Score: 1

      ..

      You really want to return to the days when sites required a specific browser to let you in?

      The biggest problem was that it was not just one specific browser but it was one specific browser on one specific platform.

      Well, it sounds like currently you have to be on Chrome AND on x86? Is that correct?

    89. Re:Is Google trying to fragment web? by Macrat · · Score: 1

      Why don't we all just run Windows and use ActiveX?

      How about Java applets?

      Anyone remember Java WebStart?

    90. Re:Is Google trying to fragment web? by Billly+Gates · · Score: 1

      This is relevent to Chrome being the next IE 6 of the 2010s in my opinion.

      I keep trying to say the same thing yet get modded down to flamebait half the time.

      NACL is the new platform of choice for Chrome OS. Those who say it is opensource do not get that is means applications written in Dart and not AJAX. Also IE 6's HTML and CSS 1 support was opensource and documented too. Look at all the IE 6 apps they can't be ported that still run today! It is a mess.

      I know Google is cool and MS is bad on MS but Google has mentioned they plan to port Chrome to Andriod if Chrome OS fails and use that as the new platform. Metro at least is more Ajax and open sourced in Windows 8 than NACL/Dart/and other other proprietary technology. Even if the source code is available it violates the spirit of the web

    91. Re:Is Google trying to fragment web? by Billly+Gates · · Score: 1

      Or need to use Chrome for apps and features that are not compatible with every other browser.

      hmmm this sounds vaguely familiar. Like I remember a similiar time not too long ago.

      6 months ago there was an HTML 5 demo that mysteriously only worked in Chrome advertised in slashdot. The trick most did not notice was it only worked in Chrome because it was HTML 5 based and had glue that was proprietary to Chrome.

      We already went through this, and at work still are going through replacing IE 6 due to this sillyness. I do not want to be stuck in a similiar situation a decade from now you write for Chrome, and it then breaks in every other browser as you have to find some obscure AJAX api that mimicks NACL/Dart for a half assed experience for non Chrome users. Google would love this and be the king of their cloud based ecosystems and this is their plan.

    92. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      what everyone overlooks is that when you convert a flash app to run on the iPhone it's LLVM converting it from Actionscript3(Javascript) to ARM assembly using the AIR runtime. There is nothing whatsoever preventing Adobe from using this same mechanism to target Chrome NaCL to get things on Android without further flash development.

      Seeing that Adobe has abandoned mobile development, this is the only recourse going forward. Forget AIR, it was a nice try, as was Java, but the security threat model has since chanced since their inception.

    93. Re:Is Google trying to fragment web? by deniable · · Score: 1

      But this time it's different. I've heard that before. Thanks for the sales pitch.

    94. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      Hey dill-weed, blow it out your god damn ass! hairyfeet owns your little punk bitch ass.

    95. Re:Is Google trying to fragment web? by Anonymous Coward · · Score: 0

      When you get to languages like C in school, they will teach you that in those languages, you have to specify when a memory area is no longer needed so that it can be re-used. Garbage collection is a process by which the runtime manages to figure out that a memory area is no longer in use without being told so by the running program itself. So in C, you don't need garbage collection.

    96. Re:Is Google trying to fragment web? by djnforce9 · · Score: 1

      Has anyone tried this MAME application in some other browser? It does seem that these types of games/apps supposedly written for the Chrome browser DO run just fine in Firefox (assuming your computer supports WebGL) but often the link to actually use the software is hidden unless you are in Chrome. I know the Chrome Web Store does this yet everything works fine assuming your computer can run WebGL. For example, I have gotten Angry Birds Chrome to play just perfectly in Firefox without any fancy workarounds once I knew the URL. Same goes for some of the other games there.

  2. Amazing! by Gaygirlie · · Score: 3, Informative

    It's now possible to make a native client of MAME...which...already was native... uhhh, hmm.

    1. Re:Amazing! by tepples · · Score: 1

      All this means is that if you already have an application written in a language that compiles to native code, such as C or C++, you can deploy it easily to Chrome users. So if you've made a new video game that runs on a PC, you can port it to the Pepper API and make a playable demo available to Chrome users (and any IE users willing to install the Google Chrome Frame BHO).

    2. Re:Amazing! by gr8_phk · · Score: 1

      It's now possible to make a native client of MAME...which...already was native... uhhh, hmm.

      Yeah, but instead of running MAME full-screen, you can now run it inside a web browser. Awesome! I want all my apps to sprout web interface features. Not.

    3. Re:Amazing! by Anonymous Coward · · Score: 0

      I know, right? Porting applications over to other virtual machines and architectures is such a waste of time. I mean, who wants to go to the trouble of delivering their application in front of as many eyeballs as possible therefore making more money from your work? Surely not you...you've made enough already flipping fries right? You could probably even stand to give some of it away.

    4. Re:Amazing! by Anonymous Coward · · Score: 0

      First of all, Chrome will full screen just like any other window. Second of all, Chrome supports an "app" window that doesn't have any controls at all just the window manager controls. And thirdly, as a troll, you failed completely.

  3. general purpose computing by StripedCow · · Score: 1

    In light of the discussion here:
    http://yro.slashdot.org/story/11/12/30/2159200/doctorow-the-coming-war-on-general-purpose-computing

    Let me say: Finally, general purpose computing coming to the web!

    Besides, if this trend continues, we can finally be relieved of the quirks of web-browsers and just send our applications as-is, without any compatibility problems, and continuous maintenance due to continuously changing browser specs. Apps will JUST WORK (tm). About time.

    --
    If Pandora's box is destined to be opened, *I* want to be the one to open it.
    1. Re:general purpose computing by StripedCow · · Score: 1

      But note, if Apple would allow Native Client in Safari, we would be able to run Flash on iOS after all :)

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    2. Re:general purpose computing by BZ · · Score: 1

      As long as you're willing to tie your app to particular hardware platforms.

      Which is terrible for the future of the web, of course.

    3. Re:general purpose computing by Anonymous Coward · · Score: 0

      This will be solved in a few months when PNaCl gets ready, then NaCl will run LLVM programs and thus we'll have processor independent NaCl executables

  4. Summary by Anonymous Coward · · Score: 5, Interesting

    - They had to adapt the makefiles because they didn't support cross-compilation. 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 also chose to remove use of makedep entirely, meaning their "port" is not something that anyone can keep or that could be integrated upstream. It's something you can throw away once finished, and that you'll need to redo whenever a new version gets released.

    - 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). The provided libc implements many things as macros, which is a cause for several conflicts. 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).
    Again, 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.

    So finally, they claim something was "relatively challenging" and they did it "in 4 days". This is quite contradictory, if it was challenging it would have taken significantly more time. In particular, for most software, it is not uncommon to take several months to port to another platform, and typically takes much more work than what they've done.
    What they did is adapt a piece of cross-platform software to work on an extra platform that is very similar to one other platform it already supports. The process in doing so was fairly straightforward and accessible to any software engineer. They did it quickly and badly, preferring ad-hoc hacks over good software architecture. They didn't fully port it and disabled significant parts of the software and reduced its performance.
    Not really a great achievement.

    1. Re:Summary by loufoque · · Score: 1

      Argh, forgot to log in before posting...

    2. Re:Summary by BasilBrush · · Score: 3, Insightful

      I'd tend to go with what "the authors claim" rather than your Googling, since this port was done by Google engineers working on Native Client. If they don't know what it does and doesn't do, no one does.

      Resume of the person who posted the method of porting:
      http://muth.org/Robert/resume.html

      You're probably right that they went for a quick and dirty approach rather than future maintainable port. But why not, if that is what met their objective? They obviously want to test/prove/demonstrate the capabilities of Native Client. They can do that by just getting MAME running and pointing to it. It isn't their job to take much longer (several months in your estimation) to make it fully maintainable.

    3. Re:Summary by gbjbaanb · · Score: 1

      sure, but a quick and dirty hack only proves some possible potential of the platform, it does not mean its ready for real-world use as no-one wants a platform that only supports a ton of hacking to get it to work.

      Until they release MAME in a maintainable form that is supported upstream (as that would be a fine recommendation of fitness for purpose), this is just a toy to be played with.

    4. Re:Summary by loufoque · · Score: 0

      Regardless, the Google-supplied information is inconsistent. Chances are, the features are supposed to work but don't quite do, so they workaround'ed the issues instead of fixing them.

      A good port without hacks and included upstream would have much more value in vouching for the quality of their platform.

      What I see only makes me think that NaCl is not a platform worth considering for serious software development.

    5. Re:Summary by Anonymous Coward · · Score: 0, Flamebait

      Hey, jackass, you do realize that native client is still in development phase and has not had general release right? Of course it isn't fully ready and functional yet. How about instead of being an asshole and judging free alpha software like you just paid 100 dollars for a shrink-wrapped box of it at Worst Buy, you just accept the fact that significant changes are likely to take place before release and saving your bitching and moaning until then. Fucking Slashdot know-mornings couldn't code themselves out of a wet paper bag slamming somebody elses product that hasn't even been released yet. Yeah, I'm surprised.

    6. Re:Summary by stephanruby · · Score: 1

      Cool. You seem to know what MAME is? What is it? I clicked on the link, but the site doesn't say.

  5. Replacement for apps. by Anonymous Coward · · Score: 0

    No. Google are trying to create a new standard that hopes to replace application delivery on the web.

    HTML and JavaScript is STILL too slow for anything useful.
    The DOM is 10 kinds of pain in the ass to work with, especially when it comes to different renderers. W3Cs terrible instructions that led to a whole bunch of different values for input handling, inconsistent handling of CSS and a billion other things. (not to mention the ability for websites to BLOCK your own keyboard because some tube thought it was a good idea to prevent key presses to bubble up beyond the browser process. Escape should have been the general pause-all key, or, you know, PAUSE KEY, WHY DOES NOBODY USE THIS KEY)

    NaCi hopes to fix the application part. That doesn't outright deny applications in the browser.
    Those guys got Quake 2 (was it?) running in the browser using only web stuffs and an experimental API. And with the new Mouselock API, the ability to lock the mouse to a position will allow first person games to be done the right way, instead of having to batter your mouse by lifting and dropping it constantly to keep you centered. (or virtually doubling the dimensions of the canvas so a full circle can be done in a smaller area)
    But that was running in a Canvas. (and using another API for 3D that has been disabled for security reasons)
    It didn't have to deal with the terrible DOM system and the fifty billion attributes and conditions it needs to check in order to exist where it does.

    So we have the DOM, which is just plain terrible, nobody can deny that. It is too big and complicated for its own good. Most people don't need what the DOM offers. Ever.
    Then we have CSS, annoying again due to it being so strict, no decent inheritance control or rules / pattern matching (well, very basic) and a bunch of other problems, especially some attribute names/values.
    Then we have JavaScript... I like JavaScript, but god DAMN is it a pain in the ass sometimes. The abilities of the language are nice, but the way it is expressed isn't entirely ideal for the language itself. (and we have to deal with the horrible inconsistency between browsers that still exists today)

    The web was a nice idea. But stop trying to make it fit everything else. It wasn't built for it. (which is also why they created the SPDY protocol to replace HTTP, which nobody seems to be using either despite it cutting things in around half compared to HTTP, HTTP is literally hacks upon hacks now)
    We need something to replace Java now that Oracle owns it and will destroy it.
    Java was obtuse, stupidly bloated and old.
    Didn't Google work on something like this recently? It wasn't Go, something else I think. It had some fantastic features.

    1. Re:Replacement for apps. by Anonymous Coward · · Score: 1

      which is also why they created the SPDY protocol to replace HTTP, which nobody seems to be using either despite it cutting things in around half compared to HTTP, HTTP is literally hacks upon hacks now)

      SPDY is shit. It's complicated with its own hacks like a hardcoded compression prefix that saves on order of a hundred bytes per connection (web pages are pushing 1 MiB and google are hacking out a few bytes). It doesn't proxy well, and on top of that in practice it's the same speed as pipelining.

      NaCi hopes to fix the application part. ... Those guys got Quake 2 (was it?) running

      Main problem with NaCl is that it secures the code but not the APIs. Every API in NaCl has to verify all its parameters just as well as an operating system call does, meaning with any large API set there will be security flaws. Another big problem is the code doesn't run on different architectures (even if they get the LLVM compiler integrated it won't run well). A probably problem is that it relies on hardware hacks that are unused in normal programs, and if some security research discovers flaws in how CPUs implement segments etc then those CPUs will need to emulate the code.

      In other words it's possible for NaCL to be a net good, but unlikely.

    2. Re:Replacement for apps. by icebraining · · Score: 1

      Didn't Google work on something like this recently? It wasn't Go, something else I think.

      You mean Dart.

    3. Re:Replacement for apps. by makomk · · Score: 1

      SPDY is also non-standardized and Google keeps changing the details. Basically, the standard is however Google's implementations happen to behave, and only the client side of them is open. The Firefox developers are working on an implementation but kept running into issues because of this.

  6. Won't work on Chrome beta by Anonymous Coward · · Score: 0

    It says "Package is invalid: Could not unzip extensions" on the latest Chrome beta (16) for me

  7. party like its 1999 by Anonymous Coward · · Score: 4, Interesting

    Sorry, this comment requires Google Chrome 11.56258772331 with WebGL and VP6 installed
    Click here to go back
    Click here to visit webring

    The internet, 1 step forward, 2 steps back, feet together

    1. Re:party like its 1999 by YA_Python_dev · · Score: 2

      I get your point, but please note that WebGL is a web standard (implemented in Firefox, Chrome, Safari, Opera and Internet Explorer) and VP8 (I assume you mean VP8, the video codec used in WebM, and not literally VP6 that's obsolete) has multiple free/open source implementations and even its patents are available with very liberal conditions that make them compatible with free software licences.

      WebM unfortunately is not (yet?) part of the HTML standard due to strong opposition from Apple and Microsoft, but it's interoperably implemented in Firefox, Chrome, Opera, Safari and Internet Explorer (the latter two require the installation of the WebM codec in the OS, all other browsers just work out-of-the-box). It's also the thing that allowed me to not install a proprietary Flash plugin on my last two computers, so I kinda like it.

      Avoiding lock-in and proprietary techs on the intertubes is a very good thing, but neither WebGL nor WebM are a problem here, IMO.

      --
      There's a hidden treasure in Python 3.x: __prepare__()
    2. Re:party like its 1999 by Anonymous Coward · · Score: 0

      So what if WebGL is a standard. XForms is a web standard too. Being a standard means nothing if everyone doesn't implement it completely and consistently.

  8. ActiveX is non-free by tepples · · Score: 2

    Why don't we all just run Windows and use ActiveX?

    The difference is that Windows is non-free and chromium-browser is free software. (Google Chrome is chromium-browser plus Flash and a couple other minor non-free bits.)

    1. Re:ActiveX is non-free by aloniv · · Score: 3, Interesting

      The difference is that Windows is non-free and chromium-browser is free software. (Google Chrome is chromium-browser plus Flash and a couple other minor non-free bits.)

      Actually chromium-browser isn't entirely free software:
      http://libreplanet.org/wiki/List_of_software_that_does_not_respect_the_Free_System_Distribution_Guidelines#chromium-browser

    2. Re:ActiveX is non-free by Firehed · · Score: 1

      Great, I've gone from $179 vendor lock-in to $0 vendor lock-in. Until others implement NaCl, I'm still forced to use Chrome to get at that software. As it so happens I use and quite like Chrome, but when that inevitably changes and suddenly I want to start using Firefox again, I will not have that option. No, I will not fork chromium and make my own browser. Technically possible does not mean practical, and therefore I don't consider it an option.

      --
      How are sites slashdotted when nobody reads TFAs?
    3. Re:ActiveX is non-free by Anonymous Coward · · Score: 0
      Only a word class zealot would get all upset over:

      Problem: (1) Copyright or license of some code is unclear (2) Links to proprietary plugins.

      Call me when Microsoft even thinks about doing anything fun and interesting like this, and we'll talk about who's the evil, corporatist monster.

      Also, "List of software that does not respect [our guidelines for licensing your software]..."? Fuck them.

    4. Re:ActiveX is non-free by Anonymous Coward · · Score: 0

      That's just FSDG, and the reasons are minor:
      (1) Copyright or license of some code is unclear
      (2) Links to proprietary plugins.

  9. Appears to be part of Chromium by tepples · · Score: 1

    This page makes me think NaCl is part of chromium-browser as opposed to being one of the few non-free things bundled with chromium-browser to make Chrome.

  10. Because it's smaller than Windows by tepples · · Score: 3, Insightful

    Microsoft lets other browsers implement ActiveX too if they want to. But they don't.

    Because they'd have to reimplement the entirety of Windows.

    Why would other browsers suddenly start supporting everything Google does, especially non-standard stuff?

    Because the Pepper API is a much more achievable target than the entirety of Win32.

    1. Re:Because it's smaller than Windows by BZ · · Score: 1

      > Because the Pepper API is a much more achievable
      > target than the entirety of Win32.

      That's not saying much.

      The Pepper API is tied to various details of how V8 and WebKit interact, from what I've seen, and has no sane definition other than the implementation. Attempting to actually duplicate it would require enormous resources. Probably less than duplicating win32, but the latter is actually a semi-solved problem (see Wine project).

  11. Two BIG differences between NaCl and ActiveX by YA_Python_dev · · Score: 5, Informative

    1) NaCl is free/open source software, both the SDK and the client implementation in Chromium; ActiveX was proprietary and every program required to be signed by Microsoft to run by default;

    2) NaCl is secure (see this IEEE article, it's very interesting) and designed to be portable to different browsers and OSes; you can safely run untrusted code, just like you would do with JavaScript; ActiveX required not only to trust that the controls weren't malicious, but also to trust that they all were free of security bugs: if only a single signed ActiveX control somewhere had a security bug, it could be exploited to p0wn Windows PCs (that's why Microsoft had a growing list of signed controls and another growing list of signed-but-blacklisted controls).

    Native Client is certainly not perfect, but please don't compare it to ActiveX. Entirely different beast.

    Disclaimer: I speak only for myself and not anyone else. IANARE.

    --
    There's a hidden treasure in Python 3.x: __prepare__()
    1. Re:Two BIG differences between NaCl and ActiveX by makomk · · Score: 1

      NaCl is secure

      It's so secure that by default Google Chrome only uses it to execute code that's from trusted sources, more specifically from their app store.

    2. Re:Two BIG differences between NaCl and ActiveX by Anonymous Coward · · Score: 1

      According to Google the reason they only allow executing code from their store it is so they can control all NaCl apps (which right now are processor dependent) until they get PNaCl ready which will be processor independent (apps will run in LLVM). If I'm not mistaken they are planning to release PNaCl in a few months, so this restriction will go away soon.

      If you take a look at their papers and get more info about NaCl, it should be as secure as rendering and HTML page, for instance NaCl apps don't even have access to your filesystem as a Java application would have.

  12. Why is this important by YA_Python_dev · · Score: 2

    It's now possible to make a native client of MAME...which...already was native... uhhh, hmm.

    It's not immediately obvious, but there are two advantages in having a program running in NaCl rather than directly on top of the OS:

    1) portability: exactly the same code runs in any OS that has a browsers that supports NaCl (right now this means Linux, Mac OS X and Windows);

    2) security: users can safely try running it even without knowing if MAME can be trusted (users often are not good at making security decisions); obviously this is not terribly important in this particular case since MAME is free software and is very unlikely to contain any malicious code, but even code written by the good guys can have security bugs that can be exploited if the thing is run directly on top of the OS. With NaCl you only need to keep a single program secure (the browser) to be protected.

    --
    There's a hidden treasure in Python 3.x: __prepare__()
    1. Re:Why is this important by mounthood · · Score: 2

      You didn't mention the biggest benefit: no deployment hassles! Imagine taking a C/C++ app your company depends on and won't let go of, recompiling it to work with NaCl, and it's instantly distributed to all clients. Nighty changes would be easy for everyone. Caching is built-in. Troubleshooting an install is dead simple; clear the cache and click the link again.

      --
      tomorrow who's gonna fuss
  13. Now what codeing mame to use GPU Cpu for some stuf by Joe_Dragon · · Score: 1

    Now that will speed it up and maybe make running games that used 3d chips run at a good speed or some kind of on it's own X86 VM for the games that used X86 cpus where you need to emu the input / security boards in them + maybe a 3d card.

  14. Linux in Native Mode? by rossjudson · · Score: 3, Funny

    I wonder who will construct the crazy mobius loop of running Linux in Chrome's native mode? It'll be google-colored turtles all the way down.

  15. Fun Project for its own sake? by Anonymous Coward · · Score: 0

    This is probably a project that some team at Google cobbled together during their sanctioned free time, no?. The methods used to execute the port are geek-worthy (the hurdles that they faced and how they cleared them - who isn't interested in the solution to a challenging problem?) This seems more like 'let's see if we can do this, and maybe we'll learn something useful while we're at it' (which is definitely geek-worthy), and not as much an attempt or even glimpse into a direction that Google is leading its browser.

  16. MAME and ROMs by CanEHdian · · Score: 3

    I love MAME and have been using it (on and off) since the very early MS-DOS days. The problem with MAME is that most of the needed ROM dumps are still copyrighted, and will remain under copyright for a very, very, very long time and it remains to be seen when they will enter the Public Domain, if at all.

    The MAME community should be on the forefront of the Copyright Term Reduction struggle; freeing up ROMs should be a major goal. Some ROMs, with Exidy being the Shiny Example, have been made available to us, but everything that is not listed here should be treated as suspious if not downloaded from a trusted source.

    --
    When the copyright term is "forever minus a day", live every day like it's the last.
    1. Re:MAME and ROMs by stefancaunter · · Score: 1

      Mame just turned 15, IIANM. I still keep a running mame 0.35, with roms, from around 1999, because it always works, and plays the 1980s games just fine. It would be quite lovely to be able to point chrome at a file location and run a game. God I'm lazy now....

    2. Re:MAME and ROMs by Anonymous Coward · · Score: 0

      > The MAME community should be on the forefront of the Copyright Term Reduction struggle; freeing up ROMs should be a major goal.

      I'm not sure which project you're talking about.

      But the one hosted over at mamedev.org is primarily a DOCUMENTATION effort. They emulate machines as accurately as possible to create a complete set of source code files that /describe/ a particular machine and its hardware. Being able to actually play games is a side effect of the documentation effort. If you've ever looked at their source code and the ridiculously detailed ASCII diagrams included for just about every arcade PCB out there, you'd know this.

      Again, MAME could give a shit less about copyrights.

      The primary goal of the project is to document *hardware*, not *software*. And to that extent it has been a great success.

      -AC

    3. Re:MAME and ROMs by evilviper · · Score: 1

      I love MAME and have been using it (on and off) since the very early MS-DOS days. The problem with MAME is that most of the needed ROM dumps are still copyrighted,

      I fail to see how that can be considered a "problem" of MAME. It's a bit like saying the problem with ATMs is that they won't give you free money. I mean sure, that's a negative, of sorts, but a "problem"?

      Personally, I think the situation with MAME is pretty positive... Copyrighted ROMs are pretty freely and widely available, and the gaming industry hasn't gone nuts suing everyone to try and stop it. But obviously commercial use of them will likely land you in hot water, but that's forbidden by the MAME license, anyhow.

      Besides that, there's still a thriving market for old arcade games, and I'd bet a non-functioning board for a popular game of your choice would be reasonably cheap, and should give you the legal rights to the ROM you need to use a emulator.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    4. Re:MAME and ROMs by antdude · · Score: 1

      But newer MAME versions won't probably be able to run those ROMs though. Yes, updating ROMs and MAME annoying. :(

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  17. what? by Anonymous Coward · · Score: 0

    > relatively challenging
    > took us about 4 days to complete

    mfw

  18. In other news... by VortexCortex · · Score: 0

    ActiveX Applications Running IE.

    This is bad. There is no "sandbox". Not really. Get it through your heads people. Without hardware supported Virtualization, there is actually no "sandbox", the whole OS is there on the beach right next to my code, and I will figure out a way to interact with it in ways that you do not like.

    For what it's worth: At least this isn't another JIT SNAFU. When you compile JS to a "limited" set of machine code instructions, then flag that DATA as CODE, and run it, it just takes one buffer overflow for me to get my "unlimited" machine code running on the metal. One more Kernel level exploit from there gives me Root... JavaScript is SLOW because it's so damn dynamic that it's hard to make fast... This means more complex compiler code to make it run faster, this means larger attack surface for exploits.

    IMHO, Lua or other interpreted languages could probably be called sandboxed (so long as all the inputs to native functions are checked for sanity), but even then, it's not a hardware VM, it's not really a sandbox. Once you've allowed external code to run on the bare metal, ALL BETS ARE OFF.

  19. A Good Use for NaCl by 10101001+10101001 · · Score: 1

    While this makes for an interesting "what if" project, my understanding is that Google mainly designed NaCl for two reasons: to allow for writing plugins that are inherently sandboxed and to allow for snippets of performance critical Javascript to be written in native code. I personally think I have a better idea: invert NaCl's and Chrome's relationship. It's quite obvious that one of the focuses Chrome has had is on sandboxing itself to obtain a level of security. At the same time, a large point of what Chrome is is a multiplatform browser. Hence, NaCl, an inherent sandbox, running as a much smaller code base to run on multiple platforms provides a much better base to situate the coding of a browser. Furthermore, it'd strongly encourage further optimization of NaCl to be a viable, generic platform for other programs (not unlike what .NET's CLR was supposed to be) and the creation of sandboxes for more CPUs (AFAIK, there's still no NaCl-ARM). Best of all, if done right, it'd finally upset a core point of why people don't choose Linux as a platform; if developers had NaCl as a viable platform, then games could inherently run on Linux, Mac OS X, and Windows.

    This concludes my New Years fantasy.

    --
    Eurohacker European paranoia, gun rights, and h
  20. NaCl and ActiveX are both *not* CPU-portable by kripkenstein · · Score: 1

    NaCl is designed to be portable to different browsers and OSes

    But it is *not* designed to be portable to different CPUs. Try running NaCl MAME on your ARM or MIPS phone or on your PowerPC game console's browser - it won't work. This by itself makes NaCl unsuitable for the web. Not only can't we run it on non-x86 hardware now, it would make life harder for new CPU archs in the future.

    (Yes, there is a research project trying to make NaCl portable to different CPUs. It is too early to tell if it will succeed, and what tradeoffs it will have in terms of speed, portability, code size, etc.)

  21. Just run linux in javascript by roguegramma · · Score: 1

    Just run linux in javascript, someone did that and it is online. You now only have to install Chrome on it to perfect the loop.

    --
    Hey don't blame me, IANAB
    1. Re:Just run linux in javascript by Anonymous Coward · · Score: 0

      He's not joking guys. Someone actually did: http://bellard.org/jslinux/

  22. I want to play game, how to? by ahfoo · · Score: 1

    There's all this bickering in this thread along the usual lines of programming nuances and security blah blah blah which is fine and good but how about for the people who just want to see how this thing does with a few of their favorite ROMs?

    Anybody actually have this installed (preferably on a GNU-Linux installation) and care to point out how they went about it?

    1. Re:I want to play game, how to? by Anonymous Coward · · Score: 0

      https://chrome.google.com/webstore/detail/kcfbijoldkenmemnbbkjnpdhnijgahck

    2. Re:I want to play game, how to? by ahfoo · · Score: 1

      Hey, that's more like it. But I'm not a big Robby Roto fan. How about using local roms?

    3. Re:I want to play game, how to? by Anonymous Coward · · Score: 0

      Start the game from

      https://chrome.google.com/webstore/detail/kcfbijoldkenmemnbbkjnpdhnijgahck

      The first screen has a "link" for using local ROMs - does not seem to work for all ROMs, though.

  23. emscripten and JSLinux suggest this is irrelevant by spage · · Score: 1

    emscripten can compile C code, or anything that can produce LLVM bitcode, directly into JavaScript, allowing heavyweight code like Ruby/Python/Lua, physics engines, raytracing, FreeType, text-to-speech, etc. to run in a browser. JSLinux emulates the 386 instruction set to the point it can boot a stock Linux kernel, start a terminal, and run ELF executables like the Busybox command-line utilities in a browser (JSLinux's Fabrice Bellard could probably do MAME in JavaScript in his sleep one-handed.) So despite the innovations in Native Client, targeting JavaScript in an HTML5 browser is the way forward. And until Google implements Portable Native Client, NaCl doesn't even give you the ability to run in any Chrome browser, you need an architecture-specific executable. But portable NaCl is just running LLVM bytecode, and emscripten is already turning that into plain JavaScript without requiring a new black box in each web page.

    Does anyone know if any of the native apps in ChromeOS/ChromiumOS and Android are written in NaCL or PNaCl? That would make some sense.

    --
    =S
  24. 15 years old? by antdude · · Score: 1

    Uh, MAME isn't 15 years old yet according to http://mamedev.org/history.html ... On 2/5/2012, it will be. Or did I miss something? :(

    --
    Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    1. Re:15 years old? by stefancaunter · · Score: 1

      The page is missing something. Nicola started MAME in December 1996, 15 years ago. There wasn't anything anyone could use until later in 1997, but that's how it started, in late 1996.

    2. Re:15 years old? by antdude · · Score: 1

      Ah thanks. How did you remember that? [grin]

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    3. Re:15 years old? by stefancaunter · · Score: 1

      It used to be on the mame.net page, or classicgaming.com. The actual date was Dec. 24, 1996, my 31st birthday, so I guess it got filed somewhere non-volatile.

    4. Re:15 years old? by antdude · · Score: 1

      Hahaha. Belated happy birthday. I have a coworker whose birthday is on Christmas eve as well. :)

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  25. actually play it chrome here by Anonymous Coward · · Score: 0

    The NaCl Port of Mame is playable from the chrome webstore here:

    https://chrome.google.com/webstore/detail/kcfbijoldkenmemnbbkjnpdhnijgahck

    There are also more polished NaCl based games such as Bastion:

    https://chrome.google.com/webstore/detail/oohphhdkahjlioohbalmicpokoefkgid

  26. Re:emscripten and JSLinux suggest this is irreleva by bWareiWare.co.uk · · Score: 1

    99%+ of Android devices use ARM so the current form of NaCL can't work (and it still doesn't actually work on the rest).
    The Chromebook hardware can't run their current killer-app Bastion (not enough VRAM). They also really mean it when they say ChromeOS doesn't come with any native Apps. The is a small command line shell and SSH (sandboxed but not plain NaCL) and the Browser, nothing else.
    Currently emscripten's graphics output is too slow to usefully run Mame. A more interesting project would be to compile NaCL with emscripten.