Andrew Gaul

http://gaul.org/
andrew@gaul.org
(415) 533-5493 96 Walter St.
San Francisco, CA 94114

Summary

Systems programmer with a strong background in Linux and other free software. Interests include early-stage startups, optimization and scalability problems, and technical leadership opportunities.

Work Experience

Riverbed Technology Member of the Technical Staff 2006 - present

Currently working on a novel cloud storage and network acceleration technology.

File system engineer for Atlas 1.0, a deduplicating storage appliance. Implemented algorithms for large-window data compression and designed data structures for efficient indexing and storage of compressed data. Made fundamental contributions to segmentation and garbage collection algorithms, improving performance and space efficiency. Provided key performance enhancements, realizing 2-10x speedups on various workloads via algorithmic improvements and assembly-level optimizations. Implemented file system check and fuzz tester which found dozens of bugs and memory leaks.

Device framework engineer for Steelhead 3.0-5.0, a network optimization appliance. Technical lead for implementing Python language bindings and modernizing command-line interface, supervising one junior engineer and one intern. Redesigned Berkeley DB-based statistics subsystem, realizing a 100x performance improvement, substantial space savings, and simplified garbage collection. Integrated SSL acceleration, the Proxy File Service, transparent CIFS prepopulation, and encrypted storage with various system services.

Tabernus Software Engineer 2004 - 2006

Lead engineer for the Tabernus E800, disk refurbishing hardware capable of requalifying dozens of hard drives simultaneously. Features include hot-swapping, configurable tests including S.M.A.R.T., and network expandability. Designed and implemented Disk Purge, a bootable Linux CD for securely erasing storage devices. Added tape functionality, including SCSI commands and performance tests, to NorthstarADT, a Windows-based tool for designing and testing storage devices.

United Devices (now Univa UD) Software Development Intern 2002

Implemented installer and related utilities for the MetaProcessor Platform, management software for distributed computing.

HRL Laboratories Research Associate 2002

Designed and implemented device driver using netfilter which simulates wireless network faults, e.g., dropouts and interference.

Trilogy Software Development Intern 2001

Implemented a customer relationship manager prototype using JavaServer Pages and an in-house object database.

Education

University of Texas at Austin BS Computer Sciences 1997 - 2002

Studies included undergraduate research with the Real-Time Systems Group, supervised by Dr. Aloysius Mok.

Skills

Miscellaneous