• Heavy lifter
  • Diverse experience
  • Fast learner
Don Law

email:
Home phone: 954-474-4373
Work phone: 954-916-9451

EDUCATION

Master of Science in Computer Science, Software Engineering Option;    December 1992; 4.00 GPA Awarded jointly by the Software Engineering Institute at Carnegie Mellon University and Florida Atlantic University.

Bachelor of Science in Math and Computer Science; Furman University, May 1984; 3.88 GPA in major, 3.51 GPA overall. In addition to standard course work, ported electron transport programs under NASA grant, developed music synthesis hardware and software, and developed memory-mapped parallel interface hardware and drivers, implemented IEEE-488 instrument bus driver, and debugged plotter drivers for geology surface-imaging program. Chairman, student chapter of ACM.

EXPERIENCE

Salient, 2001, on contract to EMC.    Handled the analysis, test generation, and coding for a complex bug fix for an EMC customer. Documented design of bug fix (Unix and clusters) for easy transition to other engineers on the project. Cleaned up many project loose ends, solidified code base, created development tools.

Salient, 2000-2001, on contract to Keane.    Performed bug fixes in a complex NUMA/SMP Unix kernel. Solely responsible for cluster subsystem, for which the documentation had been lost. Quickly captured the architecture of the subsystem by reading the source code, such that complex debug problems could be solved. Soon became the expert in problems difficult to reproduce and solve involving multiple threads of execution, clusters of systems, deadlocks, file system corruption, high-availability, Distributed Lock Manager, etc. You may view the reference letter for this engagement.

Salient, 2000, on contract to Luminant Worldwide.    Developed rapid prototype for indexed streaming video web site. Solely responsible for back end, which automatically generated indexes for encoded videos. Quickly learned the Virage Application Server for the Sun Solaris platform. After prototype, worked with team to design a full system based on Java, Oracle, Solaris, Virage, Autonomy, WebSphere, perl, Real, and Windows Media. Implemented the phase 1 back end, which was the only part of the project that was completed on time. You may view the reference letter for this engagement.

CommerceQuest, 1999-2000, Security Certificates.    Solicited requirements for library to process X.509 Public Key Certificates. Documented the new interface derived from the requirements. Implemented the library to process and validate incoming Public Key certificates using the X.509 algorithm according to the CCITT documentation. Implemented a library for BER decoding according to X.208 and X.209 standards. Developed libraries to be "crash-proof" since they are used in a high-availability enterprise environment. Provided test suite and documentation that can be easily used and understood.

CommerceQuest, 1999-2000, Common Build Environment (CBE).    Solicited requirements for the build environment for a complex set of projects. Developed a reliable, automated, build process that was common to MVS (OS/390), Windows NT, AS/400, AIX, HP-UX, Solaris, and Linux. Documented and enhanced the build process to find, report, and correct common user errors. Reduced the project setup effort from several hours to about five minutes. Used CBE to create an automated nightly build that caught build-related check-in mistakes immediately. Provided an on-demand CBE help desk for the development group.

CommerceQuest, 1999-2000, Common Library.    Solicited requirements for a platform-independent library of routines needed to accelerate time-to-market for many different projects. Created complete project documentation. Implemented a portion of the library such that it could be easily built, tested, and maintained.

Sun Microsystems, 1998, Mainframe attach analysis.    Visited vendors and interviewed potential vendors of hardware and software. Elicited requirements for future storage mainframe connections. Developed a framework to facilitate making the best decision for storage product direction.

Sun Microsystems, 1997-1999,    Various staff engineering projects, such as leading the Y2K certification of the A7000, creating a secure email channel using PKI (Public Key Infrastructure) system PGP (Pretty Good Privacy), training of new hires, developing method to recover pinned cache data, University recruiting.

Sun Microsystems, 1997-1999, A7000 technical lead.    Responsible for correct application of resources to product delivery problems, elimination of duplication of effort, and ensuring engineers maintained focus. Performed many different activities, such as Transfers of Information (inter-engineering classes), field bug analysis and repair, answering architecture questions from other engineers, and capturing past success and mistakes in a lessons-learned study.

Encore Computer Corporation, 1994-1997, Infinity Storage Product: Senior Staff Engineer.    Quickly learned proper use of mainframe storage diagnostics without documentation. Used MVS, VM, and VSE mainframe operating systems to create test cases and reproduce customer problems from the field. Designed and implemented track timestamping, which aids in performance and problem analysis. Co-developed a track format performance enhancement that created a track index in the first 1K of a track.

Infinity Storage Product: field support.    Enhanced problem resolution process between Amdahl and Encore. Provided on-site installation and debugging for Amdahl's storage beta customers. Organized and controlled the flurry of problems precipitated from the first release of the Storage Product. Led the "SEAL" teams, which were quickly put together as an emergency response to the urgent demand for field support. Trained the SEAL teams on effective debugging techniques so they could function as the front line of support integrated with customer service. Performed expert on-site customer support at enterprise data centers for Acxiom, Toyota, Shell, ISC, and Pepsi. Developed and taught several classes on the Storage Product to other engineers and customer service personnel.

Infinity Storage Product: status CCWs.    Specialized in status bytes returned to mainframe from storage controllers that are poorly documented by IBM. Reverse engineered undocumented behavior from IBM 3990 controller and implemented its equivalent in the Encore SP. Balanced a high-pressure fast-moving environment against the need to produce enterprise-quality high-availability software.

