David W. Morris
(408) 366 5050
E'mail: dwm@xpasc.com
WWW Home: http://www.xpasc.com/david.html
Index to Resumes: http://www.xpasc.com/resumes/dwm-index.html
Updated: April 9, 2009

Professional Summary

Introduction:
I'm a Senior Software Engineer/Architect offering very strong software design and development experience. For about the past 14 years, my focus has been on designing, building and performance testing applications based on www technologies ranging from C/Perl CGI through Java and SQL. This career branch was a natural outgrowth of prior experience with complex systems, computer networking technologies and building Computer-mediated Communications systems.

The unique value I provide in a project team is my very broad understanding of computer system architecture and my ability to quickly build a conceptual model which extends that understanding to the internals of specific technologies being used or considered for the project's implementation. My system perspective helps me identify components and features required to design and develop a complete solution which will meet business objectives.

Career Summary: (details follow):

Computing Environment Skill Summary:

Professional Inventory

Employment Details:
Oct 2002 - present: barili systems limited; continuing with projects:
  1. Senior System Engineer: Collaborated in the port of the MacOsX/Windows accelerator client to the iPhone; was responsible for devising and executing performance and battery life measurements; responsible for supporting the iPhone OpenSDK tool chain; and responsible for implementing application installation packaging compatible with the iPhone tools. {Skills: iPhoneOS and SDK, C, C++, ObjectiveC, Python, Cydia, Apache, Linux, Shell Script, MacOsX, FogBugz, Tomcat, Java, JSP}[2008]
  2. Senior Performance Architect: Responsible for on-going product performance claim certification; server infrastructure capacity evaluation and planning; creation of automated testing environments for email and web acceleration; general engineering lab support (devised a RedHat KickStart methodology for provisioning test servers); IT services back-up administrator; and setup Xen based virtual test environments. {Skills: Java, Tomcat, JSP, Python, VBA, HTML, XML, HTTP, Apache, Linux, Xen, Performance Evaluation, Shell Script, C, C++, Win/XP, Bugzilla, Subversion, CVS, ClearQuest}[2004-2008]
  3. Senior System Engineer: Responsible for implementation of the anti-spam product system test harness; execution of system load and stress testing of the product; appliance capacity evaluation; implementation and support of a Xen based virtual development environment; devised and implemented a totally virtual, multiple system, test environment; and general Linux system administration. {Skills: Xen, C, C++, Python, Java, Linux, Amazon EC2, Shell Script, Capacity Measurement}[2005-2008]
  4. Senior White Box Internet Application QA: Responsible for documenting and extending performance testing methodologies; execution of performance testing, server infrastructure capacity planning and automated report generation; devising the system test strategy for a new anti-spam product; and general QA process consulting. {Skills: Python, HTML, HTTP, Excel with/Macros, VBA, Apache, Linux, Shell Script, C, Win/2K, CVS, Bugzilla, Performance Evaluation}[2003-2004]
  5. Collaborated to enhance email-to and other features of my church's web site. Proposed the design for a web based church member directory application supporting family relationships and activity groupings. {Skills: PHP, HTML, MySQL, Apache}[2003-2004]
  6. Developed extensions to the DiceIt project search client to include a GUI tool which extracts contact information from posting pages and supports sending email project queries. {Skills: Java, JDK 1.5, Swing, JavaMail, TCP/IP, HTTP, HTML, Web Services}[2003-2009]
  7. Developed support for integration of the R statistical package with Java and Objective C by providing C interfaces for use by UC San Francisco medical researchers. {Skills: C, C++, Linux, Java, DCOM, Win/NT, Shell Script}[11/2002-3/2003]
  8. Installed and supported upgrades to Hummingbird/Fulcrum Knowledge Manager systems and SearchServer for the Intuit Internet search applications; developed web crawling status reports for site management; documented configuration and development; developed other diagnostic tools including a WebLoad Agenda for stress testing the application. {Skills: Hummingbird/Fulcrum Knowledge Manager, ASP, MS SQL Server, VB, VBA, JavaScript, HTML, Win/2K, WebLoad, C, Performance}[2002-2003]
