People at Savannah: Steven Augart Resume & Skills
Follows Resume & Skills of Steven Augart <saugart>.
Resume
<center><h1>Steven Augart</h1>
<big></big><table border rules="cols">
<tr><td><big>16 Brooks Street</big></td>
<td><big>139 New Broadway</big></td>
</tr>
<tr>
<td><big>Winchester, Mass. 01890 USA</big></td>
<td><big>Sleepy Hollow, New York 10591 USA</big></td>
</tr>
<tr><td><big>+1 (781) 721-2679</big></td>
<td><big>+1 (914) 524-5045</big></td>
</tr>
</table>
<big>
Work: +1 (914) 784-6743<br />
Cell: +1 (310) 463-1377<br />
<a href="mailto:%73%74%65%76%65-webr%40%41ugart%2Ecom"><code>steve<!-- antispam!
-->@<!-- -->augart<!-- -->.</code><code>com</code></a>
<br />
<a href="http://www.augart.com">http://www.augart.com</a><br />
</big>
</center>
<h2>Summary</h2>
<ul class="spacious">
<li> Intimate knowledge of TCP/IP internals
</li>
<li> Unix and Linux kernel programming and device drivers
</li>
<li> Built real-time systems
</li>
<li> Strong written and oral communication skills
</li>
<li> C, Java, C++, Perl, awk, sed, sh/Bash, assembly language
</li>
<li> Implemented secure distributed systems
</li>
<li> Fluent in Italian and Spanish
</li>
<li> Three patents pending
</li>
</ul>
<h2>Operating Systems Programmed Under</h2>
<dl>
<dt> <i> Current:</i></dt> <dd> Linux, BSD Unix, Win32, AIX, HP-UX, IRIX, Solaris,
MacOS, MS-DOS.
</dd>
<dt> <i> Legacy:</i></dt> <dd> SunOS, CP/M, Multics, TOPS-20, VAX/VMS, Sequent Dynix/ptx,
PrimOS, LISP Machine OS, Honeywell 1648, Apple II, TRS-80.
</dd>
</dl>
<h2>Computer Languages</h2>
<dl>
<dt> <i> Current:</i></dt> <dd> C, C++, Java, Perl, sh & Bash (Bourne Shell), awk, sed,
assembly language (x86, 32-bit and 64-bit PowerPC, Z-80),
FORTRAN, Common LISP, JavaScript, VBA, Prolog, Python.
</dd>
<dt> <i> Legacy:</i></dt> <dd> PPL, PDP-10 assembler, BASIC, csh, Pascal, Ada.
</dd>
</dl>
<h2>Special Tools and Systems</h2>
<p>
TCP/IP internals, Linux kernel internals, HTML, XHTML, XML, CSS, Apache,
CGI, Server-Side Includes (SSI), J2EE Java Server Pages (JSP), Mozilla,
XUL, GTK+, in-circuit emulators, GNU Emacs and Emacs LISP, gdb, Purify,
automake, autoconf, m4, bc, Javadoc, Doxygen, LaTeX, troff, groff,
MS Access, gcc, MS Visual C++, Eclipse IDE, Kerberos 5, HTTP, LDAP.
</p>
<h2>Education</h2>
<dl>
<dt> University of California, Irvine, California
</dt>
<dd>
M.S., Information and Computer Science (Software Engineering)
<br /> Dec. 1992
<ul class="spacious">
<li> Research focused on reliability and efficiency in large
software systems.
</li>
<li> Programmed in C, C++, Ada, Common LISP, Emacs LISP, and Pascal
on the Unix (Solaris, SunOS, Sequent Dynix) and MacOS operating systems.
</li>
</ul>
</dd>
<dt> Harvard University, Cambridge, Massachusetts
</dt>
<dd>
Bachelor of Arts, Computer Science
<br /> Bachelor of Arts, Psychology
<br /> June 1989
<ul class="spacious">
<li> On the Dean's List
</li>
<li> Programmed in C, LISP, Pascal, PPL, Bourne Shell, awk, and
sed on Microsoft Windows, BSD Unix, PrimOS, and SunOS (Unix).
</li>
</ul>
</dd>
</dl>
<h2>Experience</h2>
<dl>
<dt> SOFTWARE ENGINEER (Consultant)
</dt>
<dd>
IBM, Watson Research Center, Yorktown Heights, New York
<br /> May 2003 <tt>-</tt> present
<p>
Developer, Jikes RVM project
</p>
<p>
The Jikes Research Virtual Machine (RVM) is an open-source Java
Virtual Machine. Jikes RVM compiles Java byte code (as found in
.class files) into x86-32 and PowerPC (32-bit and 64-bit) native
machine code, for execution on the Linux, AIX, and Mac OS X
platforms.
</p>
<p>
Jikes RVM provides a testbed for prototyping memory management,
compilation, and runtime library techniques. The majority of Jikes RVM
is written in Java (257K lines/10 MB of source code), with
low-level functionality in C (10K lines/305KB of source code) and C++
(14K lines/91KB of source code).
</p>
<ul class="spacious">
<li> Refactored the low levels of the Jikes RVM build system, vastly
improving error handling and identification. Ported the build
system and tools from Korn Shell to Bash (3K lines/91KB of
Bash source code; 2500 lines of GNU Makefile source), catching
and fixing numerous minor bugs along the way.
</li>
<li> Reviewed the nightly Jikes RVM regression tests and monitored the
system's health.
</li>
<li> Implemented nightly regression tests for support of the Eclipse
IDE. Identified and repaired Eclipse compatibility bugs.
</li>
<li> Edited and rewrote much of the Jikes RVM web pages and the
122-page user's guide. Wrote the jikes-rvm.el GNU Emacs mode,
which simplifies writing Java, C, and C++ code that meets the
Jikes RVM style guidelines. Fixed 683 Javadoc errors.
</li>
<li> Fixed all compilation warnings in Jikes RVM's low-level runtime
support (24K lines of C and C++). Found and fixed memory leaks
and potential failure modes.
</li>
<li> Less than two months after beginning work on the system, elected a
member of the Jikes RVM Core Team, a small group with
responsibility for the system's direction and future.
</li>
</ul>
</dd>
<dt> SOFTWARE ENGINEER
</dt>
<dd>
Luminosa Consulting, Inc., Los Angeles, California
<br /> Oct. 2001 <tt>-</tt> April, 2003
<ul class="spacious">
<li> The market leader in forensic software needed their real-time
data acquisition servlet to run on systems beyond Microsoft
Win32 on Intel 32-bit processors. The servlet is a part of a
forensic analysis tool with a network data acquisition mode.
The code base was 168,000 lines of undocumented code under
Microsoft Visual C++ and Borland C++. Time was critical.
<ul>
<li>Ported the servlet to Linux and to big-endian architectures.
</li>
<li>Wrote 10,000 lines of new code.
</li>
<li>Added 2,000 lines of system documentation, formatted with Doxygen.
</li>
<li>Completed project in two months, exceeding client's expectations.
</li>
</ul>
</li>
<li> Wrote sysctl (/proc filesystem) support for the Linux 2.5
kernel's pdflush buffer flushing system.
</li>
<li> Wrote utilities to interact with the 2.4 series Linux kernel's
bdflush buffer flushing system, extending ThinkPad 600 laptop
battery time by 17% (2 hrs. 42 mins. to 3 hrs. 10 mins.)
</li>
<li> Fixed numerous bad-pointer bugs and all compiler warnings in an
open-source graphical email client, written in C++ (13,000
lines) for Win32 and Unix, with the GTK+ windowing toolkit.
Contributed 900 lines of new code and 700 lines of documentation.
</li>
<li> Technology adviser and programmer for a startup company's
flagship physical fitness product, implemented in Visual Basic
for Applications on a Microsoft Access database.
</li>
<li> Ported an open-source HTTP programming library, written in C,
from Linux to Solaris 8.
</li>
<li> Built Mozilla web-browser applications using XHTML, HTML,
JavaScript, XBL, and XUL. Prolific submitter to Bugzilla,
the Mozilla bug-tracking system.
</li>
</ul>
</dd>
<dt> LEAD PROGRAMMER/ANALYST
</dt>
<dd>
Sulcata, Inc., Venice, California
<br /> Sept. 1999 <tt>-</tt> Oct. 2001
<p>
Architect, SpeedPlace Geolocation System
</p>
<p>
SpeedPlace locates an Internet user's geographic position and
personalizes web content accordingly.
</p>
<p>
Discovery agents, implemented on Linux in C, Perl, C++, Python,
awk, and Java, investigate the Internet's topology. The agents
store their discoveries as XML and in other formats. The
discoveries feed an expert system (coded in C and C++). The expert
system's results feed a truth maintenance system, which populates
SpeedPlace's geographic database.
</p>
<p>
SpeedPlace's real-time portion determines locations and exports a
geolocation API to Apache web server applications, through CGI
scripts and J2EE Java Server Pages (JSP). The real-time portion
gains efficiency on systems using SpeedPlace's augmented socket API
and enhanced TCP/IP stack.
</p>
<p>
Unix, Linux, and FreeBSD SpeedPlace customers dynamically link with
their choice of three API implementations, each offering different
tradeoffs: one directly reads the database files and makes
conclusions; one performs IPC with a resident geolocation server
process, and one speaks TCP to offload work to remote geolocation
servers. The Win32 SpeedPlace implementation provides the API via a
COM object.
</p>
<ul class="spacious">
<li> Led the SpeedPlace development effort; managed a
development and Q/A staff of six.
</li>
<li> Programmed in C, C++, Java, Perl, Python, awk, sed, and Bourne
Shell on Linux.
</li>
<li> Used: XML, CGI, J2EE JSP, Apache, JavaScript, Python threads,
doxygen, HTML, gcc, Emacs, and gdb.
</li>
<li> Ported SpeedPlace from Linux to MS-Windows with Microsoft Visual C++.
</li>
<li> Modified the Linux and BSD TCP/IP stacks.
</li>
<li> Three patents pending.
</li>
<li> Fundraising and general corporate operations.
</li>
</ul>
</dd>
<dt> SOFTWARE ENGINEER
</dt>
<dd>
University of Southern California, Information Sciences Institute,
Marina del Rey, California
<br /> June 1992 <tt>-</tt> Sept. 1999
<p>
Lead Programmer/Analyst, Prospero Distributed Information System
</p>
<p>
Prospero is middleware for organizing, writing, and retrieving
information across disparate Internet sites. The Internet "archie"
search client uses Prospero as middleware for all network operations.
</p>
<p>
Prospero provides a client library for applications and a server,
which mediates access to the data repository. The server
provides an API enabling easy integration of new data sources.
The clients and servers communicate via the Prospero application
protocol, which provides commands for data manipulation and
retrieval.
</p>
<ul class="spacious">
<li> Incrementally rewrote most of the Prospero server and clients,
contributing 100,000 lines of C. Developed under HP-UX,
Solaris, Linux, and SunOS.
</li>
<li> Multi-threaded the Prospero server, making it the middleware
for AOL's first Internet offerings.
</li>
<li> Prospero mediated AOL users' access to WAIS and Gopher
servers across the Internet. Servers ran stably without
memory leaks under a load of millions of queries per day.
</li>
<li> Implemented an asynchronous Internet transport protocol:
version 1 of ARDP. Implementation was in C under Solaris
(Unix).
</li>
<li> Implemented ARDP extensions for privacy and integrity
protected transactions with Kerberos 5, and for secure
electronic commerce payments with NetCheque and NetCash.
</li>
<li> Built a secure real-time directory infrastructure with the
Globus toolkit, a network of LDAP servers, and SSL.
</li>
<li> Wrote 130 pages of documentation, enabling outside authors to
write alternative client libraries, which inter-operate with
the USC/ISI Prospero server.
</li>
<li> Prepared reports and demonstrations for Federal Government
agencies (ARPA, NASA).
</li>
<li> Published technical papers.
</li>
</ul>
</dd>
<dt> RESEARCH ASSISTANT
</dt>
<dd>
University of California, Irvine, California
<br /> June 1990 <tt>-</tt> Dec. 1990
<ul class="spacious">
<li> Analyzed the safety of the FAA's TCAS system for avoiding
mid-air collisions.
</li>
<li> Co-authored an 80-page specification of safety-critical
portions of TCAS software.
</li>
</ul>
</dd>
<dt> TEACHING ASSISTANT
</dt>
<dd>
University of California, Irvine, California
<br /> Sept. 1989 <tt>-</tt> July 1991
<p>
Lectured, graded assignments, provided hands-on assistance.
Classes taught:
</p>
<ul class="spacious">
<li> Programming Languages (Ada, LISP, C, and C++ on Dynix Unix)
</li>
<li> Intermediate Programming (Borland Turbo Pascal on MacOS)
</li>
<li> Social Implications of Computing
</li>
</ul>
</dd>
<dt> PROGRAMMER/ANALYST and SYSTEMS MAINTAINER
</dt>
<dd>
Harvard University, Aiken Computing Laboratory, Cambridge, Massachusetts
<br /> June 1988 <tt>-</tt> May 1989
<ul class="spacious">
<li> Assisted in the maintenance and operation of Sun Microsystems
workstations.
</li>
</ul>
</dd>
<dt> REAL-TIME SYSTEMS PROGRAMMER
</dt>
<dd>
Alpine Systems International, Winchester, Massachusetts
<br /> June 1987 <tt>-</tt> June 1988
<ul class="spacious">
<li> Wrote a real-time system in C (5,000 lines) under MS-DOS to
calibrate gas flow controllers and transducers. The project
used a stock AT-class PC and an analog/digital converter to
control experimental hardware.
</li>
<li> Wrote the real-time control software (6,000 lines of C and 500
lines of 80186 assembly language) for an embedded video slide
system. The slide system ran on custom hardware with no
operating system. The software read keypad input, wrote to an
LCD display, grabbed live video images, saved images to disk,
and retrieved images for review. Development environment was
an MS-DOS PC controlling an Intel i2ce in-circuit emulator.
</li>
</ul>
</dd>
<dt> SYSTEMS MAINTAINER and PROGRAMMER/ANALYST
</dt>
<dd>
Massachusetts Institute of Technology, Laboratory for Computer Science,
Cambridge, Massachusetts
<br /> Feb. 1986 <tt>-</tt> June 1987
<ul class="spacious">
<li> Maintained and operated networked BSD Unix computers in a
heterogeneous environment.
</li>
<li> Wrote and installed systems programs and bug fixes; made Unix
kernel enhancements; maintained TCP/IP and CHAOSnet
installations; ensured Unix's inter-operability (file sharing,
printer spooling, and email) with TOPS-20, ITS, VMS, and
Lisp Machines.
</li>
<li> Programmed in C, Bourne Shell, sed, awk, PDP-10 macro assembler,
and LISP, on Unix, ITS, TOPS-20, and LISP Machine OS.
</li>
</ul>
</dd>
<dt> FOUNDER
</dt>
<dd>
FTP Software Inc., Cambridge, Massachusetts
<br /> Jan. 1986 <tt>-</tt> June 1986
<p>
FTP Software's flagship product was PC/TCP, a TCP/IP stack for
MS-DOS. FTP completed its initial public stock offering in 1993.
</p>
</dd>
<dt> SYSTEMS PROGRAMMER
</dt>
<dd>
Harvard University, Psychology Department Computer Laboratory
Cambridge, Massachusetts
<br /> Jan. 1985 <tt>-</tt> Feb. 1986
<ul class="spacious">
<li> Wrote and modified Unix system utilities in C, awk, sed, and
Bourne Shell.
</li>
<li> Made a large undocumented uncommented typesetting system (a
ditroff variant) useful. Required C programming, working with
a variety of font formats, and writing troff macros.
</li>
<li> Wrote a TCP/IP client-server subsystem allowing hosts to share
a central manual page database (BSD Unix; 3,000 lines of C).
</li>
</ul>
</dd>
<dt> COMPUTER PROGRAMMER
</dt>
<dd>
Harvard Business School, Cambridge, Massachusetts
<br /> Apr. 1985 <tt>-</tt> Apr. 1988
<p>
Designed, implemented, and maintained a multi-user
multi-process program to run a business psychology
experiment (3,000 lines of C; PDP-11 running BSD Unix).
</p>
</dd>
<dt> TEACHING FELLOW
</dt>
<dd>
Harvard University Extension School, Cambridge, Massachusetts
<br /> Sept. 1984 <tt>-</tt> May 1985
<p>
Lectured, graded assignments, and provided individual assistance, for:
</p>
<ul class="spacious">
<li> C and Unix Programming
</li>
<li> Introduction to Programming with PPL
</li>
<li> Introduction to Computing
</li>
<li> Data Structures in Pascal
</li>
</ul>
<p>
Programmed in C, PPL, Bourne Shell, and Pascal,
on BSD Unix, VAX/VMS, and PrimOS.
</p>
</dd>
<dt> APPLICATIONS PROGRAMMER/ANALYST (Consultant)
</dt>
<dd>
Harvard Associates Inc., Cambridge, Massachusetts
<br /> June 1983 <tt>-</tt> July 1983
<p>
Ported a 2,000-line business package from IBM-PC BASIC to Apple-II BASIC.
</p>
</dd>
<dt> APPLICATIONS PROGRAMMER (Consultant)
</dt>
<dd>
Commonwealth School, Boston, Massachusetts
<br /> July 1981
<p>
Wrote an expense tracking system in Microsoft BASIC under the
CP/M operating system.
</p>
</dd>
</dl>
<h2>Patents Pending</h2>
<ul class="spacious">
<li> Determining the Geographic Location of a Network Device
</li>
<li> Creating a Geographic Database for Network Devices
</li>
<li> Network Probing Using Overlapping Probe Packets
</li>
</ul>
<h2>Professional Affiliations</h2>
<ul class="spacious">
<li> Internet Society
</li>
<li> IEEE Communications Society
</li>
<li> IEEE Computer Society
</li>
<li> Usenix Association
</li>
<li> ACM (Association for Computing Machinery)
</li>
<li> Unix Users Association of Southern California
</li>
</ul>
<h2>Publications</h2>
<ul class="spacious">
<li> Neuman, B. Clifford and Augart, Steven; Prospero: A Base for
Building Information Infrastructure; in Proceedings of INET'93;
August 1993.
</li>
<li> Neuman, B. Clifford; Augart, Steven; and Upasani, Shantaprasad;
Using Prospero to Support Integrated Location-Independent
Computing; in Proceedings of the Usenix Symposium on Mobile
and Location-Independent Computing; August 1993, pp. 29<tt>-</tt>34.
</li>
</ul>
<h2>Foreign Languages and Travel</h2>
<ul class="spacious">
<li> Fluent in Spanish, Italian, and Esperanto. Traveler's command
of German and French. Speak some Modern Greek and Swahili.
Read Latin and Ancient Greek.
</li>
<li> Extensive independent travel in Europe, Latin America, Asia, and Africa.
</li>
<li> Certificate of proficiency in Spanish from the Government of Ecuador.
</li>
</ul>
<h2>Other Skills not Computer-Oriented</h2>
<ul class="spacious">
<li> PADI certified scuba diver.
</li>
<li> 100 hours of time logged as pilot in command of small airplanes.
</li>
</ul>
<h2>Internships and Volunteer Activities</h2>
<dl>
<dt> TREASURER and MEMBER OF THE BOARD
</dt>
<dd>
Santa Monica UUCC, Santa Monica, California
<br /> May 1993 <tt>-</tt> Apr. 1994.
<p>
Wrote and managed a budget of a quarter of a million dollars for
a nonprofit organization with tight financial constraints, four
hundred members, seventy active volunteers, and five employees.
</p>
<p>
Co-developed a successful plan to move from deficit to surplus by
increased revenues, membership, and programs.
</p>
</dd>
<dt> CRISIS COUNSELOR
</dt>
<dd>
Project Place, Boston, Massachusetts
<br /> June 1984 <tt>-</tt> July 1985
<p>
Fielded calls from individuals with various needs, listened to
their problems, empathized, and referred them to appropriate
resources. Limited the time and telephone resources consumed by
chronic callers.
</p>
</dd>
<dt> STUDENT INTERN
</dt>
<dd>
Honeywell Information Systems, Billerica, Massachusetts
<br /> June 1984 <tt>-</tt> Sept. 1984
<ul class="spacious">
<li> Wrote applications in BASIC, C, Lotus 1-2-3, and VisiCalc.
</li>
<li> Tested Honeywell's experimental Unix product.
</li>
<li> Wrote and debugged a Unix terminal description (termcap) to drive
a Honeywell video terminal.
</li>
<li> Wrote and delivered an executive-level viewgraph presentation
giving an overview of Unix and its threat to Honeywell's
proprietary operating systems.
</li>
</ul>
</dd>
<dt> COURIER
</dt>
<dd>
Frontier Nursing Service, Wendover, Kentucky
<br /> Feb. 1983 <tt>-</tt> March 1983
<p>
Worked for a non-profit rural health care service in
Appalachia, a culturally isolated and impoverished area.
Quickly adapted to local customs; learned the local dialect.
Worked effectively with the traditionally suspicious
Appalachian people.
</p>
</dd>
</dl>
<h2>Visa Status</h2>
<p>
US Citizen.
</p>
<hr />
<p>
<small>
Resume for Steven Augart
<br />Updated January 30, 2003 (rev 24e)
</small>
</p>
<p>
<small>This resume is online at <a href="http://www.augart.com/resume">http://www.augart.com/resume</a>
</small>
</p>
Skills
Skill | Level | Experience |
---|---|---|
Autoconf | Base Knowledge | 6 Mo - 2 yr |
JavaScript | Base Knowledge | 6 Mo - 2 yr |
CVS | Master | 5 yr - 10 yr |
C++ | Master | 2 yr - 5 yr |
CGI | Master | 5 yr - 10 yr |
HTML | Master | 5 yr - 10 yr |
Java | Master | 2 yr - 5 yr |
TCP/IP | Master Apprentice | > 10 years |
GNU Emacs lisp | Master Apprentice | > 10 years |
C | Expert | > 10 years |
GNU/Linux | Expert | 2 yr - 5 yr |
Powered by Savane 3.13-8ccc.
Corresponding source code