PO Box 75 |
Elliott Mitchell ehem+career@m5p.com http://www.m5p.com/~ehem/career/ |
+1 (650) 861-9807 |
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: |
|
---|---|
|
|
Additional Skills: |
|
|
|
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
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.
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
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
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
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
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.
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.
Contributing member of the Portland State University Computer Action Team (CAT)
Contributing member of the Portland Linux User Group
Linux, FreeBSD, Xlib, OpenGL, glut, GLX, GTK, RCS, Python
Attended 2004 O'Reilly Open Source Convention
Attended 2003 O'Reilly Open Source Convention