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:
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). |
|
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..
|
|
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.
|
|
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++. |
|
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.
|
|
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).
|
|
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.
|
|
- 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.
|
|
Review / give technical advice on a Windows internationalization project. |
|
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. |
|
- 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.
|
|
- 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
|