Richard Morin

rdm@cfcl.com P.O. Box 1269, San Bruno, CA 94066
www.cfcl.com/rdm linkedin.com/in/richmorin
 

My work history and independent activities reflect a common interest: the use of computers as a tool for organizing and presenting information. From my early work as a scientific programmer, through my use of computers to mechanize document production, to my current interest in Model-based Documentation, this theme keeps appearing.

I prefer problems that require all of my skills: analysis, design, documentation, programming, writing, and editing. I am particularly interested in the intersection of programming and technical writing, as found in document generation systems, software-backed web sites, etc.

Professional Interests:

  • Data flow analysis and data structure design
  • Design and implementation of maintainable and robust systems
  • Information management and presentation
  • Knowledge engineering (e.g., metadata-driven and rule-based systems)
  • Software quality and documentation
  • User experience and ease of use

Skills & Qualifications:

Software Development — Skilled at systems analysis, design, documentation, implementation, and troubleshooting. Expert in the selection and creation of data filters and data analysis techniques. Substantial experience in software prototyping, development, testing, debugging, and maintenance.

Extensive record of creating maintainable, robust, and well-documented systems. Very experienced at creating structured procedural programs, using (as needed) complex data structures and object-oriented programming techniques.

Committed to producing quality products, using clean and consistent programming practices: attention to detail, automation, bulletproofing, and user experience evaluation; thorough and careful work, from analysis to documentation.

Languages and Tools — Comfortable with a large variety of document markup and data representation formats, including dot, HTML, LaTeX, PDF, POD, PostScript, Troff (including preprocessors), Unicode, YAML, and XML.

Expert user of Perl and Ruby. Comfortable with other interpreted programming languages (e.g., awk, bash, PHP, and Python), as well as compiled languages such as C/C++/... and Fortran. Familiar with many programming languages, including Assembler, Icon, Lisp, PostScript, and SQL.

Very experienced with Unix and similar systems (e.g., BSD, Linux), including system and network administration. Experienced at using and administering Mac OS X, including many Macintosh tools and applications.

Experienced in the discovery, installation, and use of add-on (e.g., software development and documemntation) tools. Very knowledgeable about Open Source licensing issues, community practices, and resources. Experienced in web site design, implementation, and maintenance using Apache, CGI scripts, DHTML, HTML, PHP, Rails, and XML.

Written and Verbal Communication Skills — Skilled at technical writing, editing, and proofreading. Experienced in producing clear and complete documentation and reports, using both interactive and batch-mode processes and tools.

Able to provide coherent verbal explanations and presentations. Comfortable with a variety of document preparation tools (e.g., Acrobat, BBEdit, Frame, Keynote, LaTeX, MS Word, OmniGraffle, Pages, TextMate, Troff, and vi).

Research Projects:

Most of my research projects are related to Model-based Documentation, my approach to organizing documentation so that it matches the structure of the system being documented.

I maintain an open collection of "project notebooks" in the Projects web of CFCL's TWiki. My most active sub-project is a second-generation version of Arti, my mechanized documentation system for Rails.

Publications

Author of several books and numerous articles and columns in trade journals. See Publications Detail.

Activities and Organizations:

Work History

Selected examples of companies and projects over time.

2006 - present

2000 - 2005

1990 - 2000

prior to 1990

Education:

    B.A. Economics, San Francisco State University