John F. McGowan, Ph.D.

Software Engineer

E-Mail: Telephone: 650-941-1757

Services Offered:

Software Development: Rapid Application Development, Research, Development, Porting and Implementation of Advanced Algorithms, Design and Development of Systems Using Advanced Algorithms

Computer Languages: C#, C/C++ (Visual Studio, GNU C/C++, CodeWarrior), Visual Basic (VB.NET and VB6), VBA, Java, Python, Perl, SQL, Mathematica (similar to MATLAB)

Operating Systems: Windows, Unix(Linux, Solaris, AIX, Irix), Macintosh

Multimedia: MPEG-4, MPEG-2, MPEG-1, Dolby Digital (AC-3) audio, MP3 audio, JPEG, Independent JPEG Group’s (IJG) JPEG software, DVD, VideoCD

Image and Signal Processing: Models of Human Visual System, Infinite Impulse Response (IIR) Filters, Discrete Cosine Transform, Fast Fourier Transform, Edge Detection Algorithms, Wavelets, Pattern Recognition, Insight ITK Toolkit (C/C++ class library)

Speech Recognition: Microsoft Speech, Dragon Naturally Speaking, CMU Sphinx (Java and C/C++ versions), Hidden Markov Model (HMM) speech recognition algorithms, Praat, Audacity

Mathematics: Linear Algebra, Analytic Geometry, Calculus, Ordinary and Partial Differential Equations, Statistics, Mathematical Modeling Methods, Curve and Function Fitting, Non-Linear Optimization Methods, Maximum Likelihood Methods

Databases: MySQL, Microsoft Access

Project Management: Microsoft Project, MS Word, software and R&D planning, cost and schedule estimation using Gantt, PERT, and other network methods. Budget estimation. Proposal Writing. Technical presentations. MS PowerPoint


Ph.D., Physics 1993

University of Illinois at Urbana-Champaign

B.S., Physics 1985

California Institute of Technology



(January 2003 -Present)

Research and Development Division

GFT Group

(A small research and development and consulting business)

Designed and developed the Petrana Audio Mailer in Visual Basic. The Petrana Audio Mailer is an innovative audio messaging system with automated file attachment. The program records your voice, creates an e-mail with the recording attached in MP3 format, plays back the recording, and sends the e-mail via Microsoft Outlook or Outlook Express using four spoken commands, button clicks, or keystrokes. See for further information and a trial version of the software.

Research and development of new mathematical methods and algorithms for speech recognition. This includes rapid prototyping of algorithms using Mathematica (an algorithm development language similar to MATLAB) and development of a fast compiled implementation in C/C++ using the CMU Sphinx C/C++ speech recognition system, the Insight ITK toolkit (a C++ class library for image processing), and other open source tools in C/C++. Some work with open-source Java systems such as the Java version of Sphinx, GATE, and ArtiSynth.

Designed and developed the Petrana Presentation Controller software program for controlling PowerPoint presentations entirely by voice command using Microsoft Speech. The Petrana Presentation Controller was developed in Visual Basic. Petrana enables the presenter to jump to slides in any order, to bring up slides with answers to frequently asked questions, launch videos and external programs, and to trigger special effects such as rhetorical questions asked by the computer. The software is in the beta stage and a trial copy is available on the Petrana web site. Http://

Designed and developed Petrana Code Mangler, a code obfuscation and encryption program for Dragon NaturallySpeaking Advanced Scripting (Visual Basic for Applications). Converted code mangling engine to fast compiled ActiveX control for version 2.0. Used the Petrana Code Mangler to create trial versions of the Petrana Voice Commands for Outlook Express 1.0 and the Petrana Voice Commands for DVD 1.1 (see below). Licensed the Petrana Code Mangler to Kaberline HealthCare Informatics, a Dragon NaturallySpeaking reseller and software development company.

Designed and developed the Petrana Voice Commands for Outlook Express 1.0, an extension to the Dragon NaturallySpeaking Professional speech-recognition software that makes it easier and faster to control the Microsoft Outlook Express electronic mail program by voice. The product was released March 2005.

Designed and developed the Petrana Voice Commands for DVD 1.0, an extension (written in Visual Basic) to the Dragon NaturallySpeaking Professional speech-recognition software that enables voice-activated playback and control of DVDs and other media on personal computers.

Research and development of a prototype edge detection system in Python.

Senior Research Program Manager

(June 2002 –January 2003)

Identix (formerly Visionics)

(Identix is now part of L1 Identity Solutions)

Managed Identix participation in the federal government’s Facial Recognition Vendor Test 2002 (FRVT 2002) held at Fort Dahlgren, VA from July 29 to August 9, 2002. Served as Technical Point of Contact for the federal government. Supervised integration and testing of the facial recognition application submitted to the FRVT 2002.



(October 2000 - June 2002)

GFT Group Incorporated

