Phil started developing for Unix in 1982, X/Motif in 1989, Object-Oriented Programming in 1990, C++ in 1993, and Java in late 1995.
WORK EXPERIENCE
Nov 2008 to Feb 2009
Wrote an address book program in Java using Swing for my Dad for Christmas.
The data is stored in XML files using DOM.
It prints envelopes and address labels.
People and their addresses are listed in a swing table.
This software was developed using Windows XP
but tested on my Dad's Mac and my Ubuntu Linux laptop.
Stock Market Analysis Software --- Mar 2002 to Sep 2006
Experimented with several approaches
for the computer analysis of stock prices and mutual fund prices:
My Stock Trading System (STS) generates short-term trades.
My Mutual Fund Portfolio Acceleration (MFPA) increases the performance
of a mutual fund portfolio by using aggressive rebalancing.
This software is written in Java.
Fiserv Correspondent Services (FCS) as direct employee, Denver, CO --- Mar 1999 to May 2001
Improved their Java I-netWORK$RegisteredRep applet as follows
store on stock broker's machine instead of being downloaded every time
(it is about 5 megabytes in size plus the JRE)
added printing support for grid-based screens and other screens
changed GUI from awt to swing
because it used too many system resources to run on Windows 95 or 98
wrote serialization/compression/encryption software
so it runs 7 times faster
(over a slow MODEM connection)
than http over SSL
used Java reflection to build query input fields "on the fly"
wrote NetworkClassLoader
which downloads any class files which have changed
used Java native code and Java Reflection to access COM objects
(using IDispatch)
debugged and wrote new COM objects which access the Tandem mainframe
(SIS securities software written in C and COBOL)
and access our Microsoft SQL 7 database
added JDBC access for Java to access the SQL 7 database
developed a "pure-Java" approach: client, web server, Tandem mainframe
wrote extensive documentation
so that other developers could more easily add new screens
investigated using EJBs for future development work
changed to run as an application - user can download single exe file
or install from CD (used InstallShield)
Unfortunately, Fiserv (the parent company of FCS) shut down FCS
and transferred all the accounts to a sister company.
Everyone was eventually laid off.
This was during the stock market "crash."
Jeppesen as direct employee, Denver Tech Center --- Dec 1997 to Feb 1999
Used Unified Modeling Language (UML) to do Object-Oriented Analysis and
Design of embedded code which executes inside a leading CAD package (MicroStation/J
from Bentley) - this software draws aviation charts using information from
Jeppesen's Aviation Database
Implemented design in Java (using JDBC, RMI, and serialization)
Wrote Java coding standards and portions of our Software Design Process
Taught UML notation to other team members in several formal 3-day classes
Used System Architect (from Popkin) to draw and maintain UML diagrams and
generate portions of Java code (wrote script in BASIC which runs inside
SA and generates Java from diagrams including code which implements associations)
Jeppesen under contract with Raymond-James Consulting, Denver Tech Center --- Dec 1996 to
Oct 1997
Designed OO software and programmed in C++ on a UNIX (Sun
Solaris) platform.
Wrote SQL and stored procedures for a Sybase relational database.
Improved use of characteristic functions in Sybase stored procedures
via macros.
Used Entera and DCE in a three-tier architecture environment.
Implemented improved build environment using Makefiles and Perl scripts.
Worldwide Computer Solutions, Inc. (WWCS), Denver, CO --- Nov 1994 to Nov 1996.
Started my own teaching company which offered classes in
Object-Oriented
Analysis, Design, and Programming,
Java, C++, ANSI
C, X/Motif,
Unix, and using the Internet (World Wide
Web)
Obtained certification to teach Object-oriented Analysis for Lockheed
Martin's Advanced Concepts Center and taught the course several times
Taught my X/Motif course to US Air Force in Germany
Developed 3-day and 5-day Java courses and taught them several times
(work done for
Batky-Howell)
Developed a "Porting an application to the PowerPC"
presentation for Sun Microsystems
and delivered it in 6 major cities
Wrote a complex Java applet (computer dating) for a client (used
CGI to store data).
MetaCard Corporation, Boulder, CO --- May 1994 to Nov 1994.
Designed and implemented part of a new MetaTalk (clone of Apple's HyperTalk)
interpreter in C++.
MetaCard was a two-person company owned by a friend and his wife
from my PhD program.
Digital Equipment Corporation, Germany
Taught a class at U.S. Air Force base in Germany.
First week, taught ANSI C and one-day mini-course on X, Xt, and
Motif.
Second week, taught Object-Oriented Analysis and Design including
Rumbaugh notation and Booch notation and some C++
Classes included extensive lab work which complemented the lectures.
Federal Express, Memphis, TN. --- Dec 1993 to April 1994.
Staff engineer under contract through Martin Marietta (now Lockheed Martin).
Designed and coded C++ classes which interacted with X/Motif
(used UIMX) and
Sybase (used Persistence) on Sun Sparc workstations
(Unix).
Used OMT (Rumbaugh notation) to draw class diagrams.
Magnavox Corporation, Fort Wayne, IN. --- Aug 1990 to July 1993.
Staff engineer under contract through Aerotek to Magnavox for DoD project.
Provided mentoring services in UNIX, X/Motif, and OOPs.
Used Booch methodology (object interaction diagrams).
Did OOPs in Ada (even simple inheritance
using packages within packages). Taught week-long X/Motif course to their
engineers. Survey of UIMS including TeleUSE, UIMX, WCL, DIRT, and TAEPlus.
Designed User Interface Management System (UIMS) for use in a multiple
process environment. Wrote widgets (including a manager widget) and was
team leader for widget writers. Put a layer over TeleUSE so it could be
used by non-Motif literate. Designed and coded Ada using Rational R-1000
hardware. Wrote portions of Ada interface to X and Motif. Taught our UIMS
to support personnel (tech pubs) and application programmers. Experience
with code reuse issues.
Workstation Windows --- String 1990 to Aug 1990
Had my own consulting company which lead to my job at Magnavox.
Data Conversion Specialists, Louisville, CO - Fall 1989 through Spring
1990.
Developed X11/Motif applications with support for PostScript printers which
searched and displayed data from a CD ROM. Designed and coded Help System
(X11/Motif help support using SGML input with support for multiple fonts).
University of Colorado, Boulder, CO --- Summer & Fall 1988.
Graduate Part-time Instructor for Discrete Structures 1. Sole instructor
for the course. Did lectures, assigned homework, and prepared exams. Also
supervised two independent studies.
Paradyne Corporation, Largo, FL --- June 82 to December 84.
Software Engineer. Wrote several UNIX-like multiprocess operating systems
in C. Maintained an SDLC loop driver in UNIX. Attended UNIX internals course
at AT&T Technologies, Inc. Wrote the interrupt service routines for
SNA.
EDUCATION
Univ. of Colorado, Boulder --- Aug 1986 to Fall 1989
Was enrolled in the Ph.D. program in the Computer Science Department.
Research area was neural networks (an area of Artificial Intelligence).
Also courses in Analysis of Algorithms and Operating Systems. I have completed
the preliminary exams and required CS courses.
MTSU, Murfreesboro, TN --- Jan 1985 to Aug 1986
Computer Science major. MS Degree, Aug 1986 (4.0 GPA). Thesis research:
Computer Generated Three Dimensional Animation (with Hidden Surface Removal).
Included graduate courses in Computer Graphics, Databases, and Compilers.
MTSU, Murfreesboro, TN
Computer Science major. BS Degree, May 1982 (cum laude).