I was recently a Senior Member of the Technical Staff at R2K Inc. I have more than fifteen years of professional software development experience. Most recently, I've worked on security related problems for a large insurance company, the stabilization and improvement of a version of the Unisys Workflow and Imaging System, and on a web-application framework for the Linux/Apache and Win32 web server platforms.
In the past I have developed electronic workflow and document imaging systems with Eastman Software, where I worked on the RouteBuilder and WorkFolder products. I have also developed Windows GUI consumer applications, and software libraries for a C++ compiler.
I have experience as a developer and as a development manager.
The early part of 2003 was devoted to further bug fixing and performance improvement in the Unisys imaging and workflow system. Since the end of March, I have worked on a personal weblog project in the hope of improving my writing kills.
The early part of 2002 was devoted to refurbishing, updating, and performance improvements on a version of the Unisys Imaging and workflow system. In this, I was responsible for work on the Routing Engine. Three months of intensive work on this product enabled a large insurance company to substitute it directly for the workflow system they had previously had in use.
In the latter part of the year I was the principal designer, and took part in the implementation of a project to integrate the user management capabilities off the Unisys workflow and imaging system with the IBM ITIM system.
I developed a version of Retro based on the Microsoft ASAPI for Win32 web servers. This has not yet been published, but builds on the Linux version to expand the concept of application sets and their interrelationships and logic in an XML description.
During this year I worked on the development of an implementation of transitive trust between cooperating confidential web sites for a large insurance company. Insurance agents who had logged on to the web site of a trusted associate company, then clicked a link to the web site of the insurance company, were authenticated via a proprietary protocol, and then granted access to the insurance company web site.
This was mostly design work specifying the relationships, protocols, and changes required between a number of existing software systems. It also involved some software development of an example Win32 implementation of the upstream authentication agent, and of simple GUI software to collect authorized user information from trusted companies.
As a personal project, I worked on a web application framework for the Linux/Apache platform – Retro. This utilizes the FastCGI protocol to provide ASP-like facilities with server-side coding in C++, and application relationships and logic specified in an XML description. Details can be found at http:// 126.96.36.199/.
During 2000, I designed and implemented the first version of FormFiler, a patented, web-based application for processing electronic business forms that require a user's signature. The application captures input through DHTML forms using XML, and then generates a PDF document with a unique identifying bar code to the browser while sending the captured data from the web server into the business process. The user would then print from the browser, sign, and return the document. Upon receipt, the bar code is scanned to rendezvous the signed paper form with the web-captured data. The prototype implementation was written for Microsoft IIS using ASP, XML, PDF, and ATL technology. In addition, I directly implemented the bar code drawing library and integrated this into the web server application. The FormFiler demonstration system can be reviewed currently at http://www.comfidex.com.
In 1998 I was appointed Development Manager for the WorkFolder for Exchange product. WorkFolder for Exchange runs on the Microsoft Exchange/Outlook platform and is used to organize and track work. I managed a team of eight developers and four QA testers. Also while managing the team, I also developed some COM components to simplify scripting of applications using WFX.
During 1996-1998 I was an important contributor to the development of RouteBuilder - an NT application that provided a graphical interface for the development and implementation of large, complex electronic workflows. I began this work with RouteBuilder during the development of the alpha code and was instrumental in the successful release of the product.
I continued to work on the RouteBuilder product to improve existing features and add new ones. I made extensive improvements to the route testing facility.
During the same period I resolved numerous multi-threading and other problems in the routing engine, particularly associated with parallel workflow item deadlocks.
I designed modifications and led a team that implemented the extension of the number of workflow variables available to workflow designers. Later I also designed and implemented changes to the route designer to enable the use of nested sub-routes.
During this period I was an independent developer, designing and implementing a Windows desktop publishing application for the design and printing of labels, business cards, and so on. The application was well received in its niche market. The application, known as LazaLabl and available as freeware, was originally developed as a 16-bit application for Windows 3.1. It was then substantially rewritten as a Win32 product and is now a shareware application known as Publicity. Publicity is available at http://www.softcentre.com. It is a significant product in its limited genre, and has downloads from the major shareware sources and its parent site estimated at around 100,000.
While working for Symantec, I revised the entire Zortech C++ Tools component to use templates and upgraded Symantec's implementation of IOStreams to also use templates. I authored the book "C++ IOStreams Handbook" (ISBN 0-201-59641-5) For Addison-Wesley, which at the time was definitive in its field.
Zortech was a leading company in the early development of compilers and tools for C++ on the DOS/ Windows platforms. The Zortech compiler substantially pre-dated those from Borland & Microsoft. I wrote what was then only the second commercially distributed C++ programmers' library product, Zortech C++ Tools, sold as part of the compiler package. I also developed and produced a C++ training video and a C++ B-Tree indexed database programmers' library that were both marketed by Zortech.
In 1991, I developed the Zortech implementation of the C++ IOStreams library, and began writing a book on the subject.
During this period, I also worked on DOS and SCO Unix word processing software, and presented C++ training courses for QA Training, a leading UK software training company. In addition, I also provided UK technical support for the Zortech products.
I worked as an independent software developer & PC dealer. I sold small computer systems, mostly associated with a Swedish cross/assembler package for embedded microprocessors that worked on the PC platform. During this time, I developed expertise in the C programming language. I also did real-time embedded system software development in Z80 assembly.
I graduated from Oxford College of Technology with a bachelor's degree in Chemistry. Computer science is self-taught.