Adam Fritzler
548 Market St 19089, San Francisco, California, USA
mid@zigamorph.net | AIM: midendian
KJ6DYS

Scope

I am interested in the area where system operations and engineering overlap: maintaining, scaling, and improving the availability of applications regardless of platform and location. This is often grouped into operations engineering or devops, but a good analogy to what I do is the auto mechanic: every manufacturer and engineering organization does things differently and I have seen, worked with, and fixed systems from a good number of them, for a broad, pragmatic perspective on building and repairing new systems.

Experience Summary

  • Knowledge of Linux, perl, C, GNU tools, and the UNIX mindset.
  • Strong belief in using instrumentation and monitoring to improve development and meet business goals.
  • Development and operation of every level of programming, from embedded firmware to Java servlets.
  • Expertise in the areas of mobile communications, instant messaging, peer to peer, and geographic information.
  • Frequent work with users and developers in worldwide development teams.

Technical Expertise

Languagesperl, JavaScript, C, Java, HTML/CSS, python
ProtocolsEthernet, Token Ring, IP, TCP, UDP, DNS, SSH, LDAP, BitTorrent
Softwaregcc, binutils, Linux kernel, make, autoconf/automake, Apache, bind, nagios, ganglia, svn, slapd, mysql, postgres/postgis, node.js
SystemsLinux (Debian preferred), MacOS X, Microsoft Windows, NetBSD, FreeBSD
Platformsx86, Amazon EC2, Macintosh, Sun3/4, DEC
Network kitFoundry ServerIron, Netscreen firewalls (ScreenOS) and DX, Juniper routers and switches (JunOS), Force10, Cisco firewalls and routers, Isilon




Professional Experience

Planet Labs, Inc, San Francisco, California
Software engineer / Landscape photographer (2014-present)
[Various]
Operations/Infrastructure Consultant (2009-present)
  • Specialize in migration to cloud hosting, automated system building, and system monitoring/instrumentation infrastructure. Particular interest in GIS databases and cartographic applications.
[Redacted]
Software Engineer (contract) (2010-2014)
  • Rewrote large parts of python+Java web service and underlying PL/pgSQL stored functions
  • Designed context-specific map-matching/reverse-geocoding heuristics
  • Refactored NAVTEQ NAVSTREETS data with custom schema and PostGIS
  • Architected schema/procedures for deploying mixed NAVTEQ and OSM data
  • Migrated significant portions of system to AWS EC2/S3/SQS/etc
  • Redesigned data architecture/flow for dramatically higher throughput and lower query latency
  • Developed autoconfiguring system instrumentation, alerting, and configuration management
TiVo, Inc, Alviso, California
Server Software Engineer (contract) (2009-2011)
  • Develop and maintain server installation, upgrade, and data migration procedures.
  • Lead the resolution of issues discovered in deployed production systems, including data analysis, designing fixes, and writing deployment risk assesments.
  • Build monitoring and system analysis tools.
  • Maintain and add features to in-house distributed configuration management system.
BitTorrent, Inc, San Francisco, California
Operations Engineer (2006-2007)
Operations, Director (2007-2008)
Operations (Consultant) (2009-2010)
  • Managed operations team in day to day operations as well as strategic architectural decisions.
  • Built sophisticated application instrumentation infrastructure to deliver real-time metrics to meet both engineering and business needs.
  • Developed various systems for monitoring and characterizing the agents and traffic flow in the BitTorrent network.
  • Assisted with architecting a 300-machine datacenter build-out, including configuration of multi-homed Internet connections, layer 4 load balancers, and a multitier switch fabric.
  • Automated the installation and monitoring of the various components of the BitTorrent Entertainment Network and BitTorrent DNA services.
  • Oversaw the reorganization of data center resources as business plans evolved, as well as building a backup data center in Tokyo.
Integrated Media Measurement Inc, San Mateo, California
Consultant, Network Operations (2006)
  • System performance testing and comparison to certify new hardware for computation nodes and database servers
  • Built new development cluster, including network, VPN, central authentication, and QA support tools
  • Assist developers in fault-tolerant cluster design and automation.
Rojo Networks, Inc / Six Apart Ltd, San Francisco, California
Operations Engineer, Consultant (2005-2007)
  • Deploy and maintain several different Tomcat and PHP-based websites in fault-tolerant configurations.
  • Built out datacenter cage from scratch, including network and automated installation of new machines.
  • Assist developers with code instrumentation, statistics, and lower-level tasks.
