bg image(whitepaper.gif) Elliott Mitchell PO Box 75 ehem+career@m5p.com +1 (650) 861-9807 Mountain View, CA 94042 http://www.m5p.com/~ehem/career / Summary: Experienced in applications, drivers, design, implementation and testing; and system administration. Strengths include strong analytical capabilities coupled with the ability to rapidly learn, retain, and apply new technology effectively. Critical Skills: • Make, C, C++, Perl, Java • Solaris 7 and 8, Linux and Linux Kernel upgrades (all stable kernels from 1.2 and later), FreeBSD, Google Android Additional Skills: • Java, Xlib, GLX, OpenGL, glut, GTK, • lex (flex), yacc (bison) RCS, Subversion, make, Bourne shell • Windows 2000, XP administration scripting (sed, awk), Python, • Cryptography, Combinatorial Search, Assembly Languages (68000, i386, Compiler Design AMD64, PowerPC and SPARC) Experience: Open Source Involvement, (2013 to present) • Android (2016 to present) □ Examined an Android device with minimal Open Source support and figured out hardware differences to allow full support □ First person to successfully build a fully working, fully Open Source kernel for the H990 variant of the LG V20 □ Working with Android community attempting to bring LineageOS support to LG H990 • DebWRT (2012 to present, Debian variant targeting wireless routers) □ Major rewriting of many core pieces of DebWRT □ Enhanced build system based on patching against OpenWRT to account for multiple revisions of OpenWRT; thus allowing for patches to be updated against newer OpenWRT releases, while continuing to keep older builds functioning □ Successfully adapted OpenWRT kernel patches for Linux v3.2 and v3.16 to apply to Debian kernel source, allowing taking advantage of Debian's security updates while running on Linux routers □ Cleanup of numerous DebWRT packages □ Uncovered and reported kernel security hole in OpenWRT's kernel infrastructure for configuring switch chips • Debian (Major Linux Distribution) □ Continuing history of finding many novel bugs in the Debian Linux distribution not found or reported by others □ Specialty knowledge solved a very difficult bug being encountered by many others that had been thought to be completely unsolvable • Maniana (2013 to 2014, Android To-Do app) □ Implemented Ant-based builds for better consistency with any new developers who joined the project in the future □ Added support for To-Dos with due dates and To-Dos that repeat □ Added support for backups to SD card, instead of online-only backups Member of Technical Staff, Hooked Wireless, Los Altos Hills, California (2008 to 2012) • Testing □ Designed and implemented system to spread testing cycle among multiple machines concurrently, thereby reducing test cycle time and greatly increasing testing frequency □ Identified missed test cases and implemented corrections to include them in reports □ Enhanced system by adding the ability to do image comparison □ Mitigated potential hangs caused by crashes, and other conditions □ Designed and implemented recording and playback of user input sequences in order to provide better test coverage □ Generalized test system to enable testing of multiple projects • Build □ Designed and implemented system to assign spread build tasks among multiple computers capable of handling some builds, and dealing with builds restricted to other computers. □ Updated an existing build system previously verified with GNU Make 3.80 to work with 3.81. □ Diagnosed subtle Makefile problems that caused parallel-Make builds to fail. • Debugging □ Identified and addressed potential security bugs. □ Analyzed long-standing API bugs in order to fix them without breaking historical code. □ Tracked down performance bugs, producing major gains. Software Engineer, Originate Labs, San Mateo, California (2007) • Wrote embedded software for use on cellular devices • Wrote driver to access specialized features of a wireless modem • Enhanced existing test suite □ Rewrote a large block of the test suite, increasing flexibility □ Merged two distinct overlapping test suites into one □ Added tests for previously untested functionality • Updated code designed for earlier software releases to work with current versions • Fixed many out of date pieces of code to fix consistency with current standards • Worked with network protocol implementations to ensure they worked correctly Software Developer, Tech Soft America, Berkeley, California (2006) • Wrote test cases as part of software development process □ During validation discovered novel bugs in previously tested functionality □ Wrote test cases for addition to permanent test library □ Wrote test cases which reproduced customer bugs • Answered support requests from customers spread worldwide • Isolated bugs requiring very specific software configuration • Identified limits on interoperability • Improved customer visible documentation • Managed operation of internal network • Member of team which relocated office Additional Relevant Experience: Student/Continuing Studies • Full-time student: Earned Bachelor of Sciences/Computer Sciences • Consultant and tutor for members of the Portland State University Computer Action Team and the Portland Linux Users Group • Continuing independent HCI/graphics API research and design, including coding for GTK, Xlib, OpenGL, Java, and Glib • Identified and fixed bug in oidentd's configuration file parser Lead Unix Administrator, College of Engineering, Portland State University, Portland, Oregon • Managed a network of 120 SPARC, UltraSPARC-based Sun workstations/servers networked using Cisco routers and switches. Responsibilities also included problem resolution and tracking. • Updated and optimized legacy and existing administration and Solaris JumpStart scripts to simplify network and workstation maintenance, and to ensure Solaris 8 compatibility with the network and older workstations. • Team leader for task group that upgraded 32-bit-only firmware, kernels, and software (notably compiler suite) to support 64-bit mode. • Streamlined and optimized subnet boot/root servers, thereby eliminating three setup tasks, and reduced the number of centralized tasks needed to set up new systems and reload existing systems. • Found and fixed security vulnerabilities in systems and system configurations. • Updated, built, installed, and maintained programs and libraries including: □ SSH through version 1.2.31+patches, and OpenSSH □ OpenSSL versions 0.9.3 through 0.9.7 □ Apache version 1.3 including migration from BenSSL to modSSL, PHP □ GCC version 2.7 though 3.0 □ Cadence 2000 □ Opmaxx V2 Computer Sciences Tutor/Lab Monitor, Department of Computer Science, Portland State University, Oregon • Tutored and assisted first through third year computer science students. Responsibilities included helping students debug basic through advanced programming assignments across several languages and operating systems; assisting students unfamiliar with the systems and operating systems provided by the university, and system administration. Education: Bachelors in Computer Science Portland State University, Portland, Oregon Includes academic and commercial application of C, C++, Java, Sun SPARC Assembly, lex/flex, yacc/bison, Bourne shell, Cryptography, Combinatorial Search, Computer Graphics, and Compiler Design on Solaris, MS/Windows, and Linux environments. Professional Development/Memberships • Contributing member of the Portland State University Computer Action Team (CAT) • Contributing member of the Portland Linux User Group • Supporting member, Portland State University ACM International Collegiate Programming Contest (ICPC) Team. Independent Studies and Application • Linux, FreeBSD, Xlib, OpenGL, glut, GLX, GTK, RCS, Python • Attended 2004 O'Reilly Open Source Convention • Attended 2003 O'Reilly Open Source Convention Awards: • Deans list, Portland Community College Updated: $Date: 2017/09/14 21:23:08 $