Résumé (Long Version)
email: eallen@owt.com
home: Sunnyvale, CA
I have extensive experience with SGML, XML, markup languages, and related tools and technologies, having made them my main focus since the early 1990s. I have designed and developed innovative solutions that have saved considerable sums of money and labor, reduced errors, shortened turnaround and lead times, and have provided new, previously unavailable capabilities.
Systems that I have developed include document production, document management, early electronic mail and group calendaring systems, network management and automation, and the electronic exchange of business data. One three-month, one-man project alone saved between 2.6 and 6.0 million dollars per year for over a decade and won the prestigious George Westinghouse Signature award.
I am most interested in projects involving any of the following.
In-depth experience and responsibility for the full life cycles of multiple systems, including requirements analysis, system design, data modeling, system development, testing, implementation, training, and maintenance. Related experience in project management, business process analysis and design, product evaluation and selection, and make-versus-buy decisions. Extensive ETL (Extraction, Transformation and Load) and SGML/XML transformation experience.
I have worked with SGML and XML since the early 1990s, defining markup languages, developing software to process both proprietary and publicly-available markup languages, using them in a variety of applications, and teaching people how to use them. The list of tools and languages I have used is, therefore, rather long. Alphabetized for your convenience...
Development experience includes project management as well as the design and development of overall architectures, data structures, algorithms, user interfaces, development tools, testing tools, system administration tools, reusable subroutine libraries, customer training, and on-line help systems. In addition to individual, team, and lead developer work, I have worked as an internally-appointed consultant to other programmers on Awk, C, Pascal, SGML, XML, x86 assembler, and system design, development, and management in general.
In a less technical vein, good communication skills and an understanding of the business and cultural issues involved in developing and adopting new applications and technologies makes it possible for me to explain them in a manner that is meaningful to both staff and management. Additionally, an understanding of the social issues involved allows me to effectively address a wide variety of non-technical issues when designing or implementing new systems. These skills are often critical when adopting new XML-based production systems.
Consultant—Automated XML Document Production
Nov 2004 to Present
Developed on-the-fly creation of PDF documents from tab-separated database extractions for customized listings of all “in-network” dentists, by specialty if selected, within a given distance of a user-supplied street address or zip code. The documents are created for the members of several dozen different dental plans, from several dental plan providers, and include different “boilerplate” sections based on the provider and plan. The first version was based on RTF and OpenOffice.org Writer version 1.x, while the second and all subsequent versions use Open Document Format (ODF) XML and OpenOffice.org versions 2.x and 3.x.
The system now includes support for forcing specific sections to start on odd or even numbered pages and the inclusion of small icons associated with some dental offices. Additional templates are created as new customers are added and existing customers sign up, and existing templates are customized for sales staffs and other users of the dental plans.
Consultant—XML, DTDs, FrameMaker, Document Production
Aug 2005 to June 2006
A follow-on contract, updating the Brocade Error Message Language DTD and related transformation tools that I developed between October 2003 and October 2004.
Consultant—HTML and JavaScript
June 2005 to Aug 2005
Created a set of HTML pages which are stored on the installation CD-ROMs that are bundled with Palm's hand-held computers. From those HTML pages the users select and install third-party software to desktop and hand-held computers. Debugged the internally-developed JavaScript.
It was the first time that Palm had used this HTML-based approach for their installation CD-ROMs, and the work included detailed information gathering, a small amount of graphics work, and a moderate amount of experimentation. This HTML-based approach is now used for all of Palm's regular installation CD-ROMs.
Consultant—XML, DTDs, FrameMaker, Document Production
Oct 2003 to Oct 2004
Finished, extended, and refined the XML DTD for the Brocade Error Message Language (BEML). The language includes both data (error codes and C-style printf arguments), and the documentation of probable causes and recommended actions. BEML files are processed to create C header files that are used in building the switch software, and for the main part of the manuals that document the error messages.
Developed the FrameMaker-oriented BEML-FM DTD and the conversion software to reorder and add the elements and attributes that are needed in the FrameMaker files for editing and publication (PDF, paper, and HTML). Developed the FrameMaker EDD and read/write rules required for the import and export of the BEML-FM-compliant XML files, and the conversion software to convert the edited BEML-FM files back to normal BEML XML.
Initially, the main DTD and BEML files were used by two departments, Software Engineering and Technical Publications. Since then they have been adopted by the SQA department for use in testing, and by the Customer Technical Support department in the form of records in a relational database. Most importantly, with a single set of BEML files being used as the source material, the error messages in both the switch software and the documentation are completely synchronized, and the quick turnaround in creating and updating the documentation reduces the lead time required by the Technical Publications department.
Systems Architect
Mar 2001 to Jan 2002
One month after I started, 30 of the 38 employees were laid off. I then redesigned some troublesome and labor-intensive aspects of the system, and the lead architect and I tackled the completion of the project, finishing it in about two months. He stated that the two of us accomplished more in two months than the previous staff of five had accomplished in five months.
Designed, developed, and introduced tools which improved the production and loading of XML documents into a Versant OODBMS. The existing XML-to-Java binding tool could not properly handle mixed content, and the existing workaround for what would normally be XML leaf-node PCDATA in mixed content was causing considerable trouble until I updated the DTDs and made it easy for the document production staff to validate the documents they created. Made additional changes to the DTDs, tightening some content models and loosening others, and processed the entire corpus of over 5,000 documents to comply with the updated DTDs.
Solved a long-standing problem of bad links within the web site, and eliminated the need for the laborious link-checking that had been done up to then, by using an SGML capability that has been dropped from XML. A two-layer system of INCLUDE/IGNORE sections containing several thousand general text entity declarations for link target values was implemented. The entire corpus was processed to replace hard-coded links with the new entity references, and tools for the production staff to use entity references for link values were implemented. From then on, coding or typographical errors in link values were caught by a validating parser and easily corrected before the documents were loaded into the OODBMS.
System Architect
Dec 1999 to Mar 2001
Developed the overall system architecture via a thorough, collaborative analysis. Worked with the Technical Architect to select appropriate hardware and software tools and technologies, and company-wide agreement was easily achieved. Developed the DTDs and defined how XML was used within the system for data interchange and validation. The OLTP schema was derived from the DTD by a coworker who wrote in the schema documentation that he “just shook the DTD and the database schema fell out.”
Developed an application generator (referred to as Slice-O-Matic by coworkers) which uses as its main input Point-of-Sale (POS) flat file layout specifications, effectively turning the layout specifications into a Domain-Specific Language. The computer-generated applications then process POS transaction logs to extract and reorder the required data in order to produce XML output which validates against the main DTD.
Developed the data warehouse (“star” or “dimensional”) schemas and supervised the development of ETL tools for high-volume extraction, transformation, and loading into Oracle 8i and SQL Server. Assisted and mentored coworkers on XML, parsers, Domain-Specific Languages, and related subjects. Made major contributions to the company's business plan and presentations to investors.
SGML Programmer
Dec 1997 to Dec 1999
Coached and taught the technical writers about tagging requirements, resulting in a 74% reduction in tagging errors during my first twelve months. Developed custom utilities that helped me achieve a 53% reduction in my own conversion labor. Converted about 80 large technical manuals (about 12,000 pages) from unstructured FrameMaker to SGML (DocBook DTD), and created eight master CD-ROMs containing the books. Modified the DocBook DTD in order to support new requirements. Converted books from FrameMaker's invalid “XML” to valid XML, SGML, and HTML. Wrote automation utilities which reduced a writer's labor to produce each Illustrated Parts Guide from about eight weeks to about one week.
Wrote additional utilities to:
Developed the Technical Training, Product Support, and Spare Parts sections of the company's web site. Automated the production and monthly update of about 100 web pages which are now maintained by the group's Administrative Assistant as two simple text files, without requiring any knowledge of XML or HTML.
Feb 1995 to Dec 1997
Consulting and contract work on SGML, software development, FrameMaker+SGML, data processing, make-versus-buy decisions, product selection, and information management policy.
Oct 1981 to Feb 1995
1981–1985: Programmer, Microcomputer Group.
Worked with the UCSD P-System, CP/M-80, Apple DOS, TRSDOS, MS-DOS, asynchronous communications, Pascal, BASIC, and various assembler languages. Developed and taught many classes on programming and early office automation applications.1985–1991: Lead Programmer, Network Technology Group.
Worked with XNS and TCP/IP protocols, NetBIOS, and developed much of the infrastructure for a large LAN consisting of over 600 servers and 15,000 client PCs spread out across 560 square miles. Used Awk, C, Pascal, Perl, x86 assembler, and many Unix-like text manipulation tools I developed for MS-DOS and OS/2. Continued to develop and teach classes to users and programmers.1991–1995: Senior Analyst, Planning & New Technology Group.
Tracked and evaluated new technologies, developed prototype and proof-of-concept systems, consulted to other departments and companies, provided technical support to the U.S. Department of Energy's SGML efforts, and worked as a trouble-shooter for a variety of projects. Programming tools used included Awk, C, Lotus Notes, Pascal, Perl, Visual Basic and x86 assembler.
Independent and team projects for Boeing in Seattle and Richland, Washington, and independent consulting projects in Atlanta, Seattle, Vancouver (British Columbia), Vienna (Virginia), San Jose, and elsewhere. Part-time consulting and support to a large retail establishment since 1987.
Consulted on the basics of content management for syndicated XML documents from several sources: selection of relevant metadata, indexing of both the metadata and the content, conversion to HTML, expiration policies, on-demand versus staged conversion, et cetera.
Developed and taught introductory courses on SGML and FrameMaker+SGML for an international, award-winning multimedia firm. This effort was different in that most of the students came from a graphics or multimedia background instead of programming or document production backgrounds.
This three-week Atlanta assignment was for Boeing's contract with the U.S. Army on the ForceCOM Information System at Fort McPherson. It required the development of custom utility programs and dozens of scripts to integrate applications running on two interconected Unix systems with about fifty asynchronously connected PCs. It was an extremely high pressure save-the-contract effort as an individual consultant, the results of which were greeted by the customers with what the Army's Site Program Manager called “rave reviews.”
Three months later a one-week trip to Atlanta was made in order to make minor enhancements and train newly-hired staff in the use of the tools.
Work in Seattle has included consulting on LAN management and administration, product selection, software development tools, and contributions to various contract proposals.
The consulting work in Vienna, Virginia was an evaluation of the software development methods being used in the Federal Telephone System 2000 (FTS 2000) project and involved evaluating the current methods and standards, one week of extensive interviewing of the project's staff and management, and making written recommendations on how to improve quality and shorten delivery times.
A wide variety of both formal and informal consulting at Boeing Computer Services Richland, including expert witness consulting to Westinghouse Hanford's General Counsel.
After leaving Boeing, as part of a two-person team, consulted to a health services company and developed approaches to kick-start the development of a strategic information management initiative that had been stalled for nearly two years.
About half a year after leaving Boeing, I received a contract to help finish the SGML-based EMOD (Electronic Maintenance and Operational Data) system, which was created by McDonnell Douglas, and is used for the creation of large, complex, aircraft maintenance manuals. It uses Architectural Forms and Arbortext ACL (Adept Command Language) routines to control on-the-fly use of SGML's SUBDOC mechanism for combining and reusing document fragments into sub-sections, sections, chapters, and complete documents, with variations based on model, date, operator, tail number, et cetera. Most of my work was on the ACL routines. It is an excellent system, and after McDonnell Douglas and Boeing merged, Boeing adopted the EMOD system.
Since 1987, part-time consulting to a combination grocery and department store which employs over 100 people and was 1.5 hours away by private airplane, 5 hours away by car. This work has included both general and technical consulting, custom programming, and integration support. Custom systems developed include shelf inventory scanning and reporting for both the grocery and department stores using hand-held computers and PCs; daily till balancing; integration of daily till balancing with a commercial Point-Of-Sale system; integration of the POS system with data feeds from the main grocery supplier; custom data extraction and reporting from the POS system; the integration of two separate vendors' POS systems; currency exchange; and customer service desk automation (currency exchange, ROA, game licenses, cash register “banks”, and so forth). Developed an EDI-like system for translating and importing Purchase Order confirmations from one proprietary system to another. Commercial software supported includes accounting (AR, AP, Payroll, GL) and POS systems.
Designed, coded, and implemented LANCal, a LAN-based calendar and scheduling system which was used by over 15,000 people at the U.S. Department of Energy's Hanford site and DOE Headquarters. The system saved the Hanford site $2,600,000 to $6,000,000 per year and required less than five hours per week of simple system administration support.
Version 1.0 was started in July of 1987 and completed in October 1987. Its features included:
In 1989 the version 2.0 enhancements included notification of new calendar entries via the site-wide electronic mail system. In 1990 the U.S. DOE awarded a costs-savings certification of $1.34 million per year for 1989 (awarded at 50% of the 2.68 million actual savings). Version 3.0, released in 1992, switched from a Lotus-style ring menu to pull-down menus, and added repeating entries, mouse support, and other enhancements. In December of 1998 LANCal was replaced by Microsoft Outlook as part of a site-wide adoption of Microsoft Exchange.
Have developed many filters, text processing tools, text-based applications, and little languages. Developed clones of the Unix tools cut, paste, sed, and tr. Introduced a large number of programmers at Boeing to the joys of Awk, text-oriented approaches to computing, specialized little languages, and the advantages of using vendor-neutral encoding. Developed filtering tools for cleaning, sorting, summarizing, extracting, and reformatting text. Code manipulation tools included pretty-printers, cross-reference generators, and header extractors.
Developed HPForm, a rich little language designed by an expert on Hewlett Packard's Printer Command Language. HPForm uses a symbolic ASCII input language and generates compact HP-PCL output. A companion program, MkHPF, reads files of IBM-PC line-draw characters and creates HPForm source code.
Developed numerous site-wide applications for a large LAN including the maintenance of logon data, a font upgrade, maintenance of site telephone listings, configuration maintenance of desktop PCs, and the management of fileserver configurations, disk space, and files. Other text applications included data logging and analysis, document management and archiving, various specialized analyses, and daily, weekly, and monthly production runs processing telephone bills, office relocation information, payroll time-keeping, and charge account information. Automated conversions among SGML, HTML, tagged and untagged text, RTF, FrameMaker, Ventura Publisher, WordPerfect, Lotus 1-2-3, EasyWriter, WordStar, PostScript, and various mainframe and binary encodings.
Handled the software development, fileserver configuration control, network capacity, file distribution, and client/server aspects of a four-person project which updated over 4,800 WordPerfect users on 300 fileservers from version 4.2 to version 5.1 on the first day. Senior management's confidence was such that the site-wide conversion was scheduled for, and occurred on, the last Monday of the fiscal year. There were no adverse impacts to network or site operations, and only a handful of calls to the help desk.
As half of a two-person company, I developed and successfully marketed psychometric and expert system software for licensed clinical psychologists. I have developed several production text processing systems; an early electronic mail system; a document management system; a site-wide plant telephone directory (both TSR pop-up and normal versions); and many behind-the-scenes network utilities. Wrote the Software Development and Application Architecture sections of the DOE's Information Architecture of the 1990s guide. Updated the guide in 1993.
Have repeatedly identified “winning” technologies and products, such as when I selected cc:Mail as Hanford's email system (in 1987, when PCC Systems, cc:Mail's original creator, was an eleven-person company), and when I was the only member of the New Technology group to argue that SGML would win out over ODA.
Note: the more recent projects are listed first.
Also, extensive, ongoing self-study and many half-day to two-day conference tutorials.
Plus innumerable thank-you letters, certificates, and minor awards.