Alphabetical CLIENT List
ADC Associates : Palo Alto, CADeveloped/Published VisiTran data translator for the Apple II
Apple P.I.E. : Sunnyvale, CAPresident of Apple II club with Mark Wozniak
Applications Group, FSU : Tallahassee, FLWrote applications for various Depts of the State of Florida
Applicon, Inc : Santa Clara, CAUpgraded Applicon's VLSI CAD/CAM system software
Architects.DZone.com : San Francisco, CAWrote two articles on domain modeling concepts from Western Philosophy appearing June 2012
Australian Associated Press : Sydney, AustraliaNTS Manager for national satellite communications network
Aydin Energy Division : Palo Alto, CAArchitect of realtime control systems for Lawrence Livermore Labs
BAM : Sydney, AustraliaProduct Manager for Macintosh Enigma time management software
BellSouth Cellular : Atlanta, GACreated Middleware for Real-time Cellular Phone Billing System
BellSouth Wireless : Atlanta, GAArchitect of server software for BellSouth's Cellemetry service
BenefitWare : Stone Mtn, GADeveloped insurance direct reimbursement program using ObjectVision
Bullwinkles Pizza : Cupertino, CADeveloped graphical customer pickup reminder system
Byte Magazine : SF, CAWrote article on computer animation appearing in the May 1981 Byte Magazine
CGW & Associates : Mtn View, CATaught "Introduction to Ada" seminars at LeBaron Hotel
Cameo Systems : Santa Clara, CAMacintosh team leader for CIM system for Genentech
Chevron Oil : Richmond, CAOverhauled oil refinery pilot plant realtime GUI monitoring systems
ChoicePoint : Atlanta, GADeveloper of EJB based Business Credit Information Warehouse
Coca-Cola : Atlanta, GASupport and extend a MacApp-based client/server data warehouse
Coca-Cola : Atlanta, GADeveloped Macintosh GUIs for Coke's marketing data warehouse
Control Data Corp : Sunnyvale, CAMember of Operating System Group for CDC Star supercomputer
DCM, Inc. : San Leandro, CADeveloped multi-threaded controller for telephone cable test equipment
Digital Enterprises : Atlanta, GADeveloped system to monitor/log RAID disk status notifying alerts via digital pagers
ExistentialProgramming.com : Juan-les-Pins, FranceFrance Sabbatical to develop "Existential Programming"
FMC : San Jose, CADeveloped military vehicle simulations for prototype hardened-LAN
Fabric.com : Marietta, GACTO for an e-commerce / online-auction / industry-portal startup
Federal Express : Memphis, TNWrote white paper on X GUI interoperability & style guidelines
Florida State University : Tallahassee, FLMath/Computer Science graduate of Florida State University
Formaster : Santa Clara, CADeveloped disk copy protection software for Macintosh
Gamelan.com : Darien, CTWrote article on Javascript Class Emulation appearing in Feb 2007 Gamelan Magazine
Gamelan.com : Darien, CTWrote article on AJAX Mutual Exclusion appearing in the March 2006 Gamelan Magazine
Gamelan.com : Darien, CTWrote article on Design Markers appearing in the March 2003 Gamelan Magazine
GenRad S.T.I. : Milpitas, CAPorted FutureData systems from C to Z80 assembly language
Georgia Power : Atlanta, GADeveloped reporting apps for Board of Directors using ObjectPAL (Paradox for Windows)
Grassroots Girls : Atlanta, GAAutomated web site production via custom Java/XML/XSLT utilites
Gravey.org : San Francisco, CAUpgraded JavaScript RIA framework to be cross-browser compatible
Hewlett Packard : Cupertino, CADeveloped QA test suites for HP Pascal & Modcal compilers
Hoge, Fenton, Jones, & Appel : San Jose, CAHelped develop client database system for law firm
IRI Logistics : Atlanta, GAHelped port MRP/DRP system from PL/SQL to C/Oracle/Informix
JavaLobby.com : Juan-les-Pins, FranceWrote article on managing Unit Testing using Philosophy & Economics appearing Aug 2010
JavaPro Magazine : Atlanta, GAWrote article on design patterns appearing in the March 2001 JavaPro Magazine
Javasoft (Sun) : Cupertino, CAIn charge of developing Java applets for HotJava Browser test suite
LeCroy, Inc. : Palo Alto, CADeveloped laboratory equipment device drivers
Leon County Schools : Tallahassee, FLDeveloped test evaluation and reporting programs on CDC mainframe
Lockheed Missles & Space : Sunnyvale, CAHelped test & debug ERIS launch control console software
MIDS : Austin, TXDeveloped Java applets for visualizing Internet Network Traffic
Management Blueprint Software : Los Gatos, CADeveloped a general purpose semantic-network (EAV) DB system
Management Blueprint Software : Los Gatos, CADeveloped PolyForm, a general purpose forms processing system
MasterPlan, Inc. : Foster City, CATaught in-house classes on MacApp and OO development
Matrix.net : Austin, TXLead Portal and J2EE Developer
MediaBin : Atlanta, GALead Java Developer porting client/server API from C++ to Java
National Info Systems : Cupertino, CAWrote market evaluation of Pascal-Plus compiler
National Info Systems : Cupertino, CAProject manager for MAXBASIC compiler product
Northeastern University : Sunnyvale, CAFaculty member, Pascal & Prolog Instructor, Bay Area Regional Technology Center
Nuforia : Houston, TXLead developer for the Atlanta office
OMEX : Santa Clara, CATeam Leader for Posting on USA's largest title insurance system
OnJava.com : Sebastopol, CAWrote article on Javascript Mutual Exclusion appearing in the March 2006 OnJava Magazine
OnJava.com : Sebastopol, CAWrote article on Explicit Programming appearing in the March 2003 OnJava Magazine
Operations Control Systems : Palo Alto, CADeveloped OCS/Make, a UNIX-like make facility for HP3000 systems
Orbital Engine Co. : Perth, West AustraliaDeveloped realtime Unix/X GUI for automobile engine testing systems
Othello Championship : Northridge, CADeveloped entry in North Amer. Computer Othello Championship Tournament
Personal Software (Visicorp) : Sunnyvale, CASoftware Development Manager for publisher of VisiCalc
Pillar Corporation : Foster City, CADeveloped MacApp objects to read/write Lotus & DBase files
Pizza Time Theatre : Sunnyvale, CATaught in-house classes on Apple Pascal
PolyGlot, Inc. : Atlanta, GADeveloped a set of XML utilities for publishing resumes/job requirements
PolyGrafX : Chattanooga, TNDeveloped a set of Java/XML utilities for publishing resumes
QWIZ, Inc. : Atlanta, GAMember of expert panels developing online tests for Java 2 and HTML 4.0
Quality Software : Reseda, CADeveloped/Published "Meteoroids in Space" (sequel to Asteroids)
Quality Software : Reseda, CADeveloped/Published "Asteroids in Space". Considered a classic by Softalk Magazine
Raytheon : Marlborough, MAHelped develop a rapid-prototype of an air-traffic control system
Ruocco & Saucedo : San Jose, CAWrote plan to implement new office LAN in a small law firm
Schlage Electronics : Palo Alto, CADeveloped electronic lock controller firmware
Stanley-Vidmar : Cincinnati, OHHelped develop Apple's Flexible Manufacturing System (FMS)
Strobe, Inc. : Mtn View, CADeveloped Pen Plotter device drivers for Apple II and CP/M
V.I. Corporation : Northampton, MAHelped develop interactive GUI editors for DataViews customers
Verilink : San Jose, CADeveloped network management system for Verilink's T1 CSU/DSUs
Wachovia Bank : Charlotte, NCBanking Customer Identity Management System Analyst
Wachovia Bank : Charlotte, NCArchitect AJAX/J2EE-based Basel Banking webapps
Wachovia Bank : Charlotte, NCDeveloped J2EE/DHTML-based Banking System webapps
Wachovia Bank : Charlotte, NCRefactored J2EE Bank Loan Servicing Database
Wells Fargo Bank : San Francisco, CARIA Framework development for Wells Fargo Bank

