Robert Copeland
**@***********.***
Objective:
A position as a senior software engineer in Unix systems development.
Highlights: Over 15 years experience in developing software at all levels of the stack, in a number of disciplines and a variety of languages.
Highly proficient in C, Java, Perl, Python, and x86 assembly.
Specialized domain knowledge in storage systems, wireless networking, VOIP, cryptography, computer graphics and DSP.
Education:
Johns Hopkins University 09/09 - 12/10
Master of Science in Computer Science
Focused on systems. Projects included cache-oblivious data structures for file systems, partitioning algorithms for parallel graph processing, a tap-like driver for user-space WiFi simulation, and a VM system for xv6.
Georgia Institute of Technology 09/94 - 06/98
Bachelor of Computer Engineering
With HonorSpecialized in software and applications. Major project involved VHDL design of a pipelined RISC processor, port of a C compiler to its ISA, and execution of a simple program on a synthesized FPGA.
Open-Source Work: Authored and maintained the Optimized MPEG File System (OMFS) in the Linux kernel, a file system used by the Rio Karma music player and ReplayTV. Reverse-engineered the USB wire protocol for the Karma and developed USB-storage and partition drivers.
Co-maintained ath5k, the Linux wireless driver for Atheros 802.11 abg hardware. Contributions included improved support for AR5414 chipsets, software LED support, hardware encryption, regulatory conformance, tracing infrastructure, power saving, and general bugfixes. Attended wireless miniconf in Berlin, 2009.
Contributed SDIO bus support to the wl1251 driver and ported various wireless utilities to Android, enabling use of upstream wireless drivers on HTC-Dream.
Published several additional small projects, such as GSTFS, a transcoding FUSE file system; and Shrill, a perl-based graphical jukebox frontend, at http://github.com/bcopeland/.
Professional History:
Senior Software Engineer LastPass
Vienna, VA 02/11 - PresentFocused primarily on scalability and high availability of LastPass and XMarks storage layers. Supported and expanded use of NoSQL data stores (Cassandra and HBase) to handle millions of users of these services.
Designed XMarks Repair feature that utilizes Merkle trees for worst-case O(N) tree comparisons.
Senior Consultant Altron, Inc.
Fairfax, VA 01/03 - 02/11Architected major US Marshals Service (USMS) enterprise system JDIS, a Swing application with an EJB/RDBMS backend. Application consisted of more than 5000 source files and 800 KLOC.
Spearheaded the effort to unify the Prisoner Tracking System (PTS) and the Warrant Information Network (WIN) under JDIS 8, reducing duplication of prisoner records throughout the enterprise. This four-year project involved design of a unified relational schema comprised of 200+ tables, migrating existing code and data to the new schema, and implementing new entities and client UIs to replicate features from the previous systems.
Rewrote JDIS persistence layer from ad-hoc JDBC queries to the Hibernate ORM, shrinking codebase by 20,000 lines and enabling portability from Informix to Oracle.
Created rsync-like distribution server for efficiently deploying class file updates to JDIS desktop clients
Presented with USMS Director's Award in June, 2005
Software Engineer eStara
Reston, VA 10/00 - 10/03Enhanced and maintained eStara's call gateway, the main component of the company's SIP architecture. Server was Java-based with an RDBMS backend, and performed tasks including call session management, traffic shaping, and PSTN termination.
Implemented Phone2Phone service using third-party call control (3PCC), eventually responsible for 95 percent of eStara's completed call traffic.
Improved voice quality and functionality of C-based PC2Phone soft-phone through implementations of jitter buffering, voice activity detection, automatic gain correction, echo suppression, and symmetric cryptography.
Authored VoiceXML (VXML) interpreting engine, providing eStara with the ability to develop and deploy new complex phone applications in hours instead of weeks.
Presented in June 2001 with eStara's Quality Quest Award, given for singular contributions to achieving product performance goals.
Linux Team Lead Developer eTantrum.com
Dulles, VA 12/99 - 09/00Led four-member team in developing Unix versions of client software for eTantrum's MusicID service.
Contributed to design and implementation of critical cross-platform components including the GPLed Songprint library, the Personal Media Agent codec plugin architecture, and a reliable inter-process message queue.
Ported eTantrum's skinbytes pixmap compiler from Windows to Linux, while greatly improving maintainability on both platforms by converting hundreds of lines of x86 assembly code into C.
Provided expertise on all aspects of Linux development, from OSS and ESD audio interfaces to direct Xlib and GTK+ windowing environments.
Software Engineer Intercept Technology, Inc.
Atlanta, GA 08/98 - 12/99Designed and developed enhancements for Pantheon, Intercept's PCB layout CAD system, a project comprised of more than a million lines of C code.
Added a number of new features to Pantheon including a parametric model library for RF circuit design based on HP's Advanced Design Suite (ADS); PCB database translators for Allegro, Orcad, and other major systems; and intelligent cut-and-paste, enabling easy re-use of common PCB footprints.
Ported entire system to Linux, making Pantheon the first commercially available PCB software on that platform.
Managed critical Solaris, HP-UX, and Linux servers.
Software Engineer Intern TransQuest, Inc.
Atlanta, GA 06/96-10/96, 06/97-09/97Developed C, Perl, and Java Servlet applications for the Delta Air Lines web site, http://www.delta.com.
Designed web-based reservation system for Delta and TransQuest employees, which interfaced with the reservation mainframe and Oracle SQL databases for real-time queries of flight information and seat availability.
Publications:
Cecere, J. and Copeland R. ``EDA Tools for RF Design.'' Printed Circuit Design Magazine, Aug. 1999: pp 18-22.