MARK H. WEAVER

                           <mhw@netris.org>

617-623-6923

PRETTY GOOD PRIVACY, INC. 9/1996 – 12/1997 Redwood Shores, California

• Second full-time programmer hired.

• Lead designer of the PGPsdk API, upon which PGP 5.x is based. Implemented highlevel key management module, including support for multiple key sets of mutable virtual keyrings. Key sets are sorted subsets of keyrings, defined by combinations of filters, enumeration, and set operations. Virtual keyrings are database modules which implement their own key sets efficiently, and were designed to support transparent network access and large keyrings, although this was not yet implemented as of PGP 5.x.

• Lead designer and implementor of portability module of the PGP Foundation Library upon which the PGPsdk and PGP 5.x are based. Provides a uniform crossplatform interface for file access and locking, pathname manipulation, directory traversal, date/time operations, and debugging support including assertion checking, logging, and detection of memory leaks, buffer overflows, and uninitialized or stale pointers. Implemented platform-specific code for Unix and MacOS.

• Implemented HTTP → LDAP key server proxy.

• Acted as network administrator until a replacement was found. Installed the main company network servers using NetBSD and OpenBSD, including Bind, Sendmail, APOP, and CVS. Set up ISDN lines providing subnets for several early employees, involving configuration of a Cisco router and Netopia ISDN modem/routers.

• Was responsible for editing, typesetting, and printing books containing the full source code of PGP 5.x. Worked with Colin Plumb and Phil Zimmermann to develop a book of Tools for Publishing Source Code via OCR, for producing specially formatted source code listings annotated with CRCs to support exact reproduction of the source tree from paper. Popular OCR software relies heavily on language-specific heuristics and produces several errors per page, so we include tools which locate errors and correct most automatically. These tools were also used to publish Cracking DES by the Electronic Frontier Foundation.

• Credited in PGP 5.x, in OpenPGP RFC 2440, on the front covers of OCR tools book and source code books for PGP 5.x, and on page 4-4 of EFF’s Cracking DES, which includes two perl scripts I wrote.

NATIONAL CANCER INSTITUTE 7/1987 – 8/1989 Bethesda, Maryland

• Summer of 1987: Student research fellowship. Designed and implemented a prototype for an image processing system on a pre-release Mac II, for analysis of CAT, PET, MRI, and other scans.

• 9/1987 – 6/1988: Co-authored an image processing user interface library for the Mac II, including color table management, grayscale image display, colored overlay planes, selections, and tool palettes as part of a proposed radiation treatment planning system.

• 8/1989: Implemented radiation treatment simulation module, which calculates how much radiation hits each point in the body, given a configuration of point sources and lead blocks.

MERCURY SYSTEMS, INC. 1/1991 – 2/1993 Century City, California

• Was president and co-owner of a computer software business. Co-authored MacIntercomm, a modem telecommunications program for the Macintosh including a preemptive multitasking system which allowed full-speed background transfers even while playing CPU intensive games or formatting a floppy. Also included optimized color text drawing routines which were 30% faster than QuickDraw’s.

• Certified Apple Developer and Registered NeXT Developer.

XECOM, INC. 7/1989 – 12/1990 Milpitas, California

• Implemented ROM drivers and helped debug hardware for the XECOM internal modem family for the Macintosh. Included a card with four modems driven by an onboard 68008 processor to reduce the interrupt dispatching overhead on the main processor.

• Developed MultiAimer extension which allowed existing software to use all available ports by presenting a dialog box to the user behind the application’s back, and transparently redirecting attempts to access the two built-in serial ports. This was necessary because at the time, there was no standard way for applications to locate or access other ports.

• Developed a print driver for encoding and queuing faxes to be sent in the background, using all available fax modems simultaneously. Included support for broadcasting a single fax to a large number of recipients.

EPIC TECHNOLOGIES, INC. 9/1988 – 6/1989 Freemont, California

• Implemented a modem server for the Macintosh, which permitted existing software to transparently access a shared pool of modems elsewhere on an AppleTalk network.

RES NOVA SOFTWARE 9/1986 – 1/1989 Barrington, Rhode Island

• Co-owned and operated a computer business. Co-authored Nova Link, a multitasking BBS program for the Macintosh. Featured in Byte Magazine 12/1988 and Macazine 11/1988.

• Became Certified Apple Developer in 9/1986.

BROWN UNIVERSITY 9/1988 – 6/1994 Providence, Rhode Island

• Completed degree requirements for an Sc.B. in Computer Science, except for english writing course.

• Head TA for CS169 Operating Systems Design in Fall 1989 and 1992.

• Head TA for CS126 Introductory Compiler Design in Spring 1993.

• Sun lab consultant since Fall 1991, providing support for students in a lab of about 60 SparcStations.

• Co-authored Optimal Tracing and Incremental Reexecution for Debugging Long-Running Programs, published in the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation (PLDI). Implemented an assembly language post-processor for Sparc which instruments programs to generate trace information while they run, such that the execution can later be replayed from any point. The co-author developed novel techniques for reducing the trace volume, and I developed novel techniques for reducing the run-time overhead of the instrumented program from about 900% to about 50–70%.