Nick Porcaro
Software
Engineer/Musician
nick@porcaro.org
www.porcaro.org
Objective
Experienced
software engineer seeking work, preferably as an iOS developer.
Primary languages: Objective-C, C++, C, Python, PHP, Perl, JavaScript, HTML. Most fluent in the iOS frameworks.
Primary
areas of expertise are UI design, digital signal processing, audio
synthesis/sequencing, and graphics/animation. Regularly works with designers
and artists, and does some video editing/production and graphic design.
iOS developer since 2010, with a major award-winning app in the iTunes
Store, GeoShred
Summary
Nicholas
Joseph Porcaro (Nick) received a Bachelor's Degree in Electrical Engineering
from Texas A&M University. After graduating, he spent 7 years working for Tegas/Calma and Aida/Teradyne, startup
companies in the electronic design automation industry, where he participated
in the development of software for schematic editors, logic simulators, and
design language translators. Following that, he spent 2 years at a
Stanford-incubated geophysical software startup with Pierre Samec, called
PetroVision, developing signal processing software
related to seismic data analysis.
In
1990, he became a visiting scholar at the Center for Computer Research in Music and Acoustics (CCRMA) at Stanford
University, at the invitation of Julius Smith, where he studied
digital signal processing as applied to physical modeling of musical
instruments. During this time, he started experimenting with object oriented
programming on the NeXT computer, and
developed SynthBuilder, which was
supported by the Sondius project.
From
1996 to 2000 Nick was a founder of Staccato
Systems,
(which became a subsidiary of Analog Devices) where he continued to develop
SynthBuilder for use as an internal tool for developing sound effects
algorithms for games. In June 1997 SynthBuilder won the grand prize "Golden
Max"
award at the second annual International Bourges Music Software Competition.
After
Staccato Systems was purchased by Analog Devices, he
studied jazz piano under Dick Hindman, and played
regular gigs in San Francisco. He also served on the board of directors of the Haight-Ashbury Neighborhood Council and continued
software development by creating a prototype for an extensible online
dictionary, along the lines of Wikipedia, called the Open Dictionary.
In
2002 moved to New York City to
concentrate more on piano. He studied jazz piano under Eric Lewis, Connie
Crothers
and Latin jazz at Harbor
Conservatory for the Performing Arts under Pablo Mayor. In 2005 he
started playing a regular jazz gigs with many musicians, including percussionist
and composer Lukas Ligeti. Nick was
also a visiting composer at the Computer Music Center at Columbia
University by invitation of Brad Garton during this
time.
Starting
in 2005 Nick began a painting/free improvisation collaboration with artist Ellen Levy, where abstract movies were created
using Adobe After Effects and Max/MSP. This led to the development of a live 3D
graphics/sound system using Pure Data and Blender called "Blendnik". As a result
of this work he started the New York City
Blender User's group which organized a
conference at NYU Polytechnic University.
Since
2010 Nick has been spending most of his time working on two significant, iOS
apps, both of which are in the iTunes store, "UndAground—New York" and moForte Guitar
Software Engineering Work Experience
2012-present Chief Scientist/Founder,
moForte Inc, Mountain View, CA/New York, NY
- Founder
and primary architect/developer, along with co-founders Pat
Scandalis and Julius
Smith of GeoShred and moForte Guitar, an iOS app based around a
physically modeled guitar. Also developed prototypes for a rhythm game which employs OpenGL and SpriteKit,
an audio effects processor for live performance, and a chord
dictionary. Developed or co-developed all aspects of the app
including user interface design/interaction, system-level audio
processing, social media sharing, data structures and algorithms for
real-time synthesizer sequencing, recording and e-commerce. First
release to iTunes store in late 2013. These products were
demonstrated at the winter NAMM show in Anaheim in 2013 and 2014, and have been
presented at multiple technical talks including the audio groups at Apple
and Google, AES, CCRMA, and MacWorld.
2010-2012 Chief Scientist/Founder,
UndAground, LLC, San Francisco, CA/New York, NY
- Software
architect and developer of "UndAground—New York", an iPhone app, which is a part
cultural tour guide and part comedy piece, centered around subway stops
and points of interest in New York City. Released to the iTunes store in
December 2011. Developed all of the iOS code, wrote most of the
commentary, art directed video, photos and digital graffiti. Also
developed a WordPress database to manage the content and scripts for
automatic updates. Co-founders were musician/writer/sound engineer Larry
The O, and graphic
designer/artist Lewis Bangham, with significant contributions,
from Ellen
Levy.
2000-2010 Independent Software
Engineer/Musician, San Francisco, CA/New York, NY
1996-2000 Distinguished
Engineer/Founder Staccato Systems, Mountain View, CA
Staccato Systems, which was acquired by
Analog
Devices was a spin-off from the Sondius Project. The primary product was an audio synthesis engine called
SynthCore. SynthBuilder was the primary internal tool used to create content
for SynthCore, which was primarily oriented towards game sound effects. Nick
was one of 7 founders of Staccato Systems.
- Implemented
synthesis algorithms for event modeling and a virtual analog synthesizer
using SynthBuilder/SynthCore
- Ported/improved
SynthBuilder from NeXTSTEP (Objective-C) to YellowBox for windows
- Created
a data-file driven generic user interface for unit generators and control
surface editor.
- Designed
and implemented new internal graphical data structures to improve
drawing/memory performance
- Designed
and implemented a code generator that converted internal graphical patch
representation to the SynthCore language.
- Designed
and implemented a graphical synthesis data browser, including an envelope
and partials editor
- Developed
automated testing scripts
- Assisted
in initial development of synthesis engine
- Debugged
unit generators that were converted from DSP56000 code to C
- Assisted
in development of SynthCore language
1993-1996 Software Engineering
Consultant, Sondius Project, Stanford University
The Sondius Project started at Center for Computer Research in Music and Acoustics (CCRMA), and was sponsored by the Stanford
University Office Of Technology Licensing.
The Sondius project was primarily focused on the development of physical
modeling based synthesis algorithms and a prototyping tool called SynthBuilder,
which was primarily developed by Nick. Many live demonstrations were given at
places such as UC Berkeley, the CCRMA Affiliates meetings, Xerox Parc, and the
International Computer Music Conferences in 1994-1996 were given. In addition,
many patents were associated with
the Sondius Project.
- Developed
SynthBuilder (NeXTSTEP Objective-C)
- Started
from the Grasp prototype and the NeXT Draw example
- Extended
Draw classes to handle connections between unit generators
- Implemented
sub patch mechanism.
- Designed/implemented
unit generator inspector architecture
- Designed/implemented
interface to MusicKit API
- Fixed
bugs in the MusicKit
- Assisted
in debugging of DSP56000 code
- Assisted
in the development of physical model algorithms for bowed strings, piano,
flute, saxophone, electric guitar, harpsichord, culminating in a demo CD which
was instrumental in securing funding for Staccato Systems.
- Assisted
development of the Frankenstein Box, a home-brew DSP56000-based special
purpose hardware synthesis engine
1991-1993 Consultant/Software
Engineer/Release Manager, PetroVision, Los Altos, CA
PetroVision produced geophysical interpretation
software and was funded by the Gas Research institute. Pierre Samec, a Stanford
Geophysicist was the founder of this company.
- Assisted
in C++ design of a ray tracer, and many other aspects of the system, which
included sophisticated interprocess communication based on ISIS and a
database based on Informix and Oracle.
- Developed
seismic data signal processing modules in C/C++ based on integration of
custom and public domain algorithms into a generic graphical framework.
- In
charge of implementing all configuration management, release engineering,
porting, and tape generation systems. Used Imake, RCS, awk, sed, ed, csh, sh and other UNIX tools.
- Developed
a SEG-Y format seismic data binary tape reader in C.
- Assisted
with SUN and SGI system tasks, such as maintenance of NIS databases,
backups, window system configuration, installation of operating systems,
Informix database, ObjectCenter compiler and Purify.
1986-1991 Software Engineer/System
Admin, Teradyne EDA/AIDA, Santa Clara, CA
Teradyne produced electronic design
automation/test software. Teradyne acquired AIDA and Case Technology in 1988,
resulting in Teradyne EDA.
- Designed
and implemented a configuration management system based on Apollo's Domain
Software Engineering Environment (DSEE). This was written in C and used
the DSEE API for building and releasing software using a sophisticated
versioning scheme on the SUN and Apollo platforms.
- Developed
an EDIF (Electronic Design Interface Format) reader/writer in C, using
LEX, YACC and an advanced internal database API called netgen.
- Developed
a Sunview window interface in C for simulation applications.
- Assisted
in the development of C program for assembly code generation for a
proprietary RISC machine used for large scale digital circuit simulation
- Development
of a network server for queuing simulation jobs.
- Converted
electronic database translator applications in C to use an improved
database format.
- Planned
network for a new building, wrote an email system, OS installation system,
backup system, and assisted users with questions. SUN administration was
also part of the job.
1984-1986 Software Engineer, Calma
Company, Austin, Texas
Calma produced electronic design
automation software based on the Tegas simulator
- Assisted
in development of TaskMaster, which integrated the Tegas simulator into a
consistent framework
- Wrote
an email system for the Apollo network.
- Wrote
a bug tracking system.
- Evaluated
DSEE and made presentations to management.
- Wrote
150 page user manual for TaskMaster.
1983 Intern, ETA Systems, Minneapolis,
Minnesota
ETA Systems was a spin-off of the Control Data
Advanced Design Lab
- Wrote
translators to integrate the in-house simulator with the Mentor
Workstation
Computer Languages/Systems
Expert in C, Objective-C, C++, Python,
PHP, Perl user interface design, iOS/Xcode, WordPress. A fair amount of work in
JavaScript, Microsoft Visual C++, Digital Signal Processing, as well as some
Matlab. Proficient in the UNIX shell environment. Have
used many mobile devices, Mac, NeXT, Sun, Windows, and VAX/VMS systems.
Education
- Developed
initial prototype for SynthBuilder.
- Developed
a NeXTSTEP application for digital phasing and flanging based on
understanding of first principles.
- Took
all the digital signal processing courses, using
Mathematica for class projects, and compiled formal transcriptions into an
annotated 500 page volume.
- Took
a digital effects seminar, learned the architecture of the DSP56000 chip
and experimented with some example effects programs.
1979 to 1984: Bachelor of Science in
Electrical Engineering Texas A&M University
- Specialized
in computer aided digital system design and power systems.
Awards/Papers
- N.
Porcaro, E. Levy, "Blendnik:
A Real-Time Performance System Using Blender and Pure Data", presented at the 2009 Pure Data
Conference in Sao Paulo Brazil, and the 2009 Blender Conference in
Amsterdam, Netherlands.
- Porcaro
et. al. "SynthBuilder: A
Graphical Rapid-Prototyping Tool for the Development of Music Synthesis
and Effects Patches on Multiple Platforms", Computer Music Journal Summer 1998
- Grand
prize "Golden Max" award 1997 Bourges International Music
Software Competition
- N.
Porcaro, P. Scandalis, D. Jaffe, and J. O. Smith,"Using SynthBuilder for the creation of physical
models",
in
Proceedings of the 1996 International Computer Music Conference, Hong Kong.
1996, Computer Music Association.
- N.
Porcaro, W. Putnam, P. Scandalis, D. Jaffe, J. O. Smith, T. Stilson, and S. V. Duyne,"SynthBuilder and Frankenstein, tools for
the creation of musical physical models", in
International Conference on Auditory Display, Palo Alto, G. Kramer, Ed.
1996, Santa Fe Institute and Xerox Parc.
- N.
Porcaro, P. Scandalis, J. O. Smith, D. A. Jaffe, and T. Stilson, "SynthBuilder–a
graphical real-time synthesis, processing and performance system", in
Proceedings of the 1995 International Computer Music Conference, Banff.
1995, pp. 61-62, Computer Music Association,
- D. A.
Jaffe, J. O. Smith, and N. Porcaro, "The Music Kit on a PC",
in Proceedings of the First Brazilian Symposium on Computer Music, XIV
Congress of the Brazilian Society of Computation, Caxambu,
Canela, Brazil, Aug. 1994, pp. 63-69, Informática UFRGS.
- N.
Porcaro. P. Scandalis, Y. Lin "EDIFTRAN, an EDIF
Netlist Reader for Teradyne EDA DA Systems",
Teradyne Users Group, 1990.
- AIDA
Corporation employee of the month, January 1987, January 1988.
- Coordinator
Apollo User's Society CAE special interest group, 1986
- Authored
paper on Apollo Display Manager, 1986 Apollo User's Group conference
- Donated
display management software package to Apollo User's Group in 1986.