James P. White

6450 NE Radford Dr. #512  
Seattle, WA  




Computer consultant with over 25 years of experience. Expert in graphics, tools, networks, and embedded and portable devices. Seeks contract work or employee position, primarily using Java as project lead or in development support and troubleshooting. Particularly interested in the development of new tools and technology that increase the productivity of knowledge workers.


Dedication to quality and reliability
GUI library and tool development
Multithreaded applications
Accurate and robust coding
Client/server and web systems
Rapid production with new tools
Language and tool development
Build and install automation/scripting
Source and revision control

Data acquisition

NLP/text analysis/text mining
Networking and communications
Microprocessor hardware design from prototyping through production
BIOS and device driver implementation
FLASH in-system design
Embedded systems, portable devices, consumer devices, battery-powered design, real-time systems, hand-held devices, remote/distributed systems
Bar codes and IR codes



IFCX.org – Founder, Software Architect/Engineer [1/2006-present]
Created IFCX Wings, a literate scripting tool supporting multiple programming languages (via JSR-223 API) operating within OpenOffice Writer in an interactive, WYSIWYG style. Created the Groovy For OpenOffice extension which added Groovy macro support to OpenOffice. Groovy For OpenOffice won a Silver Award in the Sun Microsystems Community Innovation Program for OpenOffice. Bug fixes for several scripting.dev.java.net JSR-223 engines, and the LiveTribe JSR-223 implementation for convenient Java 5 support of JSR-223. Implemented JSR-223 engine for Scala. Groovy committer. Adapted JSR-223 Groovy engine for embedding in Groovy distribution. Created IFCX WikiPublishing web site tool using JSPWiki as a local CMS. Coded in Groovy, Java, and XSLT.



Text Analysis International, Inc. – Consultant, Software Engineer [3/2006-present]
Created NLP++ parser generator for medical text from UMLS metathesaurus concepts. Mapping of patent classes to industry segments. Scraping of patent and industry codes from HTML pages. Troubleshooting for Swing and Spring application with multithreading problems.  Coded in Groovy, NLP++, and Java.



Citysearch.com – Consultant, Software Engineer [11/2004-3/2005]
Designed & implemented new automatic payment processing (credit card & electronic check) application. Analyzed and documented legacy Delphi application and database schema.  Coded in Java, Ant, Hibernate (SQL Server), Struts under JBoss.


The Walt Disney Company – Consultant, Development Process Engineer [1/03-8/03]
Design and implementation of an automated modular build and deployment system for the Disney Enterprise Portal.  Replace the manual procedures used for this large Epicentric-based portal (Java, JSP, and XSL primarily). Reverse engineer the as-built (and in concurrent development) system to match against CVS and amend the omissions.  Implement automated deployment and replication scripts.  Implemented web-accessible system difference and deployment status reports. Training and support for build engineers.  Coded in Ant, JavaScript, XSL, and shell scripts for Solaris.



The Stuart Hack Company – Consultant, Architect & Software Engineer [9/02-12/02]
Designed and implemented a form-oriented web application for pension fund record-keeping. XML-centric design using XML Schema and Castor for persistence, XQuery for generation of Cocoon 2 XML-Forms, and XSLT for HTML form UI and XSL:FO report formatting. Hosted using Jakarta Tomcat.



Xdrive Technologies, Inc. – Consultant, Development Process Engineer [4/01-3/02]
Designed and implemented modular build and installer scripts in Ant with full support for cross-platform (Solaris & Windows) compatibility. This localized web application used WebLogic, Apache, and Oracle incorporating JSP, Java Servlets, EJB, SOAP, and log4j. Created installer needing only a single configuration file for multiple server, multiple instance, and multiple application systems. Dramatically improved quality of service over previous manual approach with a minimum impact on existing code. Designed and implemented session fail-over solution for the cluster. Maintenance of EJB and Java Servlets. Coordination with, and support for, QA, systems administrators, technical writer, and customers. Administered CVS. Improved engineering process and tool set.



Pagesmiths – Founder, Software Architect/Engineer [2000-2001]
Created the Applet Server, a Java servlet that hosts AWT & Swing applets. The user interface is rendered in browser-specific dynamic HTML (or other format) using XSL templates. Created incremental DOM using JavaBeans schema with annotations.


Created JIFC, an implementation of IFC using JFC/Swing. Enabled IFC applications/applets to operate as though they were native JFC. Retained binary compatibility with object archive files. Ported IFC Constructor to JIFC.