Chronological PROJECT Details
5/2012 thru 5/2012: Author [Contract]
Architects.DZone.com, San Francisco, CA
Mitch Pronschinske, Senior Content Curator
KEYWORDS: Object Modeling, Philosophy, education
Introduced in two articles, big ideas from Western Philosophy for modeling object properties. They were published in June 2012 on Architects.DZone.com.
2/2011 thru Present: Consultant [Contract-W2]
Wells Fargo Bank, San Francisco, CA
Manuel Jasso, Supervisor
KEYWORDS: ARIA, RIA, AJAX, JavaScript, HTML, CSS, XML, JSON, design patterns, Java, JSP, J2EE, MVC, YUI, Ext-JS, Struts, Cross-browser, Accessibility, performance optimization
Member of core team developing and supporting Wells Fargo's RIA framework used by scores of customer facing web applications. Developed new GUI widgets in JavaScript, HTML & CSS, new custom JSP tags to generate corporate standard markup, and server-side framework components using Java, Servlets, JSP & Struts. I also created documentation and training materials for framework users and developers including performance optimization.
11/2010 thru 1/2011: Architect [Open-Source]
Gravey.org, San Francisco, CA
PolyGlot, Inc., Sponsor
KEYWORDS: RIA, AJAX, JavaScript, HTML, CSS, REST, design patterns, Architect, XML, XSL, jQuery, iPad, Win2K/XP, Mac OS X, IE6, IE8, SeaMonkey 2, Firefox 3.6, Safari 5, Chrome 8
Upgraded the gravey.org JavaScript framework for AJAX and Rich-Internet-Apps to run on multiple browsers (whereas before it was restricted to Internet Explorer). Based on a framework I originally developed for internal banking applications, this library includes AJAX/REST integration, GUI widgets, forms processing, automated domain object persistence, in-browser XML/XSL processing, and complete Undo/Redo functionality.
8/2010 thru 8/2010: Consultant [Contract]
JavaLobby.com, Juan-les-Pins, France
Lyndsey, Managing Editor
KEYWORDS: Unit Testing, Philosophy, Economics, education
Provided a rationale from Philosophy and Economics for the strategy of requiring developers to write their own unit tests in addition to tests developed by an outside testing group. It was published in Aug 2010 on both the JavaLobby.com and DZone.com websites.
1/2009 thru 9/2010: Author [Student]
ExistentialProgramming.com, Juan-les-Pins, France
KEYWORDS: analysis, ontology, semantic web, Java, JavaScript, identity systems, Web Services, SQL, architecture, data modeling, data integration, domain model, philosophy, metaphysics, BA
Took a sabbatical in France to study ontology, and work on the book "Existential Programming" which explores those concepts and shows how they apply to day-to-day software development, in particular, business analysis, data modeling, object oriented systems, and systems and data integration.
1/2007 thru 10/2008: Consultant [Contract]
Wachovia Bank, Charlotte, NC
Chris McDonald, Supervisor
KEYWORDS: BA, Business Analyst, Java, .Net, mainframe, Web Services, SQL, architecture, data modeling, data warehouse, domain model
For an enterprise-wide revamping of customer identity management for Basel II compliance, I performed business and systems analysis required to: (1) produce a design for a new common system for managing customer identity data, and (2) retrofit a large number of internal banking applications to integrate with that new system, and (3) integrate those same systems with a new enterprise data warehouse. This involved surveying and bridging a wide range of data models, user interface technologies, and data exchange technologies.
12/2006 thru 2/2007: Author [Contract]
Gamelan.com, Darien, CT
Rosemarie Graham, Editor
KEYWORDS: Javascript, AJAX, Class, inheritence, education
Presented a compact implementation of Javascript class inheritence with most of the features of the Java classes. This will enable the use of robust design patterns needed for AJAX and Rich Internet Applications (RIA). It was published in the Feb 2007 issue of both the Gamelan.com and Developer.com online magazines.
3/2006 thru 3/2006: Author [Contract]
OnJava.com, Sebastopol, CA
Chris Adamson, Editor
KEYWORDS: Java, Design Markers, Explicit Programming, education
Weak JavaScript environments offer the AJAX developer little protection from concurrency dangers, such as one thread modifying the DOM while another reads it. Bruce Wallace offers a mutual exclusion implementation for JavaScript in an article published in the March 2006 issue of O'Reilly's OnJava.com online magazines.
12/2005 thru 3/2006: Author [Contract]
Gamelan.com, Darien, CT
Rosemarie Graham, Editor
KEYWORDS: Javascript, AJAX, Mutual Exclusion, education
Adapted Lamport's "bakery algorithm" for mutual exclusion to be usable in an AJAX Javascript setting overcoming several language limitations of JavaScript. It was published in the March 2006 issue of both the Gamelan.com and Developer.com online magazines.
12/2004 thru 11/2007: Consultant [Contract]
Wachovia Bank, Charlotte, NC
Chris McDonald, Supervisor
KEYWORDS: AJAX, REST, WSDL, web services, Java, J2EE, XML, XSL, WSAD/Websphere, HTML, CSS, IE5/6, Javascript, MQ, CVS, Win2K/XP, HP-UX, Solaris, Oracle, TOAD, ANT, shell scripting, PL/SQL, SQL, Unix, BA, Business Analyst
As architect and lead developer, I helped gather Basel II business requirements and led translating them into technical requirements, design, and managed myself and 4 other developers in implementing 3 rich-client banking applications, using AJAX, REST/WSDL web services, J2EE, XML, XSLT, Javascript, DHTML, and Oracle. Also, I helped convert persistence servers from a standalone Java application to an EJB server. - Directed the efforts of 4 other developers.
6/2004 thru 12/2004: Consultant [Contract]
Wachovia Bank, Charlotte, NC
Chris McCabe, Supervisor
KEYWORDS: Java, J2EE, XML, XSL, WSAD/Websphere, HTML, DHTML, CSS, Javascript, MQ, CVS, IE5, Win2000, HP-UX, Solaris, Oracle, TOAD, ANT, shell scripting, PL/SQL, SQL, Unix, JMS
Developed an interactive banking database query and analysis webapp using J2EE, XML, XSLT, Javascript, DHTML technology to access Oracle databases via an IBM MQ transaction framework. The webapp provided a user interface to slice/dice reporting data via dynamic displays and dynamic SQL query generation. Development tools were Websphere, WSAD, Win2000 and deployment targets were iPlanet and WAS app-servers, IE browsers, Oracle DB, IBM MQ and JMS messaging middleware on HPUX and Solaris servers.
10/2003 thru 1/2004: Consultant [Contract]
Wachovia Bank, Charlotte, NC
Mark Manning, Supervisor
KEYWORDS: Java, J2EE, XML, XSLT, WSAD 5, CVS, Win2000, DBA, HP-UX, Oracle, TOAD, ANT, shell scripting, PL/SQL, SQL, Unix
Analysed a mature Websphere-based J2EE/XML/XSL commercial loan servicing system for obsolete database tables/columns and refactored the PL/SQL to remove them. Developed ANT, Win2K DOS, and Unix shell scripts to automate the process of scanning XML, PL/SQL, and shell script sources to generate a cross reference of accessed database objects.
3/2003 thru 3/2003: Author [Contract]
OnJava.com, Sebastopol, CA
chromatic, Editor
KEYWORDS: Java, Design Markers, Explicit Programming, education
Contrasted the concepts of Design Markers and Explicit Programming in an article published in the March 2003 issue of O'Reilly's OnJava.com online magazines It detailed how Design Markers can be used now to provide many of the benefits of Explicit Programming without relying on experimental tools.
12/2002 thru 3/2003: Author [Contract]
Gamelan.com, Darien, CT
Rosemarie Graham, Editor
KEYWORDS: Java, Design Markers, Explicit Programming, education
Conceived the concept of Design Markers and wrote an article presenting the idea. It was published in the March 2003 issue of both the Gamelan.com and Developer.com online magazines. It detailed how Marker Interfaces and JavaDoc can be combined to document Design Choices in the implementation source code.
8/2002 thru 5/2003: Consultant [Contract]
ChoicePoint, Atlanta, GA
K. Deshpande, Supervisor
KEYWORDS: Java, J2EE, XML, XSL, XSchema, JBuilder, BES, Win2000, Solaris, Oracle, JAAS, UML, QA/QC, JNDI, LDAP, Struts, education, SQL, RUP, Unix, BA, Business Analyst, SSA NAME3
Worked on multiple projects including developing XSLT transforms of XML bulk data into Oracle load scripts. Was developer/mentor for a team developing the Business Identity Management middleware of a large Business Credit Information Warehouse that used EJB CMP 2.0 technology with Oracle. Documented Struts-based biometric information system. Integrated LDAP servers with Borland J2EE server developing custom JNDI and JAAS components. Developed proof of concept demonstrating Crystal Reports interfacing with Java and EJBs. - Directed the efforts of 2 other developers.
4/2002 thru 8/2002: Architect [Employee]
PolyGlot, Inc., Atlanta, GA
Robert Wallace, Owner
KEYWORDS: SVG, XML, DTD, XSL, XSchema, Java, J2EE, JRun, MySQL, JDBC, JSP, JAXP, XHTML, HTML, ontology, Protege-2000, Linux, Win2000, Apache, Batik, SQL, Javascript, UML, Architect, Unix
Ported GanttMagic, a set of Java/XML utilities for publishing resumes and job requirements in a number of formats including GANTT chart graphics, from standalone Java application to SVG/XML/XSLT based middleware integrated with an interactive web site using multi-threaded J2EE technologies. An ontology was created to organize buzzwords enabling better search and summary results.
11/2001 thru 6/2002: Architect [Contract]
Grassroots Girls, Atlanta, GA
Renee Izadi, Supervisor
KEYWORDS: XSchema, HTML, CSS, J2EE, education, workflow, XALAN, XERCES, JAXP, JRun, Apache, ANT, Linux, PHP, Win2000, BA, Business Analysis
Site architect and developer of a set of Java, XML, XSLT utilities for automating the generation of their interactive web site. Also, taught in-house classes on XML. Was main liaison between business partners and web graphics designer. Also developed server side scripts in PHP to support forms and order processing. - Directed the efforts of 1 other developers.
2/2001 thru 10/2001: Consultant [Contract]
MediaBin, Atlanta, GA
Bill Coleman, Supervisor
KEYWORDS: Java, C++, JUnit, JBuilder, GDPro, Win2000, BER-ASN-TCP/IP protocols, Design Patterns, UML, QA/QC
Ported from C++ to Java the implementation of the client-side API of the MediaBin Image and Asset Management System. This multi-threaded Java middleware managed the C++ server via proprietary client/server protocols using BER encoding and ASN style protocol layers on top of TCP/IP. I also developed an extensive automated unit/integration test suite using JUnit and JBuilder IDE.
10/2000 thru 2/2001: Author [Contract]
JavaPro Magazine, Atlanta, GA
Kay Keppler, Editor
KEYWORDS: Java, Visitor Pattern, Reflection, education
Wrote an article on the Visitor design pattern which was published in the March 2001 issue of JavaPro Magazine. It detailed how Java's reflection API can be used to greatly simplify the implementation of the GoF Visitor pattern.
3/2000 thru 1/2001: Tech Asst to Chairman [Employee]
Matrix.net, Austin, TX
Don Fussell, Chief Science Officer
KEYWORDS: Portals, Java, Servlets, JSP, J2EE, JDBC, HTML, CSS, Perl, Solaris, Linux, TCP/IP, ICMP, XML, Epicentric, JRun, MySQL, Apache, Architect, Win95, SQL, UML, Unix, BA, Business Analyst, QA/QC
Managed, from software purchase negotiations thru development and developer training, the Portal portion of a product delivering network monitoring info via a web user interface. The project used the Epicentric portal framework and JRun JSP/servlet engine on top of a JDBC database and Apache web server. Also, designed, implemented and built automated testing of a servlet-based Configuration Server middleware for the Java and Perl components of the product. Performed all development remotely via Internet telecommuting. - Directed the efforts of 2 other developers.
6/1999 thru 3/2000: Lead Developer [Employee]
Nuforia, Houston, TX
Michael Wollin, Dir., Engineering
KEYWORDS: e-commerce, Portals, education. CRM, Java, Servlets, JSP, J2EE, EJB, HTML, CSS, WinNT, Linux, TCP/IP, network admin, firewalls, XML, Epicentric, WebLogic, Apache, SQL, UML, Unix, BA, Business Analyst
Hired as lead developer for the Atlanta office of an internet consulting start-up. Participated in OO Analysis JAD of a CRM system for private credit card client, Enterprise Portal development using Epicentric middleware and custom servlets/JSPs, and taught Java and J2EE technology classes to both in-house and client developers. Specialized in multi-tier distributed/internet/intranet systems.
4/1999 thru 6/1999: Consultant [Contract]
QWIZ, Inc., Atlanta, GA
Tina Babb, Project Lead
KEYWORDS: Java, HTML, CSS, education, QA/QC
Was one of 3 experts on two separate panels that researched and produced questions and answers for online testing of Java 2 and HTML 4 skills.
3/1998 thru 4/1999: Chief Technical Officer [Employee]
Fabric.com, Marietta, GA
Stephen Friedman, President
KEYWORDS: Manager, e-commerce, BA, Business Analyst, workflow, data modeling, data mining, database admin, Filemaker, Access, Oracle, Java, Javascript, Perl, HTML, Cold Fusion, network admin, WinNT, Win95, Linux, Architect, SQL, UML, Unix
Took over as a hands-on CTO of a small startup that was later sold to Amazon.com. It had lost its entire technical staff midway through its seed funding cycle. Was in charge of all technical aspects of the company, focused on marrying internet commerce with the textile and apparel industries. Reporting to the President, I managed all software development, both in-house, remote outsourced, and licensed, as well as technical architecture development and support. Web sites included retail stores for clients like Hancock Fabrics, Java-based real-time auctions for clients like Walt Disney Company, and the portal sites www.fabric.com and www.apparelex.com. Developed infrastructure to collect data from online activities and data mine it to support email and fax based promotions. Also developed enterprise data integration and workflow middleware to automate internal operations wherever possible. Directed 5 staff members and 17 contractors from 7 different vendors. - Directed the efforts of 22 other developers.
11/1997 thru 1/1998: Consultant [Open-Source]
PolyGrafX, Chattanooga, TN
Scott Wallace, Supervisor
KEYWORDS: XML, DTD, Java, education, graphics, Solaris, Win95, Unix
Developed GanttMagic, a set of Java/XML utilities for publishing resumes and job requirements in a number of formats including graphical GANTT charts. Also, taught in-house classes on XML.
7/1997 thru 2/1998: Consultant [Contract-W2]
Javasoft (Sun), Cupertino, CA
Frank Dibbell, SQE Manager
KEYWORDS: Java, HTML, HTTP, Solaris, Win95, QA/QC, JDK, Visual Cafe, JBuilder, JavaStudio, Unix
Was in charge of developing a set of Java applets to test a broad range of Java APIs available in the HotJava Browser environment, especially security limits. APIs included Java Beans, GUI, networking, communications, system calls, etc. Also developed a multi-threaded HTTP server written in Java with special server side include processing to support browser stress testing.
9/1996 thru 3/1998: Consultant [Contract]
MIDS, Austin, TX
John Quarterman, President
KEYWORDS: Java, HTML, HTTP, JDK, Visual Cafe, Solaris, Win95, Macintosh, Unix
Developed a data visualization applet in Java that enables Web users to see Internet data storms. Also, wrote Java applications to poll web sites and collect performance statistics. MIDS collects a database of statistics about data flow over the entire Internet. Performed all development remotely via Internet telecommuting.
6/1996 thru 5/1997: Consultant [Contract-W2]
Coca-Cola, Atlanta, GA
Tamara Wright, Supervisor
KEYWORDS: Java, C++, MacApp, CodeWarrior, SQL, client/server, data warehouse, OOAD
Helped support & extend Coke's custom Macintosh client software for a client/server data warehouse system. The databases were implemented with Oracle and Teradata servers. The Macintosh software was implemented with MacApp 3.1 using CodeWarrior and C++. Helped develop proof of concept for porting Mac and PC versions of software to a single 3-tier implementation in Java.
3/1996 thru 6/1996: Consultant [Contract]
IRI Logistics, Atlanta, GA
Vittal Devarajan, Supervisor
KEYWORDS: HP-UX, AIX, C, Oracle Pro*C, Informix ESQL-C, MRP/DRP, compilers, Unix, SQL
Helped to port and enhance the Logistics Partner DRP product from Oracle PL/SQL to C, Oracle Pro*C, & Informix ESQL-C on HP-UX and AIX platforms. Developed preprocessor language to enable common source files to generate both Pro*C and ESQL-C embedded SQL. Was in charge of integration of all backend server code produced by 6 developers.
5/1995 thru 2/1996: Consultant [Contract]
BellSouth Wireless, Atlanta, GA
Steve Cleary, Senior Manager
KEYWORDS: C, C++, UnixWare, message oriented middleware, telecom systems, IS41,SS7, PERL, DGM&S, Pascal, OOAD, Unix
Designed software architecture & implemented multi-threaded / multi-process message routing kernal of the Cellemetry system for performing telemetry transparently over existing cellular phone systems. This effort included development of fault-tolerant middleware and inter-system protocols. The system was written in C/C++ using the DGM&S Omni toolkit and IS41/SS7 network interface. Also programmed HP IS41 protocol analyser in HP Pascal.
4/1994 thru 4/1995: Consultant [Contract-W2]
BellSouth Cellular, Atlanta, GA
Gary Schwaiger, Supervisor
KEYWORDS: C++, AIX, HP-UX, Sybase, DCE, SNMP, NetView, SM/6000, distributed systems, X Windows, SQL, education, OOAD, Unix, BA, Business Analyst
Architect of middleware layer as well as portions of the application layer for a multi-threaded real-time billing network for cellular phone services. The system was written in C++ using Sybase, DCE, & SNMP on AIX and HP-UX servers. Developed real-time process control, communications, and monitoring using custom X windows graphics displays and SNMP interface to NetView & SM/6000. Taught in-house classes on Object Oriented development and C++. - Directed the efforts of 2 other developers.
4/1994 thru 6/1994: Consultant [Contract]
Digital Enterprises, Atlanta, GA
Keith Tener, President
KEYWORDS: Win31, MS-DOS, C/C++, telecommunications, protocol design, sole-developer, embedded, OOAD
Developed system to monitor/log RAID disk status notifying alerts via digital pagers
6/1993 thru 11/1994: Consultant [Contract-W2]
Georgia Power, Atlanta, GA
The Computer Merchant, Supervisor
KEYWORDS: ObjectVision, ObjectPAL, Paradox for Windows, Crystal Reports, Win31, OOAD, BA, Business Analyst
Developed reporting apps for Board of Directors using ObjectPAL (Paradox for Windows)
2/1993 thru 3/1994: Consultant [Contract-W2]
Coca-Cola, Atlanta, GA
Karen Gratton, Supervisor
KEYWORDS: C++, MPW, MacApp, Oracle, Pro*C, SQL, client/server, Win31, OOAD
Helped develop two marketing promotions tracking systems for Coke where Macintosh and MS Windows custom applications were written to provide a uniform GUI front end to SQL databases. The databases were implemented with Oracle via central servers. The PC clients used Oracle PRO*C embedded SQL pre-compiler. The Macintosh programs were implemented with MacApp 3.0 using MPW and C++.
1/1993 thru 2/1993: Consultant [Contract]
Raytheon, Marlborough, MA
Martin Greenstein, Supervisor
KEYWORDS: C, DGUX, SunOS, Unix, X, Motif, DataViews, real-time, twm, mwm, graphics, embedded
Helped develop a rapid-prototype of an air-traffic control system. The system was used to demonstrate the capability of developing an ATC system built with open systems components (Unix, X). Dataviews middleware was chosen as the rapid prototyping tool. Interfaced with actual ATC radar data from Frankfurt, Germany (DERD) and drove custom Sony 2K by 2K pixel color displays.
11/1992 thru 2/1993: Consultant [Contract]
BenefitWare, Stone Mtn, GA
KEYWORDS: ObjectVision, Win31
Developed insurance direct reimbursement program using ObjectVision
10/1992 thru 12/1993: Consultant [Contract-W2]
Federal Express, Memphis, TN
GE Consulting, Supervisor
KEYWORDS: X Windows, Motif, XLOOK, GUI, Unix
Wrote white paper on X GUI interoperability & style guidelines
1/1992 thru 10/1992: Consultant [Contract]
V.I. Corporation, Northampton, MA
Earl Billingsley, Supervisor
KEYWORDS: C, C++, Unix, X, XDesigner, Motif, DataViews, real-time, SunOS, HPUX, DGUX
Helped develop interactive GUI editors for Commonwealth Edison, Hitachi, and Talarian using DataViews middleware, Unix, C, and X windows/Motif. The user could easily produce screens with real-time input & output elements that were linked via shared memory to user application programs. These editors were built with the DataViews GUI development package from V.I. Corporation as well as Xt & Motif. Also, developed a real-time digital radio GUI for ITT using DataViews rapid-prototyping tools on top of Open Look.
11/1991 thru 12/1991: Consultant [Contract]
Lockheed Missles & Space, Sunnyvale, CA
VI Corp, Supervisor
KEYWORDS: DataViews, Fortran, Modula, GUI, QA/QC, VAX VMS
As a DataViews middleware consultant, I performed an informal software audit of the launch control console software for the ERIS program focusing on a particular set of problems. I produced a report of the general state of the software as well as recommended changes.
7/1991 thru 11/1991: Consultant [Contract]
Chevron Oil, Richmond, CA
Rick Scheuerman, Supervisor
KEYWORDS: VAX, VMS, C, FORTRAN, DataViews, Ingres, DecNet, real-time, graphics, client/server, embedded
Overhauled an oil refinery pilot plant monitoring system using DataViews middleware, Ingres, Vax VMS, C, and FORTRAN. This real-time system included several processes, distributed over DecNet, which communicated via message and file passing. Object-Oriented techniques were used in the redesign and implementation. System made extensive use of the DataViews GUI development package from V.I. Corporation. - Directed the efforts of 1 other developers.
11/1989 thru 5/1991: Consultant [Contract]
Orbital Engine Co., Perth, West Australia
Mark Norman, Supervisor
KEYWORDS: AOS, DGUX, FORTRAN, C, C++, Progress 4GL, X, Xlib, Motif, graphics, QA/QC, MS-DOS, real-time, relational database, education, Architect, embedded, Unix
Developed an automobile engine test & measurement system in DGUX, C, Progress 4GL, and X windows based on an existing system in DG/AOS FORTRAN. I developed a multi-threaded real-time middleware system which managed communications and synchronization via System V IPC. Object-Oriented development techniques were used in the design and implementation. System used HP75000 and HP3852 GPIB bus mainframes, IDEC Izumi PLCs, and Ono Sokki flow meters. Taught in house classes on Object Oriented development. Used Business Rules approach to configure system with rule scripts rather than hard coded logic. - Directed the efforts of 3 other developers.
7/1989 thru 10/1989: Consultant [Contract]
Pillar Corporation, Foster City, CA
KEYWORDS: MacApp, OOP, DBASE, Object Pascal, Macintosh
Developed MacApp objects to read/write Lotus & DBase files
4/1989 thru 9/1989: Consultant [Contract]
Operations Control Systems, Palo Alto, CA
Derek Evans, Supervisor
KEYWORDS: HP3000, MPE, Pascal/3000, Unix, Architect
Developed an object-oriented UNIX-like make facility for HP3000 systems to be marketed as a stand-alone product OCS/Make as well as being integrated into the OCS/Librarian product. Also produced maintenance & upgrade changes to OCS/Librarian.
1/1989 thru 3/1989: Consultant [Contract]
Stanley-Vidmar, Cincinnati, OH
Kit Fitzpatric, Supervisor
KEYWORDS: Macintosh, MPW, C, DB-Vista databases, MS-DOS, IBM PC/AT, real-time, manufacturing, protocol design, communications, AppleTalk, embedded
Helped port and extend a real-time manufacturing controls system from an MS-DOS environment to the Macintosh. This version of the system was specifically for use in Apple Computer's Flexible Manufacturing System (FMS) in Fremont, California. The system controlled 1500 rotary storage locations along with assorted robot extractor/inserters and conveyors. It also updated part inventory and daily production schedule databases. The control system communicated with controllers from other vendors over AppleTalk network links.
11/1988 thru 1/1989: Consultant [Contract]
MasterPlan, Inc., Foster City, CA
KEYWORDS: MacApp, OOP, Object Pascal, Macintosh, education
Taught in-house classes on MacApp and OO development
4/1988 thru 6/1988: Consultant [Contract]
Ruocco & Saucedo, San Jose, CA
KEYWORDS: Macintosh, LAN, network design, BA, Business Analyst
Wrote plan to implement new office LAN in a small law firm
3/1988 thru 12/1988: Consultant [Contract]
Cameo Systems, Santa Clara, CA
Fred Hyden, Supervisor
KEYWORDS: Macintosh, MPW, MacApp, Object Pascal, CIM, SQL, object oriented, 4th Dimension 4GL, protocol design, client/server
Macintosh team leader on project to develop computer-integrated-manufacturing (CIM) system for Genentech. Designed and implemented workstation prototypes. Macintoshes were connected to Tandem mainframe which handled central SQL database. - Directed the efforts of 2 other developers.
1/1988 thru 3/1988: Consultant [Contract]
Schlage Electronics, Palo Alto, CA
KEYWORDS: 6800, device drivers, embedded, assembler
Developed electronic lock controller firmware
7/1987 thru 2/1988: Consultant [Contract]
Verilink, San Jose, CA
Starry Chan, Supervisor
KEYWORDS: communications, OSI, T1 (D4/ESF), protocol design, real-time, IBM PC/AT, C, DB-Vista databases, MS-DOS, QA/QC, Architect, embedded, 8052
Developed the multi-threaded software for a network management system for interfacing to Verilink's several types of T1 span monitoring equipment using D4/ESF protocols. The system allowed interactive access to individual nodes in the network as well as out-of-service testing (e.g. loopbacks). Background processing included alarm logging and performance data gathering. Wrote a complete OSI based transport system to implement secure communications between nodes over open phone lines with modems. - Directed the efforts of 3 other developers.
3/1987 thru 6/1987: Product Manager [Employee]
BAM, Sydney, Australia
Mike Bolan, President
KEYWORDS: Macintosh, marketing, Manager, BA, Business Analyst
As product manager for this Macintosh time management program, I organized the development team consisting of people in Silicon Valley and Sydney, Australia. The main competition for this product was Apple MacProject. - Directed the efforts of 4 other developers.
11/1986 thru 4/1987: Network Transport System Manager [Employee]
Australian Associated Press, Sydney, Australia
KEYWORDS: communications, VAX, VMS, C, Ethernet, Decnet, protocols, design, Manager, embedded
Performed a system design review of AAP's national satellite communications network. This involved analysis of the protocols of the various communication layers as well as software design. The system is VAX based written in C involving satellite, microwave, and phone line segments for interactive distribution of financial and wire-service data. - Directed the efforts of 2 other developers.
10/1986 thru 10/1986: Consultant [Contract]
Hoge, Fenton, Jones, & Appel, San Jose, CA
KEYWORDS: DBASE, MS-DOS
Helped develop client database system for law firm
3/1986 thru 9/1986: Consultant [Contract]
FMC, San Jose, CA
John Tope, Supervisor
KEYWORDS: IBM PC/AT, Pascal, LANs, simulation, military systems, distributed database
Developed military vehicle simulations to demonstrate a distributed electronic control system implemented on a custom hardened local area network. Ten IBM AT computers where used to simulate various subsystems of trucks, tanks, APC, etc. and communicated over fiber-optic based network using distributed database techniques. Integrated modules produced by 2 other subcontractors.
7/1985 thru 9/1986: Lecturer [Employee]
Northeastern University, Sunnyvale, CA
KEYWORDS: Pascal, Prolog, education
Faculty member, Pascal & Prolog Instructor, Bay Area Regional Technology Center
3/1985 thru 2/1986: Consultant [Contract]
Hewlett Packard, Cupertino, CA
Jean Danver, Manager
KEYWORDS: QA/QC, HP3000, Pascal, Modcal, C, HPE, MPE, HP-UX, Unix, HP Image database, compilers
Developed test suite of spec compliance and regression tests for Pascal and Modcal compilers for HP3000, HP9920, and HP Spectrum computers on MPE, HP-UX, and HPE operating systems. Developed tools to automate QA/QC process. Also performed some compiler maintenance.
1/1985 thru 2/1986: Entrant/Developer [Volunteer]
Othello Championship, Northridge, CA
Marc Furon, Tournament Director
KEYWORDS: Macintosh, IBM PC/AT, simulation, real-time, graphics, Pascal, sole-developer, AI
Wrote POP, two programs to play the Othello game, one for the IBM PC, and the other for the Macintosh. The IBM PC version was entered into the North American Computer Othello Championship Tournament (Feb 15-16, 1986). I personally had won tournaments where I played against computer programs and human opponents. POP successfully implemented my playing strategy.
5/1984 thru 9/1984: Consultant [Contract]
Formaster, Santa Clara, CA
KEYWORDS: Macintosh, device drivers, Pascal, embedded, assembler, 68000
Developed disk copy protection software for Macintosh
3/1984 thru 2/1985: Consultant [Contract]
Applicon, Inc, Santa Clara, CA
David Ross, Supervisor
KEYWORDS: VLSI CAD/CAM, PDP-11, VAX, RSX-llM, VMS, C, computational geometry, design maintenance, FORTRAN, Macro-11, FLECS, Pascal, device drivers, embedded, assembler
Prototyped, in VAX C, an expert-system to extract electrical circuit schematics from raw VLSI fabrication data. Also performed maintenance and upgrade programming for a multi-threaded VLSI CAD/CAM system based on PDP-11 & custom hardware. Development was on VAX VMS. Produced a new release in 8 weeks (no releases having been made in 2-l/2 years).
2/1983 thru 4/1983: Consultant [Contract]
Bullwinkles Pizza, Cupertino, CA
KEYWORDS: Apple II, GraFORTH, Forth, graphics, device drivers, embedded
Developed graphical customer pickup reminder system
1/1983 thru 2/1984: Chief Scientist/Product Manager [Employee]
Management Blueprint Software, Los Gatos, CA
Mike Lodge, Vice President
KEYWORDS: IBM PC/XT, UCSD Pascal, artificial intelligence, Manager, database kernal, Architect, ontology, BA, Business Analyst
Developed a general purpose semantic-network (aka EAV entity-attribute-value) database system based on AI general knowledge database techniques. It used "NoSQL" architecture before the term was invented.The interactive environment allowed live user development of data forms, screen layouts, ontologies, and datasets to produce business-oriented Personal Information Management applications, which were sold separately for each profession. Integrated the system with subcontracted software modules and user applications. I taught in-house classes on how to develop ontologies. Managed 4 other developers. - Directed the efforts of 4 other developers.
9/1982 thru 11/1982: Consultant [Contract]
Pizza Time Theatre, Sunnyvale, CA
KEYWORDS: Apple II, Apple Pascal, education
Taught in-house classes on Apple Pascal
8/1982 thru 11/1982: Consultant [Contract]
CGW & Associates, Mtn View, CA
Carl White, Supervisor
KEYWORDS: ADA, education, marketing
Taught "Introduction to Ada" seminars at LeBaron Hotel
4/1982 thru 6/1982: Consultant [Contract]
National Info Systems, Cupertino, CA
Richard Carlson, Supervisor
KEYWORDS: Pascal, marketing
Wrote market evaluation of Pascal-Plus compiler
3/1982 thru 1/1983: Consultant [Contract]
Management Blueprint Software, Los Gatos, CA
Mike Lodge, Vice President
KEYWORDS: Apple II, Apple III, IBM PC, TRS-80 II, Pascal, Manager, compilers, CAI, Architect
Developed PolyForm, a general purpose forms processing system with a form definition language interpreter, to facilitate implementation of the MBS customizable application package Presidents War Plan. Managed 2 other developers. - Directed the efforts of 2 other developers.
1/1982 thru 3/1982: Consultant [Contract]
LeCroy, Inc., Palo Alto, CA
KEYWORDS: 8085, device drivers, embedded, assembler
Developed laboratory equipment device drivers
11/1981 thru 1/1982: Consultant [Contract]
Strobe, Inc., Mtn View, CA
Bob Sherwood, VP, Marketing
KEYWORDS: Basic, Z80, device drivers, Apple II, CP/M, embedded, assembler
Developed Pen Plotter device drivers for Apple II and CP/M
10/1981 thru 9/1982: Author [Contract]
ADC Associates, Palo Alto, CA
Arnie Roberts, Publisher
KEYWORDS: Apple II, Basic, VisiCalc, marketing, sole-developer
Developed and published an Apple II utility program that translated VisiCalc spreadsheets into Basic subroutines compatible with Apple Basic.
6/1981 thru 5/1982: Consultant [Contract]
OMEX, Santa Clara, CA
Rob Spade, Project Leader
KEYWORDS: Omsi Pascal, PDP-11/70, RSX-llM, Manager, design, ADABAS-M database, BA, Business Analyst
Team Leader in charge of design and implementation of the Batch Posting portion of the nations's largest automated title insurance system. Taught in-house Pascal seminars for other project teams. Designed high and low level database transaction languages and wrote a compiler for the HOL and an interpreter for the LOL which drove the ADABASE-M system. - Directed the efforts of 3 other developers.
4/1981 thru 6/1981: Consultant [Contract]
DCM, Inc., San Leandro, CA
KEYWORDS: Z80, Pascal, CP/M, O/S kernals, real-time, device drivers, embedded, assembler, QA/QC
Developed multi-threaded controller for telephone cable test equipment - Directed the efforts of 1 other developers.
4/1981 thru 9/1981: Author [Contract]
Quality Software, Reseda, CA
Quality Software, Publisher
KEYWORDS: APPLE II, 6502, simulation, real-time graphics, Pascal, software protection, marketing, sole-developer, device drivers, embedded, assembler, multi-threaded
Wrote Meteoroids in Space, an upgrade/sequel to Asteroids in Space, an arcade game for the APPLE II. Was voted No. 5 in the All Time Favorite list of APPLE II programs in poll released by SOFTALK magazine.
2/1981 thru 4/1981: Consultant [Contract]
GenRad S.T.I., Milpitas, CA
Tony Taylor, Supervisor
KEYWORDS: Z80, Pascal, C, PDP-11, RSX-llM, embedded, assembler
Provided recommendations for choosing Z80 development system. Wrote a system for translating from any assembler mnemonics to another based on user specifications. Assisted engineers in checkout of target hardware. In charge of converting C programs running on PDP-11 to run on Z80 based machines.
5/1980 thru 5/1981: Author [Contract]
Byte Magazine, SF, CA
Byte Magazine, Publisher
KEYWORDS: Apple Pascal, UCSD Pascal, Apple II, education
Wrote article on computer animation appearing in the May 1981 Byte Magazine
4/1980 thru 2/1981: Consultant [Contract]
Aydin Energy Division, Palo Alto, CA
Art Laursen, Supervisor
KEYWORDS: Z80, Pascal, CP/M, O/S kernals, real-time, Manager, device drivers, Architect, embedded, assembler
In charge of software design and implementation for a $25 million subcontract to a Lawrence Livermore Labs fusion reactor experiment. The contract called for 24 10-megawatt power supply control systems and 4 maintenance consoles interfaced to the power supplies. Wrote an entire multi-threaded multi-tasking system in Z80 used as the kernel and interfaced an off-the-shelf Pascal compiler to the custom operating system. Managed l0 other programmers on the project. - Directed the efforts of 10 other developers.
1/1980 thru 4/1980: Author [Contract]
Quality Software, Reseda, CA
Quality Software, Publisher
KEYWORDS: APPLE II, 6502, simulation, real-time graphics, Pascal, software protection, marketing, sole-developer, embedded, device drivers, assembler, multi-threaded
Wrote Asteroids in Space, an arcade game for the APPLE II. Was voted No. 5 in the All Time Favorite list of APPLE II programs in poll released by SOFTALK magazine. Also added upgrades to version released as Meteoroids in Space.
10/1979 thru 3/1980: Software Development Manager [Employee]
Personal Software (Visicorp), Sunnyvale, CA
Peter Jennings, Chairman
KEYWORDS: APPLE II, TRS-80, PET, Manager, QA/QC
Managed several independent authors of microcomputer software. Performed QA/QC and porting activities for entire product line. This was during the time that VisiCalc was introduced. Mitch Capor took this position when I left. He left 6 months later to start Lotus.
9/1978 thru 9/1979: MAXBASIC Project Manager [Employee]
National Info Systems, Cupertino, CA
Arden Scott, President
KEYWORDS: DEC-10/20, TOPS-l0/20, BASIC, Macro-l0/20, compilers, Manager, QA/QC, assembler
Took over managing the MAXBASIC compiler project for DEC-10 and DEC-20 computers when it was two thirds complete with over 200 extant bug reports. Instituted a bug report/enhancement request system used by entire product line of company. - Directed the efforts of 1 other developers.
9/1978 thru 5/1984: President [Volunteer]
Apple P.I.E., Sunnyvale, CA
Mark Wozniak, Sponsor
KEYWORDS: Apple II, education, Manager, Pascal, 6502, assembler
Held various offices in Apple P.I.E. (Programming and Interfacing Enthusiasts) club including President, Vice President, and Secretary where I variously organized featured speakers, presided over meetings, and organized club software library. Also, taught formal 10 week class on Apple Pascal. Meetings were held at the computer store owned by Steve Wozniak's brother Mark. - Directed the efforts of 4 other developers.
3/1978 thru 9/1978: Programmer/Analyst [Employee]
Control Data Corp, Sunnyvale, CA
Jen Bryant, Group Manager
KEYWORDS: FORTRAN, CDC NOS, CDC Star, supercomputers, operating systems, mainframe
Member of Operating System Group for CDC Star supercomputer. Developed tools in FORTRAN-like language in which O/S was written. Learned structured development methodology and source code control systems.
11/1977 thru 4/1978: Consultant [Contract]
Leon County Schools, Tallahassee, FL
John Pietrowsky, Supervisor
KEYWORDS: CDC 6000, KRONOS, FORTRAN, mainframe
Wrote programs to evaluate student and faculty tests and generate reports for the Leon County School system using FSU's CDC mainframe computer.
9/1974 thru 1/1977: Programmer/Analyst [Contract-W2]
Applications Group, FSU, Tallahassee, FL
Don McEwen, Manager
KEYWORDS: CDC 6000, KRONOS, COMPASS, FORTRAN, COBOL, graphics, data processing, education, mainframe, assembler
Designed/implemented applications for clients contracting with the Florida State University computing center in the following areas: Industrial Regression Model, Census Data Processing, Resource Use Projection, Pollution Monitoring Data Processing, Felony Caseload Data Processing, Student Evaluation Data Processing. Taught graphics seminars for FSU computing center.
1/1974 thru 12/1977: Student [Student]
Florida State University, Tallahassee, FL
Math/Computer Science, Major
KEYWORDS: APL, Basic, CDC 6000, KRONOS, COMPASS, Pascal, FORTRAN, TUTOR, PLATO, compilers, language design, simulation, LISP, SNOBOL, COBOL, education, graphics, mainframe, assembler
Design and implementation of the EXLAX language/compiler used in a numerical analysis class. Implementation of discrete event simulation of queue network. Design/implementation of graphic 3-D maze game on PLATO system. Completed every course offered in the computer science curriculum with a 3.6 GPA. Tutored computer science students for extra money.