1 {{+bindTo:partials.standard_nacl_article}} 2 3 <section id="publications-and-presentations"> 4 <span id="id1"></span><h1 id="publications-and-presentations"><span id="id1"></span>Publications and Presentations</h1> 5 <p>This page lists Native Client and Portable Native Client talks, demos, 6 and publications from various conferences and academic symposiums.</p> 7 <section id="recent-talks-and-demos"> 8 <h2 id="recent-talks-and-demos">Recent talks and demos</h2> 9 <table border="1" class="docutils"> 10 <colgroup> 11 </colgroup> 12 <thead valign="bottom"> 13 <tr class="row-odd"><th class="head">Date</th> 14 <th class="head">Event</th> 15 <th class="head">Talk</th> 16 </tr> 17 </thead> 18 <tbody valign="top"> 19 <tr class="row-even"><td>2013/05/16</td> 20 <td><a class="reference external" href="https://developers.google.com/events/io/2013">Google I/O 2013</a></td> 21 <td><a class="reference external" href="https://www.youtube.com/watch?v=5RFjOec-TI0">Introduction to Portable Native Client</a></td> 22 </tr> 23 <tr class="row-odd"><td>2012/12/11</td> 24 <td><a class="reference external" href="https://developers.google.com/live/">Google Developers Live</a></td> 25 <td><a class="reference external" href="https://developers.google.com/live/shows/7320022-5002/">Native Client Acceleration Modules</a> Learn 26 how to use Native Client to deliver performance where it counts 27 (<a class="reference external" href="https://github.com/johnmccutchan/NaClAMBase/">source code</a>)</td> 28 </tr> 29 <tr class="row-even"><td>2012/07/26</td> 30 <td><a class="reference external" href="http://casualconnect.org/seattle/content.html">Casual Connect Seattle 2012</a></td> 31 <td><a class="reference external" href="https://www.youtube.com/watch?v=RV7SMC3IJNo">Take your C++ To the Web with Native Client</a> Includes an 32 overview of Native Client technology, porting legacy applications 33 from the Windows desktop, and current third-party use of Native 34 Client in middleware and games</td> 35 </tr> 36 <tr class="row-odd"><td>2012/06/28</td> 37 <td><a class="reference external" href="https://developers.google.com/events/io/2012">Google I/O 2012</a></td> 38 <td><a class="reference external" href="https://www.youtube.com/watch?v=1zvhs5FR0X8">Native Client Live</a> Demonstrates how 39 to port an existing C application to Native Client using a Visual 40 Studio add-in that lets developers debug their code as a trusted 41 Chrome plugin</td> 42 </tr> 43 <tr class="row-even"><td>2012/06/28</td> 44 <td><a class="reference external" href="https://developers.google.com/events/io/2012">Google I/O 2012</a></td> 45 <td><a class="reference external" href="https://www.youtube.com/watch?v=KOsJIhmeXoc">The Life of a Native Client Instruction</a> (<a class="reference external" href="https://nacl-instruction-io12.appspot.com">slides</a>)</td> 46 </tr> 47 <tr class="row-odd"><td>2012/03/05</td> 48 <td><a class="reference external" href="http://www.gdcvault.com/free/gdc-12">GDC 2012</a></td> 49 <td><a class="reference external" href="https://www.youtube.com/watch?v=R281PhQufHo">Get Your Port On</a> 50 Porting Your C++ Game to Native Client</td> 51 </tr> 52 <tr class="row-even"><td>2011/08/12</td> 53 <td>—</td> 54 <td><a class="reference external" href="https://www.youtube.com/watch?v=g3aBfkFbPWk">Native Client Update and Showcase</a></td> 55 </tr> 56 <tr class="row-odd"><td>2011/05/11</td> 57 <td><a class="reference external" href="https://www.google.com/events/io/2011/index-live.html">Google I/O 2011</a></td> 58 <td><a class="reference external" href="https://www.google.com/events/io/2011/sessions/beyond-javascript-programming-the-web-with-native-client.html">Beyond JavaScript: Programming the Web with Native Client</a></td> 59 </tr> 60 <tr class="row-even"><td>2010/11/04</td> 61 <td><a class="reference external" href="http://llvm.org/devmtg/2010-11/">2010 LLVM Developers’ Meeting</a></td> 62 <td><a class="reference external" href="http://llvm.org/devmtg/2010-11/videos/Sehr_NativeClient-desktop.mp4">Portable Native Client</a></td> 63 </tr> 64 </tbody> 65 </table> 66 </section><section id="publications"> 67 <h2 id="publications">Publications</h2> 68 <table border="1" class="docutils"> 69 <colgroup> 70 </colgroup> 71 <thead valign="bottom"> 72 <tr class="row-odd"><th class="head">Title</th> 73 <th class="head">Authors</th> 74 <th class="head">Published in</th> 75 </tr> 76 </thead> 77 <tbody valign="top"> 78 <tr class="row-even"><td><a class="reference external" href="http://research.google.com/pubs/archive/37204.pdf">Language-Independent Sandboxing of Just-In-Time Compilation and 79 Self-Modifying Code</a></td> 80 <td>Jason Ansel, Petr Marchenko, <a class="reference external" href="http://research.google.com/pubs/ulfar.html">lfar Erlingsson</a>, Elijah Taylor, 81 <a class="reference external" href="http://research.google.com/pubs/author37895.html">Brad Chen</a>, 82 Derek Schuff, David Sehr, <a class="reference external" href="http://research.google.com/pubs/author38542.html">Cliff L. Biffle</a>, Bennet 83 S. Yee</td> 84 <td>ACM SIGPLAN Conference on Programming Language Design and 85 Implementation (PLDI), 2011</td> 86 </tr> 87 <tr class="row-odd"><td><a class="reference external" href="http://research.google.com/pubs/pub35649.html">Adapting Software Fault Isolation to Contemporary CPU 88 Architectures</a></td> 89 <td>David Sehr, Robert Muth, <a class="reference external" href="http://research.google.com/pubs/author38542.html">Cliff L. Biffle</a>, Victor 90 Khimenko, Egor Pasko, Bennet S. Yee, Karl Schimpf, <a class="reference external" href="http://research.google.com/pubs/author37895.html">Brad Chen</a></td> 91 <td>19th USENIX Security Symposium, 2010, pp. 1-11</td> 92 </tr> 93 <tr class="row-even"><td><a class="reference external" href="http://research.google.com/pubs/pub34913.html">Native Client: A Sandbox for Portable, Untrusted x86 Native Code</a></td> 94 <td>Bennet S. Yee, David Sehr, Greg Dardyk, <a class="reference external" href="http://research.google.com/pubs/author37895.html">Brad Chen</a>, Robert 95 Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula, Nicholas 96 Fullagar</td> 97 <td>IEEE Symposium on Security and Privacy (Oakland ‘09), 2009</td> 98 </tr> 99 <tr class="row-odd"><td><a class="reference external" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl: Portable Native Client Executables</a></td> 100 <td>Alan Donovan, Robert Muth, Brad Chen, David Sehr</td> 101 <td>February 2010</td> 102 </tr> 103 </tbody> 104 </table> 105 </section><section id="external-publications"> 106 <h2 id="external-publications">External Publications</h2> 107 <p>In these articles outside developers and Google engineers describe their 108 experience porting libraries and applications to Native Client and 109 Portable Native Client. They share their insights and provide some tips 110 and instructions for how to port your own code.</p> 111 <section id="porting-nebula3-to-portable-native-client"> 112 <h3 id="porting-nebula3-to-portable-native-client">Porting Nebula3 to Portable Native Client</h3> 113 <p>Andre Weissflog ported his Nebula3 engine to Portable Native Client (see 114 <a class="reference external" href="http://www.flohofwoe.net/demos.html">his demos</a>). He discusses 115 <a class="reference external" href="http://flohofwoe.blogspot.de/2013/08/emscripten-and-pnacl-build-systems.html">build systems</a> 116 and <a class="reference external" href="http://flohofwoe.blogspot.de/2013/09/emscripten-and-pnacl-app-entry-in-pnacl.html">app entry</a>.</p> 117 </section><section id="porting-go-home-dinosaurs"> 118 <h3 id="porting-go-home-dinosaurs">Porting Go Home Dinosaurs</h3> 119 <p><a class="reference external" href="http://firehosegames.com">Fire Hose Games</a> developed a new webgame 120 <a class="reference external" href="https://chrome.google.com/webstore/detail/icefnknicgejiphafapflechfoeelbeo">Go Home Dinosaurs</a>. 121 It features tower defense, dinosaurs, and good old fashioned BBQ. This 122 article explains their experiences developing for Native Client 123 including useful lessons learned to help you get started.</p> 124 <p><a class="reference external" href="http://www.gamasutra.com/view/feature/175210/the_ins_and_outs_of_native_client.php">Read more</a></p> 125 </section><section id="porting-zombie-track-meat"> 126 <h3 id="porting-zombie-track-meat">Porting Zombie Track Meat</h3> 127 <p><a class="reference external" href="http://www.fuzzycubesoftware.com">Fuzzycube Software</a>, traditionally 128 a mobile game development studio, talks about their adventure into the 129 web, porting the undead decathlon <a class="reference external" href="https://chrome.google.com/webstore/detail/jmfhnfnjfdoplkgbkmibfkdjolnemfdk/reviews">Zombie Track Meat</a> 130 from Objective C to Native Client.</p> 131 <p><a class="reference external" href="http://fuzzycube.blogspot.com/2012/04/zombie-track-meat-post-mortem.html">Read more</a></p> 132 </section><section id="porting-airmech"> 133 <h3 id="porting-airmech">Porting AirMech</h3> 134 <p><a class="reference external" href="http://carbongames.com/">Carbon Games</a> chose Native Client as a 135 solution for cross-platform delivery of their PC game <a class="reference external" href="https://chrome.google.com/webstore/detail/hdahlabpinmfcemhcbcfoijcpoalfgdn">AirMech</a> 136 to Linux and Macintosh in lieu of native ports. They describe the 137 porting process on their blog.</p> 138 <p><a class="reference external" href="http://carbongames.com/2012/01/Native-Client">Read more</a></p> 139 </section></section></section> 140 141 {{/partials.standard_nacl_article}} 142