[ Last Revised 17-Nov-2017 ] [ Get PDF version of my resume at http://www.PolyglotInc.com/ ] [ See my publications at http://www.PolyglotInc.com/articles.html ] Robert Bruce Wallace, Jr. B.S. in Mathematics / Computer Science Florida State University, Tallahassee, FL National Merit Scholarship Who's Who in Frontier Science & Technology (Marquis Who's Who in America) Who's Who in California Who's Who in Technology Today Who's Who in Society Who's Who Worldwide Registry ------------------------- Career Summary ------------------------- As Principal Consultant of PolyGlot Inc, Bruce Wallace has provided computer software development, consulting, and training services around the world. Projects have been completed in San Francisco, "Silicon Valley", "Route 128" MA, Austin TX, Charlotte NC, Atlanta GA, Juan-les-Pins and Nice France, Sydney and Perth Australia. Hands-On development in 40+ languages and 50+ application domains for 75+ clients (including Apple, Sun/Javasoft, HP, FedEx, BellSouth, Coca-Cola, Wachovia, Wells Fargo, Williams-Sonoma, Chevron, Lockheed, Raytheon). Authored Top-5 world-wide best-selling software, and articles for magazines like OReilly, DZone, Byte, JavaPro, OnJava, Gamelan/Developer.com LANGUAGES: Ada, APL, BASIC, C, C++, COBOL, ColdFusion, DTD, Exlax, Fortran, Forth/Graforth, FreeMarker, HTML/CSS, Java, JSP, JavaScript, Lisp, Modcal, ObjectPAL, Object Pascal, ObjectVision, Pascal, PHP, Perl, PL/SQL, Prolog, Scheme, Snobol, SQL/ESQL/Pro*C, SVG, Tutor, TypeScript, UCSD Pascal, Unix shells/sh/csh/bash/tsch/ksh, UML, WSDL/SOAP, XML, XSL, XSchema, Z80, 8052, 8080, 8085, 8086, 6502, 6800, 68000, Compass, Macro-10/11/20, Applicon GAS/FLECS TECHNOLOGIES: Front End: AJAX/JSON/REST/SOA, Applets, Angular/Dojo/jQuery/YUI, Epicentric/Portals Back End: Apache/Tomcat, Borland Enterprise Server,J2EE/JSP/Servlets/EJB, JRun,S truts/Spring "Fat" GUI: DataViews, MacApp, XDesigner, X-Windows/Xlib/Motif/DecWindows/twm/mwm IDEs: CodeWarrior, Eclipse, JBuilder, MPW, Rational Rose, WebSphere/WSAD Tools: Ant, Batik, Gulp, Node.js, Protege-2000, Toad, JUnit/JsUnit, XALAN/XERCES Protocols: BER-ASN, DecNet, HTTP, ICMP, IS41, LDAP, OSI, SNMP, SS7, TCP/IP, T1(D4/ESF) DATABASES: Oracle, MySQL, DBVista, Progress, Sybase, Informix, ADABASE, 4th Dimension, Endeca, Firebase, HP Image/View, Ingres, Informix ESQL-C, FileMaker, Access, Paradox SYSTEMS: Unix/Linux/HPUX/DGUX/AIX/UnixWare/Solaris/SunOS, Macintosh, Win31/NT/2K/XP, HP3000 HPE/MPE, RSX-llM, VAX VMS, DEC Tops 10/20, DG AOS, PDP-11, CP/M, UCSD p-system, MS DOS, Apple II, TRS-80, CDC Kronos/Scope/STAR/Plato DOMAINS: artificial intelligence/ontology, compilers, computational geometry, BPA/BPR, CAI, CIM, VLSI CAD/CAM, CRM, Front-End/UI/GUI design, graphics, education, e-commerce, Design Patterns, Design Markers, Explicit Programming, Existential Programming, client/server, data warehouse, digital asset/image management, marketing, embedded, energy, manufacturing, MRP/DRP, cellular, communications, telecom, database kernels, O/S kernels, device drivers, distributed database/systems, protocol design, simulation, military systems, workflow, network admin, message oriented middleware (MOM), mainframe, audits/controls, scientific, custom hardware interfacing, retail, real-time control systems ROLES: Architect, Author, CTO, Chief Scientist, Product/Project Manager, Business Analyst, Systems Analyst, Lead Developer, QA Developer/Tester, Tech Writer, Instructor ------------------------- Smaller Projects ------------------------- DESCRIPTION: Concurrently with the larger projects listed on the following pages, the smaller projects just below were completed on a part-time basis. * Architects.DZone.com Wrote two articles on domain modeling concepts from Western Philosophy appearing June 2012 * JavaLobby.com / DZone.com Wrote article on managing Unit Testing using Philosophy & Economics appearing Aug 2010 * Gamelan.com / Developer.com Wrote article on Javascript Class Emulation appearing in Feb 2007 Gamelan Magazine * OnJava.com Wrote article on Javascript Mutual Exclusion appearing in March 2006 OnJava * Gamelan.com / Developer.com Wrote article on AJAX Mutual Exclusion appearing in March 2006 Gamelan Magazine * OnJava.com Wrote article on Explicit Programming appearing in the March 2003 OnJava Magazine * Gamelan.com / Developer.com Wrote article on Design Markers appearing in the March 2003 Gamelan Magazine * JavaPro Magazine Wrote article on design patterns appearing in the March 2001 JavaPro Magazine * Byte Magazine Wrote article on computer animation appearing in the May 1981 Byte Magazine * QWIZ, Inc. Member of expert panels that developed online tests for Java 2 and HTML 4.0 * Quality Software Wrote Asteroids in Space for Apple II (later Meteoroids in Space) Considered a classic by Softalk Magazine * North American Computer Othello Championship 1986 Developed from scratch an entry in Computer Othello Championship Tournament * Northeastern Univ. Faculty member, Pascal instructor * LeBaron Hotel Taught "Introduction to Ada" seminars * Pizza Time Theatre Taught in house classes on Apple Pascal * ADC Associates Wrote VisiTran data translator published for Apple II. * Bullwinkle's Pizza Wrote graphic customer pickup reminder system * DCM, Inc Developed multi-threaded real-time test controller for telecom cables * Strobe, Inc Pen Plotter driver software for Apple II and CP/M * LeCroy, Inc Laboratory measurement equipment drivers * National Info Systems Wrote market evaluation of Pascal-Plus compiler * Formaster Developed copy protection software for Macintosh * Schlage Electronics Upgraded electronic lock controller firmware * MasterPlan, Inc. Taught in house classes on MacApp development * Pillar Corporation Developed MacApp objects to read/write Lotus & DBase files * Lockheed Missles & Space Helped test ERIS launch control console software * Federal Express Wrote a white paper on X GUI interoperability & style guidelines * BenefitWare Wrote insurance direct reimbursement program using ObjectVision * Digital Enterprises Wrote system to monitor/log RAID disk status notifying alerts via pager * Georgia Power Wrote reports for Board of Directors using ObjectPAL (Paradox for Windows) * MIDS Wrote Java applets for displaying MIDS Internet Weather Reports * PolyGrafX Wrote resume processing utilities using XML and Java --------------------------- Larger Projects --------------------------- Between 1/2017 and Present, I was a Front End Developer at reXume.org in Sausalito, CA. DESCRIPTION: Ported reXume.org interactive resume tools from YUI-css/jQuery web pages to JavaScript/AngularJS (v1.6) web site. Then ported site to TypeScript/Angular-4/Bootstrap-4. Migrated from manual builds, to Gulp and Node.js builds for AngularJS, and to AngularCLI for Angular 4. Also converted from database-generated static html, to JSON files served via server-side RESTful API, and Firebase cloud databases. KEYWORDS: JavaScript, TypeScript, AngularJS, Angular 4, Gulp, Node.js, jQuery, HTML, CSS, MVC, Firebase, Bootstrap 4 Between 5/2015 and 12/2016, I was Author of Existential Programming in Nice, France DESCRIPTION: Took a second sabbatical in France to continue study in ontology, exploring how it applies to day-to-day software development, in particular, business analysis, data modeling, object oriented systems, and systems/data integration. Also, explored ES6 additions to JavaScript, porting previous MVC components to ES6. KEYWORDS: analysis, ontology, semantic web, JavaScript, architecture, data modeling, data integration, domain model, philosophy, metaphysics, BA Between 1/2014 and 5/2015, I was a Consultant at Williams Sonoma in San Francisco, CA reporting to Shiva Harris, Business Mgr. DESCRIPTION: Member of team developing and supporting the six brands in the Williams-Sonoma family of retail websites including Pottery Barn. Developed new GUI widgets in JavaScript and Dojo, and webpages in HTML, CSS, Java, Spring, and Freemarker. Focused on Checkout tunnel, Analytics generation, and site search using Endeca. Also created documentation and training materials for developers about design patterns and MVC techniques. KEYWORDS: DOJO, FreeMarker, RIA, AJAX, JavaScript, HTML, CSS, Sass, design patterns, Java, Spring, MVC, Endeca, ecommerce, analytics Between 2/2011 and 7/2013, I was a Consultant at Wells Fargo Bank in San Francisco, CA reporting to Manuel Jasso, Supervisor. DESCRIPTION: Member of core team developing and supporting Wells Fargo's RIA frameworks used by scores of customer facing web applications. Developed new GUI widgets and frameworks in JavaScript, HTML, CSS, custom JSP tags to generate corporate standard markup, server-side framework components using Java, Servlets, JSP & Struts. I also created documentation and training materials for framework users and developers including performance optimization & MVC. KEYWORDS: ARIA, RIA, AJAX, JavaScript, HTML, CSS, XML, JSON, design patterns, Java, JSP, J2EE, MVC, YUI, Ext-JS, Struts, Cross-browser, Accessibility, performance optimization Between 11/2010 and 1/2011, I was Architect at gravey.org in San Francisco, CA DESCRIPTION: 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. 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 Between 1/2009 and 9/2010, I was Author of Existential Programming in Juan-les-Pins, France DESCRIPTION: 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. KEYWORDS: analysis, ontology, semantic web, Java, JavaScript, identity systems, Web Services, SQL, architecture, data modeling, data integration, domain model, philosophy, metaphysics, BA Between 1/2007 and 10/2008, I was a Consultant at Wachovia Bank in Charlotte, NC reporting to Chris McDonald, Supervisor. DESCRIPTION: 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. KEYWORDS: BA, Business Analyst, Java, .Net, mainframe, Web Services, SQL, architecture, data modeling, data warehouse, domain model Between 12/2004 and 11/2007, I was a Consultant at Wachovia Bank in Charlotte, NC reporting to Chris McDonald, Supervisor. DESCRIPTION: 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. HEADCOUNT: Supervised 4 other team members. 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, MDB, EJB, JMS Between 6/2004 and 12/2004, I was a Consultant at Wachovia Bank in Charlotte, NC reporting to Chris McCabe, Supervisor. DESCRIPTION: 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. 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 Between 10/2003 and 1/2004, I was a Consultant at Wachovia Bank in Charlotte, NC reporting to Mark Manning, Supervisor. DESCRIPTION: 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. KEYWORDS: Java, J2EE, XML, XSLT, WSAD 5, CVS, Win2000, DBA, HP-UX, Oracle, TOAD, ANT, shell scripting, PL/SQL, SQL, Unix Between 6/2003 and 9/2003, I was an Architect for reXume.org / reXume.net in Atlanta, GA sponsored by PolyGlot, Inc. DESCRIPTION: Developed the GanttMagic and reXume XML stds (described via RDDL) for representing Gantt Chart and resume data. Developed and published an open source reference implementation as interactive J2EE web apps (using XSLT and Java hook functions) which filter and display resume data as HTML, plain text, and graphic image renderings of "Experience Diagrams", i.e. gantt chart summaries of which skills were used during which time periods. KEYWORDS: SVG, XML, XSL, XSchema, Java, J2EE, Tomcat, JRun, MySQL, JDBC, JSP, JAXP, XHTML, HTML, ontology, Protege-2000, Linux, Gantt, Apache, Batik, SQL, UML, Architect, Unix, JBuilder 8 Enterprise Between 8/2002 and 5/2003, I was a Consultant at ChoicePoint in Atlanta, GA reporting to K. Deshpande, Supervisor. DESCRIPTION: 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. HEADCOUNT: Supervised 2 other team members. KEYWORDS: Java, J2EE, EJB CMP 2.0, XML, XSLT, XSchema, JUnit, JBuilder, BES, Win2000, Solaris, Oracle, JAAS, Design Patterns, UML, QA/QC, JNDI, LDAP, Struts, education, SQL, RUP, Rose, Unix, BA, Business Analyst, SSA NAME3 Between 4/2002 and 8/2002, I was an Architect at PolyGlot, Inc. in Atlanta, GA reporting to Robert Wallace, Owner. DESCRIPTION: 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. KEYWORDS: SVG, XML, DTD, XSLT, XSchema, Java, J2EE, JRun, MySQL, JDBC, JSP, JAXP, XHTML, HTML, ontology, Protege-2000, Linux, Win2000, Apache, Batik, SQL, Javascript, UML, Architect, Unix Between 11/2001 and 6/2002, I was a Consultant at Grassroots Girls in Atlanta, GA reporting to Renee Izadi, Supervisor. DESCRIPTION: 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/XSLT. Was main liaison between business partners and web graphics designer. Also developed server side scripts in PHP to support forms and order processing. HEADCOUNT: Supervised one other team member. KEYWORDS: XML, XSL, DTD, XSchema, XHTML, HTML, CSS, Java, J2EE, education, workflow, XALAN, XERCES, JAXP, JRun, Apache, ANT, Linux, PHP, Win2000, Internet, e-commerce, UML, Architect, Unix, BA, Business Analyst Between 2/2001 and 10/2001, I was a Consultant at MediaBin in Atlanta, GA reporting to Bill Coleman, Supervisor. DESCRIPTION: 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. KEYWORDS: Java, C++, JUnit, JBuilder, GDPro, Win2000, BER-ASN-TCP/IP protocols, Design Patterns, UML, QA/QC Between 3/2000 and 1/2001, I was a Tech Asst to Chairman at Matrix.net in Austin, TX reporting to Don Fussell, Chief Science Officer. DESCRIPTION: 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. HEADCOUNT: Supervised 2 other team members. 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 Between 6/1999 and 3/2000, I was a Lead Developer at Nuforia in Houston, TX reporting to Michael Wollin, Dir., Engineering. DESCRIPTION: 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. 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 Between 3/1998 and 4/1999, I was the Chief Technology Officer at fabric.com in Marietta, GA reporting to Stephen Friedman, President. DESCRIPTION: 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. HEADCOUNT: Supervised 22 other team members. 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 Between 7/1997 and 2/1998, I was a Consultant at Javasoft (Sun) in Cupertino, CA reporting to Frank Dibbell, SQE Manager. DESCRIPTION: 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. KEYWORDS: Java, HTML, HTTP, Solaris, Win95, QA/QC, JDK, Visual Cafe, JBuilder, JavaStudio, Unix Between 9/1996 and 3/1998, I was a Consultant at MIDS in Austin, TX reporting to John Quarterman, President. DESCRIPTION: 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. KEYWORDS: Java, HTML, HTTP, JDK, Visual Cafe, Solaris, Win95, Macintosh, Unix Between 6/1996 and 5/1997, I was a Consultant at Coca-Cola in Atlanta, GA reporting to Tamara Wright, Supervisor. DESCRIPTION: 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. KEYWORDS: Java, C++, MacApp, CodeWarrior, SQL, client/server, data warehouse, Booch Between 3/1996 and 6/1996, I was a Consultant at IRI Logistics in Atlanta, GA reporting to Vittal Devarajan, Supervisor. DESCRIPTION: Helped to port and enhance the Logistics Partner DRP product from Oracle PL/SQL to C, Oracle Pro*C, & Informix ESQL-C on HPUX 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. KEYWORDS: HPUX, AIX, C, Oracle Pro*C, Informix ESQL-C, MRP/DRP, compilers, Unix, SQL Between 5/1995 and 2/1996, I was a Consultant at BellSouth Wireless in Atlanta, GA reporting to Steve Cleary, Senior Manager. DESCRIPTION: 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. KEYWORDS: C, C++, UnixWare, message oriented middleware, telecom systems, IS41,SS7, PERL, DGM&S, Pascal, Booch, Unix Between 4/1994 and 4/1995, I was a Consultant at BellSouth Cellular in Atlanta, GA reporting to Gary Schwaiger, Supervisor. DESCRIPTION: 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 HPUX 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++. HEADCOUNT: Supervised 2 other team members. KEYWORDS: C++, AIX, HPUX, Sybase, DCE, SNMP, NetView, SM/6000, distributed systems, X Windows, SQL, education, Booch, Unix, BA, Business Analyst Between 2/1993 and 3/1994, I was a Consultant at Coca-Cola in Atlanta, GA reporting to Karen Gratton, Supervisor. DESCRIPTION: 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++. KEYWORDS: C++, MPW, MacApp, Oracle, Pro*C, SQL, client/server, Win31, Booch Between 1/1993 and 2/1993, I was a Consultant at Raytheon in Marlborough, MA reporting to Martin Greenstein, Supervisor. DESCRIPTION: 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. KEYWORDS: C, DGUX, SunOS, Unix, X, Motif, DataViews, real-time, twm, mwm, graphics, embedded Between 1/1992 and 10/1992, I was a Consultant at V.I. Corporation in Northampton, MA reporting to Earl Billingsley, Supervisor. DESCRIPTION: 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. KEYWORDS: C, C++, Unix, X, XDesigner, Motif, DataViews, real-time, SunOS, HPUX, DGUX Between 7/1991 and 11/1991, I was a Consultant at Chevron Oil in Richmond, CA reporting to Rick Scheuerman, Supervisor. DESCRIPTION: 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. HEADCOUNT: Supervised one other team member. KEYWORDS: VAX, VMS, C, FORTRAN, DecWindows, DataViews, Ingres, DecNet, real- time, graphics, client/server, embedded Between 11/1989 and 5/1991, I was a Consultant at Orbital Engine Co. in Perth, West Australia reporting to Mark Norman, Supervisor. DESCRIPTION: 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 rules scripts rather than hardwire the logic. HEADCOUNT: Supervised 3 other team members. KEYWORDS: AOS, DGUX, FORTRAN, C, C++, Progress 4GL, X, Xlib, Motif, graphics, QA/QC, MS-DOS, real-time, relational database, education, Architect, embedded, Unix Between 4/1989 and 9/1989, I was a Consultant at Operations Control Systems in Palo Alto, CA reporting to Derek Evans, Supervisor. DESCRIPTION: 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. KEYWORDS: HP3000, MPE V, Image, View, Pascal/3000, Unix, Architect Between 1/1989 and 3/1989, I was a Consultant at Stanley-Vidmar in Cincinnati, OH reporting to Kit Fitzpatric, Supervisor. DESCRIPTION: 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. KEYWORDS: Macintosh, MPW, C, DB-Vista databases, MS-DOS, IBM PC/AT, real-time, manufacturing, protocol design, communications, AppleTalk, embedded Between 3/1988 and 12/1988, I was a Consultant at Cameo Systems in Santa Clara, CA reporting to Fred Hyden, Supervisor. DESCRIPTION: 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. HEADCOUNT: Supervised 2 other team members. KEYWORDS: Macintosh, MPW, MacApp, Object Pascal, CIM, SQL, object oriented, 4th Dimension 4GL, protocol design, client/server Between 7/1987 and 2/1988, I was a Consultant at Verilink in San Jose, CA reporting to Starry Chan, Supervisor. DESCRIPTION: 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. HEADCOUNT: Supervised 3 other team members. KEYWORDS: communications, OSI, T1 (D4/ESF), protocol design, real-time, IBM PC/AT, C, DB-Vista databases, MS-DOS, QA/QC, Architect, embedded, 8052 Between 3/1987 and 6/1987, I was a Product Manager at BAM in Sydney, Australia reporting to Mike Bolan, President. DESCRIPTION: 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. HEADCOUNT: Supervised 4 other team members. KEYWORDS: Macintosh, marketing, Manager, BA, Business Analyst Between 11/1986 and 4/1987, I was a Network Transport System Manager at Australian Associated Press in Sydney, Australia. DESCRIPTION: 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. HEADCOUNT: Supervised 2 other team members. KEYWORDS: communications, VAX, VMS, C, Ethernet, Decnet, protocols, design, Manager, embedded Between 3/1986 and 9/1986, I was a Consultant at FMC in San Jose, CA reporting to John Tope, Supervisor. DESCRIPTION: 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. KEYWORDS: IBM PC/AT, Pascal, LANs, simulation, military systems, distributed database Between 3/1985 and 2/1986, I was a Consultant at Hewlett Packard in Cupertino, CA reporting to Jean Danver, Manager. DESCRIPTION: Developed test suite of spec compliance and regression tests for Pascal and Modcal compilers for HP3000, HP9920, and HP Spectrum computers on MPE, HPUX, and HPE operating systems. Developed tools to automate QA/QC process. Also performed some compiler maintenance. KEYWORDS: QA/QC, HP-3000, HP-9920, HP-Spectrum, Pascal, Modcal, C, HPE, MPE, HPUX, Unix, HP Image database, compilers Between 3/1984 and 2/1985, I was a Consultant at Applicon, Inc in Santa Clara, CA reporting to David Ross, Supervisor. DESCRIPTION: Prototyped, in VAX C, a 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). KEYWORDS: VLSI CAD/CAM, PDP-11, VAX, RSX-llM, VMS, C, computational geometry, design maintenance, FORTRAN, Macro-11, FLECS, Pascal, compilers, device drivers, embedded, assembler Between 1/1983 and 2/1984, I was a Chief Scientist/Product Manager at Management Blueprint Software in Los Gatos, CA reporting to Mike Lodge, Vice President. DESCRIPTION: 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. HEADCOUNT: Supervised 4 other team members. KEYWORDS: IBM PC/XT, UCSD Pascal, BA, artificial intelligence, Manager, database kernal, Architect, ontology, Business Analyst Between 3/1982 and 1/1983, I was a Consultant at Management Blueprint Software in Los Gatos, CA reporting to Mike Lodge, Vice President. DESCRIPTION: 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. HEADCOUNT: Supervised 2 other team members. KEYWORDS: Apple II, Apple III, IBM PC, TRS-80 II, Pascal, Manager, compilers, CAI, Architect Between 6/1981 and 5/1982, I was a Consultant at OMEX in Santa Clara, CA reporting to Rob Spade, Project Leader. DESCRIPTION: 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. HEADCOUNT: Supervised 3 other team members. KEYWORDS: Omsi Pascal, PDP-11/70, RSX-llM, Manager, design, ADABAS-M database, BA, Business Analyst Between 2/1981 and 4/1981, I was a Consultant at GenRad S.T.I. in Milpitas, CA reporting to Tony Taylor, Supervisor. DESCRIPTION: 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. KEYWORDS: Z80, Pascal, C, PDP-11, RSX-llM, embedded, assembler Between 4/1980 and 2/1981, I was a Consultant at Aydin Energy Division in Palo Alto, CA reporting to Art Laursen, Supervisor. DESCRIPTION: 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. HEADCOUNT: Supervised 10 other team members. KEYWORDS: Z80, Pascal, CP/M, O/S kernals, real-time, Manager, device drivers, Architect, embedded, assembler Between 10/1979 and 3/1980, I was a Software Development Manager at Personal Software (Visicorp) in Sunnyvale, CA reporting to Peter Jennings, Chairman. DESCRIPTION: 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. KEYWORDS: APPLE II, TRS-80, PET, Manager, QA/QC Between 9/1978 and 9/1979, I was a MAXBASIC Project Manager at National Info Systems in Cupertino, CA reporting to Arden Scott, President. DESCRIPTION: 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. HEADCOUNT: Supervised one other team member. KEYWORDS: DEC-10/20, TOPS-l0/20, BASIC, Macro-l0/20, compilers, Manager, QA/QC, assembler Between 9/1978 and 5/1984, I was a President at Apple P.I.E. in Sunnyvale, CA reporting to Mark Wozniak, Sponsor. DESCRIPTION: 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. HEADCOUNT: Supervised 4 other team members. KEYWORDS: Apple II, education, Manager, Pascal, 6502, assembler Between 3/1978 and 9/1978, I was a Programmer/Analyst at Control Data Corp in Sunnyvale, CA reporting to Jen Bryant, Group Manager. DESCRIPTION: 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. KEYWORDS: FORTRAN, CDC NOS, CDC Star, supercomputers, operating systems, mainframe Between 9/1974 and 1/1977, I was a Programmer/Analyst at Applications Group, FSU in Tallahassee, FL reporting to Don McEwen, Manager. DESCRIPTION: 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. KEYWORDS: CDC 6000, KRONOS, COMPASS, FORTRAN, COBOL, graphics, data processing, education, mainframe, assembler Between 1/1974 and 12/1977, I was a Student at Florida State University in Tallahassee, FL reporting to Math/Computer Science, Major. DESCRIPTION: 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. KEYWORDS: APL, Basic, CDC 6000, KRONOS, COMPASS, Pascal, FORTRAN, TUTOR, PLATO, compilers, language design, simulation, LISP, SNOBOL, COBOL, education, graphics, mainframe, assembler [ Last Revised 17-Nov-2017 ]