Database: PosgreSQL, MySQL, Redis, Oracle Database, Microsoft SQL Server (TSQL). Extensive experience with scaling and tuning of applications using PosgreSQL and Oracle.
Tools and Testing: Yeoman, Kubernetes, Docker. Continuous integration using Travis CI and other continuous integration systems.
Mobile Development: Experience with React/Native, Swift and HTML5 mobile application development on iOS/iPhone/iPad, and Android.
Go-FTL A full featured web server and forward proxy. Website and documentation for Go-FTL
Family Boating Blog A boating blog for my family. Blog Main Page .
Boat for Sale 50 Foot Beneteau for Sale (now sold)
University of Wyoming October 2017 to Present Assisting in teaching of Haskell and Functional Programming.
Note: in 2008 we purchased a 50 foot sailboat and took a few years ( a decade ) off. Our family blog above has a slew of pictures of the boat and our travels. Since 2014 I have been working on an open source development environment, Go-FTL .
Allen Systems Group, Inc. July 2004 to August 2008 Lead developer after the Senware Acquisition. In charge of all technical maintenance, training and support and development of the AutoDBA product line.
Senware, Inc. January 1999 to July 2004 Founder and CTO of Senware. Developed and marketed an Oracle Database maintenance product called AutoDBA. Senware successfully raised 2.7 million in venture capital, built and marketed the AutoDBA product and was sold to Allen Systems Group in July of 2004. Responsibilities included technical sales, product design, product development, managing technical support, technical team lead, product research and raising funding.
URS Griner Woodward Clyde Corp. thru Allegory Consulting Inc. July 1998 to December 1999 Contractor. Planning, Design and Development of conversion code to Oracle Financials from CFMS. Database Administration for nine Oracle 7.1.6 to 8.0.4 databases. Implementation of backup strategies and scripts for databases. Custom reports from a PeopleSoft database.
Newmont Gold, Inc. thru 2C-Why Consulting, LLC September 1997 to July 1998 Contractor. Planning, Design and Development of automated interfaces for Oracle Financials. Interfaces loaded data from a variety of other accounting systems including Lawson and MIMS3. Database Administrator (DBA) for Oracle Financials installation. Development of a custom inter-company account balancing module for general ledger and project accounting.
TCI, Inc. thru Allegory Consulting Inc. March 1997 to September 1997 Contractor. Working on contract to load testing and performance tuning on an installation of Oracle Financials using Load Runner from Mercury Software. Design and development of a web-based report distribution system to support 1,200 users.
Cypress-Amax Mining Inc. thru Allegory Consulting Inc. April 1997 to March 1997 Contractor. Design and development of programs to transfer journal entries from the MIMS3 accounting system into Oracle Financials. Use of Designer 2000 for design and documentation of this system. Programs provided a real time interface between MIMS3 and Oracle Financials. Year 2000 validation and testing of software.
Saxe Marketing Inc. thru 2C Why Consulting, LLC April 1997 Contractor Performance tuning and testing on a 50+ giga-byte STAR schema database.
CommNet Cellular Inc. thru Allegory Consulting Inc. September 1996 to April 1997 Contractor, Team Lead. Development of load programs in Pro*C and PL/SQL to load a STAR schema based data warehouse. Design and development of testing tools using Microsoft IIS Active Server Page to verify data correctness. Database design of an event scheduling and tracking system to be developed using HTML and Active Server Pages. Design and deployment of corporate Intranet including report distribution, web based phone book and other utilities.
Information Handling Services, Inc. thru Allegory Inc. August 1994 to May 1997 Contractor, Project Development Manager. Design, development and continuing maintenance on a database server and search engine using Oracle 7.3.2 Design and development of a set of automated validation tests on IHS data to determine correctness of both software and data. Extensive performance tuning on a 10 giga-byte Oracle database. Thorough knowledge of cost based performance tuning in Oracle. Design and implementation of the data maintenance system for this database using PL/SQL and Oracle Triggers. Extensive use of CASE tools. Implementation of scripts in SQL*Loader and Pro*C to load the database from flat files. Development of a web-based front end for this database. Web application designed used a CGI interface to a custom HTML server. Database server transformed an object oriented query language into SQL queries. This object-query language allowed for the storage of complex inheritance based objects in a set of relational tables. The query engine performed “on the fly” performance tuning of SQL queries. All software portable to HP, Sun, AIX and Windows NT.
Dale Carnegie Training, Inc. March 1996 to August 1996 Teaching interpersonal skills, developing confidence and leadership, team building, goal setting and effective planning.
US West, Inc. thru AIC Inc. August 1993 to August 1994 Contractor, Project Leader Development of software to migrate US West's customer database from DB/2 to Oracle on a HP Work Station. Developed a configuration management system and guidelines for its use. Development of tools for building and maintaining Oracle test environments.
Johnson Space Center Houston TX September 1992 to June 1993 Project Leader Research/Development project designing software and hardware for an autonomous robot to retrieve dropped tools and assist in building the Freedom space station. High and low level image processing including development of a fast color pose estimation. Robot planning using multiple real time input media. Project was completed and flown during construction of the ISS.
IBM, Inc. thru Personnel Management Inc. August 1990 to April 1992 Contractor, Technical Lead Architect Development of a large graphics and database application. Responsible for design and development of 7 out of 12 components for the database server in this GIS project. Technical lead of a 100+ person development team.
Database design and selected de-normalization to optimize system performance. Designed and implemented a SQL super-set language allowing spatial indices and spatial queries. Extension of SQL allowing complex objects, networks, graphs, and trees to be partitioned into relational tables. Implementation of portability layer allowing use of Oracle, Ingress, DB2 and other SQL servers. Implementation of custom CASE tools to aid in development.
Design of development environment for 100+ Person development team. Implementation of makefiles and other utilities used throughout the development environment. Design and implementation of an object oriented data definition language for translating complex data structures into relational tables. The language generated C code and SQL/DDL for over half of the 600,000 lines of code in this project.
Compu-Systems Corp. May 1988 to February 1990 CTO and Technical Director and Software Development Manager Design and development of a Point of Sale system. Design and implementation of numerous tools to improve the productivity of the software development team. In charge of a 5-person software development team responsible for product testing and quality assurance, quality modeling and defect tracking. Design of software and hardware test harnesses. Support of software with customers and customer training.
Design and implementation of a loosely coupled, fault tolerant, multi-processor network protocol. Protocol specifically designed to support a high reliability real time database for use in a Point of Sale system. Design of hardware and software for a network analysis tool that allowed tapping into the communication system and capturing real time information packets. Design and implementation of the distributed database for the Point of Sale system. Development of a real-time operating system and other software and hardware for the embedded controllers in the product.
Design and implementation of an object oriented report writing language. Report writer allowed fast development of a wide variety of database reports.
University of Wyoming, Laramie, WY August 1986 to May 1988 Systems Programmer Installation of TCP/IP network between Symbolics 3670 and the UW Campus Network. Development of NFS for the Symbolics 3670 computer. System administrator for a UNIX network. Maintenance included development and use of a system backup procedure, implementation and documentation of a number of utilities for users and teaching users how to use the system.
Design and implementation of a recursive decent C compiler for a Mc6809 based computer. Compiler included everything except float data types. Implementation in C of relocating macro assembler, linker and loader to support this compiler.
August 1984 to August 1986, User Consultant/Lab Instructor Assisting students and faculty with use of computer facilities, debugging of code and general problem solving. Teaching hardware labs using EPLD's and microcode in a bit-slice architecture.
Dec 2016 - Functional programming, University of Wyoming.
MS Computer Science, May 1991 - University of Wyoming. Research in compiler development and extensible and real-time pattern matching.
BS Computer Science, Dec 1989 ‑ University of Wyoming.