Skills
PatentsIssued
Employment History
Rocket Software
I was in Rocket's open source porting group, which brings open source tools from the Unix world to the IBM mainframe. IBM's z/OS operating system supports most Posix interfaces, but there are many challenges, not the least of which is IBM's EBCDIC character encoding. I provided technical guidance to the team (since I have extensive experience in both the Unix and mainframe worlds), supported customer POCs, debugged complex problems, and did much of the product packaging using IBM's SMP/E system. March 2014 to April 2015
Qlik
I returned to Qlik to continue working on data integration, improving the server-side data loader for Qlik's new Qlik Sense system. I wrote a mix of C++ and server-side Javascript (using node.js) to produce automated data analysis functions. August 2013 to January 2014
HadaptI worked on Hadapt's administrative tools (written in Python) and data catalog (written in Java). Zookeeper is used for cross-node synchronization, and Spring is used for dependency injection and transactionality. I also made modifications to the open-source Postgres database system (written in C), which is used by the Hadapt system for data and metadata storage. Hadapt uses Jira and Confluence for issue tracking and internal documentation, and git for source control.
August 2009 to August 2013
Qliktech
I was a software architect and implementor, working primarily on the Qlikview Expressor processor parallel data processing engine. This is a natively cross-platform (Windows/Unix) product written mostly in C++. I also worked on the Qlikview Direct Discovery feature, which enables big data to be integrated into Qlikview. I was originally hired into expressor software, which was acquired by Qliktech in June 2012.
July 2004 to July 2009
|
International Business Machines Corporation 550 King Street Littleton, MA 01460 (978) 899-2050 www.ibm.com |
International Business Machines Corporation (IBM)
I joined IBM via Ascential Software in July 2004, as an advisory software engineer. In May 2005 Ascential was acquired by IBM and became part of the Data Management division of the IBM Software Group.
As at Torrent Systems (below), I did
primarily Unix/C++ development, with a focus on flow based, parallel
infrastructure. IBM holds U.S. patent #7,565,349 for a project I conceived of and implemented regarding data analysis. In addition to my direct technical responsibilities I did
a lot of writing and training, and was the main technical liaison with IBM's development group in Hyderabad, India.
April 2000 to June 2004
Boston University School of Medicine 11 Muzzey Street Lexington, MA 02421 (781) 862-6660 www.bcdsp.org |
Boston Collaborative Drug Surveillance Program (BCDSP)
BCDSP is a small research group that specializes in post-marketing drug safety studies. Most of their studies use data from the General Practice Research Database (now the CPRD), which contains comprehensive medical histories on about four million patients.
I provided all manner of computer support to the 5 principal investigators and other support staff, primarily in these categories:
- Network support. I had sole responsibility for maintaining the in-house network, consisting of about a dozen PCs (Windows 2000 and XP), a handful of servers (Linux and FreeBSD), several networked printers and a DSL internet connection. I did all hardware and operating system selection, installation and troubleshooting. Samba was used for Windows file sharing, and I installed and maintained all network services, such as DHCP, DNS, NTP, ssh, Apache, MySQL and more.
-
Database programming. The GPRD as used at BCDSP is stored as a collection of hierarchically structured files accessed via custom programs written in C++. A number of ancillary files (such as drug and diagnosis dictionaries) are stored relationally, using a combination of flat files and MySQL tables. The total database size is about 10GB.
I was one of three programmers who handled data requests from the research staff. Most requests entail writing one or more C++ programs and some SAS. I devised a comprehensive system of application-specific classes that made most programs very compact and easy to write.
I also wrote a number of tools to enable the research staff to perform limited queries against the data using web-based tools, implemented via Apache, Python scripts and C++ programs.
- PC support. I was the in-house expert in all things Windows and fielded questions about email, Microsoft Office applications, SAS, printing problems and anything else that came up.
November 1998 to March 2000
Independent Consultant
My clients during this period included:-
Torrent Systems, Inc.
See Torrent Systems, below
My contracts for Torrent were of two types: customer training and software development. I was responsible for a major revision of the customer training course for Torrent's Orchestrate product, and presented this course at a number of Torrent customers' sites. A copy of the training course materials is available for inspection.
I had sole responsibility for porting Orchestrate to the HP-UX operating system, the first 64-bit port of an originally 32-bit product. Orchestrate is written in C++ and makes extensive use of templates and dynamic loading; these are notoriously non-portable aspects of C++ and Unix programming.
I also performed a feasibility study prior to Torrent's decision to port Orchestrate to (then) DEC's Tru64 Unix for Alpha processors.
-
Data Miners, Inc.
PO Box 609
Amesbury, MA 01913
(617) 742-4252
www.data-miners.comData Miners, Inc.
I was hired by Data Miners to install a small network at their Boston office.
-
Boston Collaborative Drug Surveillance Program
See BCDSP, above
Before being hired by BCDSP as a permanent employee I was engaged for a three month consulting stint, with the goal of modernizing their in-house network. I selected hardware, planned the topology and did much of the physical wiring to replace their coax-based (and problem-prone) network with a Cat5E switch-based network.
I also became involved with the GPRD at this time and developed prototypes of some of the web-based query tools described above. It was the success of these tools that led to BCDSP offering me a permanent position.
January 1995 to November 1998
Torrent is now part of IBM Corporation 550 King Street Littleton, MA 01460 (978) 899-2026 www.ibm.com |
Torrent Systems, Inc.
I was one of the founding engineers (employee number 5) of Torrent Systems. Together we designed and built Orchestrate, a scalable flow-based programming system. We were issued U.S. Patents #6,311,265 and #6,801,938 for the design of Orchestrate; I am one of the 8 co-inventors on each patent.
I was completely responsible for the design and implementation the Orchestrate process manager, the portion of the system that creates, connects and monitors the collection of processes that execute an Orchestrate program. This process manager must work on any type of parallel computing system, including loosely-connected networks of workstations, large SMP systems like Sun's SunFire systems, tightly coupled MIMD systems like the IBM SP-2, and hybrids consisting of all of the above.
I also designed and implemented many Orchestrate operators, the small, specialized components that are linked together to form a complete Orchestrate program. I was particularly involved in construction of the statistics, data transformation and grouping operators. I was responsible for a key technical breakthrough that led to Orchestrate's high-performance and type-extensible sorting operator.
In addition to serving as a system architect and implementer, I was often the lead field support engineer for customer pilot projects and competitive evaluations. My combination of technical and communication skills made me particularly well suited for these situations.
Ascential Software acquired Torrent in late 2001; Orchestrate is now the primary data movement engine for Information Server (the ETL system formerly known as DataStage).
I left Torrent to primarily to spend more time with my family and to pursue other programming interests.
Thinking Machines was acquired in June, 1999 by Oracle Corporation 500 Oracle Parkway Redwood Shores CA, 94065 (650) 506-7000 www.oracle.com |
January 1992 to December 1994
Thinking Machines Corporation (TMC)
At Thinking Machines I wrote software for the company's CM-5 massively parallel supercomputer. My particular specialty was the low-level library code that performed parallel data movement and transformation; this code effectively provided a data parallel machine abstraction that was used by the company's other software, such as the parallel Fortran and C* compilers and scientific subroutine library. The programming was done in a mixture of C, Sparc assembly language, and very low-level microcode for the CM-5's custom vector unit chips.
Thinking Machines declared bankruptcy in 1994. Sun Microsystems, which had been in negotiations to purchase Thinking Machines, offered many TMC employees, positions at their Chelmsford, MA facility. I declined Sun's offer because of the commute and remained at TMC for another six months, until it became clear that the software-only company that would emerge from bankruptcy was not a place I wanted to be. Thinking Machines was eventually absorbed by Oracle.
October 1989 to November 1991
Encore Real Time Computing Inc.
I was solely responsible for porting the Verdix Ada runtime system from Encore's Multimax computer systems to its newer Series 91 systems. The Series 91 systems were SMP machines based on Motorola's 88000 processor chip (now extinct). The programming was done in C, Ada and 88K assembly language.
I worked at Encore's Marlborough, MA facility, which was closed in late 1990. I declined the offer of a transfer to their Ft. Lauderdale office.
September 1985 to October 1989
Intermetrics, Inc.
Intermetrics provided me with a career change. I was hired for my knowledge of IBM mainframe computers (System 370) and operating systems (MVS, VM). Intermetrics was about to receive an IBM system as part of a contract to develop an Ada compiler, and I was to be the system administrator. Over time I moved into the compiler group and worked on the Ada runtime system. Thus began my introduction into system software development on Unix systems (since Intermetrics did all of its development on Unix) and parallel programming (since Ada has parallel processing built into the language, which requires extensive runtime system support). I programmed in Ada, C and 370 assembly language.
After I left the company, Intermetrics merged with Pacer InfoTec to form Averstar; Averstar was bought by the Titan Corporation, which was acquired by L-3 Communications in 2005.
April 1975 to August 1985
System Programmer / Administrator for IBM Mainframe Computers
I left college in 1975 and began a ten-year career working with IBM mainframe computers (System 370) in commercial data processing environments. During this time I acquired a profound understanding of IBM's MVS and VS1 operating systems at all levels, from application programming in PL/1, COBOL and assembly language through mission-critical system programming, including writing operating system modifications, installation and maintenance of system software using SMP, and all aspects of performance tuning. I also became very familiar with the world of commercial data processing, which was particularly useful in my later work at Torrent as a field engineer.The obligatory alphabet soup of program products (IBM and otherwise) that I worked with follows. I have only listed products with which I did significant work.
VS1, MVS, VTAM (including 3270 datastream programming in large SNA networks), IMS/DC and DB, DL/I, CICS, JCL and utilities, TSO, ISPF/PDF, PL/I, COBOL, MARK IV, SPSS, SAS, VSAM, SMP/E, PUTs/PTFs/APARs, and a partridge in a pear tree.
The organizations I worked for during this period were:
- September 1982 to August 1985
The University of Chicago, Chicago, IL - December 1981 to June 1982
Morgan Stanley & Company, New York, NY (consultant, not an employee) - September 1979 to November 1981
The New York City Board of Education, Brooklyn, NY - September 1978 to July 1979
Hunter College of the City University of New York, New York, NY - April 1975 to August 1978
Orange County Public Schools, Orlando, FL
Education
September 1972 to April 1975
I attended Florida Technological University (now University of Central Florida) as a computer science major. I did not graduate.Outside Interests
- Folk dance (Morris, New England contra, longsword)
I dance with the Pinewoods Morris Men (PMM) and attend local contra dances whenever my schedule permits. PMM performs annually in the Christmas Revels at Sanders Theater in Cambridge; I have had the privilege of performing with them since 2003. I also play concertina. - Backcountry and telemark skiing, hiking, sailing
- Travel