Summary |
Skills |
Open Source Projects |
Job History |
Education |
Recognitions
Creative and versatile individual with recognized experience in
SGML/XML, Web and Internet technologies. Experienced in distributed
application design and development in Java, Perl, and C; Unix system
administration; and GUI development. Maintain a variety of
free software applications used by hundreds of users throughout the
world. Proven ability to learn quickly and become an expert in a
variety of technologies. Skilled at producing quality work with limited
resources.
- Programming/Computer Languages:
-
Bourne shell script,
C (ANSI, K&R),
C++,
CSS,
Java,
JavaScript,
MS-DOS/Windows batch script,
Perl (4 & 5),
some Python,
some SQL,
UML,
some VBScript,
XPath,
XSLT
- Computer Protocols:
- DHCP, DNS, FTP, HTTP,
LDAP,
MIME,
POP3, SMTP
- Document Languages:
- XML,
HTML,
SGML,
Frame Maker Interchange Format (MIF),
S1000D,
some nroff/troff
- Programming Libraries:
-
Dojo,
DOM,
Java Servlet API,
JavaBeans,
Javamail,
JAXP,
JDK 1.2 and later,
JFC/Swing,
JSP,
Log4j,
Microline Widget Library,
Motif 1.2.x,
SAX,
OpenSSL,
X Lib,
Xt Intrinsics
- Operating Systems:
- HP-UX,
Linux,
Solaris, Windows.
- Software:
-
Ant,
Apache HTTP Server,
CVS,
Doxygen,
DynaText,
IzPack,
FrameMaker,
IIS,
Linux iptables,
Lucene,
(GNU) make,
Saxon,
sendmail,
subversion,
Tomcat,
XDesigner,
XEP,
Xerces-J,
Creation and contribution of open source software since 1993,
including:
- DTDParse*
- Provided updates and fixes to Perl-based SGML/XML DTD parsing tool
originally developed by Norman Walsh.
- man2html*
- Creator of Perl-based program for web-based searching and
viewing of Unix/Linux manpages.
- MHonArc*
- Creator and maintainer of one of the top free web-based
email archivers, recognized in several publications and used
by numerous web sites.
- nmh
- Contributed patches
to the nmh mail handling system.
- perlSGML*
- Creator of a collection of Perl-based tools for parsing
and analyzing SGML DTDs.
- Proc::Daemon*
- Creator of Perl module to allow a Perl program to run as
a Unix/Linux daemon process.
- Text::Bind*
- Creator of Perl module for binding Perl structures to a text file,
with its primary use for supporting HTML templates for CGI-based programs.
- XML Commons Resolver
- Provided patches to support Windows drive-letters in
pathnames, recognition of xml.catalog.verbosity if
CatalogManager.properties is not used, and proper setting
of systemID of InputSource during SAX parsing of XML
catalog files.
* Software available at
<http://www.mhonarc.org/release/>.
Independent Software Consultant
Ongoing
Various consulting services, including product development,
web application development, technical and electronic publication,
content management, and open source software.
Clients
PBM Associates, Inc:
3/2008 - current
- Co-architect of an S1000D
Interactive Electronic Technical Publication (IETP) viewer for
NAVAIR, based on web and
open source technologies:
- Designer and implementor of the IETP
compilation process utilizing
Ant,
Saxon, and
Lucene (for full-text
searching).
- Designer and implementor of IETP-based web services
using Java servlet technology
under Apache Tomcat.
- Designer an implementator of S1000D Issue 3.0 applicability,
including submitting technical feedback to S1000D working groups
for improving the S1000D applicability model.
- User interface development using
JavaScript
and Dojo.
- Designer and implementor of automated software installation using
IzPack.
- Source tree, application build, and distribution packaging
management.
- Architect and implementor of a Java-based
S1000D BREX (Business Rules Exchange)
data module (DM) validator using
Saxon (XPath 2.0)
and Xerces.
Features include:
- S1000D Issues 2.2 through 4.1 (draft) BREX support.
- Layered BREX support.
- GUI inteface.
- Command-line interface (for batch validation).
- Java API.
- XML and HTML report formats.
Really Strategies, Inc:
7/2009 - 2/2012
RSuite
custom solutions development: Workflows, action handlers, web services,
and UI customizations.
Hewlett-Packard:
1/2006 - 9/2008
Provide strategic recommendations in improving and managing XML-based
authoring and publishing environment
·
Enhance and maintain Docbook-based XSLT transforms for PDF and HTML
publications
·
Re-designed and re-implemented conversion process from older
FrameMaker+SGML-based documents to Docbook-based XML documents, improving
the conversion process time by over 4,000 percent.
Hewlett-Packard:
1/2003 - 4/2003
Produced a 150+ page developer's guide documenting HP's custom Adobe
FrameMaker+SGML 6.0 authoring environment: EDD analysis, localization
procedures, custom third-party plugins analysis, including compilation
and installation · Provided strategy recommendations
for upgrading to FrameMaker 7.0 and the transition from SGML- to
XML-based authoring · Provided advise on graphics authoring and
conversion.
Senior Architect
Goodmail
Systems, Inc:
11/2003 - 8/2004
- Architect of key components of
Goodmail Systems'
secure stamping system for email:
- Format of stamps within email.
- Stamping process.
- Stamp validation process.
- Overall security model.
- Bootstrapped the company's initial development system
- Developed initial set of cryptographic- and stamp-related
libraries utilizing OpenSSL.
Software Engineer
Language Computer
Corporation:
1/2002 - 2/2002
Provided guidance and effort in the porting of
research, academic-oriented work into commercial, production quality
work · Designed and developed C++ API for a Question &
Answering product that uses natural language processing · Developed
and maintain C/C++ utility library for use within LCC products ·
Established source code management respository using CVS
and a collection of Perl scripts I developed to automate source code
management tasks · Developed (GNU) makefiles for managing the
compilation of projects for multiple programming languages:
C/C++, Java, Perl.
Web Applications Architect
Texas Instruments:
11/2000 - 12/2001
- Co-architect of a collaborative wireless classroom learning system
utilizing
Java,
Perl,
Apache,
Tomcat, and
XML,
under Solaris, Linux, and Win32.
- Design, develop, and maintain core
Java application
library, which includes:
- Proprietary message system supporting asynchronous and sychronous
message delivery that can adapt to multiple application network
protocols (e.g. HTTP). Messaging based on a point-to-point
queuing model with message delivery relay support.
- Servlet-based framework for web application development.
- General utilities like caches, application property resource
management, thread pooling, and jar file merging.
Created non-synchronized versions of some JDK classes for improved
runtime performance.
- Software project administration:
- CVS repository management.
- Cross-language software build management using GNU make.
- Automated nightly build and release processes developed
in Perl.
- Tools to auto-generate template source code from technical
specifications.
- Miscellaneous tasks: technical consultation to colleagues,
system administration, QA rollover procedures.
Senior Software Engineer
Excite@Home: 02/1999 - 11/2000
- Web application development for Excite@Home
broadband content service:
- Designer and developer of a server-side application framework in
Java:
- Page layout management.
- Reusable page components.
- Encapsulation and management of various server-side data repositories.
- Debugging modes.
- Utility classes.
- Development and maintenance of core server application library
built on top of the Java Servlet API:
- HTML component library to help support a consistent look across
applications and web browsers by hiding the rendering differences of
browsers and to promote better reusability of visual components:
- Font and color settings.
- Font and color inheritence.
- Markup minimization to reduce page size.
- Automatic generation of CSS styles and/or FONT elements.
- Java-based web server (based on Tomcat 2.1).
- Co-branding support.
- Custom page dispatching.
- Logging.
- Developed various modules for the broadband news application, including:
news photo viewer, full news story display,
online games listing, top movie/music/tv listings, and lottery.
- Developed a multi-windowed web-based editor for the creation and
editing of cover pages for @Home's news and sport channels:
- Client-side interface implemented in JavaScript and HTML.
- Service-side implemented in Perl, invoked via standard CGI or
Apache::Registry module running under
Apache's
mod_perl.
Instructor
Computer College Silicon Valley: 01/2000 - 04/2000
Taught evening courses related to Internet and WWW technologies.
Software Engineer
Lucent Technologies/Quadritek:
12/1997 - 01/1999
- X/Motif development for
Quadritek's main product QIP, an
IP management software product for large corporate TCP/IP networks:
- Design and implement hierarchical and table views
with the help of Microline's widget library.
- Create custom event handlers and action routines to extend
widget behavior.
- Design and implement HTML-based help system.
- Icon/image management.
- Application X resource management.
- Reusable widget component development to reduce redundant code.
- Troubleshoot X/Motif technical problems.
- Designed and implemented QIPxpress: a
web/Perl application for managing and configuring
Quadritek/Lucent's
DHCP and DDNS/DNS servers with optional LDAP support.
Application designed to run under WinNT and Unix systems with a variety of
HTTP servers
(Apache,
Netscape, and IIS).
Senior Information Analyst
Reed Technology
and Information Services Inc.:
10/1996 - 12/1997
- Administrator and co-developer for large on-line community project:
- Project component development using C, C++ and
Perl
programming
languages; CGI; Netscape API (NSAPI);
Sybase Open Client;
NetGravity API; SybPerl.
- Developed source code and configuration management software
for the entire project using SCCS and Perl.
- Netscape Suitespot server administration.
- Sapphire/Web project administration.
- Software packaging, distribution, and installation.
- Designed and authored technical documentation.
- Unix (Solaris) administration.
- Sub-project integration.
- Technical consulting for colleagues.
- Developed a pipelined-based conversion process in
Perl for
migrating the Physicians' Desk
Reference SGML source from an in-house legacy main-frame
typesetting system to newer Xyvision XPP-based system.
- Document analysis and design ·
Document conversion and processing ·
Technical consulting on SGML, WWW, and other related
technologies ·
Perl course development and instruction ·
Sun Sparc Solaris 2.5 system administration, including:
third party software installation/compilation;
peripheral installation (memory, disk-drives, etc);
user account management;
and sendmail configuration
Applications Engineer
Isogen International Corp:
4/1996 - 10/1996
Technical SGML consulting on projects ·
Course development and training for SGML and SGML software ·
Software development using the following tools:
Perl, C and C++ programming languagues;
DynaText SIT; X/Motif; SCCS ·
Unix consulting for colleagues ·
Unix system administration on Solaris 2.4 and 2.5 systems,
including: NIS+ administration; sendmail configuration;
software compilation and installation; and X environment configuration.
Software Engineer
Hewlett-Packard/Convex:
8/1993 - 4/1996
- Co-designer and developer of an electronic SGML document viewer:
- Designed and implemented C++ wrapper library around
Xt Intrinsics and X/Motif libraries.
- Co-designed and implemented C++ wrapper library to
DynaText v2.x Full System Integrator's Toolkit (SIT)
from Inso Corporation for SGML document rendering and searching.
- Developed code to provide additional functionality not supported
by the SIT.
- SGML, WWW, and Unix consulting for colleagues ·
Research WWW technologies ·
Document filter development in Perl for FrameMaker, HTML, and SGML
documents ·
SGML DTD analysis using Perl ·
Graphics processing and format conversion ·
Web server administration ·
Unix administration on HP-UX 9.x workstations and C240 computer.
Visualization Assistant
Office of Academic Computing,
UC Irvine:
6/1991 - 6/1993
Assist campus research faculty to visualize scientific data with the
aid of the
Application
Visualization System (AVS) and other graphic related software ·
AVS module development, emphasizing
image/volume processing on DEC and Sun workstations and a C240
supercomputer ·
System administrative tasks on the C240: software
compilation and installation, and system accounting.
Software Engineer (intern)
Convex Computer Corp: 6/1992 - 8/1992
Interned with the visualization group responsible for the
port and development of the
Application
Visualization System (AVS) on Convex C-series computers ·
Image and volume processing module development ·
Exposed to the development cycle of a commercial software product.
Teaching Assistant
Dept of Information & Computer Science,
UC Irvine:
9/1991 - 12/1991, 9/1992 - 12/1992
Helped students with lab assignments for a computer graphics course ·
Assisted instructor in the grading of lab assignments.
- College:
- B.S. in
Information & Computer Science
from the
University of California in Irvine.
- Training:
-
C++ ·
Eliot Kimber's HyTime course ·
Introduction to Rational Rose/C++ Using UML ·
Java ·
Java Swing and XML Programming ·
Microsoft Access ·
NetGravity ·
Object-Oriented Analysis & Design with C++ ·
Omnimark Programming I & II ·
Practical Formatting Using DSSSL ·
Project Management ·
Sapphire/Web ·
TogetherSoft
Java Workshop ·
X/Motif
Work has been included or recognized in several publications
and web sites:
- BYTE Magazine
- HTML & CGI Unleashed,
Sams.net Publishing
- The HTML Sourcebook,
John Wiley & Sons Inc
- Managing Internet Information Services,
O'Reilly & Associates, Inc
- MH & xmh: Email for Users & Programmer,
O'Reilly & Associates, Inc
- PARSEME.1st,
Prentice-Hall, Inc
- Perl 5 for Dummies®,
IDG Books Worldwide, Inc
- Perl Conference 3.0 (Speaker), Open Source Conference
- The Perl Journal
- SGML CD,
Prentice-Hall, Inc
- SGML for Dummies®,
IDG Books Worldwide, Inc
- The SGML/XML Web Page
- Special Edition Using SGML,
Que Corporation
Summary |
Skills |
Open Source Projects |
Job History |
Education |
Recognitions
$Date: 2012/03/22 03:23:12 $