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