Blue Iraq FZE, Balad, Iraq / Dubai
Co-founder, Chief Technology Officer (2004-2005)
  • Oversaw the maintenance and expansion of the company's satellite IP network based on iDirect technology.
  • Managed end-user Voice over IP network and connectivity to public telephone networks.
  • Developed techniques to improve the ongoing performance of voice and data traffic over satellite IP links.
ActiveBuddy, Inc, Sunnyvale, California
Senior Software Engineer (2000-2003)
  • Designed ActiveBuddy Interactive Agent hosting platform and coded the dispatcher and message router components.
    • Involved designing a UDP-based inter-node protocol to exchange dynamic routing updates and maintain a stable cluster topology after host failover.
  • Wrote components to connect to over a dozen different instant messaging networks, most requiring reverse-engineering.
  • Led technical side of the BuddyScript Connectivity Services for wireless connectivity hosting
    • Started IMDSR project, including core and several modules utilizing a variety of devices to provider connectivity to GSM and Mobitex networks.
    • Developed client software to bring ActiveBuddy Interactive Agents to the RIM wireless email/PDA devices
TerraFone, Inc, Berkeley, California
Software Engineer (1999)

Ported a real-time operating system from its native platform (the fixed-point Analog Devices ADSP-2181) to the next-generation floating-point ADSP-21065L SHARC platform.

  • Wrote a series of tools to trap the execution of older, unsupported instructions and flag them
  • When possible, allowed instructions to be automatically replaced with the their SHARC equivalents without interrupting execution
  • Kept within timing constraints for attached bit-banged serial devices and codecs.
  • Wrote adspsim, a software simulator for the ADSP-2181, as an intermediate tool

Patents

  • (Application Pending) A1-20030131061: Transparent proxy server for instant messaging system and methods

Free Software Projects

timps (2004-present) - Transparent instant messaging proxy server
Creator, Maintainer, Primary Contributor
  • Developed modular architecture for IM routing and application hooks, including an RPC mechanism for use between peered servers.
  • Wrote support for AOL Instant Messenger, MSN/Windows Messenger, Yahoo Messenger, and IRC, among others.
  • Designed inter-server message routing architecture and protocol for use in building trusted networks of IM users.
libfaim (1998-present) - Library to support AOL Instant Messenger protocol
Creator, Maintainer, Primary Contributor
  • Reverse-engineered the AIM protocol, examined packet traces and built tools to provoke the official clients into behaving in certain ways to provide useful traces.
  • Provided freely available documentation on the protocol, in both code and prose.
  • Designed the libfaim API to track a changing client user base as instant messaging gained widespread acceptance in free software world.
libnbio (2001-present) - BSD socket wrapper library
Creator, Primary Contributor
  • Light-weight, minimalist library for easing the use of non-blocking BSD sockets.
  • Supports Linux and FreeBSD quirks.
  • Winsock2 (Win32) sockets supported using event object notification with the same API as UNIX.
  • Included in Debian/Ubuntu.
intermobi (2001-2003) - Independent TCP/IP implementation (project abandoned)
Creator, Sole Contributor

  • Specifically targeted for the RIM wireless device using Mobitex as a link-level transport.
  • Implemented support for:
    • IPv4 (minimum Host Requirements, multiple interfaces)
    • ICMP (echo and basic errors)
    • TCP (passive and active connects)
  • Includes a simple web server.

rimsim (2001) - RIM pager simulator for UNIX (project abandoned)
Creator, Primary Contributor
  • Parses the dynamic link tables from the RIM application binaries and binds them to an emulated API, all other code runs natively on the host CPU.
  • Used as a testing and development platform for intermobi and other RIM projects.
tms380tr (1999-2000) - Linux driver for the Texas TMS380 Token Ring COMMprocessors (maintainership transferred; in mainstream kernel)
Maintainer, Primary Contributor
  • Transformed the SysKonnect driver into a generic core and card-specific modules.
  • Wrote modules to support Madge and Olicom brand devices
    • Required reverse-engineering for initial support
    • Extensive lobbying to those companies brought publicly available programming documentation
adspsim (1999) - Simulator of Analog Devices ADSP-2181 (project abandoned)
Creator, Sole Contributor
  • Implemented opcode-level simulator of ADSP-2181 fixed-point digital signal processor for UNIX platforms.
  • Supports DSP code profiling
  • Offers hooks for emulating serial-port and memory-mapped devices

Non-Professional Interests

  • GIS, cartography, and land use
  • Landscape, low-light, aerial, and aviation photography
  • Amateur packet radio
  • Aviation, air traffic control, and airfield operations
  • Cycling and bicycle building