Daniel Kegel
dank@kegel.com,
http://www.kegel.com
Senior software engineer with over 10 years experience in C, Linux, and TCP/IP
several years experience in C++, Java, and Win32
Familiar with Apache, Buildbot, CMake, GCC, GDB, Git, Javascript, MySQL, Perl,
PHP, Python, Subversion, Valgrind, Visual C++
Experience
Aug 2012-present: Software Engineer, Oblong Industries
- Automated continuous integration for Linux using Buildbot
- Used LXC to provide isolation between builds
- Automated buildbot configuration to ease administration
June-July 2012: Software Engineer/Consultant, Tanner Research
Short, targeted gig to help port their CAD application to 64 bit Linux using
Wine
2010-2012: Software Engineer, startup, confidential
2004-2010: Software Engineer, Google,
Santa Monica, CA
- Helped port Google Chrome's networking to Linux/Mac OS X using libevent
- Helped port Google Picasa to Linux using Wine
- Supervised internal linux-filesytem-related project
- Helped port a large C++ codebase from gcc-2.95/32 bits to gcc-3.4/64 bits,
and created knowledgebase of common error messages and their causes
- Interviewed hundreds of candidate software engineers
2001-2004: Senior Engineer, Ixia Communications,
Calabasas, CA
Developed the
Ixia Linux SDK
(a simple embedded Linux with GNU cross-development tools)
and a high-performance scripting language for load generation.
While there, developed the open source C/C++ toolchain build script Crosstool
Designed and implemented secure, high-performance, highly available email server software
using C++, Java, SSL, SNMP, JDBC, and Sybase on Linux and Solaris.
I 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. Released as open source; see 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
Designed and implemented portable multiplayer networking code for
games on the Win95, Linux, MS-DOS, and MacOS platforms, and
game servers on the Linux and Solaris platforms.
About fourteen games were shipped using this code.
My supervisor wrote:
Dan has been responsible for most of Activision's technical innovation during [1996].
Publications
Education
BS, Engineering and Applied Science and Biology, 1986, Caltech
Other Activities
Last update: 27 March 2012
Copyright 1996-2012 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.