Paul Davis


35 Aberdale Road, Bala Cynwyd, PA 19004-3156
Phone: 610-667-4807
Email: paul@linuxaudiosystems.com
URL: http://ardour.org/

British citizen, U.S. Permanent Resident.


Computing Summary

18 years intensive systems & technical computing in Unix/C/C++ environments. In-depth experience, ranging from multi-processor kernel internals and device drivers, through multithreaded realtime applications to shell work and graphical user interfaces. Expert C & C++ programmer. Developed on uni- and multiprocessors systems running Linux, Solaris, Mach 3.0, OSF/1, BSD, Ultrix, and System V. Web experience dating back to late 1993 (designer of the first open WWW site in the Pacific Northwest) and one of 2 founding programmers at Amazon.com. Linux kernel contributor. Founder of Linux Audio Systems, producing realtime, professional audio & MIDI applications for Linux.


Employment

Linux Audio Systems, Philadelphia PA (November 1998 - present)
Founder

LAS is focused on using Linux as a platform for audio and MIDI applications, with a particular focus on realtime performance and commercial studio tools. The software is all released under the GPL. Tools to date have included:

LAS also provides consulting services to users, engineers, and businesses seeking to using Linux in connection with audio. LAS also represents the open source community within the GMPI working group, and is a member of the Linux Audio Consortium.

Atlas Software Technologies, Pittsburgh PA (July 1995 - October 1997)
Consulting Software Scientist/Engineer

Atlas is/was a consulting and software services company that provides expertise to large clients such as the USPS and other online services to specialized economic sectors.

I worked for Atlas on a consulting basis, designing system architectures, providing rapid implementation of core technologies, and general consulting expertise. A major part of my work for them was the design and implementation of Oracle RDBMS interfaces, particularly in the context of WWW projects, and extending the Apache web server to support many sophisticated features not found in any other web server at the time (many of them have now become common).

Amazon.com, Inc., Seattle WA (November 1994 -- March 1996)
Member of Technical Staff

Amazon.com is a widely known online retailer. I was the 2nd employee at the company, and one of the 2 technical staff responsible for designing and implementing the software engines that support the bookstore's presence on the Internet. Specific components that I developed included:

I was intimately involved with many aspects of getting this new company started. I left, despite significant stock and other inducements to remain, because I am a technical person and had little interest in playing a role in the growth of the company. I was intimately involved with many aspects of getting this now-extremely successful company started.

USPAN, Inc., Seattle WA (July 1994 -- July 1995)
Technical Consultant and Programmer

USPAN is a WWW/Internet company, providing both public information on the entertainment and leisure industry in the Pacific Northwest, and private services to the talent casting world.

I was responsible for installing and configuring their HTTP services, and for the design and implementation of a database-like backend for their talent casting system, which features a Perl search tool that generates highly optimized run time code to provide fast lookups.

University of Washington Computer Science Lab (April 1991 -- November 1994)
Systems Programmer II

The UW CS Lab provides computing facilities and expertise to the Computer Science & Engineering department.

My responsibilities included management & development for parallel and distributed operating systems research on a KSR1-56 parallel machine as well as a 20 processor Sequent Symmetry.

I was a member of a research group working on operating system design issues with Mach 3.0. I was primarily responsible for our implementation of a thread package supporting two-level scheduling using user-space notification of kernel events, as well as an initial implementation of a novel approach to lock-based synchronization.

I was also responsible for the department's WWW service, which I configured, designed and maintained. I designed and advised others on the constrcution of complex CGI-based backends for WWW services, including implementations of stateful systems, and so forth.

Other duties included assisting with faculty and graduate students on parallel programming projects, C++ and LaTeX consulting, and management of X terminals, the X user environment, local LaTeX support.

Seattle FilmWorks Seattle, WA (March 1991 -- May 1991)
Consulting Software Specialist

Seattle FilmWorks is one of the NW's major film development labs. I developed two device drivers needed to provide soft real-time functionality for an automation project, and then designed & wrote the user-level software that used these drivers to control a purpose-built robotic filmsorter.

ScenicSoft Inc Edmonds, WA (November 1989 - December 1991)
Senior Software Engineer & Technical Manager

ScenicSoft produces turnkey systems for high quality, high volume type and image setting applications.

