Monte Sereno, CA 95030
(408) 439-2818
Senior software engineer experienced in design and implementation
of security, desktop applications, user interfaces, graphics, firmware and algorithms.
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.
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.
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.
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.
Currently C++, C, Python, Bash. Formerly, Scheme, Lisp, Java, JavaScript, Perl, Tcl and many others.
Currently Emacs, gdb, git, STL, Boost, Eclipse, valgrind, Graphviz,
Arduino, Jenkins, Qemu. Formerly, VMware Fusion, Perforce, Visual
Studio, XCode, rcs, CodeWarrior
Agile, Test-driven Development, Systems Engineering, Waterfall, Rapid
Prototyping, Requirements Management, MISRA C++, Functional Safety
Currently Linux. Formerly, Microsoft Windows, MacOS, IRIX, Interlisp-D/Loops, TOPS-20.
Technical illustration, architectural CAD, 3D modeling, 3D rendering,
document design, document automtaion, corporate identity, editorial
illustration
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.
Carnegie Mellon University BS
Math/Computer Science, 1987.