Steve Summit
P.O. Box 397167
Cambridge, MA 02139
scs@eskimo.com
Software should not be as hard to write as it sometimes seems to be. Too many projects find themselves behind schedule, or crippled by bugs, or stymied by an attempt to accommodate new features or to port to a new environment. But these problems are not inevitable: with the right design and infrastructure, good coding style, and an enlightened attitude towards the development process, these problems can be forestalled. My goal as a software engineer is to continually discover better design and coding techniques which foster pleasant, robust, bug-free programming, and which are easier to apply than the alternatives.
I have been involved in a wide range of software development projects, principally in C and sh under Unix and Linux, with significant forays into Java, JavaScript, C , SQL, BASIC, FORTRAN, PostScript, HL7, VMS, MS-DOS, and the Macintosh OS. I have written text editors, scientific data acquisition and analysis subsystems, numerous software tools (e.g. find, make, grep), windowing and user interface systems, graphics libraries, Unicode conversion utilities, MIME and other electronic mail processors, bugtracking systems, OS interface libraries (e.g. stdio), a full-text indexer, a C interpreter, an object-oriented filesystem, database tools, world-wide web and other networking software, SGML/HTML processors, a version of lint, and the software used to format, typeset, and HTMLify this résumé.
I developed client- and server-side code for entering and displaying medical information on handheld devices. I developed simulators to perform automated testing, and synthesizers to emulate the data flows seen in real hospitals. I was also responsible for systems support of servers installed at customer sites.
I specialize in C and Unix, with an emphasis on clean, high-quality code, featuring simplicity, efficiency, portability, and security. I am particularly interested in working on networked databases and information servers, world-wide web development, multinational character sets and internationalization (Unicode, ISO 10646), and geographic information systems. I am also available for C or Unix training.
I maintained a homebrew in-house e-commerce system, implemented primarily as C CGI programs under Linux, which handled several thousand transactions per day.
I worked to improve the efficiency of the “Tax Machine”, an engine which supported various applications used by tax preparers.
I designed and taught a pair of relatively informal, beginning- and intermediate-level courses in C programming.
I was responsible for all software development work (in C under MS-DOS), including user interface, data reduction, data archival, instrument communication, and control firmware. I also designed and built data acquisition instruments, and participated in laboratory and clinical verification of systems and instrumentation.
I wrote a Unix emulation library which was instrumental in porting large quantities of software to VMS. I worked on a “user-friendly” shell, and designed and managed the development of a graphical user interface system for software development tools. I designed a library interface for a set of configuration management tools.
C Programming FAQs: Frequently Asked Questions, Addison-Wesley, 1996.
“C Programming” in the Handbook of Programming Languages, Volume II, Macmillan Technical Publishing, 1998.
“Offline Data Storage and Retrieval” in C Unleashed, Sams, 2000.
U.S. citizen.
References available upon request.