John Robert Welch

1503 Oak Ave #113
Evanston, IL 60201

jwelch/redshift-software.com

847-867-8168 (cell)

  • Design
    • Object Oriented Systems
    • Database
    • User Interface
    • Multimedia
  • Programming
    • Java
    • C++
    • SQL
    • Python
    • PHP
    • Common Lisp
  • Platforms
    • J2EE
    • Unix/POSIX
    • ORACLE
    • Win32 API
    • Macintosh
  • Technologies
    • EJB
    • JMS
    • XSLT
    • Boost Libraries
    • GigaBASE
    • wxWidgets

B.S. Computer Science

Minors: Mathematics, Electrical Engineering

Michigan State University

June 1991

Vice-President, Redshift Software, Inc.

July 2001 to Present

Responsible for company operations and software development.

Ongoing development of the Thot project. This is a large project written in modern C++ on multiple platforms. The majority of the code-base, more than 90%, is portable the rest uses the Boost Libraries and wxWidgets framework for portability. Development includes a variety of technologies and systems: Win32, Linux, Unix, TCP/IP, GigaBASE (an object/relational database), multithreading, and more.

Ongoing consulting for various clients in a mix of languages including C++, Java, PHP, Python, and SQL.

Wrote the server of a multiplayer web game for a client. Written in Java, this game uses the Unity framework and the Hibernate persistence library.

Created the software design of game from a client's functional specification. This downloadable puzzle and trading game will be written in C++.

Web development for Follett Library Resources (www.flr.follett.com). Including both back end and front end development. The site uses both PHP and Perl with mod_perl backed by an Oracle 8i database.

Development of Gulo Solutions Web Content Management System (gulosolutions.com). This is a PHP based system backed by MySQL database. The system supports client editable content and a flexible structure to facilitate online content creation and maintenance.

Enhancement of client sites for Gulo Solutions. Added features to existing web management system written in Coldfusion, including a balloting system for web site members and a dynamic zip facility for large downloads.

Implemented a web database schema maintenance system for a client. This PHP based system reads a database schema from an XML document, validates it, then installs or updates it on an SQL Server or MySQL database.

Web developement for Northwest Community Hospital (nch.org). Using PHP and MySQL, added pages to dynamically display care quality. Added administrative pages to allow staff to update quality metrics.

Software Engineer, DARC, Development Inc. - Software Division (ISIX)

January 1999 to June 2001

Designed and implemented a Java server program to load XML documents into the ISIX database integration product. This program, known as the XML Gateway, is a server consisting of a set of Java components that provide asynchronous processing of XML documents from a Java Message Service (JMS) compliant provider into a database staging table and are responsible for scheduling the data to be processed by ISIX.

Designed and implemented a data visualization tool in Java to aid internal developers. This tool, known as DataScope, allows developers to examine data stored in an Oracle database schema that drives the data processing functions of the ISIX product. This allows developers to "debug" complex data processing controlled by ISIX metadata.

Lead Programmer, Institute for the Learning Sciences - Northwestern University

September 1991 to January 1999

Designed and implemented in Java a tool for creating course content for a web based instruction program.

Redesigned the existing API for our tools and rewrote the interface to migrate from Lisp to Java. Designed and implemented a database schema to store data for the multi-language and cross-platform API.

Redesigned and implemented a new user interface for a tool I had previously created to make it fit better into a modular "plug in" architecture for our tools.

Rewrote and extended the Lisp foreign function interface for Macintosh. to provide access to shared libraries, allowing existing tools to use libraries written in C++.

Wrote the application code for Sickle Cell Counselor, a serious game teaching players about sickle cell anemia.

Designed and implemented a conversational knowledge base creation tool, known as the Asktool. This tool allowed multiple individuals to simultaneously view and edit the knowledge base. Implemented a variety of backend storage solutions including an Oracle database, a C++ object database, a high performance RAM implementation, and a file based system for deploying the finished knowledge base.