Richard E. Sweet
           Office:   Xerox Office Systems          Home:   721 Garland Drive
                    3450 Hillview Ave.                   Palo Alto, CA 94303
                    Palo Alto, CA 94304                  (415) 321-9039
                    (415) 494-4775
           Objective
              To design and implement quality software in a challenging and supportive environment.  Major emphasis on development tools and sophisticated man-machine interfaces.  
           Qualifications
              Significant educational and practical experience in Computer Science.  Seventeen years experience in major systems programming efforts.  Experience in designing and implementing major systems from the ground up and also in debugging and extending code written by others.
           Education
           1966     B.S.    Mathematics, Physics             Southwestern University 
                                                          Georgetown, Texas
           1969     M.A.    Mathematics                      University of Kansas
                          Spline Function Approximations   Lawrence, Kansas
           1977     Ph.D.   Computer Science                 Stanford University
                          Empirical Estimates of Program Entropy  Stanford, California
           Experience
           1977-present     Development Staff (assorted titles)  Xerox Office Systems Division Contributing member of many design working groups, including the Mesa Language, the Mesa Binder, packaging, and processor architecture redesign.  Have conducted major analyses of theMesa instruction set.  Designer and implementor of numerous large systems.  A representative sample of such systems and their approximate size in lines:
                 Mesa Compiler (40K)  a multi-pass compiler.  One of a two person team. Responsible primarily for the code generators (40% of total bulk).  Architecture changes require major changes in the code generators from time to time.
                 Packager (11K)     for controlling swapping (working set) characteristics of large systems.  Was principal architect of the program, and one of two implementors.
                 Lister (6K)        for generating human readable information from object files. Wrote most of it, including several cross reference facilities.
                 Timing simulator (3K)  for examining interaction of Dolphin multi-tasking microcode with its pipelined memory system.  The graphical interface was particularly sophisticated.
                 Analysis tools (2K)  for statistical analysis of the Mesa opcode usage frequencies.  Use of these tools allowed us to achieve a 20% reduction in code size for the most recent architecture redesign.
                 Graphics editors (8K)  Two different graphics editors: one for architectural drawing, and one to allow huge planning charts to be edited.  
                 Specialized debuggers  Wrote at least three specialized debuggers with an emphasis on powerful user interfaces to allow experts to debug their complex systems with minimum effort.
                 Spreadsheet        One of a two person team that wrote the initial spreadsheet facility for the Xerox Star product.  Was responsible for the underlying data representation and expression handling (including dealing with insertion and deletion of rows and columns).
              As one of the more senior members of the OSD technical staff, I spend considerable time in counselling other members about the system, and in 'fighting fires,' both large and small.
           1972-77          Member, Research Staff             Xerox Palo Alto Research Center
                           Research Intern
              Wrote and maintained compiler for MPS, the TENEX based programming system that evolved into Mesa.  While doing thesis research, wrote several other large programs including a pretty printer and an algorithm for formatting arbitrary n?ary trees for printing.   Contributed to the design of the initial Mesa processor architecture.
           1969-72          Graduate Assistant                          Stanford University
              Taught lab sessions of several Computer Science courses.  Taught beginning assembly language course.  Participated in Knuth's Empirical Study of FORTRAN Programs.  Modified SAIL compiler to produce optional program profiles (post execution program listings with frequency counts for each statement).  Resuscitated two major programs: a multi-precision 'desk calculator' and a MIX simulator (Knuth's mythical computer), including adding new graphical interfaces to each.
           1967-69          Systems Programmer          University of Kansas Computation Center
              One of a three person team that produced a FORTRAN compiler used to run student programs. Wrote an assembler and collaborated on a simulator for MIX used by beginning computer science students.  'Drafted' into a four person team that rewrote the University payroll system in COBOL in 30 days (lest we all not get paid).