Summary
|
Over twenty years' experience designing
and implementing software to manage, search, and analyze large
datasets efficiently and rapidly, resulting in the production of
three commercial database management systems.
|
|
|
|
Skills
|
Domain analysis and algorithm design;
performance tuning; object-oriented design; mathematical modeling;
porting; writing and editing; teaching and mentoring.
|
|
|
C, C++ (STL, Standard Library) expert,
Microsoft Visual Studio, Borland C++ Builder, GCC, Qt.
|
|
|
|
Employment
|
Feb 1997 – present
Self-employed
Software Developer
Customers include:
|
|
|
|
|
|
Feb 1997 – May 2003, Mar 2006 –
present
Archi-Tech Systems (www.archi-tech.com),
W. Trenton, NJ
Archi-Tech produces marketing research tools for pharmaceutical
companies. Their first products were based on Dataware’s
ADL; by 1997, they needed an engine more capable of managing the
larger (tens of gigabytes) datasets they would soon see.
Designed and built the InPress
a database engine for large, structured, primarily numeric,
datasets; the backend for Archi-Tech’s products.
InPress’s performance is often orders of magnitude better
than the Oracle-based tools it has supplanted. It is now used by
most major pharmaceutical companies.
Built add-ons to do
statistical analysis and mining of prescription data using
InPress.
Added support for some
relational features (e.g., join).
Built data verification tools
based on InPress.
Participated in the UI design
of the tools (e.g. DART) written atop InPress.
Created documentation and a
tutorial for building DART applications
Designed and built a
next-generation database engine for larger, more deeply
structured datasets. This multi-threaded engine runs on 32- and
64-bit Windows and Linux.
Original system was written
with Borland C++ Builder; the next generation with Microsoft
Visual C++, GCC, and Qt.
Assisted Archi-Tech in hiring
and training.
|
|
|
|
|
|
Jun – Dec 2005
Overtone Software
(www.overtonesoftware.com),
Bethesda, MD
|
|
|
|
|
|
Sep 2003 – Dec 2005
Open Text Corporation (www.opentext.com),
Waterloo, Ontario
Developed a new XML- and
web-based, multi-threaded version of CDAuthor (database
authoring), and ADL (search and retrieval API). OpenText
acquired CDAuthor and ADL from Dataware (see below) in 1999.
System consists of a web
server; a collection of standard DLLs to manage data storage,
indexing, and retrieval; and a configurable framework for loading
the standard DLLs, as well as coordinating custom DLLs.
Data store and indexer are
optimized for both text (Unicode) and numeric data.
Search
engine supports Boolean, range, truncation, and wildcard
searches.
Written in Borland C++ Builder
and Microsoft Visual C++.
|
|
|
|
|
|
Oct 1997 – Mar 2000
Dataware Technologies, Cambridge, MA
Bug fixes and enhancements to
products on which I had worked while employed by Dataware, in
particular CDAuthor and the ADL. Wrote an add-on to the ADL to
support reading, indexing, and searching XML data.
|
|
|
|
|
|
Feb – Dec, 1998
Cooper’s & Lybrand, Arlington,
VA
|
|
|
|
|
|
Jul 1987 - -Feb 1997
Dataware Technologies, Munich, Germany,
and Cambridge, MA
Software
Engineer, Lead Architect
Designed and wrote (with one
other developer) CDAuthor and CDAnswer, the first database
authoring and retrieval system for CD-ROM. Written in Borland C.
Designed and wrote (with two
other developers) the ADL (Advanced Design Library), Dataware’s
retrieval engine. Areas of concentration included presentation
formatting, hit highlighting, memory management, search
resolution, and performance optimization. Ported much of the ADL
to VMS, Unix, and MacOS, and from Borland to Microsoft C.
Conceived and built add-ons
for the ADL to manage time-series data, and worked closely with
the IMF and World Bank to deploy their time-series databases
(including International Financial Statistics and World
Development Indicators) on CD-ROM and later online. The system
collected economic and financial data from diverse sources, and
compressed, indexed, and presented it for analysis.
Managed the Information
Authoring group (five developers).
|
|
|
|
|
|
Jun 1985 – Jun 1987
Western Connecticut State University
(WCSU), Danbury, CT
Consultant
Designed and built
data-capture tools for WCSU’s Weather Center.
Specified, designed, and built
an automated severe-weather forecasting system, using a
proprietary meteorological model based on numerical solution of
differential equations, and detection of higher-order atmospheric
discontinuities. The system, written in C, running on a MicroVAX
under VMS, captured data in real-time from a satellite feed, and
incrementally ran the model as new data became available.
|
|
|
|
|
|
Aug 1985 – Dec 1986
Data General Corporation, Westboro, MA,
and Durham, NC
Software
Engineer
Helped design, and began to
implement, the virtual machine for a Java-like interpreted
language, part of an integrated set of software engineering
tools.
|
|
|
|
Education
|
B.S.,
Applied Math (Computer Software)
Carnegie-Mellon University, Pittsburgh, PA
1985
|