Worked on a project to automate the typesetting of real estate `multiple listing' books, using 386 Unix systems, and about 200,000 lines of custom software, of which I designed and wrote a significant portion.

Specifically responsible for development of: Unix kernel support for an AMD 29000 RISC coprocessor (including full support of AMD's `HIF' Unix compatible run-time environment). Menu-driven interface for control of 5GB Unix filesystem, multiple 800x400 dpi laser printers, coprocessors and 2MB of custom software. Implemented job control for System V.2/386. Complete asynchronous TCP/IP-based IPC library. Port of Columbia AppleTalk Protocol to 386-based Unix. File Manager, a custom application hiding division of a single ``filesystem'' over multiple disks. Read-write optical media software, for handling off-line storage of several hundred gigabytes of image data, including backup and on-demand reload.

Rabbit Software Malvern, PA (August 1989 - October 1989)
Unix Software Engineer (consulting)

Rabbit specialize in Unix-IBM connectivity products.

Ported device driver for Rabbit's own Unix-SNA package to AIX running on the PS/2. Rewrote DMA code, interrupt handler etc. to work with MicroChannel bus architecture & AIX's design flaws.

Schlumberger Cambridge Research Cambridge, UK (December 1987 - May 1989)
System Programmer/Software Engineer

A commercial research facility studying drilling and pumping technology. I was responsible for 95% of systems programming, and shared responsibility for system management, design & operations. Projects completed included:

European Molecular Biology Lab. Heidelberg, Germany
Oct 1986 - Oct 1987
Pre-doctoral Fellow

Academic research laboratory doing basic research in molecular biology. Computational research in DNA structure-function relationships as a pre-doctoral fellow in Biocomputing. Computational research in protein folding. Designed and implemented a research tool for density analysis of protein molecular structure, providing an interface to structural databases, and visual manipulation of results on molecular graphics systems. Involved in some system software design & installation. Functioned effectively as an independent research worker.

Weizmann Institute Rehovot, Israel (June 1986 - October 1986)
Karyn Kupcinet Fellow, Biopolymers.

A large academic research institute doing fundamental and applied science.

Worked in Biopolymer Dept. on computational studies of relationships between DNA sequence and function. Designed, modified and wrote software for graphical display and structure prediction.


Education

June 1983 - June 1986
BS (summa cum laude) Biomolecular Science Portsmouth Polytechnic, UK

Awarded senior year research prize for work on "Information Theory & DNA sequence Analysis", and graduated top of class.

June 1993
Advanced Course in Distributed Systems, Bellevue, WA


Specific Computing Experience

Hardware
Intel x86, SPARC, DEC Alpha, DECstation (MIPS), AMD29000, KSR1, Sequent Symmetry-81

Operating Systems
Kernel Development: Linux 2.1-2.4, Mach 2.5, 3.0, OSF/1 (kernel level),
Device Drivers Linux, Mach 2.5/3.0, Unix System V/386, AIX
Systems Programming Linux, Solaris, Digital Unix, other Unices.

Languages
C (15 yrs), C++ (10 years), Python, POSIX threads, Unix Shell (15 yrs), PostScript, HTML, SQL, Perl, Lisp

Tools
GTK+, GNU Emacs, GNU tools, SCons, (La)TeX, Unix tools, Oracle.

Awards

Open Source Initiative, Merit Award Q1 2004 for JACK
Linux Journal, Editor's Choice, best project 2004 for Ardour
Linux New Media Award 2004, Best Multimedia Framework for JACK

Publications

``Adding Scheduler Activations to Mach 3.0''

Paul Barton-Davis, Dylan Macnamee, Raj Vaswani, Edward Lazowska Usenix Mach Symposium, April 1993, Sante Fe, NM. (Voted best paper)

Invited speaker at the Libre Software Meeting, Bordeaux, July 2000

Invited speaker at the Free Software and Multimedia Meeting, Firenze, June 2001

Keynote speaker at the Linux Audio Developers Conference, Karlsruhe, April 2003

Invited speaker at the Linux Audio Conference, Karlsruhe, May 2004

Invited speaker at the Libre Software Meeting, Bordeaux, July 2004


General Interests

Vegetarian cooking, endurance sports, contemporary cinema, artifical life, avant-garde, jazz and electronic music, travel, philosophy of science, local and global politics, soft technology.

Languages

I once spoke passable conversational German.