Pablo Halpern

31 Blueberry Lane, Wilton, NH  03086 • 603-654-6474 • phalpern@halpernwightsoftware.com
March, 2016<UpdateTime>5/10/2016</UpdateTime>

Summary

I am an expert in the C++ programming language, including generic programming and parallel programming.  I have written a book on the C++ standard library, am a member of the ISO C++ committee, and have implemented portions of the STL using advanced generic-programming techniques.  I am also skilled in large-scale, component-based development, including clear documentation, unit testing, and frequent code review.  Most of my recent experience has been in language and runtime design for parallel programming systems, with previous experience in network-management and system software. I have team leadership experience and would welcome team lead responsibilities, but I do not wish to be a pure manager.

Specialties

Language and runtime library design for parallelism, reusable component development in C++, unit testing strategies, the C++ standard library.

Other Skills

General

Strong verbal and written communications skills, team leadership, testing methodologies, large-scale development methodologies, embedded systems, compiler technologies, generic software design, networking technologies, software tools.

Languages & Technologies

C++ (most jobs since 1989), C (since 1982), Perl, Python, XML, HTML, JavaScript, SNMP, Pascal, Unix Shells (Bourne, Bash, Korn, C-shell), Some Java, C#, Tcl.

Publications and talks

Book: The C++ Standard Library from Scratch, Que Publishing, November, 1999.
http://www.halpernwightsoftware.com/stdlib-scratch/index.html

Conference talks and papers:

Work Stealing, CppCon 2015, Bellevue WA.

Overview of Parallel Programming in C++, CppCon 2014, Bellevue WA.

Decomposing a problem for Parallel Execution, CppCon 2014, Bellevue WA.

Reducers and other Cilk++ Hyperobjects, Voted best paper, SPAA 2009, Calgary, Canada

Reconsidering the STL Allocator Model, C++ Connections 2005, Las Vegas NV

Sample of C++ Standards Proposals and papers:

P0076 Vector and Wavefront Policies (proposal accepted in 2016).

P0155 Parallel Task Blocks (proposal accepted in 2015)

N4238 An Abstract Model of Vector Parallelism (white paper presented in 2014)

N3916 Polymorphic memory resources (proposal accepted in 2014)

N3068 Equality Comparison for Unordered Containers (proposal accepted in 2010)

N2554 The Scoped Allocator Model (proposal accepted, with changes, in 2008)

Article: M and Robotics, with Max Rivers and James Poitras, M Computing, April, 1995.

Experience

Parallel Programming Languages Architect, Intel Corp, Merrimack, NH, Sep 2009 to present

·         Coordinated the design and evolution of parallel programming languages across the suite of parallelism technologies at Intel. Guided teams to ensure that new language syntax and library APIs remain simple and consistent with the language being extended (C, C++, Fortran, or OpenMP).

·         Refactored and documented the Cilk parallel runtime scheduler in preparation for open-source release as part of gcc 4.9 and (eventually) Clang/LLVM.

·         Gained acceptance for a number of parallelism-related features as a member of the ISO C and C++ standards committees.

·         Prototyped proposed-standard parallelism features in the Clang compiler front end.

·         Designed and delivered trainings on Cilk Plus and parallelism, both internally and to customers.

Member of Technical Staff, Cilk Arts, Burlington, MA, Nov 2007 to July 2009
(acquired by Intel Corp, July 2009)

·         Guided language design to ensure that Cilk++ (an extension of C++ for multicore computing) remained consistent with the rest of the C++ language and library.

·         Implemented parallel loop construct in the Cilk++ compiler front-end for Windows.

·         Contributed to all aspects of the highly-efficient Cilk++ work-stealing scheduler.

·         Implemented and evolved the Cilk++ reducer construct, which was the subject of an award-winning paper presented at SPAA ’09.

·         Represented Cilk Arts on ISO C++ standards committee.

Senior Software Engineer, Bloomberg, LP, New York, NY, Sept 2003 to Feb 2008

·         Led a small team implementing a C++ interface layer used by JavaScript rapid-development front end, resulting in dramatically reduced time-to-market for customer applications.

·         Worked with the leading authority on component testing and large-scale C++ development to achieve nearly 100% test coverage in the core component library used throughout the organization.

·         Implemented large portions of a modified Standard Template Library, using a powerful and flexible memory allocator model.

·         Gained acceptance for a number of allocator-related proposals as a member of the ISO C++ standards committee.

·         Led seminars and wrote Perl tools intended to foster better software engineering and testing practices throughout the organization.

Owner & Lead Software Developer, CLI Power Tools, Wilton, NH, Sept 2001 to Aug 2009

·         Developed tools for building high-quality, Cisco-like command-line interfaces (CLI), cutting 3 to 6 months off customer’s development time.

·         Full product included compiler for CLI-description language, compact and efficient run-time parser, emacs-like command-line editor, and high-quality customer documentation.

·         Provided ongoing support and customization services to customers.

Founder, President, & Lead consultant, Halpern-Wight Inc., Wilton, NH, Sep 1988 to Aug 2003

·         Helped numerous clients produce high-quality products and services by providing software development contracting services, mentoring, and development-process consulting.

·         Served clients from multiple fields, including:

Proven Process Medical Devices, East Walpole, MA, 2003 – 2003

Highland Laboratories, Ashland, MA, 1993 – 2003 (Dates are not contiguous.)

Nauticus Networks, Framingham, MA, 2002 – 2002

Tenor Networks, Acton, MA, 2001 – 2001

IPOptical, Dulles, VA, 2000 - 2001

Ironbridge Networks, Lexington, MA, 1999 - 2000

Xerox Corporation, Distributed Network Applications, Burlington, MA, 1998 - 1999

BMC Software, Inc., Waltham, MA, 1995 - 1998

Semaphore Trainings, headquartered in North Andover, MA, 1993 - 1996

Business Matters, Inc., Waltham, MA, 1993 - 1996

Hewlett Packard (Clinical Information Systems), Andover, MA, 1991 - 1993

Intersolv, Cambridge, MA, 1989 - 1991

Millipore Corp., Bedford, MA, 1989 - 1990

Wang Laboratories., Lowell, MA, 1988 - 1989

Summary of Employment Prior to Sep, 1988 (details upon request)

Polygen Corp. Waltham, MA (now part of Ligand Pharmaceuticals, La Jolia, CA), 1985 - 1988

Desktop Scientific Systems (co-founder), MA (sold to Polygen in July, 1985), 1984 - 1985

Mass Computer Associates, Wakefield, MA, 1984 - 1984

Data Concepts, Inc., Lexington, MA, 1982 - 1984

Education

Hampshire College, Amherst, MA - B.A. in Computer Science, May, 1983.
Senior Thesis: Language Extensions for Improved Data Abstraction