May 1998 - Oct 2002: (as FTE after Jan 2000) Icarian, Inc. System Architect and Chief Engineer; Responsibilities included:
  1. Developed a prototype of Oracle Intermedia Text replacing Fulcrum within the Icarian product. {Skills: Oracle Intermedia Text, Java, JDBC, Win/NT, Solaris}[2002]
  2. Provided architectural direction to the team creating a migration approach which allowed the same application code to execute under NAS and J2EE. Responsible for selection of J2EE technologies to be used for the initial port. {Skills: Architecture, Java, WebLogic, WebLoad, JSP}[2001-2002]
  3. Also assigned as the Application Chief Engineer. [2002]
  4. Based on operational problem analysis, a new candidate search index support infrastructure was designed and implemented. {Skills: Architecture, J2EE, Java, JDBC, FULCRUM Search Server, NAS}[2001-2002]
  5. Conceived of approach to migrate the NAS based implementation to a J2EE platform. {Skills: Architecture, J2EE, Java, JSP}[2000]
  6. Assumed the role of Application System Architect. Responsible for all aspects of application design except for the UI. Continued responsibility for application performance evaluation, performance issue resolution and development of complex features. {Skills: Architecture, WebLoad, Performance Testing, Java, HTML, JavaScript, Oracle SQL, JDBC, Fulcrum Search Server, Solaris, Win/NT, SMTP, LDAP, SNMP, PerForce, ClearQuest/Admin, BlowFish, Single Signon, Web Services, XML, MS Project}[2000-2002]
  7. Provided architecture, design, server infrastructure capacity planning, and operational assistance to the ASP Hosted Operations group including providing third-level customer support. {Skills: Solaris, Shell Script, REXX, Java, Win/NT, NES, NAS, DNS, SMTP, SSH, TCP/IP, Oracle} [2000-2002]
  8. Led the performance evaluation and problem resolution effort required to satisfy customer contractual server infrastructure capacity and performance stipulations. Designed and developed WebLoad simulation scripts. {Skills: Performance Testing, WebLoad, Oracle SQL, Java, HTML, JavaScript, Win/NT, Solaris, NES, NAS, HTTP, SMTP}[1999-2002]
  9. Designed and implemented a role and data relationship based security infrastructure for the workforce application. Supervisory access was provided based on subordinate's roles and data relationships. {Skills: NAS, Oracle SQL, Java, HTML, JavaScript, Organizational Roles, Role based Security}[1999-2002]
  10. Architected the UI infrastructure and was a principle developer of the Workforce Management product's first two releases. This design anticipated the MVC design pattern. Implemented using Netscape Application Server's Java environment. {Skills: Architecture, HTML, JavaScript, Java, Oracle SQL, MS VSS, NAS}[1998-1999]
  11. Developed a JSP to Java translator and associated infrastructure required to execute the result under NAS. {Skills: Java, JSP, Servlet, Win/NT, NAS}[1998]
  12. Worked with UI designer to develop a prototype of the planned Workforce Management application. Utilized Netscape Enterprise Server (NES) LiveWire server side JavaScript for implementation. {Skills: HTML, Java, JDBC, JavaScript, Win/NT, NES}[1998]