Research and develop mathematical methods and algorithms for edge detection, image segmentation, computer vision, and contour or object-based image compression. Primarily identify, research, and develop novel mathematical methods for edge detection. Development of a Microsoft Windows prototype that reads JPEG and other image files, performs image processing operations, displays the results, and saves the results as a JPEG or other image file using Microsoft Visual C/C++ 6.0 and Microsoft Foundation Classes.

Technical Lead, Desktop Video Expert Center (July 1998-September 2000)

Raytheon/NASA Ames Research Center

The Vision Science and Technology Group at NASA Ames Research Center has developed an algorithm known as DVQ, an abbreviation for Digital Video Quality, to estimate the quality of compressed digital video using a model of the human visual system. Designed, coded, and optimized a portable ANSI C implementation of the DVQ algorithm that runs on Windows NT, SGI, and Macintosh platforms. This program was submitted to the International Telecommunication Union (ITU)’s Video Quality Experts Group (VQEG) competition for a digital video quality metric standard on August 7, 1998.

Prepared an in-depth study for NASA Ames Research Center of a video system for a proposed NASA Mars Airplane to fly down the Valles Marineris canyon on the planet Mars including power, weight, volume, bit rate, and bit error rate requirements for the system using MPEG digital video technology.

Served as Task Manager, primarily an administrative position, for the Video Technology task of Raytheon’s FIPS contract with NASA Ames for six months. Supervised two, later three, technicians and engineers. Prepared monthly task reports required by contract. Tracked the task budget, comparing the actual and planned expenditures. Contributed to the revision of the Contract Task Order (CTO) for the task to add a new position. Formulated a revised job description, interviewed, and hired a video technician for the new position.

Technical Lead, Desktop Video Expert Center

(Jan. 1997 – June 1998)

Sterling Software/NASA Ames Research Center

(Sterling Software is now part of Computer Associates)

The Vision Science and Technology Group at NASA Ames Research Center has a patented technology known as DCTune (U.S. Patent 5,426,512) to improve JPEG still image compression by determining the best quantization matrices for specified viewing conditions based on a psychovisual model. DCTune was implemented as a Mathematica prototype.

Working with the Vision Group, designed and coded a strict ANSI C implementation of DCTune that compiles and runs on PC/Windows 95/NT (Visual C/C++), PowerMacintosh (CodeWarrior), and Unix (GNU C/C++) computers. The C language DCTune reads Portable Pixmap (PPM) images and outputs perceptually optimized JPEG images.

Software Engineer/Project Manager

(Jan., 1995 - Oct., 1996)

CompCore Multimedia Inc.

(CompCore was acquired by Zoran Corporation in early 1997)

Wrote CompCore’s SoftDVD MPEG-2 Audio/Video Player for Pentium PC in Microsoft Visual C/C++. Supervised a software engineer who developed a software module for sub-picture decoding (sub-titles) for SoftDVD. Supervised and contributed to the integration of sub-picture decoding into SoftDVD. Compaq, CompUSA, Hewlett-Packard, Diamond Multimedia(S3), Matrox, Micron, Packard Bell NEC and other companies used SoftDVD technology in their products. Zoran transferred SoftDVD to MGI Software in June of 1999. MGI Software markets SoftDVD MAX.

Designed and coded user interface called CD Vision modeled on VCR remote control to play MPEG-1 audio/video files, CD-I, and Video CD CD-ROMs on PC’s running Windows 3.1 and Windows 95. CD Vision supports the Video CD 2.0 standard. CD Vision is written in C and C++, using Windows C language API for windowing and C++ for internal data structures. CD Vision uses the Microsoft MCI interface to communicate with the SoftPEG MPEG-1 decoder. Worked with graphic artist on layout and visual appearance of bitmap used in CD Vision.

Identified and implemented a more efficient algorithm for the MPEG-1 audio decoding. CompCore’s SoftPEG MPEG-1 Audio/Video Player product uses the new algorithm to provide full 44 Khz sample rate decoding of MPEG-1 audio (MP3), something that could not be done with previous algorithm.

Ported software MPEG-1 digital video player in ANSI C from PC to Unix (GNU C/C++ compiler) and Macintosh (CodeWarrior) platforms. Resolved byte order dependence problems, non-portable yet ANSI compliant C code, bugs in the optimization phase of the GNU and CodeWarrior compilers, and miscellaneous other problems.

Senior Software Engineer (Oct., 1993 - Aug., 1994)


Research Assistant (1987 - 1993)

University of Illinois at Urbana-Champaign

(Department of Physics)

Other: Advanced Toastmaster Bronze (ATM-B) and Competent Leader (CL) in Toastmasters International. Author on numerous publications. US Citizen.

Serious Professional Inquiries Only: Please no phone screening interviews exceeding 15 minutes with organizations located within 90 minutes driving time of Mountain View, CA. I am glad to meet you at your office or a mutually agreeable alternate location.