Updated: June 3, 2007
I am not currently looking for work. When I look for work, I like to get consulting or contract programming work in the Washington DC metropolitan area, though willing to travel, preferably UNIX/C/Korn Shell development work, Internet/Web related work, database, system or network administration but will consider anything suited to my skills, or something I can grow into. If you want to train me in some new technology, I learn fast, and will produce work you will be very pleased with.
Computer systems software engineer and UNIX guru working in computer industry since 1976 with specialized knowledge including the following: 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, 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, the full life-cycle of systems requirements, design, software development in many languages on many hardware platforms, maintenance, manual writing, training and systems support, and probably more that I have forgotten to mention.
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, Clearcase, DDTS/XDDTS, DCE.
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.
Working on the En Route Automation Modernization (ERAM) for the Federal Aviation Administration. (Ada, PowerAda, C++, Java, Sun Solaris, IBM AIX, Korn Shell, OC Systems Aprobe, Nortel Contivity VPN Client, PVCS )
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.
Worked in Informix ESQL/C on the Automated Proof of Claim system for the Internal Revenue Service. This is a short term project to meet a deliverable deadline. ( 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 tunnelling 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), CDS (Cell Directory Services) entries, generate keytab files, RPC groups, automatically generate configuration files from templates inserting configurable parameters. In subsequent phases, we have divided up the software into deliverable packages per host, and delivered patches to existing installations so that live sites can have minimal downtime. We are providing software for the NASA DAACs for Landsat 7 and for the Terra AM-1 spacecraft which provides about 1 terabyte (about 1012 bytes) 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 South Dakota. Recently 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, Korn Shell, Tcl/Tk, Expect, Secure Shell (SSH), C++, Sybase, Perl, HTML / CGI, Rational Clearcase, Rational ClearDDTS/xddts)
Network and security adminstration on SUN Ultras and DEC Alphas, adminstered Kerberos, Tacacs, Sendmail, DNS, POP servers, Web servers, NTP servers, built Sun Workstations and installed peripherals and Solaris, set up 18 INND news servers worldwide, then upgraded to INND 1.5.1, automated changing of passwords around worldwide TCP/IP network, set up Apache Web server, set up Majordomo mailing lists, web interface to mailing lists, set up NTP (Network Time Protocol) servers on Sun Ultras and DEC Alphas, built Sun workstations and installed OS and peripherals, administered UNIX on Sun Ultra and DEC Alpha platforms on worldwide network, 24 hour on-call troubleshooter for network. (Sun Ultra 1, DEC Alpha, Solaris, Perl, Expect, TCL, Korn Shell, DEC OSF/1, Kerberos 5)
Worked on artificial intelligence research and real-time TCP/IP server development. (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, image maps, tables, 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 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, Apache web server, HTML, CGI, Perl, procmail, Majordomo, 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 to 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 an d 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 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. 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. Wrote several other clients which compiled on multiple platforms to obtain data from remote servers over the TCP/IP local internet. Wrote software to feed data at regular intervals on airport ground delays to a remote computer over the local internet. Built a local internet connecting Apollo Token Ring and Ethernets using Domain Distributed Services. 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)
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 keystroke s. Created screens, menus in curses. (Interactive UNIX, 386 PC, C, Korn Shell, Encore Infinity, UMAX, X.25, GOSIP, System V TLI, VTI/FTAM, DOS, curses, X/Motif/UIL)
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, Ctree)
Worked on design and coding of High Altitude Routing System. Wrote software to read aircraft flight plan and position data in real time from a satellite, parse out 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)
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, X.25, 80386 PC)
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 code to drive 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)
Worked on a system for U.S. Dept of Defense for tracking enemy military assets. 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)
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)
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)
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)
Modified source code of the UNIX kernel and utilities in the development of a C2 Secure UNIX for the Honeywell XPS/100. Designed and implemented the scheme for discretionary access controls (DAC) using access control lists (ACLs) to supplement standard UN IX 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, wrote much 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)
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, and optimizing 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 shell. (NCR Tower 32 & XP, UNIX, C, Informix SQL, Korn Shell)
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 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)
Wrote and installed several database systems in INFORMIX running under XENIX for professional associations, set up two Altos 986/40 local area networks (LANs), provided telephone support to customers, wrote database 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. (Altos 586, 986, 2086, Apple IIe, Cascade Graphics Workstation, Informix, SQL, Unix/Xenix, C)
Wrote utilities and tools for internal use. Achieved moderate fluency in French. (IBM 370, VM/CMS, JCL, PL/I)
Wrote a test suite, using graphics workstation for routines which determined spatial relationships between objects in a geographic database. (IBM 370, VM/CMS, JCL, PL/I, IBM 2250 Graphics Workstation)