Daniel Kegel
Senior software engineer with 20+ years total experience in embedded
systems, server, desktop, and cloud development. Comfortable
working at all levels of the system from bare metal on up.
Languages: C/C++, x86/amd64 assembly, Python, shell, Java, Golang, Javascript
Platforms: Linux, MacOS, Windows; server, desktop, embedded
Tools: ASan, Valgrind, Meson/CMake, Github/Gitlab/Buildbot, docker, qemu, strace, ...
Techniques: test driven, cross-platform, open source, pair programming, CI
dank@kegel.com ::
www.kegel.com ::
github.com/dankegel
Experience
May 2020: open source contributor
- Contributed enhancements and code reviews to
meson and
zlib
Aug 2012-Apr 2020: Senior Platform Engineer, Oblong Industries
- Set up CI for dozens of projects with 2000 builders on Linux/mac/win, ppc/x86/arm
- Created automated build/release workflow to greatly reduce post-release surprises
- Ported build systems from Make to Automake to CMake to Meson
- Wrote tools to give developers easy repeatable local builds
- Contributed small bug and doc fixes to open source projects, e.g.
googletest,
grpc,
lxd,
scancode,
jinj2-cli,
and
vcpkg.
- Created Ubuntu PPAs with workarounds to problems I ran into in
python and pip
Promoted shortly before coronavirus forced company to drop my department. My supervisor wrote:
Dan always went above and beyond the call of duty. He not only met expectations with every project but would make
all the tangential bits better as well in the process. His attention to detail is incredible.
2010-2012: Software Engineer, startup, confidential
2003-2010: Software Engineer, Google, Santa Monica, CA
- Helped organize port of Google's codebase to 64 bits, for which I was promoted to staff engineer
- Filed two dozen bugs against gcc
- Interviewed hundreds of candidate software engineers
- Minor contributor to Google Chrome (300 commits 2008-2009)
- Contributed lsdistcc and numerous commits to distcc
- Managed port of Google Picasa to Linux using Wine
2001-2003: Senior Engineer, Ixia Communications,
Calabasas, CA
- Took the Ixia Linux SDK
from a rough prototype to a finished GPL-compliant embedded Linux with GNU cross-development tools.
- Set up a nightly build and regression test environment
- Discovered and fixed toolchain problems
- Supporting non-Ixia developers using the SDK
- Created coroutine-based parallel scripting language for gigabit load generation
- Wrote briefly popular Crosstool toolchain build script + patch repo
- Filed a dozen-odd bugs against gcc, and a fix or two.
Designed and implemented the following aspects of the Omniva server:
- Nonblocking queued architecture capable of handling
thousands of simultaneous clients
using only a handful of threads; the queued design protects against deadlocks.
- Crashproof stable queues providing stable storage within a single
keyserver, and serving as the basis for crashproof mirroring of keyserver
contents to hot remote servers.
- Stackable protocol code allowing HTTP tunnelling and/or SSL encryption
(using OpenSSL) of client sessions.
- A custom SNMP agent (using UCD-SNMP)
providing keyserver and mirror health monitoring.
- An SNMP subagent library and a custom MIB compiler generating C++
wrapper objects to make SNMP coding easier, www.kegel.com/snmp.
My supervisor wrote:
Dan is one of Disappearing Inc.'s key assets.
He has a deep commitment to our product and a sense of ownership
over its technology. His ability to create a full keyserver from a clean sheet of
paper is a testimony to his value to our organization.
1995-1999: Senior Programmer, Activision, Santa Monica, CA
My supervisor wrote:
Dan has been responsible for most of Activision's technical innovation during [1996].
1993-1995: Software engineer, Knowledge Adventure, Glendale, CA
1989-1991: Electrical Engineer, Mars Observer Project, Caltech, Pasadena,
CA.
Publications
Education
- BS, Engineering and Applied Science and Biology, 1986, Caltech
Other Activities
:-)
Last update: 27 May 2020
Copyright 1996-2020 Dan Kegel
This document may not be copied, sent to any prospective employer, or placed in any online job bank
without the author's explicit permission. It lives at www.kegel.com/resume.html.