Summary: http://www.sophists.com/Pringles/Lewis/SummaryResume.html Details: http://www.sophists.com/Pringles/Lewis/DetailedResume.html

Lewis Gordon Pringle Jr.
Sudbury, MA 01776
(978) 443-4442
lewis@sophists.com

Objectives/Personality:

I am both an extremely able "hands-on" implementer, and a superlative software designer.

I take great pride in the quality of my work; but don't define that quality merely in terms of abstract, or aesthetic principles. I view my job as doing whatever it takes to bring commercial success to a software development project (within the role I am given). I am adept at understanding new domains, and inherited code.

I have a very broad view, and deep understanding of programming techniques and technologies. I invest significant effort in staying abreast of how these rapidly changing technologies evolve. And I'm very good at helping to make strategic decisions about what technologies are appropriate for a particular market / situation.


Education:

Harvard University, Cambridge, Massachusetts	(9/82 - 5/87)
Degree:	A.B. in Mathematics.

Courses included: Expert Systems (CS 281), Topics in Natural Language Processing (CS 287), Theory of Logic Programming (CS 270), Recursion Theory (Math 142), Mathematical Logic (Math 141), Compiler Design (CS 163), Data Structures and Algorithms (CS 124), Formal Theory of Computation (CS 121).


Experience:

Sophist Solutions, Inc., Sudbury, Massachusetts
Owner / part time
(02/90-present)
02/90-present Setup and maintain Windows NT Servers, and UNIX servers (currently Linux, formerly A/UX) for heterogeneous network. And maintain these web pages!
07/02-present Led 3.1. --Still in development.
09/99-06/02 Led 3.0. Included support for other class libraries (Gtk), better UNICODE support, and X-Windows/Linux/FreeBSD support, a Netscape plugin component, improved formatting support, hidden text, Windows Installer support, and much more. See Led History for more details.
08/99-09/99 New Sophist Solutions Web Site!
  • New site completely redesigned for ease of use, and updated HTML capabilities
  • Site now powered by Microsoft Internet Information Server 5.0 (IIS 5.0).
  • Now makes extensive use of server side scripting to present uniform look and feel throughout the site
  • New supports web commerce though asp pages, and Microsoft SQL Server 7.0 database.
  • Also supports membership and personalization services so registered users can access pre-release versions
08/97-09/99 Led 2.3. Press Release. Led 2.3 includes major class library design improvements (e.g. MarkerCovers, and user-definable, and sharable partition objects). Limited UNICODE support. WordProcessor support (per-paragraph alignment/justification/tab settings, etc). See Led History for more details.
1/97-7/97 Led 2.2. Press Release. Added support for additional character styles (subscripting, superscripting, colored text, etc). Also new "programming text editors" classes. Performance improvements, and other class library / documentation improvements. Added ActiveLedIt! ActiveX control support. Much more. See Led History for more details.
09/96-12/96 Led 2.1. Press Release. Added RTF/HTML file format support, URL-book-marking, and much more. See Led History for more details.
09/95-08/96 Led 2.0. Partly underwritten by a contract with Addison-Wesley Interactive I developed Led 2.0. (see Addison-Wesley work section). See Led History for more details.
09/94-04/95 Led 1.0. Partly underwritten by a contract with Language Engineering Corporation (see Language Engineering Corporation section), I designed and wrote cross-platform re-usable text editor component - Led - supporting quick editing of large amounts of text, style runs, hypertext, MS Windows, Mac, TCL, MFC, - all within an extensible framework to allow for easy customization of the editor display characteristics (source available). Led is internationalized, supports double-byte character sets (DBCS), and UNICODE. Wrote a prototype Web browser - WebLed - using Led and the CERN WWW Library of common code.
11/94-01/95 Ported dialog editor from Windows to Macintosh using Microsoft Visual C++ Cross-Development Edition for Macintosh.
02/90-12/92 Co-designed and developed portable object oriented class library in C++ (Stroika). Runs on UNIX(XWindows/Motif)/MacOS/DOS(only Foundation)/Windows NT. Class library includes container classes, OS facilities interface, graphics library, user interface library. The user interface library allows running any supported UI (Mac/MS Windows/Motif) on any support OS (except DOS). Also built a host of utility programs, including browsers, GUI builders, and other demo programs.
02/90-01/93 Ported GNU and other public domain tools to HP/UX, SunOS and A/UX (e.g. smail, gcc/g++, libg++, flex, bison, popper, rcs, emacs, make, trn, tcsh, cnews, httpd, wuftpd, X11R4, Motif 1.1.3).
Libery Mutual, Inc., Indianapolis, Indianna
Consultant.
(09/03-present)
09/03-present Use Java, XSL (principally the Xalan/Xerces implementation, but also to a lesser extent several others), XPath, and XML Schemas to map ACORD XML-based XML transactions to and from Liberty's back-end (internal) XML transaction format.

