<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Google Native Client: web deluxe, or ActiveX redux?</title>
	<atom:link href="http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/</link>
	<description>tech, science, news and social issues for geeks</description>
	<lastBuildDate>Sat, 21 Nov 2009 16:46:41 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chip</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-125654</link>
		<dc:creator>Chip</dc:creator>
		<pubDate>Tue, 23 Dec 2008 23:43:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-125654</guid>
		<description>Indeed, Shaune, there are parallels.  Pretty soon after the web model was introduced, it became apparent that the web&#039;s thin client model presented some real challenges for running any application that&#039;s highly interactive.  People have been trying to solve that problem in many ways, and this is one more.</description>
		<content:encoded><![CDATA[<p>Indeed, Shaune, there are parallels.  Pretty soon after the web model was introduced, it became apparent that the web&#8217;s thin client model presented some real challenges for running any application that&#8217;s highly interactive.  People have been trying to solve that problem in many ways, and this is one more.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shaune</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-125397</link>
		<dc:creator>Shaune</dc:creator>
		<pubDate>Mon, 22 Dec 2008 19:09:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-125397</guid>
		<description>Does this all seem to be reverting back to client/server?  The only real difference seems to be that the code is downloaded from the server on demand now, instead of being installed via CD...  What&#039;s old is new again!</description>
		<content:encoded><![CDATA[<p>Does this all seem to be reverting back to client/server?  The only real difference seems to be that the code is downloaded from the server on demand now, instead of being installed via CD&#8230;  What&#8217;s old is new again!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troy N. Horse</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-124171</link>
		<dc:creator>Troy N. Horse</dc:creator>
		<pubDate>Thu, 18 Dec 2008 20:48:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-124171</guid>
		<description>Wooooohhhoooooo!!!

Good times to come for us Phishing-, Virus- and Trojan-horse-writers.

Merci beauuuuuuucoup Google!!!!</description>
		<content:encoded><![CDATA[<p>Wooooohhhoooooo!!!</p>
<p>Good times to come for us Phishing-, Virus- and Trojan-horse-writers.</p>
<p>Merci beauuuuuuucoup Google!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-124157</link>
		<dc:creator>Bryan</dc:creator>
		<pubDate>Thu, 18 Dec 2008 19:44:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-124157</guid>
		<description>Bzzzt.  Java is as fast as native code.  Bytecode is compiled into native x86 code.  The only problem with Java is startup time.  When running a Java applet, the JVM has to:

1) Download the remote jar file
2) Uncompress the .jar file into memory
3) Verify the bytecode to make sure it&#039;s not evil/corrupt
4) Launch the app
4.5) Compile the bytecode into native x86 instructions (or native SPARC instructions or whatever is native)
5) Run at native speed (including processor specific features that ahead-of-time compilation can&#039;t anticipate)

So Java is as fast as native code providing similar features (such as array bounds checking, garbage collection, etc).  So the real argument for the native client plugin would be to improve startup speed compared to Java.

Java is as fast as C++.  Stop spreading the FUD.</description>
		<content:encoded><![CDATA[<p>Bzzzt.  Java is as fast as native code.  Bytecode is compiled into native x86 code.  The only problem with Java is startup time.  When running a Java applet, the JVM has to:</p>
<p>1) Download the remote jar file<br />
2) Uncompress the .jar file into memory<br />
3) Verify the bytecode to make sure it&#8217;s not evil/corrupt<br />
4) Launch the app<br />
4.5) Compile the bytecode into native x86 instructions (or native SPARC instructions or whatever is native)<br />
5) Run at native speed (including processor specific features that ahead-of-time compilation can&#8217;t anticipate)</p>
<p>So Java is as fast as native code providing similar features (such as array bounds checking, garbage collection, etc).  So the real argument for the native client plugin would be to improve startup speed compared to Java.</p>
<p>Java is as fast as C++.  Stop spreading the FUD.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chip</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-123733</link>
		<dc:creator>Chip</dc:creator>
		<pubDate>Tue, 16 Dec 2008 20:32:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-123733</guid>
		<description>But Lisp can&#039;t run in a browser (AFAIK?)</description>
		<content:encoded><![CDATA[<p>But Lisp can&#8217;t run in a browser (AFAIK?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: apotheon</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-123726</link>
		<dc:creator>apotheon</dc:creator>
		<pubDate>Tue, 16 Dec 2008 19:57:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-123726</guid>
		<description>One quibble:

There are compilers (to &quot;native code&quot;) for Common Lisp, so yes -- Lisp does do it.</description>
		<content:encoded><![CDATA[<p>One quibble:</p>
<p>There are compilers (to &#8220;native code&#8221;) for Common Lisp, so yes &#8212; Lisp does do it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chip</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-123390</link>
		<dc:creator>Chip</dc:creator>
		<pubDate>Sun, 14 Dec 2008 22:12:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-123390</guid>
		<description>I&#039;ve corrected that part of the post.  Thanks again.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve corrected that part of the post.  Thanks again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chip</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-123388</link>
		<dc:creator>Chip</dc:creator>
		<pubDate>Sun, 14 Dec 2008 22:08:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-123388</guid>
		<description>Thanks for the clarification, Sven.  I intended to read the paper, but it hung my browser (Chrome :( ) while downloading.</description>
		<content:encoded><![CDATA[<p>Thanks for the clarification, Sven.  I intended to read the paper, but it hung my browser (Chrome :( ) while downloading.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chip</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-123387</link>
		<dc:creator>Chip</dc:creator>
		<pubDate>Sun, 14 Dec 2008 22:07:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-123387</guid>
		<description>Yes, I wonder what their plans are for 64-bit support, for instance.</description>
		<content:encoded><![CDATA[<p>Yes, I wonder what their plans are for 64-bit support, for instance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chip</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-123386</link>
		<dc:creator>Chip</dc:creator>
		<pubDate>Sun, 14 Dec 2008 22:06:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-123386</guid>
		<description>Native Client is specifically designed to work in multiple browsers -- it&#039;s not a Chrome-only product.  My tests were done with Firefox.</description>
		<content:encoded><![CDATA[<p>Native Client is specifically designed to work in multiple browsers &#8212; it&#8217;s not a Chrome-only product.  My tests were done with Firefox.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nullbot</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-123364</link>
		<dc:creator>nullbot</dc:creator>
		<pubDate>Sun, 14 Dec 2008 19:17:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-123364</guid>
		<description>In case anyone is unclear about this, this is, as Chip said, about speed.  Its about speed.  Javascript can&#039;t hold a candle to the amount of performance NaCl can get from native execution.  Could you imagine Javascript running a quake client?  It starts choking on even simple &lt;a href=&quot;http://ejohn.org/apps/processing.js/examples/topics/flocking.html&quot; rel=&quot;nofollow&quot;&gt;programs&lt;/a&gt;.

As far as not using an intermediate language or representation, like java or bytecode, the reason is again speed.  Using the x86 architecture locks them into x86 assembly, but the reality is that most computers out there nowadays are Intel.  While Java and bytecode may be truly &quot;portable&quot; the fact is that its just not that fast.  I&#039;m sure people can give a laundry list of benchmarks stating that Java is comparable, but real world usage clearly says otherwise.  I have no doubt that Java can be compiled to run to something native comiparable, but right now, at this moment in time, its not as fast, not as rich and looks to be fading.  x86 is here for the forseable future.

  A few more points:  1) you can always run x86 under emulation on other chips.  This is a lot easier than running bytecode.  So, while x86 might not be the most elegant of assemblies, there still is the possibility of forward compatibility.  2)  NaCl (as far as I can tell) decompiles in a consistent way, checks to make sure it doesn&#039;t jump execution to outside of valid block and doesn&#039;t allow execution if it does.  You make sure the execution isn&#039;t going where you don&#039;t want it to, you have a guarantee that the code is safe.  This excludes some programs and type of programming styles but still allows for more than enough freedom to create quality software.  They also put sandbox&#039;s in sandbox&#039;s, so that even if one layer manages to break out, there are some more safeguards, but I&#039;m not sure how that exactly works.

Sorry for the long post, but it really burns me to have people dismiss this (imo quality) idea by just waving their hands and saying &quot;java did it&quot;.  Java doesn&#039;t do it.  Javascript doesn&#039;t do it.  Lisp doesn&#039;t do it.  There is nothing out there today, right now, that allows me to write an application that comes close to getting the performance I can get from native compilation...and of course thats also open source (thats an important point as well).</description>
		<content:encoded><![CDATA[<p>In case anyone is unclear about this, this is, as Chip said, about speed.  Its about speed.  Javascript can&#8217;t hold a candle to the amount of performance NaCl can get from native execution.  Could you imagine Javascript running a quake client?  It starts choking on even simple <a href="http://ejohn.org/apps/processing.js/examples/topics/flocking.html" rel="nofollow">programs</a>.</p>
<p>As far as not using an intermediate language or representation, like java or bytecode, the reason is again speed.  Using the x86 architecture locks them into x86 assembly, but the reality is that most computers out there nowadays are Intel.  While Java and bytecode may be truly &#8220;portable&#8221; the fact is that its just not that fast.  I&#8217;m sure people can give a laundry list of benchmarks stating that Java is comparable, but real world usage clearly says otherwise.  I have no doubt that Java can be compiled to run to something native comiparable, but right now, at this moment in time, its not as fast, not as rich and looks to be fading.  x86 is here for the forseable future.</p>
<p>  A few more points:  1) you can always run x86 under emulation on other chips.  This is a lot easier than running bytecode.  So, while x86 might not be the most elegant of assemblies, there still is the possibility of forward compatibility.  2)  NaCl (as far as I can tell) decompiles in a consistent way, checks to make sure it doesn&#8217;t jump execution to outside of valid block and doesn&#8217;t allow execution if it does.  You make sure the execution isn&#8217;t going where you don&#8217;t want it to, you have a guarantee that the code is safe.  This excludes some programs and type of programming styles but still allows for more than enough freedom to create quality software.  They also put sandbox&#8217;s in sandbox&#8217;s, so that even if one layer manages to break out, there are some more safeguards, but I&#8217;m not sure how that exactly works.</p>
<p>Sorry for the long post, but it really burns me to have people dismiss this (imo quality) idea by just waving their hands and saying &#8220;java did it&#8221;.  Java doesn&#8217;t do it.  Javascript doesn&#8217;t do it.  Lisp doesn&#8217;t do it.  There is nothing out there today, right now, that allows me to write an application that comes close to getting the performance I can get from native compilation&#8230;and of course thats also open source (thats an important point as well).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sven</title>
		<link>http://www.geeksaresexy.net/2008/12/12/google-native-client-web-deluxe-or-activex-redux/#comment-123313</link>
		<dc:creator>Sven</dc:creator>
		<pubDate>Sun, 14 Dec 2008 07:42:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.geeksaresexy.net/?p=8609#comment-123313</guid>
		<description>&lt;i&gt;I like the fact that it’s cross-platform, but I presume that the executables have to be compiled for each operating system.&lt;/i&gt;

You presume wrong.  One .nexe works on all platforms.  Please read the paper.</description>
		<content:encoded><![CDATA[<p><i>I like the fact that it’s cross-platform, but I presume that the executables have to be compiled for each operating system.</i></p>
<p>You presume wrong.  One .nexe works on all platforms.  Please read the paper.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
