Austin, TX 78729
erlkonig @ talisman.org
I have ten years of experience in leading small teams of programmers
into progressively more advanced academic projects, as well as acting
as the technical lead or one of several senior developers for various
commercial projects. I also have a somewhat longer history of problem
solving in the realms of Unix systems administration and user support.
I have extensive experience in Unix systems administration,
heterogeneous network integration, software development, web design,
technical writing and course instruction. A partial list of some of the
technical skills involved follows, generally with stronger skills first.
Detailed information may be found in
the
http://www.talisman.org/~erlkonig/resume/comprehensivist/
webpage.
- Languages:
- C (since about 1988),
Python
[note],
C++ (since 1991),
PERL,
shell scripting,
HTML,
PHP,
Emacs-LISP,
GNU make,
LISP,
and some familiarity with
Clojure, Ruby,
XHTML,
JavaScript/DOM,
XML,
SQL,
Java,
(and historical use of the
Lucent/Agere FPL
router assembly language,
VRML,
PostScript, Pascal,
FORTRAN,
Intel x86 assembly
(gas/att syntax), Forth, 6502,
BASIC
)
- Systems:
- Ubuntu, SuSE, Redhat Linux, IRIX, Solaris, SVr4, Windows,
(and historical use of
Cisco IOS,,
VxWorks, MacOS X,
FreeBSD,
SunOS, SysV,
SCO,
Coherent,
HPUX,
NeXT,
DEC,
Amiga,
Apple,
Windows 98/NT/2k,
CDC, etc.
)
- Services:
-
IPv6,
WWW
(with CGI,
SSI,
PHP,
SSL),
LDAP,
SMTP,
DNS,
YP/
NIS,
NFS,
FTP,
news and
NNTP,
IRC,
SNMP,
(X)NTP,
POP,
IMAP,
TFTP,
SSH,
Samba,
RADIUS,
VNC,
SSL
certificate generation (including root
CA
and hierarchical certificates),
and some Kerberos.
- Software:
-
git,
chef,
Django,
Flask,
Boto (EC2 management),
GNU,
X10-X11R7,
OpenGL,
curses,
PostgreSQL,
Oracle,
Tivoli (
SecMan,
GEM,
BSM,
Framework, Inventory, etc),
Big Brother, Intermail (125000 user license),
Courier, CommuniGate, Nagios,
(and historical use of
SGI
GL,
TeX/LaTeX,
FrameMaker,
SunView,
NeWS,
SAINT,
and various other source code management systems
)
These projects and others are described at
http://www.talisman.org/~erlkonig/software/.
Some highlights are:
- Xwins: manipulate and interact with X windows in OpenGL with a
3dconnexion 6-axis controller (I mainly use it to magnify and rotate
live X windows)
- Linux controller software for Alienware AlienFX case lighting
- Mole, a basic network monitoring system (in PERL, sensible for 2001)
- A Linux kernel (2.6.35) module implementing a in-kernel text editor
controlled via a /dev/editor device (C, proof-of-concept,
also perversely ported into PostgreSQL stored procedures)
- An OpenGL program supporting full interaction with a virtual X server
mapped onto polyhedra (OpenGL/C++, in 2003 before Compiz)
- A virtual X server supporting a framebuffer layout in SGI RGB texture
format (X11/C)
- A method of dynamic polygon complexity adjustment to
meet user-settable framerate goals (OpenGL/C++,C)
- A Linux user-space driver for the SpaceTec Spaceball 4000 FLX
- An N-tree class based on the
STL,
supporting customizable allocators, iterators, and STL algorithms (C++)
I run a mixed IPv4/IPv6
heterogeneous network
with full internal services under talisman.org.
- Texas Education Agency teaching approval for
computer systems administration, security,
networking, C programming, and Unix at the university level
- Hurricane Electric / Tunnelbroker IPv6 Certification
Sage
- Beginning Japanese at Austin Community College, GPA 4.0 (mentioned to underscore my interest in i18n)
- Lucent/Agere: PayloadPlus network processor chipset assembly programming
- Oracle: Introduction to Oracle: SQL and PL/SQL
- Oracle: Enterprise DBA Part 1A
- Tivoli Top Gun (~200 class hours on Tivoli software deployments)
- Tivoli Framework certification
- Windows NT Administration
- BS - Computer Science and Mathematics, ~60 hours complete
College of Natural Sciences, University of Texas at Austin
The following are listed in order of the most recent year of
association, excluding most contract work. Note that
Netpliance actually became TippingPoint, and Landmark Organization
merged with FaulknerUSA.
-
Software Engineer
(September 2016 - March 2023)
Kershner Trading Group / CloudQuant
-
Software engineer primarily focused on continuing development and
support of a publicly-accessible, user-algorithm-driven stock
trading simulator at app.cloudquant.com, where
best-of-breed algorithms can be funded and run for profit in the
live market. Part of a geographically-separated team.
-
Software development: Python, REST API design, git, unittests,
Gitlab, code reviews, Jenkins, PostgreSQL, …
-
Devops: Salt, Docker, monitoring, local repository management,
some Rancher + k8s, …
-
Sysadmin: Linux, LDAP, networking across geographic divides,
Nginx, backups, …
Probably the most amusing project here (so far) was my writing a
drop-in replacement for Anaconda's repository software - in a
mere few days based mostly on line protocol - to escape the
surprisingly high fee they were soon to start charging. It was
also satisfying writing an RBAC service compatible with the associated
NIST standard that has fleshed-out, mildly
sentence-based, wildcarded permission system underneath.
-
Senior Software Developer
(August 2015 - April 2016)
TRUECar Inc
-
Software engineer with the Dealer product team. Worked with our
new and legacy code, architected the new backend data model,
extended REST APIs in both Python Flask and Ruby on Rails
services, coördinated extensively with other teams and
geographically separated members of our own team to contribute
code to other projects when they were related to our own, and
recruited and vetted candidates for our internship program.
-
Lead an early, successful team coding initiative of using Rails
and React for a prototype of a new feature based on one of our
legacy Python service
-
Technology evangelist - migrated backend services from using
MSSQL stored procedures to a REST API service wrapper around
Amazon's Elastic Search database, and lead the retargeting of
some legacy approaches to instead using PostgreSQL on Amazon's
RDS service
-
Hardcore supporter of unit and integration testing - quadrupled
the number of tests on our team's core product and streamlined
the use of the resulting thousands of tests for both quick
thorough runs on developer laptops while still allowing the much
slower, exhaustive approach typical for Jenkins
-
Acted as mentor when needed
-
Wrote and urged documentation
I normally don't comment on groups, but TrueCar's dealer software
team was exceptional, working together unusually smoothly and
well, thanks in great part to Jay Connelly's role in building the
team.
-
Software Engineer
(September 2013 - May 2015)
Draker / Solar Power Technologies Inc
-
Developed new and improved existing backend services, mostly
cloud-based backend services with REST APIs, as well as working
on the software images for small Linux computers deployed into
customer locations for monitoring many thousands of remote
devices. The software mix was a great deal of Python with a fair
amount of Linux and shell work and a small amount of C.
-
Senior Developer
(April 2012 - January 2013)
CanWe Studios
-
Startup madness:
-
Social network data modelling and analysis
-
Core designer for the second version of underlying Brain
-
Python, mixed SQL+NoSQL (Cassandra, Couchbase, PostgreSQL), Git
-
Extensive DevOps in the Amazon EC2/VPC cloud using boto
-
Senior Developer
(February 2011 - December 2011)
Tippr
-
One of several senior members of the software team behind Tippr,
a grouped buying site and collaboration nexus for publishers and
merchants.
-
Senior software engineer for core logic/models with a secondary
role as dev-ops/admin across all testing and production clusters
-
Heavy use of Python (with Django and extensive unit/system
testing) for the primary application coding, git on GitHub for
source code control, Chef (and some Ruby) for automated
deployment, PostgreSQL (with master replication and read-only
slaves) for the backend, Linode VMs with StackScripts for
production, integration with Cloudkick (to augment Loggly and
Tracelytics)
-
Supported the per-developer VM clusters, built under Vagrant but
used nearly identically to the Linode clusters
-
Wrote most of our recent developer technical documentation
-
A plethora of other things, typical in highly functioning startups
-
Automation Framework Engineer
(October 2008 - February 2010)
Dell / MessageOne / Volt
-
Various internal software engineering projects, with some work in
Clojure and a lot more in Python, including the following
(descriptions are limited since these are not public projects):
-
Co-design and implementation of a new support infrastructure for
software regression testing in complex environments using
automatically-created networks of virtual computers
-
Major extension to the distributed monitoring system used for one
of Dell's in-production, customer-facing projects, followed by a
reimplementation of it in Clojure
-
Network Architect/Manager
(January 2008 - April 2008)
Axirim
-
The core deployment idea was to build VMs for testing that were
then automatically installed as non-virtual production machines
in the colocation facility.
-
Systems Architect
(October 2006 - 2008)
(confidential client)
-
Principal designer and implementor of a globally-scoped,
authenticating transaction system for a company in pre-startup
phase. Core work was implementing a biometric authentication
system around an Authentec fingerprint system, including
reimplementing the userspace driver (in C++), along with an
OpenGL-based demo of the system. All other information
confidential and proprietary
-
Senior Systems Administrator
(May 2004 - February 2007)
Catalis / ReCare / Isgenesis
-
Unix systems administration using LDAP, Kerberos, and AFS in a
medium security, defense-in-depth environment. Controlled
IT-related policy, procedures and support structures, all
publicized on internal web areas and a central Wiki. Ran the IT
and public websites, CommuniGate SMTP/IMAP email, Asterisk VOIP
phone services, all core infrastructure and firewalls, and
various Xen-based virtual instances for specific services.
-
Consulting Systems Analyst
(March 2000 - December 2003)
FaulknerUSA / Landmark Organization
-
Consulting, network and Linux systems administration, mostly
performed remotely. I originally Joined Landmark Organization and
was retained by FaulknerUSA after their merger. Orchestrated much
of the email, web, and domain switch-overs during the merger.
-
Embedded Systems Software Engineer
(March 2001 - September 2001)
TippingPoint Technologies
-
In Netpliance's new incarnation, I designed and implemented much
of the embedded software and external API for the prototype of
TippingPoint's UnityOne Intrusion Prevention Appliance,
supporting deep TCP/IP packet inspection and conversion. Acted as
(co)liaison to other teams developing management software for the
product. Other key contributions included automated per-module
regression testing, literate programming methods to expose the
code's own prototypes and per-function documentation to the other
development teams on the web, and development of a scripting
language for a network-controlled traffic generator to support
regression testing.
-
Network Architect / Team Lead
(May 2000 - March 2001)
Netpliance
-
Team co-lead of core business systems administrators, responsible
for extension of comprehensive systems monitoring, database
integration, network capability research and expansion, process
development and documentation, programming of special projects.
Involved with some new product feasibility and marketability
discussions. Developed new software supporting business goals.
including a 3D realtime RADIUS connection visualizer in OpenGL.
-
Senior Software Engineer / Writer
(February 1998 - April 2000)
IBM / Tivoli Systems
-
Developed training courses for Tivoli's prerelease
enterprise-wide system administration offerings, typically for
Tivoli's most complex products and most sophisticated target
groups. I was responsible for several successful innovations in
courseware design and instruction, which led to my assignment to
join the Tivoli virtual-reality training project. Directly
involved in creating courseware for the following (most recent
first):
-
Policy Director (research)
-
Security Management Implementation (update)
-
Cross-Site (wrote)
-
Tivoli Product Overview: GEM demonstration package (wrote)
-
Business Systems Management (co-wrote)
-
Framework I and II (co-wrote)
-
Director of Technical Instruction
(April 1991 - February 2002)
Resource Development Academy
-
Director of Unix and C/C++ instruction at the Resource
Development Academy. Class instructor, commercial web designer
with credit card support via Perl CGI, postmaster and sole site
admin for heterogeneous network (SunOS/SCO/Linux/Windows).
Trained Origin's MIS staff, Ultima Online's Unix staff and taught
OO methods to a number of Ultima Online's programmers.
Subcontracted out for Unix systems analysis, teaching, and
lectures, both civilian and military.
-
Unix Tools Specialist
(June 1994 - 1999)
Institut für Informatik, Freie Universität Berlin
-
Member of the extended staff group at the Freie Universität
Berlin, a volunteer position, providing tools support (GNU utils,
X11R6, etc.) on a volunteer basis. Most work was done during a
sojourn to Berlin in 1994. Developed a model for managing
networked software installations, called "pods", with automatic
user path generation and largely user-transparent support for
adding, removing, and consolidating pods, as well as moving them
between servers.
-
Unix Systems Analyst
(June 1994 - April 1997)
Origin Systems
-
Sole (until mid 1996) Unix systems administrator for a
medium-sized network of Silicon Graphics machines at Origin
Systems, ranging from desktop workstations to a half-million
dollar SGI Onyx RE2, working tangent to the PC/Macintosh
technical staff. Involved in or responsible for all Origin
Internet services. My game credits include:
Technical details:
extensive experience with Silicon Graphics under IRIX 5 and 6,
alphanumeric messaging from the command line with
web-integration, spatial graphics programming in GL and OpenGL, X
toolkit/widget programming in C and C++, PERL 5, including
parsing of DNS tables, SGI's native network time service, m4,
SSH, MIME, XNTP, installation of ATM over CAT5 and fiber, PC/Unix
file-sharing with Samba on the SGIs, software-controlled
processor-to-user allocation in a 6 processor SGI Onyx/6 RE2,
installation/administration of a satellite-based USENET newsfeed,
HTML through version 3.2, VRML 1, creation of WWW
site-information centers, internal newsgroup administration with
web-integration, web-availability of all SGI-based files,
Unix-based robot tape library administration, image conversion,
data analysis, web-based generic survey forms, automated
multi-host configuration, remote administration of the Baltimore
site, dangers of the upcoming year 2000 problem, Photoshop, some
Alias/Wavefront and Softimage.
-
Systems Operator
(March 1990 - December 1991)
General Electric Network for Information Exchange
-
One of the several Systems Operators for the Unix Roundtable on
the General Electric Network for Information Exchange (GEnie),
acting as consultants, administrators, and conference hosts.
GEnie had around 200,000 subscribers, with the simultaneous load
peaking at over 3500 users from the USA, Canada, and Europe.
-
Systems Analyst
(November 1990 - December 1990)
Pencom, for IBM
-
Employed by Pencom, contracted to IBM. Acquired to perform ANSI/C
systems and kernel programming on the RISC/6000 in the area of
OSI reference model protocol implementation under Unix/AIX. All
other information confidential and proprietary.
-
Assoc Systems Analyst
(October 1989 - November 1990)
Microelectronics and Computer Technology Corp / MCC
-
Retained by MCC. In addition to previous duties (Systems
Technician, q.v.), began building an effective base for software
development with a concentration on X11 and the various GNU
software packages. Initiated diagnostics to accrue empirical data
for use in stabilizing and extending the network. Added
world-wide realtime communication software. Consulted on
equipment and software purchases with management. A progress summary from 1989-09 is
available.
Technical details:
advanced sendmail configuration, user login script
canonicalization (for heterogeneous shells), user window system
configuration canonicalization, network time synchronization, IRC
site administration, FrameMaker under X11, hardware hacks on 1/2
inch tape drives, YP mail aliases, Emacs LISP,
internationalization of Emacs through C and LISP, kernel tuning
to increase max process count, use of the find(1) command,
advantages of large read/write calls and mmap(2), file system
consistency verification, TOPS Sun/Macintosh file and print
sharing, Amiga/Unix integration, some C++ (GNU g++), X11
programming, basic VLSI chip editor design, C++ coding of TCP/IP
communications, a brief exposure to the NeXT at OS version 0.8.
-
Systems Technician
(September 1988 - October 1989)
Microelectronics and Computer Technology Corp / MCC
-
Hired by the M.C.C. Packaging/Interconnect for the purpose of
assembling the many separate Sun workstations within the program
into a working whole. Ministered to the needs of CAD, modeling,
and various development groups by writing, installing,
documenting, and maintaining applicable software. Configured the
mail, Yellow Pages, and TOPSprint systems. Created and maintained
a network-wide directory structure and user environment.
Technical details: admin
level Unix experience, Bourne shell scripting, basic sendmail
configuration, TCP/IP Ethernet (thicknet and thinnet),
workstations as routers, DNS (long before most sites), NFS,
YP/NIS, Frame, SunView and X11 (including simultaneous use on one
workstation, USENET news administration, printing and print
filters, plotting, network performance analysis, importation of
Internet software, process control scripting, disk partitioning,
backups, TFTP, BOOTP, GNU software, kernel tuning, user account
management, 3rd party software installation, user support, PC/Sun
gateway mechanisms, EEPROM parameter configuration, ANSI C (GNU
gcc), sed, awk, basic C coding of TCP/IP communications,
automated fetching and translation of the sri-nic.arpa host table.
-
Mathematics Tutor - Selected Topics in Advanced Mathematics
(January 1988 - April 1988)
(private employ)
-
Private tutor for the course based upon the text Selected Topics
in Mathematics. Instruction proceeded throughout the semester.
Topics included a regrounding of the student's motivation towards
and knowledge of algebra, and proceeded through matrices,
topology, statistics, use of arbitrary bases, the derivative, etc.
-
Research Lab Asst
(September 1987 - September 1988)
University of Texas at Austin Computation Center
-
Acted as University of Texas Computation Center RJE operator for
processes on the IBM, DEC-20 and RJE links spooling to various
output sites across the University campus. Supported users in the
Sun workstation laboratory during light-load hours, through
demonstration of use and customization of Unix on Sun
workstations, networking, scripting, and the SunView and X10+
Windowing environments. Created group Talisman, which worked in
part as a Unix security tiger team in coöperation with primary
UT Computation Center systems administrators.
- Co-Winner, Spring 1990 IEEECS national programming competition
- Contributing writer and financial supporter of Wikipedia.
- Software/Internet adviser to several startup ventures.
- Unix support consultant to a few individuals and companies.
- Programming staff, 1991 IEEECS national programming competition
- Co-Founder, Group Talisman
- Moderate fluency in German, and some coursework in Japanese.
- Go, Inline skating, Saber, [music] Composition, Riding,
Linguistics, Flying.
|