NetGenics – Consultant, Software Engineer [5/2000-7/2000]
Cleaned up NetGenics’ GUI application code. Redesign and update of their internal library code to fully support GUI API independence (IFC, JFC, and JIFC). Integration and testing with JIFC.



Sonance – Consultant, Firmware Engineer [2/1999-1/2000]
Firmware engineer for Sonance Navigator, a learning IR control device for home entertainment systems. Rescued incomplete and undocumented 5000 line 8051 assembly language program. Debugging and extension of IR data acquisition, learning, and code compression. Devised easier-to-use user interface code scheme. Added serial communications capability in C.



WebEasy – Consultant, Software Engineer [1996, 1999]
Subcontractor for WebEasy on projects for their clients Electric Community (The Palace – large scale graphical chat client/server system) and Hoffman-La Roche. Fixed AWT, cross-platform and browser compatibility, and multithreading issues in Java applets.

Codax – Consultant, Hardware & Firmware Engineer [2/1998-11/1998]
Hardware and firmware engineer for Codax LR-48 "Speed Lead", a rugged application-specific PC-compatible device for collecting leads at trade shows. Board design (OrCad) from prototype through compliance testing and production. Customized BIOS with drivers for LCD, RTC, and keyswitches. Customized ROM-DOS with drivers for FLASH, ROM disk, and PC Cards. Created automatic system for manufacturing test.



Netscape – Support Volunteer [6/1997-11/2001]
Chosen by the Netscape IFC (Internet Foundation Classes) development team to be the Netscape DevEdge Champion for IFC, a high performance GUI library for Java. Wrote FAQ, bug diagnosis and fixes, and user support.



V-Systems Inc. – Consultant, Software Engineer [3/1997-6/1997]
Software engineer for V-Systems Inc. Assisted in port to Windows of their VSI-FAX product (world leading Unix fax server). Assisted in development of Internet messaging application using JavaMail.



Adventure Online Gaming – Consultant, Architect [2/1996-1997]
System architect and software engineer for Adventure Online Gaming (now Gameworld.com) developers of a Java client-server system for massively parallel games. Designed and implemented the visual programming system "Wire" based on IFC and IFC Constructor.



Automated Product Development – Consultant, Architect, Firmware & Hardware Engineer [1995]
System architect, firmware, and hardware engineer for PriceChecker, a consumer retail device for self-service bar coded price checking. Implemented compatibility with legacy systems while dramatically increasing functionality. Display supported multiple fonts, graphics, and flexible formatting. Engineered and tested for compliance with FCC and CISPER B. Design and manufacturing rights acquired by Symbol Technologies.



Spider Island Software – Software Engineer [1994]
Software engineer for Spider Island Software, creators of TeleFinder, the first graphical BBS software (Macintosh). Redesigned and implemented in C++ client and server applications to use standard communications (I/O Streams) and user interface (PowerPlant) libraries, and changed from single thread to multithreaded.



Advanced Retail Technologies, Inc. – Consultant, VP of Engineering [1992-1993]
System architect, hardware and firmware engineer for Advanced Retail Technologies DOT (Direct Order Terminal). DOT was used for in-home order entry from bar coded catalogs. Designed and implemented all hardware and firmware for this hand held terminal and associated cradle with modem and printer. Created modular kernel and application system which supported remote FLASH updates. Created automated test software and equipment for production. Engineered for compliance to FCC, UL, DOC, and CSA. Directed application development, Unix host X.12 EDI system development, outside contractors and lab services. Coordinated with Mary Kay Canada and Amway for successful large trials. As VP of Engineering of the start-up, supervised staff of 7.


Thesis Technologies, Inc. – Consultant, Firmware Engineer [1991-1992]
Designed and implemented 80386 BIOS for Thesis Technologies InfoTouch and its cradle. The InfoTouch was a battery-powered tablet PC with supporting cradle. BIOS supported LCD, touch screen, non-volatile RAM-disk, and cradle operation of disk, keyboard, and serial port/modem. Created reliable high-speed packet protocol for cradle communication and the cradle’s service application.



Spider Island Software – Consultant, Software Engineer [1991]
Created NetConnect. A serial device driver and control panel for Macintosh that emulated a Hayes compatible modem and provided network interconnection for dial-up telecommunications software. Supported AppleTalk, TCP/IP, and ISDN.



