Application is starting up...

(Javascript required)

David Priest

Technical Documentation Author, XML Technologist

Looking for interesting contracts, short or long-term.

Fifteen+ years of focused, highly-productive remote working experience.

▸ Competencies
  • User and administration guides — Maximizes customer success in deploying and using your product. Serves as a product sales aide, providing assurance to decision-makers that their employees will quickly learn to use the software effectively.

  • Product assembly/maintenance documentation — Reduces production errors, increases customer confidence in the product, reduces service calls and returns, and increases word-of-mouth promotion among peers.

  • Internal code documentation — Brings developers on-board more quickly while also serving as a code quality, code maintenance, and software quality check.

  • API documentation — Increases interest and uptake of your software product. Incidentally, it will also reduce software flaws as your API is thoroughly prodded for unexpected behaviours and side-effects.

  • Data analysis, transformation, and amalgamation — Leverages your data to its fullest extent. Reduces errors by schematizing data, enabling compliance and quality testing. Increases the value of your internal and external data resources.

▸ Availability

Currently open to new contracts.

▸ Contact

Email me using [your-company-name]@davidpriest.ca. It all ends up in the same mailbox and ensures you get priority attention.

▸ Resumé

My resumé expands upon my work history, education, and skills, as one might well expect.

Work Samples

▸ Avato provides expert integration services. Its flagship product is a hybrid integration platform that makes it easier to connect disparate data platforms through the use of open standards.

  • Avato Developers Guide — excerpts demonstrating detailed, cross-referenced insight into product configuration and integration tools (2020).

  • Avato Users Guide — A tour of the user interface and step-wise instructions for accomplishing tasks (2020).

  • All software developed for Avato was work-for-hire and is not available for review. Work included:

    • XSLT applications for transformation of EDI to XML;

    • XSLT framework for testing of endpoint services and for comparing expected versus received XML trees, including allowance for tag order and count differences;

    • Transformation of XML to XML, including collation of data from multiple endpoints;

    • Ant applications for building the Avato server;

    • Publishing pipeline supporting structured organization of Asciidoctor-format documentation into print-ready PDF and help system HTML content;

    • Other supporting work, including schema development, bug reporting, repository check-ins, research, and more.

▸ Mandiant is a leading America cybersecurity firm, now a part of publicly-traded FireEye. My documentation for its “Mandiant Intelligent Response” product received praise as flawless in SC Media’s review of the software.

▸ Meyer Sound is a renowned sound reinforcement technology company, having consistently advanced the technologies of loudspeaker design and aural space manipulation for more than forty years.

  • Compass User Guide — product installation, user interface, and tasks guide (2009).

  • All software developed was work-for-hire and is not available for review. Work included developing an in-house inventory control, inspection process, and defect-tracking web application; and developing pipelines for document publication.

▸ LCS Audio developed SpaceMap, a thoroughly innovative multichannel panning system that used microphones, loudspeakers, and patented sound control techniques to deliver three-dimensional sound panning and environment control. The company was aquired by Meyer Sound in 2005.

  • CueStation Users Guide — an audio cue control hardware and software system that enabled sound designers unprecedented control and automation of stage and environment sound (2002).

  • Matrix3 System DSP EPROM Upgrade — stepwise instructions for end-user replacement of a key hardware component of the LCS sound control system (2000).

Documentation Habits

I like to write using plaintext markup. It is easy to work with, outlasts all proprietary formats, requires only a text editor, and is diff-compatible and VCS-friendly. ASCIIDoc and reST plaintext markup can be converted to Docbook XML and then published to web and/or print using HTML, PDF (via CSS or XSL-FO), or other destination data format, as demonstrated in most of the above examples.

I also publish documentation using InDesign, Framemaker, Word, etc. I’m comfortable in a Bash environment, several IDEs, various time-tracking and bug-tracking applications, and so on. I have messed around with a multitude of operating systems and programming languages, and read extensively on interesting programming topics.

When writing documentation I inevitably identify bugs, UX flaws, and other issues. I will happily log these issues and advocate for the best interests of the end user in determining the end resolution. Or not, your choice.

XSLT/XPATH-based Web Applications

This page is a web application written using XSLT Level 3, interpreted by Saxon-JS, with content transformed in-browser from XML data generated by Asciidoctor.js from a plaintext markup file.

Here are more XSLT web browser applications:

▸ A simple ToDo App. Each UI element handles its own events. They share a common local persistent database.

▸ The 2048 game. Keyboard events are captured at the DOM root. The relevant part of the browser DOM is transformed to a set of mapped data. An XPATH implementation of the 2048 game is applied against the captured data to calculate a representation of the next game state. Finally, the game state is updated. (To Do: improve touch event handling)

More to come as I find time to work on hobby code. I’m currently exploring financial APIs and the Meta-II metagrammar/metacompiler.

About Me

▸ My main interests are in
  • Educational, technical documentation: writing descriptive APIs, user instruction manuals, maintenance and assembly guides.

  • The transformation, structuring, and coding of information and data.

  • Functional programming and learning more of symbolic logic, type theory, and other mathematical/logical foundations of programming.

  • Quines.

  • Cabinet-making, landscaping, and general making-of-things.

▸ My expertise includes
  • XML, XSD, XSLT, Docbook/Docbook XSLT, and other XML technologies.

  • HTML, WSDL, SOAP, SVG, CSS, JSON, REST, and other web technologies.

  • A wide variety of GUI OSes, command line shells, and end-user applications.

  • Creating tools and functions in dozens of programming languages; from APL to XSLT, Scala, Python, Javascript, Bash, etc.

  • UI documentation, step-wise instruction, API/schema documentation, code documentation, assembly instructions.

  • Process analysis, gaps analysis, statement of requirements, business process documentation.

▸ Skills include
  • Development of comprehensive, accurate documentation of software, hardware, and work processess.

  • Hands-on UI and functionality testing, bug reporting.

  • Layout, page design, line illustration, product and process photography.

  • Voracious appetite for learning across a broad spectrum of interests.

  • Accurate time and activity tracking.

Let’s discuss your documentation, QA, and XML Application needs!

  • Email me using [your-company-name]@davidpriest.ca