Jul 1993 - Oct 2002: barili systems limited; founder and co-owner with projects including:
  1. Designed and developed the Small Store application for software publishers with a limited inventory. This application is integrated with the BNP payment server. See the www.sedit.com store site. {Skills: Java, JSP, Servlet, HTML, JavaScript, SMTP, Linux, Apache, Tomcat, eBusiness}[2001-2002]
  2. Created a special "Hot Potato" WWW CGI based utility which proxies a request to Server A and if the response does not arrive within the specified interval, requests a substitute response from Server B. {Skills: Linux, Solaris, C, HTTP, HTML, TCP/IP, Apache, CGI}[1998]
  3. Participated in the IETF Working Groups which defined the HTTP and HTML 2.0 standards. {Skills: HTTP, HTML, TCP/IP, IETF}[1994-2000]
  4. Contributed to the implementation of an application designed to enhance customer support via integration of overlay commentary and existing web content. The prototype made heavy use of Client (MS IE4 and NSN4) along with server side (MS ASP) JavaScript to demonstrate proposed application functionality. My specific implementation responsibility was the web browser based UI and related ASP support. {Skills: IIS, ASP, JavaScript, ActiveX, DCOM, C, C++, Java, Win/NT, CGI}[1997-1998]
  5. Designed a WWW based configuration tool for a special purpose embedded hardware system. This application included an ActiveX server component as the glue between the IIS/ASP generated HTML interface and the embedded system's configuration store. {Skills: IIS, ASP, JavaScript, ActiveX, DCOM, C, C++, Win/NT, Embedded systems, MS SQL Server}[1997]
  6. Developed a web-services style Dice client to execute project opportunity searches and track posting status to suppress duplicates. Includes a new ActiveHTTP package. {Skills: Java, Java AWT, TCP/IP, HTTP, HTML, Web Services}[1997]
  7. Created two products (EzHTTP and ActiveHTML) which are designed to support status monitoring and testing of WWW based applications. EzHTTP currently supports Sun Solaris and Linux execution environments. ActiveHTML is written in Java for cross platform portability and ease of customer use of Class packages to produce customized testing tools. {Skills: Java, TCP/IP, Linux, Win/NT, Solaris, HTTP, HTML, Web Services}[1997]
  8. Created a special purpose WWW application for consultant time and activity recording augmented with JavaScript and Java to validate format requirements and total the reported hours. {Skills: HTML, C, JavaScript, Perl, CGI, DES encryption, Linux}[1996-1997]
  9. Co-originator of the application concept and principal architect of Hitachi Computer Product America's ZooWorks Research products. ZooWorks helps WWW users re-locate previously viewed information by combining Verity full text indexing technology with HTTP proxy protocols to silently index all documents the user views. {Skills: HTML, C, CGI, Perl, HTTP, TCP/IP, Multi-threading, Verity APIs, Win/NT, SunOS, Solaris, REXX, Java, C++, CVS, InstallShield}[1995-1997]
  10. Consulted on system architecture and project planning for a web based office services application. {Skills: Architecture, SGML, MS Project, HTML, Performance Measurement, Project Management}[1996-1997]
  11. Lead implementer of a toolkit which provides Windows/95 DOS box TCP/IP support utilizing the WinSock API support built-in to Windows/95. Our client used this toolkit to provide DOS legacy applications with TCP/IP network access without the expense of purchasing a third-party TCP/IP implementation for DOS. {Skills: C, C++, TCP/IP, VxD, Win/95, 80x6 Assembly Language}[1995-1996]
  12. Defining, creating and deploying a WWW presence for The Benaroya Company. {Skills: HTML, Apache, Photoshop, DNS}[1995-present]
  13. Creation of Remedy Corporation's original ARWeb product -- a WWW HTTP server interface CGI program providing a WWW browser interface to the Remedy Action Request (AR) System. This was a CGI program which used the AR System APIs to control generation of an HTML forms based interface to the AR System. {Skills: Perl, C, HTTP, CGI, Remedy APIs, Remedy Admin, SunOS, RCS, HPUX, Shell Script}[1994-1995]
  14. Attended Remedy Corporation training for users and administrators of their Action Request System product. Qualified to perform application analysis and schema design. {Skills: Remedy Admin, SunOS}[1994]
  15. Transitioned a prototype Linux Token Ring adapter device driver to distributable quality. {Skills: C, Linux Kernel, TCP/IP, Token Ring, 80X6 Assembly}[1994]
  16. Investigation of potential business opportunities based on Mosaic and the World Wide Web with a focus on K-12 education. {Skills: HTML, TCP/IP}[1994]
  17. Established ofice LAN Internet connectivity including writing a TCP/IP RIP advertising simulator to advertise our LAN to the Internet (required to circumvent limitations of PC TCP/IP implementations). {Skills: TCP/IP, Token Ring, DNS}[1994]
  18. Contributed to a hot-key hypervisor product which allowed host emulation connectivity to IBM 3270 and AS/400 hosts to co-exist with an application delivery platform whose memory and interrupt hooking characteristics were not compatible with the connectivity software. This project required 802.2, NETBIOS, IPX/SPX, and TCP/IP host connectivity for 3270 sessions and twin-ax connectivity for AS/400 5250 sessions. {Skills: C, 80x6 Assembler, 80x6 Device Hardware, TCP/IP,Novel IPX, IBM 3270, MSDOS internals}[1994]
  19. Conclusion of the AIX VS FORTRAN/ESA Parallel Language product including code to manage independent static data for each parallel (including detailed analysis of the object module, compacting static data sections and relocating individual copies) {Skills: See below.}[1993]
Jul 1992 - Jul 1993: IBM Santa Teresa Programming Laboratory, Senior Programmer
  1. Assisting with department preparation for ISO 9000 certification [1993]
  2. Continuing responsibility for AIX/ESA FORTRAN release 2 items described below [1992-1993]
