Ernest G. Allen

Résumé

email: ernestgallen@earthlink.net
home: Sunnyvale, CA

Summary

I have made SGML, XML, and related tools and technologies my main focus since the early 1990s, have developed several proprietary markup languages for production use, and have worked with a wide variety of publicly-available markup languages.

I have worked with FrameMaker & FrameMaker+SGML since 1996, and a wide variety of other text-processing tools 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, 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
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 a few dozen different dental plans, from several different 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 subsequent versions use ODF XML and OpenOffice.org Writer version 2.0.

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 for the service, and existing templates are customized for sales staffs and other users of the dental plans.

Brocade Communications Systems, Inc., San Jose, California

XML/FrameMaker Consultant
Oct 2003 to June 2006

Oct 2003 to Oct 2004

Finished and extended an internally-developed 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 to create the main part of the manuals that document the error messages.

Developed 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 modified BEML files, and the conversion software to convert the modified BEML files back to normal BEML.

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
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 of a <text> element to contain 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 thorough, collaborative analysis. Worked with the Technical Architect to select appropriate 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 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 Parts Manual 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.