Senior programmer with 27 years of experience in software development.
Skilled in C++ design and development.
Knowledgeable about Artificial Intelligence techniques, state machines, neural nets, production systems, and genetic algorithms
Experienced in a wide variety of applications including device drivers, database applications, user interfaces, GIS, and computer games and simulations.
Programming: C, C++, STL, Templates, Multi-threading, FORTRAN, Pascal, Assembly (PDP-11, VAX, 68000, Intel x86)
Tools: MS Visual Studio, Lex, YACC, VAX/DBMS, dBase
Operating Systems: Window, HP-UX, VAX/VMS, RSX-11M, VERSAdos
Configuration Management: Perforce
2000 - 2008
Developed C++ code for 5 shipping commercial games and 2 military war game simulations. Worked on agent based artificial intelligence tools using state machines, neural networks and evolution algorithms all written in C++. Developed scenario creation tools for both commercial and military games. Developed subsystems for game state load/save, sound and music playing, pedestrian and automobile simulation for commercial and military games. Developed GIS mapping features for military games. Developed a general purpose state machine with a compiled state diagram language in C++ using Lex and YACC.
1992 - 2000
Designed and developed a wide range of engineering tools used for design and analysis of radio communication for the wireless communications (PCS, cellular and paging) industry using C++/OWL/MFC on MS-Windows. Developed a plotting and analysis package for processing data collected by wireless communications field test equipment in C++/OWL on MS-Windows. Designed and implemented controlling software for a radio signal strength measurement field test set in C on MS-DOS.
1989 - 1993
Designed the report subsystem of the Transportable Payload Operations Control Center (TPOCC) and presented the design at the NASA critical design review. Implemented the report server for TPOCC report subsystem in UNIX/C on SUN and HP workstations. Designed and implemented several Motif widgets for the TPOCC display subsystem in UNIX/C under X-Windows and Motif on SUN and HP workstations. Lead the TPOCC prototyping and evaluation group with a staff of 3 programmers. This group was charged with proposing and prototyping new designs for the TPOCC system and evaluating commercial products for potential inclusion in the TPOCC development environment. Designed and implemented modifications to the Attached Shuttle Payload Control/Mission Planning System (ASPC/MPS) in DEC VAX C.
1987 - 1989
Designed and implemented user interface and database management software in Clipper (a dBase III compiler) for a PC-based cellular telephone network coverage and interference prediction system. Designed and implemented many PC utilities in C to process and reformat demographic, cartographic and terrain data tapes from foreign and domestic sources. Implemented a financial settlement system in DEC VAX BASIC to validate cellular inter-carrier roamer call records sent between cellular carriers on tape. This system is used to bill cellular telephone subscribers when they make calls from outside the city in which they subscribe.
1986 - 1987
On a contract with Hekimian Labs, designed and implemented several database report programs to monitor and forecast sales performance, using FORTRAN, the MANMAN manufacturing database package and VAX DBMS on a DEC VAX 11/750. On a contract with Farm Credit Administration, designed and implemented a small database system to track financial data supplied by banks in the farm credit system using FORTRAN, VAX DBMS and SMG on a DEC VAX 8650.
System Manager/System Programmer
1984 - 1985
Designed and implemented system software for a VICOM image processing system (68000 based VM03 processor running VERSAdos) to support development of a digital medical x-ray system. Developed system level routines including an overlay system for Pascal programs; a device driver for a custom parallel port; interrupt generating/handling routines for VERSAbug (ROM resident debugger); and a terminal driver bypass routine to handle user input. Responsible for VERSAdos system management including system generations and system management of a DEC VAX/VMS system. Planned and implemented the migration of the company’s software development environment from a small VAX-11/750 system to a large VAX-11/780 system. Designed and implemented a call-back security system for dial-up modem lines to prevent unauthorized access.
1982 - 1984
Performed system management functions, including system generation, on a DEC PDP-11/44 running RSX-11M. Designed and implemented a virtual terminal driver to provide batch processing under RSX-11M. Designed and implemented several utilities to aid in monitoring and controlling the operation system.
Aerospace and Communications Corporation
1981 - 1982
Modified system software of the front-end processor for the Space Telescope telemetry processing system (DEC PDP-11/44 RSX-11M).
Bachelor of Science, Computer Science 1981 University of Maryland, College Park