CURRICULUM VITAE
Professional
Experience |
Link to external site |
SUMMARY OF QUALIFICATIONS |
SPECIALIZATIONS
PROGRAMMING LANGUAGES
Fluent in JavaScript/HTML5/CSS, Elixir, Julia, Java, PHP, Ruby, SQL, Tcl/Tk, C, C++, Objective-C, and LabVIEW
Familiar with assembly, Basic, Forth, Fortran, Lisp, Matlab, Perl, Prolog, Python, Scala, Scheme, Smalltalk
Front-End Technolgies: React, Svelte, Ember, D3, jQuery
PROFESSIONAL EXPERIENCE |
present
2/2007 |
Thyrd Informatics, Encinitas, California
Independent Contractor/Researcher: Information systems design and engineering. Consulting in the areas of web development, scientific visualization, and mobile application development. Research into end-user and visual programming. Technologies: Linux, Windows, and Mac OSX; JavaScript, Elixir, Tcl/Tk, C, C++, C#, Java, and Objective-C |
5/2023
12/2021 |
ZingSoft, San Diego, California
Software Engineer and Analyst: Design and development of web components for data visualization. Technologies: Linux, Windows; JavaScript, HTML5/CSS, Svelte, React, Node.js |
6/2021
10/2020 |
Showcase IDX, Atlanta, Georgia
Lead UI Architect: Leading team of front-end engineers creating web applications for finding and buying homes with MAUs in the millions. Technologies: Linux; JavaScript, HTML5/CSS, React, Node.js, Ruby/Rails |
9/2020
12/2018 |
Guavus, San Jose, California
Architect: Design and development of the StreamLab live programming environment for streaming data applications. Technologies: Linux, Windows; JavaScript, HTML5/CSS, Ember, D3, React, Node.js, SQL |
12/2018
3/2011 |
SQLstream, San Francisco, California
UI/UX Architect and Engineer: Design and development of single-page Web apps (StreamLab and s-Dashboard) and Java apps for SQL programming and data visualization. Technologies: Linux, Windows; JavaScript, Java, HTML5/CSS, Ember, D3, React, Node.js, Ruby, SQL |
3/2011
2/2010 |
TechnoCom Wireless, Carlsbad, California
Principal Software Engineer: Rich Internet Application and Web Services development for location-based services. Technologies: Linux, Windows; JavaScript, PHP, XHTML/CSS, SQL, C++ |
2/2007
9/2004 |
Automated Molecular
Imaging Group, The Scripps Research Institute, San
Diego, California
Sr. Systems Architect: Responsible for the management, administration, development and planning of the scientific computing architecture for the AMI group. Support and enhancement of the network architecture, comprised of ~40 servers and desktops with ~20 users. Web application development and infrastructure support for programming staff. Technologies: Linux (SuSE, RedHat), Windows NT, 2000, and XP, Mac OS X; PHP, Perl, Python, HTML, SQL, C/C++ |
9/2004
12/1993 |
Neurosciences Institute,
San Diego, California
Information Technologies Director: Responsible for the management of engineering staff, system administration, specification and purchasing of computer systems and peripherals, and general support of researchers. Application and web development for numerous research projects involving data acquisition, instrument control, and data analysis. Successfully architected the growth of the Institute's computational infrastructure from ~12 loosely-connected systems to a network comprised of over 250 servers and desktops spanning three buildings and supporting ~50 faculty and staff. Technologies: Solaris, Irix, Linux (RedHat), Windows 95/98/NT/2000/XP, Mac OS 8 to X; C, C++, Tcl/Tk, LabView, Matlab, Java, Objective-C, PHP, HTML |
11/1993
2/1989 |
San Diego Supercomputer
Center, San Diego, California
Staff Programmer/Analyst: Computer graphics programming and research for scientific visualization. Responsibilities include user interface design and analysis, 3-D graphics and X Windows programming, project leadership and working with researchers on visualization projects, management of undergraduate programmers, evaluation of hardware and software for purchase, and interaction with the scientific and supercomputing communities. Co-author of several funded NSF and NIH grant proposals. Technologies: Solaris, Irix, Windows, DOS, Mac OS 7; C, C++, Tcl/Tk, Fortran; virtual reality, video and audio hardware and software |
2/1989
2/1987 |
FTL
Games (Software
Heaven, Inc.), San Diego, California
Computer Games Designer/Programmer: Sole programmer responsible for the Amiga port of Dungeon Master (1987). Design and development of game software for the Amiga personal computer. Development of C coding standards. Technologies: AmigaOS, C |
1/1986
5/1983 |
GTI, Inc., Computer Graphics
Division, San Diego, California
Computer Graphics Programmer/Analyst: Design and implementation of interactive graphics demonstrations for GTI's POLY 2000 graphics system. Design and implementation of the PolySketch rapid-prototyping graphics package for the POLY 2000. Design and implementation of a raster graphics package that mimics the functions of the POLY 2000e hardware, including Gouraud shading and anti-aliasing of polygons. Training of GTI customers and employees on POLY 2000 programming techniques, C programming, and the Unix operating system. Technologies: Unix, C |
4/1986
9/1980 |
Quantitative Morphology Lab,
UCSD School of Medicine
QMLab, lead by Dr. Robert B. Livingston, performed research in the acquisition, analysis, and rendering of 3-dimensional anatomical structure. System Manager: Management of a computer system consisting of an Evans & Sutherland Picture System II and a PDP 11/34 running the Unix operating system. Research in computer graphics as applied to the imaging and analysis of neurological morphology. Responsible for hardware and software purchasing specification and hiring and management of programmers. Technologies: Unix, C, Evans & Sutherland Picture System 2 |
12/1983
9/1979 |
Cognitive Science Laboratory,
UC San Diego
CSL, lead by Dr. Donald A. Norman, performed research in human-machine interaction and interface design. Programmer: Programming and research in the human-machine interfaces of electronic mail and text editors, and in instructional design. Technologies: Unix, C |
CONSULTING EXPERIENCE |
Dr. Ted W. Cranford, SDSU Biology, Consultant, 7/2008 to 1/2010: Development of whale science web portal, scientific visualization and system administration.
Annenberg Center, USC, Consultant, 9/1998 to 4/1999: Development of neural network software for Vibeke Sorensen's Morocco Memory II project.
UCSD Extension, Instructor, 1/1993 to 3/2002: Author and instructor for a one-day seminar on virtual reality design and implementation and two full-quarter classes: Introduction to Programming and C Programming I.
Virtual Reality Now magazine, Editor, 6/1992 to 11/1993: Member of editorial board
Pixel magazine, Editor, 1/1991 - 12/1992: Author of a series of articles on scientific visualization software.
Phi-Squared, Consultant, 4/1990 to 12/1993: Design and development of OpenMolecule, a molecular modeling application for Sun Microsystems workstations.
S-Cubed, Consultant, 10/1987 to 6/1988: Development of custom software for the animation of scientific data on the Amiga personal computer.
Phase 5 Computers, Instructor, 4/1987 to 6/1987: Author and instructor for a class in C Programming.
DevWare, Vice-President, 4/1987 to 4/1990: Editor-in-Chief of DevWare's public domain software library for the Amiga; corporate management.
Angel Studios, Consultant,8/1986 to 4/1987: Software development and computer animation production using the Wavefront 3D animation package on a Silicon Graphics IRIS 3030 workstation.
Boeing Aerospace Company, Consultant, 5/1986 to 6/1986: Design, implementation and documentation of a human model simulation on the GTI POLY 2000 graphics system.
Rockwell International, Space Station Division, Consultant, 12/1985 to 3/1986: Development of an animation package on the GTI POLY 2000 graphics system including keyframing and real-time recording and playback capabilities.
Automated Microbiology Systems, Consultant,4/1985 to 5/1985: Tutoring of two programmers involved in converting a large amount of BASIC programs to the C programming language.
Hughes Aircraft Corp., Consultant,7/1984: Development of a real-time graphic simulation of a ground-based turret on the GTI POLY 2000 graphics system.
Rockwell International, Space Station Division, Consultant, 4/1984: Development of real-time graphic simulations of space shuttle and space station operations on the GTI POLY 2000 graphics system.
Learning Tree International, Course Instructor,4/1983 to 5/1984: Instructor for Unix: State of the Art and Programming in C hands-on courses.
PUBLISHED PAPERS AND ARTICLES |
Using ZingGrid With React 17, Mercurio, Philip J. Blog post, April 2022 Source code
Using ZingGrid With Svelte 3, Mercurio, Philip J. Blog post, April 2022 Source code
Thyrd: An Experimental Reflective Visual Programming Language, Mercurio, Philip J. Talk presented at OSCON Emerging Languages Camp, Portland, Oregon, July 2010 draft of accompanying paper
Poet: An OOP Extension to Tcl Supporting Constraints, Persistence, and End-User Modification, Mercurio, Philip J. Proceedings, Tcl'2007 (14th Annual Tcl/Tk Conference), New Orleans, September 2007
Introduction to Programming, Mercurio, Philip J. UCSD Extension Course Notes, November, 1995. Published online August, 2004 at http://www.thyrd.org/mercurio/introprog
C Programming, Mercurio, Philip J. UCSD Extension Course Notes, August, 1995. Published online August, 2004 at http://www.thyrd.org/mercurio/cclass
A Collaboratory for Microscopic Digital Anatomy: Remote Access to the San Diego MIR IVEM and High Performance Computing Resources, Ellisman, Mark H. and Mercurio, Philip J. Proceedings, Workshop on Real-time Applications of High Performance Computing for Biological Imaging, Urbana-Champaign, September, 1993 (abstract)
Presence and Telepresence: The Design and Implementation of Virtual Realities, Mercurio, Philip J. UCSD Extension Course Notes, February, 1993. Published online August, 2004 at http://www.thyrd.org/mercurio/vrclass
The Microscopist's Workstation, Mercurio, Philip J., Elvins, T. Todd, and Young, Stephen J. Proc., Visualization '92, Boston, October, 1992.
The Distributed Laboratory: An Interactive Visualization Environment for Electron Microscopy and 3D Imaging, Mercurio, Philip J. et. al. Communications of the ACM, Vol. 35 #6, June, 1992.
Using Virtual Reality in Scientific Investigation: Some Human-Machine Interface Issues, Mercurio, Philip J. Proc., Medicine Meets Virtual Reality, San Diego, June, 1992. (abstract)
Visualization Tools: University of New Mexico's Khoros, Mercurio, Philip J. Pixel, March-April, 1992.
Visualization Tools: Wavefront's Data Visualizer, Mercurio, Philip J. Pixel, July-August, 1991.
Software Development Using XGL and XView, Mercurio, Philip J. and Cohen, Philip S. Proc., Sun User Group Summer Technical Conference, June 1991.
Visualization Tools: 3-D Hardcopy: The Hosoya Cube. Mercurio, Philip J. Pixel, March-April, 1991. (1.3MB!)
Interactive Scientific Visualization: An Assessment of a Virtual Reality System. Mercurio, Philip J. and Erickson, Thomas D. Proceedings, Interact '90, August 1990.
Computer Animation at UCSD, Loomis, Jeffrey A. and Mercurio, Philip J. UNICOM (Unix users) Winter Conference, 1983.
The UCSD MSG System: Iterative Design in the UNIX Environment. Mercurio, Philip J. USENIX, July, 1982.
Electronic Mail with the UCSD MSG System. Brien, Robert and Mercurio, Philip J. Cognitive Science Laboratory tutorial, June, 1982.
PUBLISHED FILMS, VIDEOS, AND IMAGES |
StreamLab 2.2 / s-Dashboard Mapping Demonstration, 2018, Mercurio, Philip J. 9 minute video recorded April, 2018.
s-Dashboard Numericals Demonstration, 2018, Mercurio, Philip J. 11 minute video recorded April, 2018.
StreamLab 2.1 Tutorial, 2016, Mercurio, Philip J. 11 minute video recorded October, 2016.
StreamLab 1.1 Demonstration, 2014, Mercurio, Philip J. 13 minute video recorded October, 2014.
StreamLab Demonstration, 2014, Mercurio, Philip J. 6 minute video recorded March, 2014.
Thyrd Presentation at Emerging Languages Camp, OSCON, 2010, Mercurio, Philip J. 19 minute video recorded July, 2010.
Maya, Sorensen, Vibeke. Stereoscopic 35mm film. Siggraph Electronic Theater, August, 1994. Part of the Interactive Stereoscopic Imaging project (see SPV below).
Telemicroscopy Showcase '92 Demo (rough cut), Mercurio, Philip J. 11 minute videotape, October, 1992.
Human Brain: Stereoscopic View, Mercurio, Philip J. Siggraph Technical Slide Set, July, 1992. [Also appeared in Art History and the Criticism of Computer-Generated Images, Elkins, James, Leonardo, Vol. 27 #4, 1994.]
UCSD Reflections, Mercurio, Philip J. Computer graphics leader for interactive videodisk presentation, Educom, 1991.
Color Bars Improvisation, Sorensen, Vibeke. Stereoscopic 35mm film. Siggraph Electronic Theater, August, 1991.
Human Brain: Top View, Mercurio, Philip J. Siggraph Technical Slide Set, August, 1991.
Scientific Visualization in a Virtual Reality, Mercurio, Philip J. and Erickson, Thomas D. 15 minute videotape, August, 1990.
Stokesian Dynamics Simulation of Sheared Suspensions. Brady, John F., Durlofsky, Louis J., Mercurio, Philip J., and Landel, Kevin L. 9 minute videotape, October, 1989.
Cephalic Symbols. Cranford, Ted. Video tape and 16mm color film. Computer graphics of a dolphin head, presented at the Sixth Biennial Conference on the Biology of Marine Mammals, November, 1985; updated and re-released as Cephalic Symbols II, August, 1986.
To Think. ComCorps Films. 35mm color film, shown at the 1985 World's Fair in Japan.
QMLab Demo. Loomis, Jeffrey A. and Mercurio, Philip J. Video tape and 16mm color film. Quantitative Morphology Laboratory, University of California at San Diego, 1983.
Pioneering Research in Hypertension. 16mm color film. Wexler Film Productions, Hollywood, California, 1982 (for Boehringer Ingelheim LTD.).
Les Trois Cerveaux (The Triune Brain). 16mm color film. National Film Board of Canada, Montreal, Canada, 1983.
PUBLISHED SOFTWARE |
Brain VR. Android app for viewing a model of a human brain in virtual reality (Google Cardboard). http://thyrd.org/ti/brainvr July, 2015.
StreamLab and s-Dashboard. End-user SQL programming environment and real-time streaming dashboard component. Web apps developed using Ember, D3 and jQuery. http://www.sqlstream.com/products/streamlab March, 2014. StreamLab videos: s-Dashboard videos:
s-Transport Web App. jQueryUI web app visualizing traffic flow statistics over Google Maps, with a Ruby on Rails backend rendering real-time streams processed by SQLstream s-Server. August, 2012.
WebGL Brain Demo. A web application visualizing the Livingston brain data using WebGL. http://thyrd.org/brain February, 2010.
Coachella09. An Un-Official Guide to the 2009 Coachella Music Festival iPhone application. Website March, 2009.
Thyrd. An experimental, reflective, visual programming language. Released as open source at http://thyrd.org/thyrd November, 2008. OSCON 2010 presentation:
Poet. An object-oriented programming extension to Tcl/Tk supporting constraints, persistence, and end-user modification. Released as open source at http://poet.sourceforge.net September, 2007. Poet video: Poetics video:
tablaexp. An online experiment investigating subjects' abilities to match tabla drum sounds with the nonsense syllables used by tabla players to express rhythms. Implemented in Java, PHP & HTML. April, 2003.
dna2abc. A Tcl/Tk application for turning DNA sequences into musical sequences. The core of the application is an editor for a list of rules. Each rule consists of a regular expression and a Tcl script. As dna2abc scans along the input DNA sequence, each rule is tested against a portion of the sequence, and, if the regular expression matches, the corresponding Tcl script is executed. Released as open source at http://dna2abc.sourceforge.net June, 2001.
tclscan. Syntax highlighting module for the Lemmy text editor. Submitted to the Lemmy distribution April, 1997.
rcsFilt. Filter which, when used in conjunction with the XVile text editor and RCS (Revision Control System), colors the lines of a source file according to their age. Submitted for inclusion with the XVile editor, April, 1995.
Microscopist's Workstation, San Diego Microscopy and Imaging Resource and San Diego Supercomputer Center. Suite of networked applications for remote data acquisition from the SDMIR Intermediate/High Voltage Electron Microscope, employing Sun SPARCstations. Software includes support for distributed processing on high-performance computers, database browsing and annotation, and collaborative work. August, 1992.
Open Molecule, Phi-Squared & AnDATAco, Inc. Molecular visualization software for the Sun SPARCstation, August, 1991.
SPV (Stereo Preview), San Diego Supercomputer Center. Animation production tool emulating Wavefront's Preview program, featuring stereoscopic display, a custom hand-held 6 degree of freedom interaction device, and motion parallax derived from head position tracking, May, 1991.
ImXShow, San Diego Supercomputer Center. X-Windows-based image display utility/library for still images and animation loops, August, 1990.
DiskSalvage, Quicksilver Software. Graphical user interface to the Amiga utility "DiskSalv". AmigaWorld Toolchest, February, 1989.
Dungeon Master, FTL Games. Real-time role-playing adventure game for the Amiga personal computer, released November, 1988.
Darwin, Quicksilver Software. Interactive graphical simulation of genetic algorithms. June, 1988.
AP (Animation Package), Quicksilver Software (under contract to Rockwell International). Keyframe animation system for the POLY 2000 graphics system, March, 1986. (no audio)
UCSD MSG System, UCSD Cognitive Science Lab. Menu-driven user interface to Unix electronic mail featuring context-sensitive on-line help, August, 1982.
EDUCATION |
University of California, San Diego: 9/1978 to 6/1980
Bachelor of the Arts in Experimental Psychology (Minor: Biology)California Institute of Technology: 9/1975 to 6/1978
Major: Independent Studies (Psychobiology)