Damian Anderson
PO Box 86118, Montgomery Village, MD 20886, Damian.Anderson@gmail.com, 301-921-0082
Online
résumé
PROFESSIONAL SUMMARY
- Computer systems software engineer and UNIX expert working in computer
industry since 1976.
- Modern software engineering practices for requirements and design.
- Programming in C/UNIX, UNIX internals including kernel, library,
command, utility, shell and applications development, expert in Korn shell,
glue software and systems integration across multiple architectures.
- Development in real-time environment using inter-process communications
such as sockets, pipes, message queues, semaphores, shared memory, signals,
client-server architecture, satellite communications interfaces,
HTML, CSS style sheets, CGI/PERL development. message parsers,
shell scripting, writing parsers and interpreters for command languages,
store and forward networks, aviation and air traffic applications, X.25,
TCP/IP, System V TLI, computer security, network security, TCP wrappers,
trusted systems, computer graphics, map making, geographic information systems,
remote sensing, database applications and data conversions, technical writing,
UNIX text formatting utilities (nroff/troff, tbl, mm, manual page macros),
FrameMaker desktop publishing, troubleshooting, set up of configuration
management, SCCS, UNIX makefiles, Ethernet, Apollo Token-Ring and UUCP local
area network setup and administration.
- Configuring Internet hosts, gateways
and routers using TCP/IP for connectivity and security, system setup and
software installation, automated installation, systems administration.
- Full life-cycle of systems requirements, design, software development in many languages on many hardware platforms.
- Maintenance, manual writing, training
and systems support.
- U.S. Citizen, US DOD secret clearance - expired, but renewable
SOFTWARE EXPERIENCE
UNIX (various kinds - SGI IRIX, Sun Solaris, Red Hat Linux, HP-UX,
AIX,
Xenix, Mac OS X etc), C, C++,
TCP/IP,
NFS, X-Windows, OSF/Motif,
GOSIP, OSI Model, System V TLI, X.25, FrameMaker, make, autoconf, AFS, CVS,
SCCS, RCS, GIS Systems, CASE Tools, ARC/Info, ARC/View, MapInfo, Bourne
Shell, C Shell, Korn Shell, Aegis Shell, JAM, Informix, Informix ESQL/C,
SQL, Pascal, Ctree, CAD/CAM Graphics, VM/CMS, Ada, PL/I, 6502 Assembler, PC
Graphics, Apollo Domain OS, LISP, HTML, CGI, Windows 3.1/95/98/ME/NT/2000/XP,
Tcl/Tk,
Expect, Perl, INND, Kerberos, DNS, Tacacs, NTP, Sendmail, HTML, CGI,
IBM Rational Clearcase, DDTS/XDDTS, DCE.
HARDWARE EXPERIENCE
Sun Ultra 1, Sun Ultra 2/1170, Sun Ultra 2/2170, Sun Sparc 10, Sun
Sparc 20, Sun 3 Workstation, Sun 3000/1, Sun 3000/2, Sun 4000 4CPU, Sun
20/50, Sun 20/712, Sun Ultra 10, Sun Ultra 170E, Silicon Graphics (SGI)
Workstations and servers, SGI Origin 2000 4CPU, SGI PC XL 24 CPU, HP 9000
300/700/800, HP X Workstations, HP/Apollo 4500, HP/Apollo 433s, Encore
Infinity, AT&T 3B5, 3B2/300, 400, AT&T UNIX/PC, Altos 586, 986, 2086,
Apple IIe, Cascade Graphics Wkstn, Honeywell XPS/100, IBM 2250 Graphics
Wkstn, IBM Risc 6000, IBM 370, 4381 & 4341, IBM PC 286/386/486/Pentium
clones, IBM 5080 Wkstn, ICL DRS500, Macintosh, NCR Tower 32 & XP,
Tolerant Eternity, VAX 11/780, DEC Alpha.
EDUCATION
- BA in Mathematics,
Trinity College,
Cambridge University, Cambridge, England (1980)
- MA in Mathematics,
Trinity College,
Cambridge University, Cambridge, England (1983)
- Diploma in Religious Education,
Unification Theological Seminary, Barrytown, NY (1984)
- MS in Computer Science,
George Washington University, Washington DC (1988)
WORK HISTORY
- Working on the En
Route Automation Modernization (ERAM) for the Federal Aviation Administration, a project to
upgrade the US national air traffic control infrastructure.
- Worked as a member of a team fixing problems in flight data manager software in Ada, reported at various stages of development from regression tests, inspections, in-house testing to live field runs.
- Responsible for Ada builds of multiple server side components of the ERAM air traffic control software in the flight data manager (FDM) team.
- Set up nightly builds using Imakefiles and scripts written in Korn shell.
- Managed multiple simultaneous baselines for software builds and test runs.
- Built test baselines for developers, including adapted data to as many as 45 different configurations for various air traffic control regions in the continental United States.
- Wrote scripts to build test baselines with
XML
configuration files.
- Wrote automated regression test scripts in Korn shell.
- Ran automated regression tests on pre-builds of software before release, and also on software ready to be deployed to the field.
- Wrote scripts to manage who has files checked out and notifying developers automatically from periodic cron jobs when they become available in the configuration management system (PVCS).
- Wrote a variety of user utility scripts and tools, and acted as UNIX expert in the team, whenever people had questions on the operating system.
(Ada,
PowerAda,
C++,
Java,
Sun Solaris,
XML,
IBM AIX (5.3.0.0) on IBM 9133-55A,
Korn Shell,
SSH - Secure Shell,
OC Systems Aprobe,
Nortel Contivity VPN Client,
Serena Dimenions CM,
Microsoft Windows XP /
Windows 7,
Exceed on Demand,
X Windows
)
The True Family Foundation
Silver Spring, MD
|
March 2003 - Present
|
- Worked as treasurer and counselor in a family ministry.
- Responsible for coordination of events, transportation, catering,
raising funds, family counseling, youth programs and retreats, workshops
and seminars, character education, life skills coaching, community service,
performing arts, math and science tutoring up to college level.
SRA
Lanham, MD
|
September 2003 - October 2003
|
(
Sun Solaris,
C, Informix
ESQL/C, Mac OS X,
Korn Shell,
Rational Clearcase
)
- Worked in high performance computing and communications
research and development for the Naval Research Laboratory. Worked
on encrypted mutually authenticated secured communications using Kerberos security.
- Developed real time client server communication systems using Kerberos
on multiple architectures.
- Developed code using cypher block chaining for encryption, and checksums
for integrity protection.
- Developed an X protocol proxy to support tunneling of X traffic over an
encrypted link between multiple remote X clients and a local X server.
- Tunneled Kerberos traffic over an remote shell link from server to client
to avoid problems with firewalls.
(
Sun Solaris,
SGI
IRIX, Linux, Kerberos 5,
C, Korn Shell, AFS,
CVS, Autoconf)
- Worked on the NASA remote sensing project
Earth Observing System Data
Information System, (EOS)
part of the Earth Science Enterprise.
- One of a two man team who wrote ECS Assistant, a Korn Shell script library and utilities
to automate the installation, configuration and startup of the whole ECS
(EOSDIS Core) system, maintain logging, connection to middleware and so on,
and a Tcl/Tk GUI and scripts to install and
start up the full system, configure clients, servers and GUIs, configure DCE
(Distributed Computing Environment), DCE
Distributed File System, DCE Cell Directory Services,
entries, generate keytab files, RPC groups,
automatically generate configuration files from templates inserting
configurable parameters.
- In subsequent phases, we divided up the software into deliverable packages
per host, and delivered patches to existing installations so that live sites
can have minimal downtime.
- Provided software for the
NASA DAACs
for
Landsat 7 and for the Terra AM-1 spacecraft which provides about
1 terabyte of data per day, and over the next 15 years will provide a global
data set for scientists to study Earth's climate.
- Wrote software for upgrade of Landsat 7 software at
EROS data Center
in Sioux Falls, South Dakota.
- Converted from DCE to socket middleware. Converted code to use secure shell
(SSH) rather than remsh
for remote accesses.
- The ECS Assistant software brought the installation time of the ECS
System, on more than 30 heterogeneous platforms, from two weeks with 20
engineers to half a day with one or two people.
(SGI IRIX,
Sun Solaris,
HP UX,
DCE (Distributed Computing Environment),
DCE Distributed File System,
Korn Shell,
Tcl/Tk,
Expect,
Secure Shell
(SSH), Sybase, C++,
Perl, HTML / CGI, Rational Clearcase,
Rational ClearDDTS/xddts)
- Built Sun Workstations and installed peripherals and Solaris operating
system.
- Did UNIX system, network and security administration on SUN Ultra and
DEC Alpha platforms on worldwide network, 24 hour on-call troubleshooter
for network.
- Installed and configured Kerberos, Tacacs and Apache web servers on Sun
and DEC hosts on many remote hosts. Scripted the installation process.
- Administered Kerberos, Tacacs, Sendmail, DNS, POP servers, Apache web
servers, NTP servers.
- Set up 18 INND network news protocol servers worldwide, then upgraded
to INND 1.5.1, automated changing of passwords around worldwide TCP/IP network.
- Set up Majordomo mailing lists, web interface to mailing lists,
set up NTP (Network Time Protocol) servers on Sun Ultras and DEC Alphas.
(Sun Ultra 1,
DEC Alpha,
Sun Solaris,
Perl,
Expect,
TCP/IP,
TCL, Korn Shell, DEC OSF/1, Kerberos 5)
Systems and Advanced Technology Group,
America Online, Reston, VA
|
April 1996 - August 1996
|
- Did artificial intelligence research and real-time TCP/IP server
development.
- Developed server to interpret English language queries to search engines
and responding in grammatical English, using rule based system written in
C language.
- Worked on scalable architecture of English language query and response
system.
(HP 9000/700s, HP-UX, C,
TCP/IP,
Windows 95,
CVS)
- Developed award-winning web site in 18 languages, 4 character sets,
with text, graphics, forms and CGI scripts in PERL, image maps, tables, CSS
style sheets, Java applets, animated GIFs, transparent GIFs, with 400 Mb of
online content.
- Administered three L-Soft LISTSERV mailing lists, and one Majordomo list,
with web interface to sign on.
- Installed and configured LINUX from scratch, configured Apache web server,
set up sendmail configuration, DNS, and procmail mail spam filtering.
- Implemented network security using TCP wrappers and took measures against
distributed denial of service (DDOS) and SYN FLOOD attacks.
- Set up security to permit telnet and FTP access on an IP address specific
basis.
- Wrote many utility Korn Shell scripts for productivity and ease of
functionality for mailing list and web server management.
(UNIX / C, Linux,
Korn Shell,
Apache web server,
HTML,
CGI,
PERL,
Cascading Style Sheets (CSS),
TCP/IP,
procmail,
Majordomo,
Java,
L-Soft Listserv)
- Designed and built a data quality software product Quality Report in C
under UNIX and Apollo Domain/OS using Apollo mailboxes that monitors the data
on three communications lines sending live air traffic data through the FAA
ETMS (Enhanced Traffic
Management System) network.
- Designed and wrote in C the TM Shell (Traffic Management Shell), a
command interpreter shell which provides interactive command access to the
FAA ETMS network.
- Co-designed and wrote with one other person the Airport Demand Monitor
which provides real-time data with a GUI interface to air traffic management
specialists on arrivals to and departures from a particular airport to enable
the users to implement air traffic ground delays to limit traffic coming in
to airports due to congestion or bad weather.
- Wrote in C a very fast lookup program Route Manager for decoding
identifiers of international and domestic airports, fixes, navaids, weather
reporting locations, parsing routes, providing preferred flight routes using
memory mapped I/O and a binary search in memory.
- Wrote client/server software to provide an interface to the Route Manager
available either over TCP/IP or a Domain WAN.
- Wrote a configuration management check program, cfgchk, in C to verify
installed software.
- Set up and configured five Ethernet networks and two Apollo Token
Ring networks to work as a TCP/IP internet, configuring multi-homed hosts,
non-gateway nodes, gateways and routers using Domain Distributed Services.
- Wrote a flight search client and server on HP/Apollo 9000/433s using C
and TCP/IP sockets to retrieve historical data on air flights from multiple
nodes on a local internet running the server started automatically by the
Internet daemon.
- Ported the client to work on HP 9000/730.
- Set up TCP Wrapper TCP/IP network security package to screen access to
services provided by the Internet Daemon.
- Wrote software to reboot a node remotely over a satellite link, bring
down the processes in a certain order and reboot cleanly, connecting to the
console of remote nodes.
- Wrote several other clients which compiled on multiple platforms to
obtain data from remote servers over the TCP/IP local intranet.
- Wrote software to feed data at regular intervals on airport ground delays
to a remote computer over the local intranet, running the jobs out of cron.
- Wrote a network transponder daemon which when polled indicates that a
node is alive.
- Wrote at least 12 applications of various sizes in the period at FAA. Three
of these products are installed at every Air Route Traffic Control Center
(ARTCCs) in the United States and at several Terminal Radar Approach Controls
(TRACONs), and at the Air Traffic Control
System Command Center.
(HP/Apollo 9000/433s, HP-UX, C, X-Windows,
Korn Shell,
HP/Apollo 4500, HP 9000/730, Sun Sparc Station 10, IBM Risc 6000,
AIX,
Domain OS, Domain Distributed Services (DDS),
TCP/IP)
TV Answer, Reston, VA
|
July 1992 - December 1992
|
- Evaluated Geographic Information System products for targeting demographic
groups within range of cell sites in the TV Answer nationwide satellite
multicast IVDS (Interactive Video and Data Services) network. Selected
ARC/Info, ARC/View.
- Co-wrote requirements for filter management subsystem for TV Answer
network. Wrote requirements and design documents for the network multicast
priority scheduler (including data flow diagrams, structure charts, entity
relationship diagrams, PDL, functional description.)
(HP 9000/817/867, HP A1497A X Workstations, HP/UX, TCP/IP, sockets, TLI,
Framemaker, ARC/Info, ARC/View, MapInfo)
- Ported from DOS to UNIX a front end application for communications and
user interface for users to access IBM mainframes from around the country.
- Worked on communications library using message queues, sockets.
- Remapped keyboard to handle unusual keystrokes.
- Created screens, menus in UNIX curses and terminfo capability.
(Interactive UNIX, 386 PC, C,
Korn Shell,
Encore Infinity, UMAX, X.25, GOSIP,
System V TLI, VTI/FTAM, DOS, curses, X/Motif/UIL)
PRC Realty Systems, McLean VA
|
October 1991 - December 1991
|
- Added features to a window based contact management system for real estate
agents, saving search criteria and searching for MLS listings.
(386 PC, Interactive UNIX,
C++,
Korn Shell,
JAM, SQL, Ctree)
- Worked on design and coding of High Altitude Routing System to display
weather and aircraft locations on a graphic display.
- Wrote software to read aircraft flight plan and position data in real
time from a satellite, parse National Airspace System (NAS) messages,
send data over message queues to the display process which kept aircraft
coordinates and headings.
- Assisted in displaying maps for superimposing aircraft position and
weather data.
(HP 9000/720, HP-UX, C/X-Windows,
Korn Shell,
Apollo 400, Domain OS)
NetExpress, McLean, VA
|
March 1991 - April 1991
|
- Added mailbox features to a FAX Group 3 / Group 4 store and forward system
on a worldwide network using a telephone voice user interface, generating
reports to track documents in the system.
- Wrote code in C and Korn shell to extract information from the system and
create fax reports to be sent back across the network to the requesting party.
(XENIX, C,
Korn Shell,
X.25, 80386 PC)
Commercial
Satellite Corp. (COMSAT), (Now Lockheed Martin Global
Telecommunications (LMGT) Clarksburg, MD
|
August 1989 - February 1991
|
- Worked on the Network Control Program (NCP) for an INMARSAT Standard A
Coastal Earth Station maritime satellite communications system.
- Ported the system from Tolerant to HP, built an SCCS configuration
management system for it with Makefiles.
- Added features to libraries of utilities to handle I/O to devices and
ipcs, sending events through the system, handling shared memory, allocating
resources.
- Added features to interfaces in the system.
- Wrote utilities in the Korn shell.
- Wrote device drivers for an alarm panel and a programmable clock.
- Assisted technical writer in producing user manuals, training materials,
acceptance tests, trained customers.
(HP-UX, C,
Korn Shell,
HP 9000 300/800, Tolerant Eternity)
BTG Inc., McLean, VA
|
May 1989 - August 1989
|
- Worked on a system for U.S. Dept of Defense for tracking enemy military
assets on a geographic information system.
- Wrote code to convert map data of Earth from Mercator projection
to lat-long coordinates, modified code to make it draw maps of any part
of the globe in several map projections, debugged existing map code.
- Performed a code review on 500,000 lines of C and X-Windows source code.
(HP 9000 300/800, HP-UX, C,
Korn Shell,
X-Windows)
Innovative Technologies Inc., McLean, VA
|
March 1989 - June 1989
|
- Wrote code for a computer based training (CBT) system for U.S. Army.
- Developed and integrated the security sub-system and course configuration
for the driver of the computer based training system.
(80386 PC, XENIX, C, CGA/EGA/VGA graphics and curses on ASCII terminals)
Contel ASC, McLean, VA
|
November 1988 - March 1989
|
- Developed a graphical user interface for a weather graphics display
system to run under XENIX.
- Ported weather data display applications from the
SGI workstation to a 386 PC to display weather data.
- Developed algorithms for conversion of satellite and radar views to
various map projections.
(80386 PC, XENIX, C,
Korn Shell,
VGA Graphics, Silicon Graphics workstation)
Addamax, Rockville, MD
|
November 1988 - February 1989
|
- Developed parts of a test suite for B1st, a B1 level secure UNIX kernel.
- Ported these test procedures to other hardware.
- Developed test specifications, implementation documentation, source code,
makefiles and full test results for all kernel tests.
- Developed and documented a test suite for a library of audit data
reduction functions for the B1 trusted computing base.
(AT&T 3B2/600, B1 Secure UNIX, C,
Korn Shell,
Orange Book, VAX11/780,
ICL DRS500)
Honeywell Federal Systems, McLean, VA
|
August 1987 - November 1988
|
- Modified source code of the UNIX kernel and utilities in the development
of a prototype of a C2 Secure UNIX for the Honeywell XPS/100 according to
DOD Std 2167A Orange Book specifications.
- Designed and implemented the scheme for discretionary access controls (DAC)
using access control lists (ACLs) to supplement standard UNIX permissions.
- Wrote prototype system calls for device security level labeling.
- Assisted in the implementation of auditing in the UNIX kernel.
- Wrote audit reduction DBMS tools in Informix to
interpret raw audit data.
- Worked on the design of the mechanism to partition UNIX super-user
privileges into roles.
- Wrote system documentation.
- Worked on the design of a trusted print spooler, disk file and spindle
sanitizer and pronounceable password generator.
- Modified the login and passwd programs to hide the passwords in a secure
protected file.
- Developed a system for recording previous login attempts.
- Added built-in functions to the Bourne shell and C shell.
- Assisted in configuration management using RCS.
- Worked on the system design specification according to DOD Std 2167A.
(Honeywell XPS/100, UNIX Kernel, C2 Secure UNIX, C, Orange Book/TCSEC,
Korn Shell,
DOD-STD-2167A )
Planning Research Corporation, McLean, VA
|
March 1987 - July 1987
|
- Upgraded a Board of Realtors accounting system from Informix SQL 1.1 to
Informix SQL 2.00 by rewriting much of the code in ESQL/C.
- Optimized the system design, locking resources from contending processes,
replacing invocations of the shell with fork and exec to reduce number of
processes, used SCCS and make in configuration management.
- Wrote utilities in C and Korn shell.
(NCR Tower 32 & XP, UNIX, C, Informix SQL, ESQL/C,
Korn Shell
)
AT&T, Columbia, MD
|
August 1986 - February 1987
|
- Administered UNIX System V based systems on AT&T UNIX systems.
- Connected systems via UUCP to each other and to Usenet.
- Monitored performance
of computers to determine where system performance could be improved.
- Configured systems and tuned UNIX kernels to maximize system performance.
- Wrote system utilities in Korn shell and C.
- Assisted in database system development in C and Informix 3.3.
(AT&T 3B5, 3B2/300 & 400, UNIX, C, Bourne shell,
Korn Shell,
Informix)
Orange Systems, Gaithersburg, MD
|
December 1984 - August 1986
|
- Wrote and installed several member management database systems in Informix
SQL running under Xenix for professional associations, creating data entry
screens, address labels, standardized mass mailings, and database reports.
- Set up and configured two Altos 986/40 on a local area
networks (LAN).
- Wrote database extract, transform and load (ETL) and mass-update and
data conversion programs in C and Informix.
- Created menu systems in Bourne shell.
- Added functionality to a CAD/CAM graphics package written in UCSD Pascal
on the Cascade graphics workstation.
- Provided telephone support to customers.
(
Altos 586,
Altos 586 datasheet 1,
Altos 586 datasheet 2,
Altos 986,
Altos 1086/2086,
Apple IIe
Cascade Graphics Development CAD Workstation,
Informix,
SQL,
UNIX/Xenix,
C
)
IBM (Europe) Headquarters, Paris, France
|
June 1977 - September 1977
|
- Wrote utilities and tools for internal use in PL/I.
- Achieved moderate fluency in French.
(
IBM System 370,
VM,
CP/CMS
JCL,
PL/I
)
IBMUK Scientific Center, Peterlee, England
|
January 1976 - July 1976
|
- Worked on IBM
Peterlee Relational Test Vehicle (PRTV), the world's first relational
database management system that could handle significant data volumes.
- Wrote a test suite, test driver and scenarios in PL/I displaying on a
graphics workstation for user defined functions (UDFs) which determined spatial
relationships between geometrical objects on maps, such as point in polygon,
line crosses polygon, for an urban management geographic information system
(IBM Urban Management System) based on a relational database.
(
IBM System 370,
VM,
CP/CMS
JCL,
PL/I,
IBM 2250 Graphics Workstation,
GIS,
RDBMS
)