Richard C. H. Munroe

(617) 901-9052
FAX:(617) 489-0328
munroe@csworks.com

Languages: Basic; IBM Basic Assembler Language; Bliss; Cascading Style Sheets; C; C++; COBOL; DCL; Flash; Fortran (all dialects); HTML; Hypertalk; JavaScript; LISP; Digital Macro Assembler Language (all processors); Motorola Assembler Language (68K); Mason; Modula-][; MUMPS; Object Pascal; OPS5; Pascal; Perl; PHP; PL/1; Prolog; Python; Scan; various Un*x shell scripting languages; SPL; SQL; Trellis/Owl; Visual Basic 6.0; XML; XSLT;

Operating Systems: A/UX; CP/M, CP/M-8000; Data General AOS; Linux; Macintosh; MEI; Mumps; OpenVMS; OS-9; All PDP-11 Operating Systems; All PDP-15 Operating Systems; PRIMOS; RTK; TOPS-10, TOPS-20; VAXELN; Wang VS; Windows/NT; Windows/XP, ZMS;

Networks: AppleTalk; DECnet; OSI; TCP/IP; X.25;

Protocols: DECnet; Ethernet; MSCP; NBS Electronic Messaging; Serial Line protocols (miscellaneous); SCSI; TCP/IP (various at all levels of the stack);

Processors: Alpha (uniprocessors, SMP, and Clusters); Data General MV/4xxx series; IBM 360/370; Intel 808x family; Intel 80x86 family; Motorola 68K family; DEC 12 bit processors; DEC 16 bit processors; DEC 18 bit processors; DEC 36 bit processors; Prime processors; SEL840A; VAX (uniprocessors, SMP, and Clusters); Z8000;

Data Bases: 4th Dimension; Cache; Datatrieve; DBMS 11 and 32; FileMaker Pro; Hypercard; MySQL; PostgreSQL; Oracle Rdb; SQL;

Special Hardware: CDROM Changers; Component Insertion robots; Magneto/Optical Disk Jukeboxes; Optical Disk Storage; Tape Data Libraries; Weather radar; Wire Bonder robots;

Web Servers: Apache (1.xx); OSU; Purveyor; WASD;

Miscellaneous: COM; Compound Document Architecture; DecWindows; GKS; Linux Device Drivers and internals; Microsoft Developer Studio; Motif; OpenVMS Device Drivers and internals; TPU; Windows/NT Device Drivers and internals;

Products: Access Pattern Counter - Count page accesses and show the count in HTML; Branches (tm); HSManager (tm); cellophane - Wrapper to minipulate the values of site cookies. ; cURL - cURL class wrapper; DB - MySQL database abstraction layer (contributor); dm.Complex - perform complex arithemetic; dm.IS_Layout - Simple HTML template processor; Easy Email SMTP - Compose and send e-mail message via SMTP ; ESPlanner - Financial Planning Software, user interface and website design (Contributor) ; Florida Democratic Party website, User Interface, 2nd and 3rd tier architecture, design and implementation (Contributor); IDE.PHP (Contributor); Linux Kernel Installation Facility; Mason Content Manager (Contributor); MODISK (tm); Modularian; NO-IP Client for OpenVMS; Numerical - Statistical and Numerical analysis routines.; www.pageweavers.com - Web server infrastructure design and implementation, Image processing utilities; Numerical - Statistical and Numerical analysis routines.; Paypal Instant Payment Notifications - process payment with Paypal IPN ; Paypal Payment Data Transfers - process payment with Paypal PDT ; SQLData - Generic MySQL data container class ; Stanza Files; Structured Data Dumper - dump PHP variable values in human readable form.; Sudoku - generate and solve Sudoku; Structured Digital Command Language; Squash (tm); Tidy - Fortran Source Reformatter (Contributor); VirtualBranches (tm); WASD Web Server (Contributor); YahMail (Contributor); YAMC - Yet Another Mailto Cryptor; Your Daily Sudoku - a Sudoku generation web site; ZMENU;

Publications:

Awards:

Cottage Software Works, Inc., Belmont, MA February 2000 to Present

February 2000 to August 2000

Shut down Acorn Software, Inc. Responsible for negotiation with creditors, sale of assets, disposal of intellectual property, and all other aspects of dissolving a corporation.

September 2000 to October 2000

Web site design and implementation for Ashley Development, LLC. Fully responsible for all site design, Java code, CGI, data collection, email integration, etc.

October 2000 to May 2001

Design and implement a network attatched storage product for Compaq. Involved OpenVMS device driver modifications, application and API design and implementation. All new code was C++, all driver code was Macro 32..

January 2001 to June 2001

Porting RealServer for use in a new internet video streaming product being produced by Vividon. The work involved rapid understanding of a large body of code (250K lines), building and use of cross compilation tools (not as easy as you might think), dealing with GCC compiler bugs, debugging the EXO Kernel (the Vividon proprietary OS), etc. All code was in C++ and C.

October 2002 to November 2002

Port the Mason Content Manager to the latest working version of Mason (1.15). This provides an integrated development environment for web applications and sites using Mason in the Apache/mod_perl environment. The project was done to allow the development of a Linux iptables based firewall using a web browser as a user interface.

November 2002 to January 2003

Place all Acorn Software, Inc. tools and products in the public domain under the Open Software Initiative license.

February 2003 to March 2003

Install WASD Web Server. Port existing applications from OSU Web Server to WASD. Provide secure ecommerce service using WASD. This project required a deep understanding of three different web server environments (WASD, OSU and Purveyor), development of a server neutral CGI framework to allow development and rollout of new functionality under any of the three web servers deployed at the client site, and development of additional tools to provide necessary interfaces between DCL, CGI and HTTP. All code was placed in the public domain and has been adopted by the WASD development group.

February 2003 to present

Ongoing contributor to WASD Web Server development group.

February 2003 to present

Ongoing contributor to IDE.PHP, a public domain PHP (and other web technologies) Integrated Development Environment used extensively for small PHP development projects within Cottage Software Works and it's clients.

April 2003

Write article for the OpenVMS Technical Journal detailing strategies for writing server-agnostic CGIs in Perl and DCL.

April 2003 to present

Redesign and rewrite VMS::Librarian extension module for Perl. VMS::Librarian is used for all sorts of system management functions and custom library development on OpenVMS.

May 2003

Design and implementation of simple image management utilities for a web application.

May 2003 to present

Ongoing contributions to the Linux Cross Reference (LXR) project.

September 2004 to present

Design and implementation of a variety of support and management websites for the Florida Democratic Party. Functionality included, volunteer coordination, donation collection (E-Commerce), campaign registration and management, lawyer drives, public event calendars, voter transportation coordination, etc. Fully responsible for all database design, user interface design, and implementation. In addition I assisted with network management, server and workstation construction (Windows 2000, FreeBSD, RedHat), and a wide variety of systems adminstration responsibilities.

During the course of this project, I developed a number of original PHP classes allowing working PHP, Javascript, and HTML code to be generated mechanically from MySQL table descriptions. These have been published under the GNU Public License and are available for download (see YAMC, SQLData, and DB, above for details).

I have continued my involvement with the Florida Democratic Party, providing a variety of pro bono consulting services, mostly in the e-commerce area.

November 2004 to present

Tutored high school students in basic and AP physics.

January 2005 to present

Working with the Chairman of the Department of Economics of Boston University to debug and improve a personal financial planner product called ESPlanner. Responsibilities included introduction of sound software engineering practices (source control, design review, peer review), development, and working closely with the rest of the team during the development and debugging process. I worked on the user interface for ESPlanner which required learning Visual Basic 6.0 and COM to interface between ESPlanner, Microsoft Word, and Microsoft Excell. I redesigned the web site (www.esplanner.com) which required an in-depth knowledge of cascading style sheets, tools for managing a distributed authoring environment, editing the technical ecnomic content of the site, etc. As part of this project, I significantly enhanced Tidy, a public domain Fortran Source Reformatter, that allowed us to easily maintain a consistent "look and feel" for the ESPlanner project. I developed a set of statistical and numerical algorithms in PHP for use in economic simulations.

Redesigned the www.esplanner.com website from the ground up. Introduced user registration, automatic Paypal payment processing, and a wide variety of maintanence features to make support of the user base substantially easier.

May 2005

Developed image processing code for www.pageweavers.com a web site design and hosting company.

July 2005

Worked as a dive master for End of the World Resort on the island of Guanaja in the Bay of Honduras.

November 2005

Developed and deployed a web site for producing Sudoku. The code was put in the public domain and a simple web site using it deployed. Hundreds of people have gotten Sudoku from this site.

July 2006 to Present

Moderator of the Southwest Windpower Users Group.

Guanaja Gougers

October 2003 to Present

Starting and developing a woodturning business specializing in fine woods made into practical objects. This ongoing activity includes product design, production, and marketing. I'm working with shops in in New England and Honduras and providing business development consulting services to a grower of exotic woods in Honduras. I hope to be responsible for founding a fine woodturning tradition in Honduras.

December 2004 to Present

Provided mentoring services for beginning woodturners. Taught the basics of safety, tool use, design, wood harvesting, and a variety of other things important (and sometime not so important) to woodturners.

InterSystems, Inc. Cambridge, Ma. May 2001 to September 2001

Software Architect

Responsible for storage related system design and implementation in a post-relational database architecture.

Acorn Software, Inc., Hudson, MA May 1991 to February 2000

May 1991 to February 2000

Chief Architect. Branches, OpenVMS. Designed and implemented Branches™, tape data library automation middle-ware. Required detailed knowledge of VMS/VAX and VMS/AXP internals, OpenVMS internals (when the development paths converged), VMSClusters, object oriented design, C++, SCSI (in general) and all tape data library vendor SCSI specifications (in specific), all 3rd party archiving and HSM packages, TCP/IP client/server design and implementation. Additional responsibilities were integration between Branches and 3rd party packages, establishment of ISV and other relationships between Acorn and the various tape data library manufacturers and vendors, establishment of ISV and other relationships between Acorn and the various 3rd party package manufacturers and vendors, and production of all design and product documentation.

January 1992 to February 2000

Chief Architect. VirtualBranches, OpenVMS. Designed and implemented VirtualBranches™, Magneto-Optical and CDROM data library automation. Required detailed knowledge of VMS/VAX and VMS/AXP internals, OpenVMS internals (when the development paths converged), VMS device drivers, VMSClusters, object oriented design, C++, C, Macro-32, SCSI (in general) and all Magneto-Optical and CDROM data library vendor SCSI specifications (in specific). Additional responsibilities were establishment of ISV and other relationships between Acorn and the various Magneto-Optical and CDROM data library manufacturers and vendors, production of all design and product documentation, and management of the implementation and support team.

January 1992 to January 1996

Chief Architect. MODisk, OpenVMS. Designed and implemented MODisk™, Magneto-Optical Class Device Driver. Required detailed knowledge of VMS/VAX and VMS/AXP internals, OpenVMS internals (when the development paths converged), VMS device drivers Macro-32, SCSI (in general) and all Magneto-Optical drive vendor SCSI specifications (in specific). Additional responsibilities were establishment of ISV and other relationships between Acorn and the various Magneto-Optical and CDROM drive manufacturers and vendors and production of all design and product documentation.

January 1994 to February 2000.

Webmaster. This required knowledge of Perl, Python, Java, HTML, a variety of web development tools and web servers, etc.

January 1993 to January 1998

Chief Architect. Squash, OpenVMS. Designed and implemented Squash™, Real-Time Compressing Disk Device Driver. Required detailed knowledge of VMS/VAX and VMS/AXP internals, OpenVMS internals (when the development paths converged), VMS device drivers Macro-32, Compression technology (Limpel-Zev, Huffman, etc.). Additional responsibilities were production of all design and product documentation.

January 1993 to February 2000.

Chief Architect. HSManager, OpenVMS. Designed and implemented HSManager™, Hierarchical Storage Management for OpenVMS. Required detailed knowledge of VMS/VAX and VMS/AXP internals, OpenVMS internals (when the development paths converged), VMS device drivers, OpenVMS security internals, Fortran, C, Macro-32. Additional responsibilities were production of all design and product documentation.

January 1996 to February 2000

Chief Architect. VirtualBranches, Windows/NT. Designed and implemented portions of VirtualBranches™, Magneto-Optical and CDROM data library automation. Required detailed knowledge of Windows/NT kernel internals, Windows/NT device drivers, Windows/NT File system, object oriented design, C++, C, Assembly Language, SMB, SCSI (in general) and all Magneto-Optical and CDROM data library vendor SCSI specifications (in specific). Additional responsibilities were management of the development team.

January 1997 to February 2000

Chief Architect. VirtualBranches, Linux. Designed and implemented portions of VirtualBranches™, Magneto-Optical and CDROM data library automation. Required detailed knowledge of Linux kernel internals, Linux device drivers, Linux File system, object oriented design, C++, C, Assembly Language, SCSI (in general) and all Magneto-Optical and CDROM data library vendor SCSI specifications (in specific). Additional responsibilities were management of the development team.

June 1999 to February 2000

Chief Architect. ACSLS, OpenVMS. Responsible for port of StorageTEK ACSLS and integration of ACSLS with Branches. Required detailed knowledge of TCP/IP client/server design and implementation, object oriented design, C++, C, StorageTEK Library products (Silo and SCSI), Branches internals.

Doyle Munroe Consultants, Inc., Hudson, MA June 1984 to 1991

Consulting projects: Design and develop Branches™; Migration of MasterServe™ to Unix; Develop a client/server architecture for MasterServe™; Develop a platform independent Remote Procedure Call (RPC) for Macintosh (Mac OS and A/UX), Unix, and VAX/VMS; Performance analysis for VAX XMI/DSSI; Design and implementation of performance testing tools and methodologies, including specialized VAX/VMS device drivers; Architecture, design, and implementation of MasterServe™, an optical disk library for archival storage; General distributed system consulting in the electronic publishing industry; Design and implementation of source control and software distribution tools; Architecture, design, and implementation of pick & place assembly system; Architecture, design, and implementation of WORM based archival storage system; Macintosh front end for Datavert™; Product evaluation for FA-2000; Personnel evaluation and training for FA-2000 development team; Network management and software engineering standards for office automation corporation; productivity tools for medium range engineering firm; data center facility planning and management; arbitration in computer related negotiations; VAX performance analysis; architecture, design, and implementation of memory management for process control system; graphics instruction set design and implementation; re-design and error analysis of corporate network; architecture and implementation in multi-corporation world-wide electronic messaging system; development for driver and control program for UNIX/MS-DOS co-processor system; development of integration and migration tools for multiple vendor CAD/CAE system; development of CAE/CAD data base management and tools; design and implementation of real time kernel for MC68000-based system; development of image processing algorithms; development of tools, support, and training package for naive development group.

November 1985 to May 1986

Ski bum at Killington, Vt.  Taught skiing to all levels and abilities.

1991

Develop a client/server architecture for MasterServe™ This particular project was the one that finally led me to start Acorn Software. I did a simple robotic control system for managing a Kodak optical library (the K560). This product was sold under the trade name of MasterServe to New England Telephone who need to build a disaster recovery system for their network of systems running VMS. I did the design and development of the disaster recovery plan, including working out how to backup databases (Oracle, RDB) running 24x7 and multiple machines over the network using standard VMS tools, and testing the same. The system was actually tested in production and the VMS systems were alive and operational within 6 hours, as per specification. Many unix based disaster recovery systems had not become operational again after several weeks despite having specified 6 to 24 hour recovery. The principles of robotic control and automated backup using standard tools became Branches, the flagship product of Acorn Software.

PR1ME Computer, Inc., Framingham, MA September 1980 to June 1984

Principal Engineer, Shared Resource Operating System Group, April 1983 to June 1984.

Responsible for project leadership of Terminal Services Architecture products: Intel 80186/286 based terminal services controller; PR1ME based terminal services; Development of functional, design, and product documentation; Coordination of international terminal support definition and development efforts; Design and implement in-house electronic mail system prototype.

Principal Engineer, Distributed System Architecture Group, February 1982 to April 1983.

Define User Interface Architecture; Overall SROS architecture; Lead Object Management Architecture endeavor.

Principal Engineer, Software Communications Grou, (September 1980 to February 1982.

Technical staff to communications group manager; Lead team to define and publish Terminal Services Development Group charter including architectural concepts; Review advanced development specifications for technical feasibility; Define workstation engineering strategy.

Digital Equipment Corporation, Maynard, MA July 1974 to September 1980

Principal Software Engineer, Manufacturing and Distributed Control Product Group, February 1979 to September 1980.

Coordinate, evaluate, and work with terminal architecture group to develop new terminal architecture; Initiate system design requirements, including communications protocol for intelligent terminal and controller in distributed environment; Design distributed Forms Management System prototype.

Senior Software Engineer, I/O Subsystems Group, October 1977 to February 1979.

Design, implement, and debug prototype Hierarchical Storage Controller (HSC50) hardware and operating system; Design disk-to-controller communications and control protocols; Consultant to CI Architecture (VAXcluster) Group; Implement VAX FORTRAN-IV-PLUS user interface.

Senior Software Engineer, RSTS/E Development Group, January 1976 to October 1977.

Represent RSTS/E in DECnet Data Access Protocol design; Design and implement Network File Transfer utility and File Access Listener.

Senior Software Engineer, Commercial Engineering Advanced Development Group, August 1976 to December 1976.

Implement file system; Survey programming languages; Specify initial system requirements for DECaid's intelligent terminal.

Senior Software Engineer, PDP-15 Product Line, July 1974 to August 1976.

Maintain Advanced Software System and Background/Foreground operating systems; Enhance editor and magnetic tape subsystems; Design and implement MACRO-15, Dynamic Debugging Tool, Task Builder, Editor, and I/O drivers for XVM/DOS; Design and implement TENLINK communications package; Lead XVM/RSX project; Design MULTIACCESS for XVM/RSX.

University of Missouri, Columbia, MO July 1968 to June 1974

System Programmer/Analyst, Missouri Automated Radiology System Project, 1972 to June 1974.

System programmer and system manager in MUMPS-15 beta test site; Design databases, query language, retrieval, and documentation packages for MARS databases; Develop methods for porting graphics applications, image enhancement techniques, computer-aided instruction system.