Worked directly with the analysts to help document and model the transaction mapping, and did all the XSL/XPath/Java implemenation of said mapping. Liberty Mutual provided the knowledge of their own back-end format (since documentation was unavailable), and I worked as the ACORD XML expert.

NB: worked through consulting company Symphion, Inc..
Oasis Semiconductor, Inc., Waltham, Massachusetts
Consultant.
(07/03-09/03)
07/03-09/03 Win32 printer device drivers and embedded firmware. Wrote Win32 Language Monitor in C++. Worked on printer firmware (Standard C), driver plug and play installation, TWAIN scanner drivers, fax drivers, WIA scanner drivers. Debugged USB driver issues, and helped get hardare and drivers to pass WHQL (Windows Hardware Quality Lab) tests. Investigated SNMP and Standard Port Monitor (TCP/IP) support for new networked printer product. Ported JBIG compression library to 16-bit compiler.
LogoMedia Corporation, Belmont, Massachusetts
Consultant.
(01/01-06/01)
01/01-06/01 Developer and technical architect for www.logomedia.net web site (all but the graphic design). Built an application server farm with SOAP-based (XML over HTTP) application servers running on Windows 2000, using custom C++ implementation. Load balancing from F5 Systems' BigIP box. This server farm provided the machine translation capability which was the focus of the web site.

Web site built using IIS 5.0/Windows 2000, JScript (server side) and JavaScript (client side scripting). Web site is localized into 7 different languages, and you can dynamically switch among them. Credit card processing using CyberCash's CashRegister.

Database back end implemented using MS SQL Server 2000. Wrote stored procedures to access database, and used COM/ADO from server side JScript to access database. Supported transactions with MSDTC (Microsoft Distributed Transaction Coordinator).

Built custom HTML-page processing application into the web site to allow for dynamically translated pages would have links that caused the things "linked to" to be automatically translated as well.

The web site is fully internationalized, supporting UNICODE throughout (even the database).