Infinity Storage Product: UPS.    Solicited requirements for Uninterruptible Power Supply support, which provides the functional equivalent of Non-Volatile Storage found in IBM controllers. Specified, documented, designed and implemented the UPS software for the Storage Product. Using the project documentation, other engineers were able to take over the maintenance of the UPS code with ease.

Encore Computer Corporation, 1993, Decision Support Acceleration    Senior software architect for a joint project between Expressway, Loral, and Encore corporations. The project involved hardware acceleration for decision support software. Responsible for discovering system-level problems and designing solutions. Developed the architecture for the acceleration of Expressway's bit-map decision support software using a bit-slice associative processor from Loral.

Encore Computer Corporation, 1992-1993, Oracle Parallel Query    Ported and performance-tuned Oracle Parallel Query to the Infinity 90 (Unix). Quickly captured a basic understanding of the Oracle kernel by working on-site at the Oracle Corporation. Debugged the Distributed Lock Manager. Designed and implemented a solution for the cluster System Commit Number problem. Found SQL Loader bug in Oracle kernel and recommended a solution to the Oracle development group. Tuned performance parameters and database layout for TPC-D benchmark on multi-node cluster of multiprocessor Infinity 90 systems.

Encore Computer Corporation, 1990-1991, Series 91 MicroARTE.    Implemented equivalent of Bare Machine Ada using Common Kernel Technology (CKT). CKT allowed multiple physical processors and physical memory to be allocated away from the host operating system, UMAX (Unix). Implemented the product MicroARTE, which allowed Ada programs to run in the CKT environment. Implemented the real-time and multiprocessing (tasking) features of Ada using CKT primitives. Implemented some real-time features in CKT where existing support was not adequate for the MicroARTE environment. Ensured that the product was validated according to DoD MIL-SPEC-1815. Certified product for use in nuclear power plants. The latter certification demanded very stringent specification, design, testing, process control, and documentation. Co-architect of the Common Run-Time System (CRTS), which enabled system software to be easily ported among different operating environments. Implemented the first working version of CRTS. Used Ada, C, and 88K assembly.

Encore Computer Corporation/Gould Computer Systems Division, various years, System Administrator.    Provided system administration for both PowerNode and Series 91 systems, using both BSD and System V Unix. Tuned time-sharing systems with performance problems. Automated various labor-intensive processes.

Encore Computer Corporation, 1989-1990, APLEX project leader.    Project leader for Aplex project team of 8 people, which included the Ada compiler, debugger, various run-time environments. Responsible for DoD validation efforts on both UTX (Unix) and MPX (real-time) platforms. Provided technical guidance on difficult problems, wrote most project documentation. Co-architect of 88K-based Ada product line.

Gould Computer Systems Division, 1986-1988, PowerNode Bare Machine Ada.    Technical project lead. The Ada Joint Program Office reported that this was the first truly parallel implementation of Ada (MIL-SPEC-1815) that they had validated. The tasking, I/O, and memory management features of the language were implemented directly on the dual CPU computer hardware, as well as supplemental real-time features. All code was written in either Ada or assembly language. Wrote the requirements document, project scope analysis, and functional specification for phase two of the BMA project.

Gould Computer Systems Division, 1984-1986, CAIS.    Common APSE Interface Set (CAIS) on PowerNode UTX (Unix) systems. Involved in initial understanding the military specification of the CAIS, formal design work using graphical design tools, design and code reviews done in formal design groups, development of testware, creation of a coding standard, and specification of internal interfaces. All code was written in Ada using the TeleSoft development system. Deciphered complex access control system for rest of development group

LANGUAGES AND SYSTEMS

Extensive programming experience in C, assembly, shells, and Ada.
Familiar with Java, perl, HTML, MVS JCL, yacc/lex, Tcl/TK, LE/390, and Oracle.
Acquainted with Lisp, Fortran, Pascal, COBOL, SQL, CICS, and REXX.
Extensive experience using Unix, real-time OS, X windows, OS/390, shell scripting, and source code control.

PUBLICATIONS

Guidelines to the Selection of Ada-Based Multiprocessor Computer System Configurations for use in Training and Simulation, co-authored with Gary Croucher, presented at the 10th I/ITSC Conference, November, 1988.

Analysis of Paths of Transfer to Ada Technology in Training Systems, co-authored with Gary Croucher, presented at the 11th Interservice/Industry Training Systems Conference, November, 1989.

Using Parallel Ada in the Implementation of Simulation and Training Systems, co-authored with Gary Croucher, presented at the 13th Interservice/Industry Training Systems Conference, December, 1991.

Parallel Ada in Simulation Systems, Defense Electronics Magazine, November, 1992.

Y2K Preparation, Power, Prudence, and Paranoia, Y2K Task force manual, November 1998.

CONTINUING EDUCATION
  • Administering the Oracle 7 Parallel Server
  • MVS JCL
  • Introduction to MVS VSAM
  • Motorola 88100 architecture
  • Quality Education System (Crosby)
  • MQ Series
  • CICS
  • Cyberguard Firewall Administration
  • DG/UX Internals

MISCELLANEOUS

Willing and experienced telecommuter. Some work at Sun and Luminant was done by telecommuting. All work at CommerceQuest, Keane, and EMC was done by telecommuting. My home is set up with a cable modem and a firewall appliance.


Click here to download an MS-Word copy of this resume.