John D. Corbett

Monte Sereno, CA 95030
(408) 439-2818

corbett@pictographer.com

Executive Summary

Senior software engineer experienced in design and implementation of security, desktop applications, user interfaces, graphics, firmware and algorithms.

Full-Time Employment

Temujin labs, Inc. [Engineering Manager] 2019 - present. Leading a team building new financial infrastructure based on advanced cryptographic algorithms.

Tortuga Logic, Inc. 2018-2019. Developed cache-friendly directed graph library in C++. Documented interprocess communication library options. Developed hierarchical node representation for HDL traversal. Proposed compression options for waveform data.

Two Pore Guys, Inc. 2016-2017. Developed software spanning microcontroller firmware, user interface and server applications in support of solid state genome sequencing and universal biomarker detection technologies. Firmware in C++. Desktop application in Python.

Xilinx, Inc. [Sr. Staff Software Engineer] 2005-2016. Developed electronic design automation software for high reliability and high security applications.

BravoBrava! LLC [Software Engineer] 2000-2001 Developed prototypes and technology demonstrations of multi-modal user interfaces incorporating speech recognition, handwriting recognition, RFID, and others. Created completely custom user interfaces including all artwork.

Lights On Software [Founder] Co-founded a company to automate residential lighting design. Designed and implemented original algorithms for light placement and circuit layout using computational geometry and combinatorial search. Created a parametric symbol library.

Silicon Graphics [Member of Technical Staff] 1989-1992 Developed and maintained software, documentation, and artwork for SGI's end user environment with C++, GL, IRIX, X11, and Motif.

PARC (formerly Xerox PARC) [Research Programmer] 1987-1989 Built software prototypes in InterlispD/Loops and Common Lisp/CLOS for a theory of graphics editing.

Learning Research and Development Center [Research Programmer] 1984-1987 Invented and patented a technique for creating highly custom direct manipulation graphical user interfaces using direct manipulation. The research was so successful that it was spun out and commercialized. Integrated a pattern matcher for diagnosing student responses and developed flicker-free animation primitives. Work was performed in the Xerox Interlisp-D/Loops programming environment.

Selected Consulting Projects

The Pictographer's Shop [Founder] 1996-present. Founded sole proprietorship to offer advanced software development and interdisciplinary design targeting small companies.

Xilinx, Inc. [Contract] Documented H.264/H.265 Video Codec. Project required interdiciplinary collaboration and quick ramp up on unfamiliar an hardware/firmware subsystem. Updated hardware documentation and created software documentation by studying the source code.

Wyse Technology [Contract] Designed and implemented embedded Linux configuration user interface using libglade and GTK. Collaborated with international developers.

GeneEd, Inc. [Contract] Developed educational simulations in Flash MX. Collaborative work was performed on a tight deadline and required quick assimilation of relevant biotechnology and in-house software framework.

InCap Corporation [Contract] Evaluated and recommended technologies and strategies for a new product development effort. Reduced projected system cost by upwards of 40%. Updated corporate identity and created editorial illustrations. Prototyped document automation.

Muse Communications Corp. [Contract] Designed and implemented an XML-based interpreter used by artists for defining animation and behavior in a distributed interactive 3D environment using Microsoft Visual C++. Accommodated changing requirements with flexible yet simple language design.

Electronics Self-Study

Microcontroller Development

Built a variety of home automation projects using the Arduino libraries primarily on Teensy 3 develoment boards from PJRC. Projects used photodiodes, capacitive touch sensing, audio generation, addressable LED strips, electromechanical relays, solid state relays, voltage regulators, discrete transistors, I2C interfaces, SPI interfaces, small displays, and voltage level shifting, etc. Frequent contributor to PJRC discussion forum under the user name pictographer.

Embedded Linux Development

Installed and maintain OpenWrt on several wireless routers, all but one of which are clients to the primary wireless router. Each is connected to a Teensy to provide a physical interface. All communicate wirelessly via WPA2 and SSH.

Software Development Skills

Programming Languages

Currently C++, C, Python, Bash. Formerly, Scheme, Lisp, Java, JavaScript, Perl, Tcl and many others.

Tools and Libraries

Currently Emacs, gdb, git, STL, Boost, Eclipse, valgrind, Graphviz, Arduino, Jenkins, Qemu. Formerly, VMware Fusion, Perforce, Visual Studio, XCode, rcs, CodeWarrior

Methodologies

Agile, Test-driven Development, Systems Engineering, Waterfall, Rapid Prototyping, Requirements Management, MISRA C++, Functional Safety

Operating Systems

Currently Linux. Formerly, Microsoft Windows, MacOS, IRIX, Interlisp-D/Loops, TOPS-20.

Graphic Design Skills

Technical illustration, architectural CAD, 3D modeling, 3D rendering, document design, document automtaion, corporate identity, editorial illustration

Patents

Patent 10,107,855 Electromagnetic verification of integrated circuits
Proposed electromagnetic signature fingerprinting to detect changes in integrated circuits.

Patent 8,522,091 Prioritized detection of memory corruption
Explained how to use Xilinx FPGA configuration scanning to accelerate the detection of memory upsets for critical functions and explained how to identify the errant module in a dual modular redundancy scheme.

Patent 8,065,644 Reducing susceptibility of circuit designs to single event upsets
Described how to automate choices among SEU mitigation methods.

Patent 8,065,642 Isolation verification for implementing modular redundancy within programmable integrated circuits
Described how the Xilinx Isolation Verification Tool detects isolation violations through routing analysis or through geometric analysis.

Patent 7,930,662 Methods for automatically generating fault mitigation strategies for electronic system designs
Described how to apply fault mitigation strategies with a computer language compilation approach.

US Patent 6,161,121 Generic transfer of exclusive rights
Showed that the escrow agent does not need full access to good to be transferred. Work performed while consulting for Agorics, Inc.

US Patent 5,041,992 Interactive method of developing software interfaces
Designed and implemented an editor for direct manipulation user interfaces. The editor itself had a direct manipulation interface. Work performed at the Learning Research and Development Center.

Education

Carnegie Mellon University BS Math/Computer Science, 1987.