Language Engineering Corporation, Belmont, Massachusetts
Consultant.
(3/93-9/93,10/93-02/94, 6/94-7/94, 9/94-6/97, 7/97-10/98, 11/98-2/99, 3/99-6/99, 7/99-7/00, 8/00-12/00)
8/00-12/00
  • Architect (and engineering manager) for 7.1 release of translation family of products.
  • Built SOAP (XML + HTTP) - based server system to provide bulk machine translation to clients. Constructed server farm to provide scalable - SOAP-based translation service.

    Built several SOAP clients and servers - using a combination of straight C++ (for the main server), VBscript, Javascript, and Microsoft's ROPE.

  • Managed and guided development of web site (http://www.logomedia.net) to provide free MT using this translation server farm
7/99-7/00
  • Architect (and engineering manager) for 7.0 release of translation family of products.
  • New Cross-Language/Engine Dictionary Browser/Editor application, separating out UI components from linguistic details. Tremendously improved power and UI.
  • Improved English to Japanese and Japanese to English linguistic systems
  • First release of English to Spanish linguistic system
  • Web Translator product now supports DHTML (Dynamic HTML).
  • Better support for various character sets, UNICODE, and Windows 2000 (including "Windows Installer")
  • Improved Translation Engine throughput and other facilities for server based translation applications (such translation services provided by a Web Server ASP pages, etc)
  • Lots of smaller assorted improvements to the 10 or so products which comprise the LogoVista X product family.
3/99-6/99
  • Architect for 6.0 release of translation family of products.
  • Rewrite internals of HTTP Proxy server product to make it faster, more robust, and more up-to-date with the changing HTTP/Web browser market
  • New plugins provide much better integration with Microsoft Internet Explorer
  • New IME Translator application, mimicking the UI of the IME, but designed to provide very quick and easy to use access to translation capabilities
  • New Tip Of the Day applet
  • New HTML support in JE engine
  • Multithreading support for the Translation Engines, so they can run efficiently on multi-processor machines in server applications.
  • Miscellaneous improvements in other applications, like QuickTrans and Grinder, and much more
11/98-2/99
  • Architect for 5.1 release of translation family of products (a.k.a LogoVista LVX).
  • Improved UI for selecting target language pairs throughout product family
  • Indexed/searchable help (using Microsoft's new HTMLHelp workshop)
  • Various other bugfixes needed due to the dramatic rewrite in 5.0
  • Convinced parent company to finally start selling individual components, and to try to partner with other companies to adopt this COM-based MT-architecture as a de-facto standard
7/97-10/98
  • Architect for 5.0 release of translation family of products.
  • Completely redesigned and re-implemented product family around new COM-based component architecture. New architecture features included:
    • Total separation of MT client applications from translation engines. Only communication through public, remotable COM APIs
    • New client applets written completely independent of language pairs, or engine vendor
    • Engines now accessible directly via COM, and so can be used directly from script engines etc
    • Patent pending on this architecture
  • New support for Japanese to English engine
  • Most of remaining (from 4.0 work) monolithic app rewritten. New "Translator Assistant" app written to replace the monolithic "LogoVista E to J Pro". Beyond just being language-pair independent, it also had many new, powerful UI features, including far more direct manipulation, better access to viewing properties/state information, fully modeless UI, use of new "BackTrans" feature, and new much easier to use Alternate Translation UI.
  • Much more...
09/96-6/97
  • Architect for 4.0 release of translation family of products.
  • Re-engineer more internals of translation engine, including the dictionary subsystem, and converting it to use of STL (C++ Standard Template Library)
  • Performance tuning
  • OLE Automation support throughout product line.
  • Broke monolithic app into family of applets communicating through OLE
  • Other UI improvements to the Translators assistant product
06/96-09/96 Developed the Windows version of Logovista E to J Internet 3.5 (LVEJI 3.5). Main new features added were proxy server support (built multithreaded http proxy server from scratch, and translate English to Japanese on the fly). Also added ActiveX support, so that LVEJI could communicate with Microsoft Internet Explorer 3.0 using OLE automation. Plus addition of new component architecture for future LEC products. This release we have a new "Grinder" translation applet, and an new applet for editing user dictionaries (though I did little of the implementation of these applets, it was my idea, and persuasion which made them possible).
01/96-04/96 Wrote Mac and Windows programs - Logovista E to J Internet 3.0 (LVEJI 3.0) - to talk to internet web browsers, and translate the web pages from English to Japanese. Used Spyglass AppleEvent suite on the Macintosh, and Spyglass DDE suite on Windows to communicate between web browser and LVEJI 3.0.
08/95 Wrote a prototype proxy server which did translation on the fly from English to Japanese (based on the LEC translation core, and the CERN proxy server). This project has been at least temporarily abandoned, for business reasons (though parts - at least in concept - were reborn in "Logovista E to J Internet 3.5".
06/95-12/95 Redesigned core machine translation technology. Principle aims are greater speed, reduced memory usage, more maintainable code, and support for new language pairs.
07/95 Inspired, designed and wrote 'Grinder' translation product as cheap, low-end market entry.

The idea was dropped after the prototype was done. But the idea was resurected, and built as part of the 3.5 release of "Logovista E to J Internet".

09/94-06/95 Wrote text editor class (Led) to replace their use of custom text editor on the PC, and WSEngine on the Mac (see Sophist Solutions, Inc text editor - Led 1.0 work). Helped integrate that into their GUI-based translation system. Lots of other minor projects for their 2.5 release - including porting to TCL 2.0, Metrowerks CodeWarrier 5, MSVC 2.x, and MFC 3.x. Much general bugfixing to get 2.5 release out the door.
01/95 Designed and implemented internet email based translation system (server), based upon their existing translation technology. Now anyone can send text to be translated to a special email address, and have the translated text returned and billing and accounting performed with no human intervention. Also consulted on setting up their Internet connection. Partial support for MIME, and full support for ISO-2022-jp.
06/94-07/94 Came back to help with a bugfix release, and design review some future projects.
10/93-02/94 Port the Macintosh GUI front-end code I'd just written to MS Windows 3.1J using Win32s, and Windows NT 3.1J. Used Microsoft Visual C++ (MSVC) for NT and Microsoft Foundation Classes (MFC). This was done so as to maintain 1 source, and conditionally depend on either the TCL class library or MFC.
03/93-09/93 Wrote Macintosh GUI front-end to English-to-Japanese machine-translation software. Extensive work with Script Manager, text editing, World Script(tm), Internationalization (Kanji/SJIS), and the Think Class Library (TCL). Used ThinkC 5.0/6.0, and Symantec C++.
Random House, Inc., New York
Consultant.
(04/00-05/00, 09/00-10/00)
09/00-10/00 Fixed price contract to build a Netscape plugin for the Macintosh (similar to ActiveLedIt!), which used the Led C++ class library to provide editing functionality. NetLedIt! plugin supports external scripting through Java, JavaScript, using Netscapes LiveScript technology.

Even though it wasn't part of the contract - I threw in MS Windows support as well.

04/00-05/00 Fixed price contract to add 'hidden text' functionality to the Led class library.
National Grange Mutual, New Hampshire
Consultant.
(02/00-03/00)
02/00-03/00 Worked on re-engineering project, converting mainframe system to use three-tiered, PC-based system. Implemented all three layers of prototype three-tiered system to handle Insurance transactions. COM, COM+, and Microsoft Transaction Server (MTS), ADO, SQL Server 7.0.
Helped to write simple 'Generic UI' - using ASP pages (Microsoft Internet Information Server - IIS).
Addison-Wesley Interactive, Massachusetts
Consultant.
(09/95-08/96, 10/96-12/96)
10/96-present Add support for Microsoft Internet Explorer 3.0, integration with Led 2.1, and a few other minor modifications to ActivPad.
09/95-08/96 Fixed-price contract to add a number of enhancements to Led, including style run support, object embedding, URL support, and for MS-Windows, OLE and OLE Control embedding (see Sophist Solutions secion). Originally worked on port of Led to OpenDoc, but this was abandoned amid stream.

Then use these new features as a basis for ActivPad student notebook application.

Data Description, Inc., Ithica, New York
Consultant.
(10/96-11/96)
  • Help (small, mostly advisory and debugging role) port DataDesk mac-based statistics package to MS-Windows.
Wordwork AB., Goeteborg, Sweden
Consultant.
(08/96-10/96)
  • Fixed price contract to add Microsoft's Rich Text Format (RTF) support to Led.
  • Help integrating Led into their application.
Sun Microsystems, Inc., Mountain View, C.A.
Consultant.
(08/96)
Review / give technical advice on a Windows internationalization project.
American Telephone and Telegraph, Co. (Bell Labs), New Jersey
Consultant.
(02/94-09/94, 11/94-01/95)
11/94-01/95
  • Wrote class library to allow transparent reading of Adobe PDF files on Mac and Windows platforms - using AppleEvents, OLE2 and Adobe Acrobat. Then integrated this library into RightPages(tm) so it could utilize PDF format files.
  • I ported RightPages from Borland OWL and Borland C++, to MSVC 2.0 and MFC 3.0.
02/94-09/94
  • Wrote Macintosh and MS Windows RightPages(tm) Electronic Librarian client applications for TCP/IP based client-server browsing of a remote database of magazine images (JPEG/TIFF) and text. Permitted transparent access to all the online images, and a number of different keyword searching and alerting mechanisms for content searching.

    Macintosh application written using TCL 2.0 and Symantec C++ 7.0, and MacTCP. MSWindows Application written using Borland C++ 4.02 (32 bit app), OWL 2.0, and Winsock. Both share apx 95% common code.

Cross Functional Management, Inc., Bedford, Massachusetts
Consultant.
(01/93-06/93, 07/93-11/93)
07/93-11/93 Maintainence (apx 2 hours per month).
01/93-06/93 Fixed price contract rewriting Macintosh version of TQM-oriented Project Management system (TeamFlow) for MS Windows. FCS June 1993. Software written in C++ using Borland C 3.1, and Stroika.
Marcam Corporation, Newton, Massachusetts
Consultant.
(09/91 - 06/92)
  • Co-designed and taught classes and tutored in use of C++/object oriented design, windowing and system/user interface toolkits.
  • For educational purposes, helped guide design of various "Process Manufacturing" object-oriented software modules.
  • Ported Stroika class library to X/Motif.
Exos, Inc., Burlington, Massachusetts
Consultant.
(05/91 - 08/91)
Built commercially available Clinical Hand Master(tm) medical application for use by hand surgeons using Stroika and MPW C++ on the Mac. Interfaced with video acquisition hardware, Quicktime(tm), proprietary data acquisition and testing hardware, and developed configurable testing technology.

In 1996, the company was acquired by Microsoft.

DMR, Inc., Wellesley, Massachusetts
Consultant.
(04/91 - 08/91)
  • Worked on (as an implementer, not designer) building object-oriented framework (WST) for Mac, MS Windows, and X/Motif.
  • Built lisp interpreter with object-oriented extensions as a portable replacement for resources, running on top of WST.
Used both Borland C++, and Microsoft SDK/C 6.0 on PC, both MPW C, and Lightspeed C on Mac, and HP-UX ANSI C compiler under UNIX.
Augment, Inc., Bedford, Massachusetts
Consultant.
(02/91 - 04/92)
Wrote device drivers & file transfer software for Nu-Bus, fiber-optic bus-extender link, using Stroika, and MPW C++.
Cognex, Inc., Needham, Massachusetts
Consultant.
(02/90 - 02/91)
  • Wrote a minimal C++ to C translator (Zorcher) in MPW C/Bison/Flex.
  • Ported AT&T CFront 2.1 to Apple Macintosh, targeted for embedded 68k vision processor card.
  • Wrote browser/variable picker based on C++ symbol table information.
  • Architected, and helped implement object oriented wrappers on existing vision processing library.
  • Wrote a dialog editor (Tool Editor).
  • Helped implement support libraries for OnSite(tm), a graphical interface to programming vision applications.
  • Wrote device drivers for Nu-Bus vision processor board.
Most of this done on a MacII, using THINK C, and the THINK Class Library. Also used MPW, and GNU/Berkeley UNIX tools on SUNs, interfacing to and supporting existing engineering efforts on SUNs.
Bolt, Beranek & Newman, Inc., Cambridge, Massachusetts
Software Engineer.
(04/88 - 02/90)
  • Designed & implemented portable, object-oriented application framework (Zeno) in C++.
  • Built geometry/chaos exploration program Affinity, in C++.
  • Built expert for Algebra Workbench, in C++.
  • Built statistical modeling explorer (Chancy Models) in MacApp.
  • Built Marble Bags algebra exploration environment, in Lightspeed C.
  • Maintained Elastic spreadsheet/data analysis program.
  • Alpha tested Apples CFront 2.0 port.
All of this was for the Apple Macintosh.
Layered, Inc., Charlestown, Massachusetts
Software Engineer.
(06/87 - 04/88)
  • Designed portable object-oriented platform from which to rewrite accounting packages for Macintosh, MS Windows and OS/2.
  • Worked in Technology group implementing multi-user database functionality in Macintosh accounting package.
  • Wrote support tools using MacApp.
Worked in Object Pascal, and C++.
Axiom Technology, Inc., Newton, Massachusetts
Software Engineer.
(10/83 - 06/87)
  • Designed part-testing programming user-interface using X Windows graphics on Sun-3.
  • Designed networked test floor control and data management system.
  • Designed interface to UNIX systems management (prototyped using USE package).
  • Wrote text editor using Curses. Later rewrote as Gnu-Lisp add-on package for Gnu-Emacs.
  • Developed transaction system for turnkey parts tester.
Worked in C, Lisp, and Pascal, under UNIX.
Kenyon & Eckhardt, Inc., New York, N.Y.
Consultant.
(08/83 - 09/83)
Mathematical Research, and programming in Basic for the Media Research Department.

Award's & Honors:

Deans List at Harvard University. Connecticut State Math Team.

Patents:

  • "Modular Language Translation System" by Pringle
    (Pending International Patent Application No. PCT/US98/15219)
  • "Automated Translation of Annotated Text", by Pringle, Swerdlow, and Wysoker
    (U.S. Patent No. 6,470,306)
  • "Automatic Translation and Retranslation System", by Pringle
    (Pending International Patent Application No. PCT/US98/00729)
  • "User alterable Weighting of Translations", by Pringle, Swerdlow, Wysoker & Wight
    (Pending International Patent Application No. PCT/US00/42120)

Personal:

Married. Two daughters and two sons. Health excellent. Have home office. Play bridge, chess, basketball, and tennis. I love to talk politics. Good French; fair Portuguese. References available on request.
My home page
Last Modified: 2004-01-05