Samuel Clegg 305 Bennington St San Francisco 94110 USA Telephone: +1-415-6014661 e-mail: sam@superduper.net e-mail: sbc@google.com e-mail: samo@debian.org Summary: I am dedicated to building platforms and tools that allow more code to run in more places. From building one of the first open source mobile operating systems, to enabling PlayStation games to run on early Nokia phones, to enabling C/C++ to run securely on the Web (Emscripten), I have more than 20 years of professional experience building compilers, toolchains and SDKs. Qualifications: MSc in Advanced Computing, 2002-2003. Distinction Imperial College, London BSc in Computer Science, 1996-1999. 1st Class Honours University of York Employment History: Senior Software Engineer -- Google Inc. (San Francisco, USA) July 2012-present Until 2015, primarily worked on Native Client (NaCL), the native code sandbox used in Chromium. Focus was the SDK and examples, but also worked on the core runtime, and compiler. Primary maintainer of the naclports project which comprised over 200 ports of open source projects to NaCl. Around 2015, began working on WebAssembly, the logical successor to NaCl. Primarily working on the Emscripten toolchain and the WebAssembly LLVM backend. Created the WebAssembly linker (wasm-ld) which is part of the LLVM project. Regular contributor to Wabt and Binaryen, two popular tools for WebAssembly manipulation and optimization. Currently the most active contributor to the Emscripten project. Active in the WebAssembly standards process and champion of two proposals that are now part of the WebAssembly standard: Memory64 (which enables access to memories larger than 4GiB) and Extended Constant Expressions (which allows for more expressive initialisers). Key Engineer/Head of Innovation -- Ideaworks3D (London, UK) (San Francisco, USA) January 2004-June 2012 Ideaworks3D was a technology company and game development studio that brought many AAA game titles to mobile including Call of Duty, Metal Gear Solid, Tony Hawks Pro Skater, Tetris, Game of Life, Tomb Raider, Need for Speed and The Sims. We won several industry awards including the two BAFTAs. Led development on the core runtime of the Marmalade SDK. This was a platform abstraction technology which powered many mobile games of the time. The technology allowed a single native binary to be executed on any operating system. This enabled apps to be written once, against a standard API and deployed to all platforms without porting or recompilation. Targets included iOS, Android, WebOS, Symbian, Winmobile, and more. Lead engineer on Airplay Online, the network protocol and server technology that enabled many successful games both in-house and third-party. Developed fast, scalable server application using C++/Linux/pthreads and utilising embedded Python or Java for highly customisable online game behavior. Developed and maintained the Airplay Online server cluster. Senior Software Engineer -- Transvirtual Technologies Inc. (San Francisco, CA) August 2000-December 2001 Worked primarily on the XOE (previously PocketLinux) project, an operating system for PDAs and other resource constrained devices. XOE was open source, build on Linux, Java, and XML, with the goal allowing app developers to write as much as possible, including application logic and presentation layer, in XML. Work included Linux kernel programming, and JVM internals. Also responsible for building cross compiler toolchains and creating embedded Linux images. Many of the ideas we developed for PocketLinux are visible today in the Android OS, which bears a striking resemblance. Field Applications Engineer -- MathEngine Inc. (Oxford, England and San Francisco, CA) August 1999-July 2000 Worked with customers to bring realistic physics to the next generation of games. Involved coding in C/C++ targeting next generation gaming platforms. Created and maintained Linux port of MathEngine products. Worked on one of the Japanese PS/2 launch titles. Computing Skills: 30 years of programming experience and Linux specialisation. Extensive experience with C/C++, Python and JavaScript. Professional experience also includes C#, Java, Ruby, OpenGL/GLES, SQL, CMake/make/autoconf, sh/bash, XML/SGML.. Debian user since 2000. Retired Debian developer (package maintainer). Other Interests: When I'm not at my computer I enjoy snowboarding and riding electric unicycles. I also love to play chess, although not very well.