Eric Armstrong
Software Systems and Documentation
Strategist, Evangelist, Technologist
650 814-0370
eric [at] treelight [dot] com
Summary
Accomplished, author, software developer, and production
specialist. Creative problem solver, with an extensive list of publications and development projects. Self-starter
bubbling with project ideas. Passionate user-advocate. Ability to communicate,
inspire, and motivate. Ability to listen and find solutions that work.
Your work is a pleasure to read! It flows easily from
one topic to the next, with rarely a misstep.
--Editor at Sun Microsystems
Goal
Work with a team of smart people, integrating, documenting,
and building tools that enable collaboration and enhance productivity.
Professional
Experience
Naurs, Inc (Jan-Mar 2010)
·
Wrote installation
and user guides for a new network traffic management module. (DITA, XMetaL)
·
Provided
usability feedback on the new module.
·
Converted
existing installation guide for network management/attack-detection system.
(FrameMaker, DITA)
·
Reorganized and
rewrote the guide for usability and minimalism.
·
Helped to
establish writing/tagging standards, customize outputs, and set up production
procedures.
·
Created processes
for delivering context-sensitive WebHelp. (JavaScript, JSON, Ruby)
Propylon (2009)
Built foundation technologies and did client-side programs,
and extensive documentation to help meet a major milestone for an
asynchronous-message, document-processing system.
·
Wrote a test harness and API
extraction tool for OOoBasic code (Python). Auto-generated folder hierarchies
from OOo documents (OOoBasic). Created a client build system (Rake). (Sliksvn,
TSVN, Trac, OOoBasic, DOS, Python, Ruby, Jing)
Independent (2009)
Focus on making contributions to the open source and
entrepreneurial communities.
- Development: RuDI (Ruby Utilities
for DITA processing)—a foundation for next-generation collaboration
systems. The idea is to use Ruby's capacity for DSL-construction, in
conjunction with DreamWeaver templates, to streamline the DITA production
process, improve authoring efficiency, and (eventually) customize DITA to empower
distributed design-and-decision-making. (JRuby, RSpec, RDoc,
NetBeans, DITA OT)
- Technology Assessment: Summarized the technology vision. Proposed an
initial "proof of principle".
Eric is like a great translation machine! Put in
technologeze and out comes English.
--Sandy Klausner, Founder, CubeSystems
Sun Microsystems (2005-2009)
·
Investigated DITA
technologies, evaluated and selected tools, ran the pilot study, gave talks on
rationale and lessons learned, participated in team-building.
Eric
communicates effectively with groups and individuals. If he has new information
or discoveries of note, he shares them with everyone and listens (an important
quality) to what people say in response.
- Defined semantics for generated
web pages. Built tools
to automate the process. (Javascript, JSP, Glassfish, Ruby)
Kudos
to Eric for making the (web page) vision a reality. He thought it through,
raised and clarified various semantic issues, and is the technical brain behind
the implementation.
- Evaluated several CMS systems.
Designed algorithms for automated link management using Subversion.
- Devised a DITA implementation
strategy and rollout plan.
I have
found Eric to be super creative and innovative...but he also has a pragmatic
approach that produces results in the real world.
- Ran a DITA pilot. Took notes on
lessons learned. Wrote papers and gave presentations to explain DITA's
major concepts. Listed, clarified, and identified heuristics for the
20-some design decisions that face any DITA project. (blog post pending)
Wrote a paper on one of them, published at CIDM. (See publications.)
Eric's progress with
the DITA pilot is directly attributable to his tenaciousness and his technical
acumen.
- Investigated
collaboration vehicles for online editing. (Wikis, DITA editors,
publishing systems: Drupal, Daisy)
- Identified DITA as a
single-source solution for multi-version man pages and installation pages.
- Constructed a build process for
man-page production. (Rake)
- Wrote the html2man
utility to automate the construction of man pages from HTML file sources,
preventing errors and increasing departmental efficiency. (Ruby)
- Set up a Subversion workspace
for departmental collaboration. Configured Apache for WebDAV access.
(Subversion, Apache, WebDAV)
- Evaluated DITA-based
document-collaboration strategies. Wrote a paper on potential future uses
that would take advantage of DITA's extensibility: Enabling
Collaborative Design-and-Decision Discussions, Online
- Wrote the program that
management used to reduce 8,000 broken links in 13,500 files, down to
under 500. Set up a monthly cron job to run it. (Java, cron)
Other
- Acted as a technical resource
for the team of 12 writers, documenting procedures, establishing
infrastructure.
- Reorganized directory
hierarchies and proposed workspace strategies to allow for more extensive
use of link-managing tools like DreamWeaver.
- Managed production processes for
13,500 documents taken from multiple workspaces, and pushed to several
locations.
- To support the Java Community
Process (JCP), wrote a series of scripts that used an HTML differencing
tool to produce reviewable HTML "diff" pages. Ran it as needed
for new releases. (TopBlend, CSH)
Independent (2003-2005)
- Guide
to Generics
for version 1.5 of Sun's Java platform
- Java
Web Start Guide
for Sun. (116 pgs, 42 screen shots, 1 diagram).
- Java
1.3 to 1.5 Migration Guide for Sun.
- Unpublished manuscript: The Politics of Health:
A general-systems examination of interlocking forces in our society.
- Established CitizensAdvisory.org
to begin taking the money out of elections.
Sun Microsystems (1996-2004)
Acting as a consultant, wrote tutorials and API
documentation, managed production processes, and built quality- improvement
software. (Java, CodeGuide, Unit Testing)
- Development
- CommentMerge: Merge comments from a
compilable spec hierarchy into source files.
- StubMaker: Extract comment-complete,
compilable stubs from source files. Used by the Security team.
- LinkCheck: Look for broken links and
missing anchors, treating discrete sets of files as though co-located.
- LinkFix: Changing HTML links en masse,
using pattern-based substitutions.
- DocCheck: Lint utility for API comments.
(DocCheck release)
- Glossary
Servlet: Displaying
and edit a localization glossary in any two of 9 different languages.
- Utility
library: Application
templates, fast I/O, regular-expression library for files. (Regex-for-Files
Library)
- Technical
Writing
- Reorganized and updated troubleshooting
guides for application server product.
- Revised and improved the Swing
API descriptions.
- Other Activities
- Participated in Douglas
Engelbart's Bootstrap Colloquium at Stanford (http://www.boostrap.org). Gave two
talks.
- Covered JavaOne conferences and
wrote freelance articles for JavaWorld.
Independent (1996)
- JBuilder
2 Bible. A
tutorial published by IDG Press, targeted at beginning Java programmers,
using the Borland JBuilder IDE. Includes an AI application (Othello) and a
tree-structured personal project planner to predict completion dates.
- Software Development: Helped to construct a
.NET-based demo and create a Protege ontology for a pre-funding startup.
Explored the idea of ontology-based program generation.
Additional
Professional Experience
- Oracle: Technical Writing. Wrote
conversion tools & a proofreading tool (MS Word).
- Reengineered a voice mail
system. (PL/I)
- Founded a startup focused on
building productivity software. Initial product was an outliner. Focused
on product definition, marketing, and business development, while my
partners focused on technology development.
- As a member of a “Major
Opportunities” Team, played a significant role in landing contracts of
$2m, $3m, and $6m for a large hardware vendor. Wrote demos, gave
presentations, ran benchmarks, set up hardware, and provided general
technical support for multi-million dollar opportunities.
- Created "vaporware"
demos for a Colorized office automation system, simple voice messaging
system.
- Wrote a multi-tasking emulation
library and a code-profiling tool. Two reported bugs in two years.
(SP/Pascal)
Professional Memberships
- Silicon Valley DITA Interest
Group (SVDIG)
- SDForum Ruby Interest Group
|
- JRuby developers list,
NetBeans users list
- Kenai (project hosting) users
and issues lists.
|
Education
Recent coursework and conferences:
- DITA-OT Training, 2008
- JoAnn Hackos' DITA Bootcamp,
2007
- Solaris System Administration
I & II, 2006
|
- SDForum Ruby Conferences,
Santa Clara, 2006, 2007
- Knowledge Technologies
Conference, 2004
- Numerous JavaOne conferences
since their inception (press)
|
Formal education:
- Post graduate work in pursuit of
masters degree: Ohio State University: Computer Science
- BA, Ohio State University:
Philosophy, Political Science, Psychology, General Systems Theory,
Mathematics. (Abstract Algebra, Topology, & Mathematical Logic).
Personal
- Development: AI Game Playing program
(Othello). Original heuristics. Tie for 5th in international competition,
program to teach people to play music by ear.
- Athletics: Played volleyball at highest
amateur levels short of the Olympics. Gold and silver medals in Bay State
games as player/coach. Black belt in martial arts.
- Writing: Articles on nutrition and
fitness at TreeLight.
Political-reform posts at Citizens'
Advisory.
- Other
Interests:
Taiji, golf, cycling, Irish music, singing, sudoku, crosswords, chess.q
References