Apr 1979 - Jul 1992: IBM Palo Alto Scientific Center, Scientific Center Staff responsible for:
  1. Continued to refine code librarian features in support of problem management required for ISO 9000 record keeping
  2. Served as the implementation architect and assistant team leader for the addition of Parallel Language support in release 2 of AIX VS FORTRAN/ESA; technical author of the VS FORTRAN Programmer's Guide and principal reviewer of other publications
  3. Active participation in the development and documentation of processes and procedures required for IBM AIX High End Systems' successful ISO 9000 certification
  4. Subsequently led the team which ported VS FORTRAN to AIX/ESA with responsibility for the implementation architecture, coordination with the business plan, and product installation tools
  5. Enhanced the COFF processor and VS FORTRAN compiler to support dbx requirements for source debugging, coordinated contract programming services for dbx requirements
  6. Led the team which ported IBM CMS VS FORTRAN to AIX/370
  7. Designed and implemented a hot team oriented code librarian and related tools required to support cross development from IBM VM/SP targeting AIX/370
  8. Extended IBM's H-Assembler to cross compile for AIX/370 providing AIX COFF object files with character data in ASCII - this activity included implementation of a general purpose COFF output subroutine for use by the H-Assembler and the VS FORTRAN compiler back-end
  9. Co-designer of the linkage conventions for IBM AIX/370, IBM's first serious main-frame UNIX(tm) offering
  10. Organized and served as the IBM participant in a Joint Study with Professor Murray Turoff at New Jersey Institute of Technology working on a work group tailorable version of Turoff's pioneering EIES system
  11. Served as a corporate consultant to various CMC investigations including a project proposal in support of the National Academy of Science
  12. Advanced Technology application of EQUAL as a basis for general purpose Computer-mediated Communications (CMC)
  13. Continued improvements to the IBM EQUAL prototype including content based distributed data base support
  14. Developing a device driver for IBM VM/370 support of a RAMTEK high-resolution (c. 1979) graphics display system
  15. Installation of IBM/VS1 in support of the image processing group and IMS data base research projects {Skills: 370 Operating Systems (OS/VS1, VM, CMS) and assembler, AIX (370 and ESA), QA Test Automation, Shell Script, Fortran, Multi-threaded and Multi-processing, Collaborative Computing, Basic Image Processing, PL/AS, PLS/3, REXX, GML}
Nov 1978 - Apr 1979: IBM Palo Alto Systems Center; Senior Market Support Representative responsible for:
  1. Collaborated in the implementation of the initial production prototype of the IBM EQUAL system
  2. Defined the IBM 8100 system support lab requirements for the Palo Alto Systems Center after its move to Dallas
  3. Advanced technical consulting related to SNA networks, computer communications in general and 3790 distributed systems {Skills: IBM 8100, IBM 3790, IBM OS/MVS, VTAM, SNA, 3705 NCP, GML, 370 Assembler}
Jul 1974 - Nov 1978: IBM Flint Michigan; Advisory Systems Engineer
Jul 1973 - Jul 1974: IBM Flint Michigan returned as a Systems Engineer
  1. Reverse engineered 3790 micro-code and developed a prototype facility for host distribution of micro-code service
  2. Collaboration in the development of the installation management plan under which 26 of 27 3790s were installed without difficulty -- the 27th would have been if the plan had been followed by the remote IBM CE
  3. Consulting in the design and implementation of several network control center/communications help desk installations
  4. Design of an SNA network supporting IBM 3790s, 3776s in RJE and DSC modes
  5. SNA / VTAM system configuration design and install
  6. Serving as an expert consultant for the local branch and IBM region as a "Communications Systems Specialist" and a "Distributed Systems Specialist"
  7. An IBM 2260 to IBM 3270 data stream converter was implemented to assist with user application migration
  8. Assisting a major TCAM/TSO customer with migration to TCAM/TSO/NCP -- numerous TCAM, TSO, and NCP program defects were fixed in conjunction with the customer. The MTA support fixes were ultimately introduced in the VTAM SNA product
  9. Customer guidance related to installation and tuning of IBM MVS
  10. IMS Data Base failure analysis, recovery guidance, and performance tuning
  11. Assisting in the design and eventual implementation of an IBM System/7 based shop floor data collection system with DASD queuing and batch upload
  12. Technical participant on two IBM proposal teams responding to GM RFPs for corporate wide networking. The IBM proposals were heavily dependant on SNA {Skills: IBM OS/MVS, OS/SVS, JCL, VTAM, SNA, SDLC, IBM 3790, 370 Assembler, 3705 Assembler, 1130 Assembler, PL/I, Cobol, IMS, Installation Management, Help Desk Process Definition, 3705 NCP, IBM S/7 Assembler, TSO, SPF/PDF, ISPF, Performance Measurement, NetworkPerformance Simulation}
