Ernest G. Allen

Résumé

email: eallen@owt.com
home: Sunnyvale, CA

Summary

SGML, XML, and related tools and technologies have been my main focus since the early 1990s. I have developed several proprietary markup languages for production use, and have worked with a wide variety of the publicly-available markup languages (ATA 2100, DocBook, DITA, etc.).

Since 1996 I have worked with FrameMaker, FrameMaker+SGML, and a wide variety of other text-processing tools and technologies including Arbortext Adept & Epic, Awk, Perl, CSS, DynaTag & DynaText, ESIS, jade, lex & yacc, MS-Word, OmniMark, onsgmls (and its predecessors sgmls & nsgmls), OpenOffice.org Writer, oXygen XML (Editor, Developer, Author, & Diff), PostScript & PDF, RTF, SAX, SNOBOL4, WordPerfect, Xalan, Xerces, XML Authority, and XSLT.

I am most interested in projects involving any of the following.

Work History

Go2Dental, Inc., Santa Clara, California

Consultant—Automated XML and PDF Document Production
Nov 2004 to Present

Nov 2004 to Jan 2005

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.

March 2006 to June 2006

Created additional templates for additional plans, and extended the capabilities and flexibility of the system. 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.

July 2006 to Present

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.

Brocade Communications Systems, Inc., San Jose, California

Consultant—XML, DTDs, FrameMaker, Document Production
Oct 2003 to June 2006

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.

Aug 2005 to Oct 2005

A follow-on contract, updating the BEML DTD and related transformation tools that I developed in 2003 and 2004.

March 2006 to June 2006

Further modifications and extensions of the DTD and related transformation tools, in support of documenting new features in the logging and audit software.

Palm, Inc., Sunnyvale, California

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.

CareThere, Inc., Mountain View, California

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.

Vivaldi Networks, Inc., Menlo Park, California

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.

Novellus Systems, Inc., San Jose, California

SGML Programmer
Dec 1997 to Dec 1999

Coached and taught the technical writers about the tagging requirements for our FrameMaker-based system, 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.

Independent Consultant

Feb 1995 to Dec 1997

Consulting and contract work on SGML, XML, software development, data processing, make-versus-buy decisions, product selection, and information management policy. Contracts included developing and presenting classes on SGML and FrameMaker+SGML, custom software development for a retailer, and consulting to Boeing, a health services organization, and a multi-media firm.

Boeing Computer Services

Oct 1981 to Feb 1995

1981–85:  Programmer—Microcomputer Group.
1985–91:  Lead Programmer—Network Technology Group.
1991–95:  Senior Analyst—Planning and New Technology Group.