Graphlink – Consultant, Architect & Software Engineer [1990-1991]
Created NULLTAPE for Graphlink, a SCSI tape emulation device for high-speed communication between pre-press systems (scanners, workstations, plotters). Reverse engineering for compatibility with existing hosts. Installation at production sites.



Symbol Technologies, Inc. – Consultant, Firmware Engineer [1988-1990]
Invented and implemented IBM PC compatibility for Symbol Technologies’ NEC V25 BIOS. That capability had been deemed impossible by Symbol and NEC engineers. The new BIOS avoided incurring further losses due to customer requirements for IBM compatibility. Became lead engineer for the BIOS and went on to make significant improvements in performance and reliability, power fault handling, and data acquisition for laser and contact bar code scanning. Added graphics library.



CareLink – Architect, Software, Firmware & Hardware Engineer [1986-1987]
System architect, project leader, software and hardware engineer, for CareFone and its 24x7 nurses’ monitoring system. The CareFone was a compact videophone-like device with graphic display and touch screen used for in-home monitoring of women at high risk for preterm labor. Recorded data was transmitted to and managed by nurse stations consisting of networked Macintoshes. System was deployed to a dozen locations nationwide and was subsequently acquired by Tokos Medical (now Matria Healthcare).



Automotive Development – Architect, Software, Firmware & Hardware Engineer [1985-1986]
Created TachTale, an on-board data acquisition system for motor racing applications. Product concept, development, hardware, sensors, signal processing, firmware, application software, graphics display and printing, user manual, field operation, and support. System was noteworthy for its ease-of-use, reliability of operation, and low cost.



CareLink – Consultant, Architect, Software & Firmware Engineer [1985]
System architect and software engineer for CareFone in its applications controlling an in-home bicycle ergometer with remote real-time cardiac monitoring for rehabilitation, and as an in-office cardiac stress tester with 12-lead ECG recording.



Symbolic Processing Systems – Software Engineer [1984]
Ported assembler and C compiler to new target (NS32000) for Unix-clone (Coherent).


Omnimedical Inc. & Emergent Technologies, Inc. – Architect, Software & Firmware Engineer [1981-1983]
Lead developer for first whole body X-Ray CT scanner using distributed multiprocessor control (previously controlled by minicomputer and hardwired logic). Designed system software architecture, implemented multitasking message-oriented kernel, tools, and drivers, and provided training and support to application engineers. Implemented and extended a FORTH with assembler and metacompiler for MC6809, TMS9900, MC68000, and NS32000.



National Computer Sales – Software Engineer [1980]
Created interactive ad hoc report generator for end users (non-programmers).  Data General Business BASIC.



UC Irvine – Student [8/1978 – 6/1980]
Created experimental full-screen editor for synchronized text and structure (syntax-directed) editing of data and programs (LISP).




LANGUAGES: Groovy, Java, C, C++, XSL, SQL, XQuery, XML Schema, JavaScript, FORTH, LISP, Scheme, Pascal, BASIC

OPERATING SYSTEMS: Windows, Mac OS X & Classic, Solaris, UCSD pSystem, ROM-DOS, DR-DOS, MS-DOS, Custom/proprietary systems

PROCESSORS: Intel 80386, NEC V25, Vadem V220, Intel 8051 family, Microchip PIC family, Hitachi 6303, Motorola MC68000, Motorola MC6809, Motorola MC68HC11, National Semiconductor NS32000, Texas Instruments TMS9900

PROTOCOLS: TCP/IP, AppleTalk, POP3, SMTP, HTTP, XML, HTML, Serial, Dial-up modem (Hayes AT), SCSI, ISDN, X/Y/ZMODEM, X.12 EDI, Custom/proprietary protocols

LIBRARIES: Netscape IFC, Swing/JFC, AWT, EJB, DOM, Apache Cocoon 2, JSR-223 Java Scripting API, JDBC, Java, Servlets, Xalan, JavaMail, Windows GDI, Windows MFC, Metroworks PowerPlant

TOOLS: Jakarta Ant, CVS, Eclipse, JUnit, BEA Weblogic Server, Apache httpd, Oracle, Jakarta Tomcat, JBoss, SQL Server, Symantec (WebGain) Visual Café, Metroworks CodeWarrior, Jtest, Jprobe, OptimizeIt!, Exolab Castor, OrCAD, Logic Analyzer, Oscilloscope, In-Circuit Emulator
Macromedia Dreamweaver, Macromedia Fireworks, Adobe Illustrator, And many others