Jan 1972 - Jul 1973: US Army Security Agency Test and Evaluation Center (USASATEC) at Ft. Huachuca, AZ as a Department of Defense part-time DOD civilian (while in graduate school)
Aug 1970 - Jan 1972: USASATEC at Ft. Huachuca, AZ as an enlisted Electrical Engineering Assistant
  1. As my graduate research project, I designed and implemented a magnetic tape interface to attach our mission oriented tape drives to a DEC PDP-8i
  2. Conceived of and participated as a government representative in the implementation of a special purpose computer language designed to facilitate the analysis of engineering test data.
  3. Conceived and specified a mini-computer based data collection system to be used in the evaluation of a complex military system. Responsibilities included contract specification and monitoring for hardware and software phases of acquisition
  4. Redesigned the range tracking radar data processing to better filter anomalies and extrapolate missing points while significantly reducing CPU usage by limiting processing to small time windows around each airborne observation
  5. Design and implementation of software which edited airborne test data merging the validated information with range tracking radar data
  6. Conception and specification of special purpose hardware for the passive collection of airborne mission test data
  7. Consulting on the reorganization of data processing as applied to the USASATEC mission {Skills: Fortran, CDC 6x00 Assembler, HP 2100 Machine and Assembler, TTL Design, Digital Data Collection, DEC PDP 8i, Contract Management, Test Automation, Architecture}
May 1970 - Aug 1970: US Army basic training (drafted)
Sep 1968 - May 1970: IBM Flint Michigan as a Systems Engineer
Sep 1967 - Sep 1968: IBM Flint Michigan as a Systems Engineering Trainee; see prior entry
  1. Designing and leading the implementation of an IBM 1130 based prototype application with remote processing and queuing to off-load the dealer terminal application to processors located in each warehouse.
  2. Responsible for adding remote dealer terminal access to the IBM 360 telecommunications program accepting messages from AT&T ASR33 teletypes, parsing the data and queuing the results for processing by the 1410 application
  3. Modification of IBM OS/MFT and the 360/M50 1410 Emulator to support channel-channel attachment {Skills: IBM OS/MFT, JCL, IBM 360 Assembler, IBM 1130 Assembler, IBM OS/MFT Channel-to-channel device driver, ASYNC Network protocols, hardware test generator}
Sep 1966 - Sep 1967: Michigan State University (MSU); part-time as Assistant Chief Engineer for the MSU All Campus carrier current radio network including the hiring of, organizing and supervising the crews installing underground cable and transmitters in individual campus dormitories; also served in a voluntary position as the Manager of the dormitory carrier current radio station {Skills: Project leadership, AC Power distribution systems, AM Broadcast Electronics}
Jun 1966 - Sep 1966: IBM Corporation Flint Michigan Branch Office; Summer intern assisting on various projects including OS/PCP system installation for a local customer and conversion of an IBM 705 based electrical utility billing system to IBM/360
Dec 1965 - Jun 1966: MSU; volunteer position as Chief Engineer and Assistant Manager of the dormitory carrier current radio station {Skills: Team leadership, AM Broadcast Electronics}
Sep 1965 - Dec 1965: MSU; part-time systems programmer responsible for modifications to the CDC 160A assembler {Skills: Fortran, CDC 3600 and CDC 160A Assembler and raw hardware programming, Computer Center Operations}
Jun 1965 - Sep 1965: Dow Chemical Company (Dow); summer employee responsible for IBM 1410 Operating System maintenance, developing fixes for the 1410 FORTRAN Compiler, and review/critique of the CDC proposal to Dow for a new Computer System based on Dow conceived operating system requirements and programming languages. {Skills: Fortran, IBM 1410 OS, CDC 3800 }
Sep 1964 - Jun 1965: MSU; part-time Expert Consultant for the Computer Center and programmer for the Computer Center Librarian
Jun 1964 - Sep 1964: Dow; summer employee programmer responsible for implementation of an inventory requirement forecasting program, also reviewed proposals from IBM and CDC for new computer systems {Skills: Fortran, IBM/1410, Scientific Inventory Forecasting}
Apr 1964 - Jun 1964: MSU; part-time programmer for Computer Center Librarian {Skills: Fortran, CDC 3600 Assembler }
Jan 1964 - Apr 1964: MSU; part-time computer operator {Skills: Fortran, CDC 3600}

Hobbies:

Education:

Professional Recognition:

Return to David Morris' Resume Index Page