1102 Havencrest Court
Garland, Texas 75040
BASIC, PL/SQL, SQL, VMS/DCL, Bash, Korn Shell (ksh), Tcl, Perl, Awk, Sed, Lex, Yacc, Assembly
|Databases||SQL Server, MySQL, SQLite, Oracle, DB2, Sybase, Informix, Postgres (PostgreSQL), mSql, Ingres,
RAIMA Data Manager (dbVista), RAIMA Object Manager
|Operating Systems||Linux, Solaris, Unix, Xenix, Sun OS (Berkley), MS-Windows
(3.x-10), VMS, PC/DOS, CP/M
|Environments||J2EE API (EJB, JMS, JNDI, JSP, Servlets), SOAP (Apache Axis2 and Axis2/C), WebSphere, JBoss, Tomcat, WebLogic,
Jetty, Java SWING, Symantec VisualCafe, Netbeans/Forte4J, OO, Threads, X Windows/Motif/Tk,
MS-Windows SDK, JAM
|Networks||TCP/IP, Berkeley Sockets, RPC (ONC an DCE),
|Hardware||x86 (PC's), ARM, AT&T, NCR, SUN/SPARC, RS/6000,
|Miscellaneous||Cygwin (MS-Windows), WWW (Web/internet, CGI), HL7, SWIFT, CVS, RCS,
PVCS, Linux/Unix System Admin, qmail, Courier IMAP, SystemImager, Linux HA
Feb 19 to Current, AAFES; Dallas, Texas; Consultant
Working on Retail and Gas Point of Sale (POS) systems for The Exchange (AAFES / Army and Air Force Exchagne Service).
Same basic role(s) as previous assignment, development, support, industry required upgrades, ...
Jan 16 to Feb 19, L.L.Bean; Freeport, Maine; Consultant
Worked with retail point of sale group, on management of PINpad firmware, middleware software
upgrades and management, including upgrades and certifications needed to support Contactless and EMV
credit card interfaces.
New Powershell based tools for administration and management of Retail Point Of Sale PINpad interface
services, and production rollout of changes.
New and existing, SOAP and RESTful web service multi-threaded backend interfaces to payment authorization
systems (including credit card, PayPal and brand specific point managment, encryption services and various
Back end collection and reporting for sales tax interfaces.
Development using the following;
Java, Powershell, KSH/Bash, Python, Perl, WebSphere, MS Windows, Linux, JSON, XML, DB2, SQL Server, Oracle,
Feb 06 to Mar 16, AAFES; Dallas, Texas; Consultant
Worked on C/C++ Retail and Gas Point of Sale (POS) system for the Army and Air Force Exchange Service
(AAFES, The Exchange), all application and associated systems infrastructure. Duties include architecture,
development, deployment, maintenance, production support, developer training, helpdesk level 1 and 2 training,
using all of the following;
Linux, C, C++, MySQL, SQLite, Java, Cygwin (MS-Windows), XML, Apache Axis2/C, Unix, Shell(s), DOS, MS-Windows,
XWindows/Motif, Perl, Oracle PL/SQL, Pro*C,...
Ported large (3+ million lines of code) legacy client/server Retail and Gas Point of Sale system written
in C/C++, from single threaded DOS, Unix and MS-Windows/NT, to highly threaded Linux (OpenSUSE / SLES) and
created the initial infrastructure for production deployment and handled technical side of deployment and
production support of initial beta and pilot rollouts.
Ported same applications for mobile point of sale use, to Ubuntu Linux on ARM based tablets
and MS-Windows 8/Cygwin on Intel based tablets, for proof of concept presentations.
Architected, developed and delivered Linux middle-ware solution for High Availability server pairs,
initial server and client installation and configuration, using modified versions of Linux HA,
SystemImager and PING open source packages. Automated delivery of client images via PXE network boot.
Architect / lead developer on EMV (chipped credit cards) implementation for retail point of sale systems.
Worked on Oracle applications for moving/merging large sets of data data between facilities (Java and Perl)
along with other general Linux administration projects.
Jul 01 to Jul 03, Vistyx Corp.; Dallas, Texas; Consultant
Development on retail application. My initial/main role was installation and
configuration of Tomcat (JSP and java servlet engine) and JBoss (J2EE application server)
on top of an Oracle database. Also to create initial EJB and JSP/servlet code base.
Provided ongoing support for this environment (on as needed basis).
Work was done on RedHat Linux, Java, Oracle, Tomcat, Jakarta Cocoon (XSL)
Oct 99 to Dec 05, eToys Direct/KBToys.com; Denver, Colorado, Consultant
Web server stabilization/performance tuning. Coding, testing and maintenance. Server side java
for high volume database connection pooling, credit card processing, inventory management,
partner integration, ...
Existing architecture review. New architecture review, design and implementation.
Oracle, PL/SQL, XML, Java, EJB, Servlet, JSP, JDBC, JBoss, WebLogic, SOAP, Tomcat, Jetty, ISO 8583,
C, TCL, HTML, scripting. Heavy JDBC, sockets and multi threading in Java. Solaris/Linux system
Jan 99 to Nov 99, Bank of America/Decision Consultants, Inc.; Dallas, Texas
Same company, different role. Ongoing complete design and rewrite of existing system
using 100% Java and the Java Enterprise API (EJB, JMS, Servlets, JNDI, JSP, ?). N-Tier
system, using Symantec Visual Cafe (Java SWING) applications and applets to create a web
browser based user interface. BEA WebLogic application server to support a middle tier,
using Enterprise Java Beans (EJB) for server side components, Java Messaging Service
(JMS) for asynchronous communication with client applications, Java Servlets for incoming
server connectivity via web browsers (client applications) and Oracle 8 as the underlying
Heavily involved in company certification of Java Enterprise API as an accepted
programming environment which consisted of end-to-end prototype applications and
extensive performance testing and measurements.
Ongoing, minimal, support role of existing system (C, C++, AIX, X-Windows/Motif).
Jul 98 to Jan 99, NationsBank/Bank Of America/Decision Consultants, Inc.;
Dallas, Texas Consultant
Design, coding and testing on conversion of software application from 2-tier system using
AIX, C, C++, X/Motif and Sybase to a 3-tier system using Solaris, AIX, Java, CORBA, C,
C++, ONC RPC, Threads and Sybase. Beginning work on Java development using JDBC for
Sybase connectivity and Distinct Java ONC RPC as a pure Java replacement of the current
2nd and 3rd tier portions of the new system (approx. 6 months of development). Beginning
Enterprise Java Bean (EJB) development to be used to replace CORBA tier. I did very
little of the CORBA development, mainly debugging and administration.
Worked on Y2K (2 to 3 months) certification of existing AIX, C, C++ and X/Motif
application (testing, code changes and debugging).
Other work involved Unix system administration under Solaris, installation,
administration and maintenance of CVS (source code and object revision control), Apache
web server and various other compiler and debugging tools (i.e. GNU C,C++, ?), creation
of web based tools for system monitoring (HTML and CGI).
Feb 98 to Jul 98, Healthdyne Information Enterprises; Dallas, Texas, Consultant
Unix, C, C++, Tcl/Tk, Perl, mSql, mySql, design and coding of various message-parsing
portions of a communications protocol conversion product (interface engine). Worked on
flat record (COBOL data files) and S.W.I.F.T. formatted messages.
Work was done under AIX, Solaris, HP/UX, Digital Unix and Linux using C, C++, Tcl/Tk and
Mar 97 to Feb 98, GTE Telephone Operations (Decision Consultants, Inc); Irving,
Informix/AIX related design, coding on telephone switch diagnostic software. Creating web
C/C++. Building data converters and back end procedures for in-house system data to load
Informix databases. Work also involves multi-thread and socket programming for
client/server tasks. Also providing assistance with AIX sys admin. and assisting
coworkers with general Unix programming for debugging, sockets, threads and HTML/WWW.
Linux admin and installs for personal workstations.
Work was done under AIX on IBM hardware using Informix 7.1, Esql, C, C++, Java, and
Apr 96 to Mar 97, PageMart, Inc.; Dallas, Texas, Consultant
Oracle/Unix related design, coding and rework on current cycle billing procedures. Work
involved performance tuning on current application (converting from PL/SQL to C/ESQL),
bug fixing and adding features. Redesigning of current applications and training
employees on use and programming of the system. Spent about 3 months bringing new
contractors up to speed on current system after I left. Oracle Financials environment,
creating input data for accounts receivable.
Also provided assistance with Unix sys admin and overall Unix/Oracle system performance
Work was done under Solaris 2.4 on SPARC hardware using Oracle 7.1.6, PRO*C 2.0, C, Perl
Mar 94 to Apr 96, Ameritech Health Connections; Richardson, Texas, Consultant
Application and system level design/coding/debug on clinical database product using
Sybase and HL7 message protocol. Statistical tools for looking at throughput of database
loader programs. Task scheduler for management of backend Unix processes. X/Motif tools
to measure and present information and to provide end user/developer access to database.
Lex/Yacc development for programming language development and HL7 message parsing. Built
and worked on tools for handling run-time HL7 formatted data. Heavy socket programming.
CVS/RCS administration. Perl scripts for formatting/presenting revision control history
and usage information. Work in porting programs between Solaris, Unix, AIX and MS-
Windows. Assisted in Unix system administration.
Work was done on Solaris 2.x, Unix SysVr4 and AIX using X/Motif, Sybase, Unix, C, C++,
Lex, Yacc, Perl and TCL/TK.
Oct 93 to Mar 94, Canmax Retail Systems; Irving, Texas, Consultant
Oracle/Unix related rework, design and coding of payroll portion of back office store
automation project. Work involved consolidating payroll information received from remote
stores and performance tuning on Oracle PL/SQL apps. The consolidated data was then
used to create statistic and payroll reports.
Programming was done in C, ESQL, PL/SQL, SQL*Plus, Korn shell, Awk and Perl. All work was
done on a NCR 3000 computer, running AT&T Unix System V.4.
Jun 92 to Oct 93, Computer Assistance/Coopers & Lybrand. Addison, Texas; Consultant
MS-Windows related design/coding on Coopers & Lybrand Audit Support System software.
Main areas were dbVista and RAIMA Object Manager application interface, tools development
related to database population from external sources (i.e. Lotus Notes), data conversion,
Import/Export to/from third party software and the end user Install program for the
auditing software package.
Work was done on a 486 PC running MS-Windows 3.1 using Microsoft C++ 7.0 and Microsoft
SDK. Awk was used in development of the database population utilities to generate C++
source code that reflected the current database schema. Korn shell and SED were also
Sep 89 to Jun 92, Computer Assistance, Dallas, Texas; Consultant
Unix related work in database design, hardware and software procurement, selection and
installation, Unix system admin., system level coding, training, testing and Oracle
database administration, development, performance testing on a retail store automation
project for the Army and Air Force Exchange Service (AAFES). Developed 4GL using JAM
(forms editor) that provided access to the Oracle database. A procedural interpretive
language was developed, using Lex/Yacc for creating program logic. Was involved in
training for design and development using this language.
All work was done on a 486 PC running Interactive Unix SysVr3.2 and IBM RS/6000 running
AIX 3.1, using C++, C, Oracle, SQL, Dynamic/Embedded SQL (PRO*C) and Oracle OCI, JAM and
an in-house 4GL.
Apr 89 to Sep 89, Contact Software Int'l, Irving, Texas; Consultant
Software design and development on PC base contact management software product named
ACT!. The user interface, menuing, database application. Work included a pull-down menu
system and the writing of a word processor and working with junior level employees on PC
architecture and program design and debugging.
Development was done in C++ and 80x86 assembly under PC/DOS on PC compatible computers.
Oct 87 to Mar 89, ElectroCom Automation, Arlington, Texas; Consultant
Software design, development and rework on message switching product line. Police
department applications for radio based mobile data terminal control, switching, parsing,
formatting and validation. 2780 bisync and async communications protocol drivers. Radio
communications management for controlling redelivery and decaying of data to the mobile
data terminals. Heavy interprocess communications. Creation of redundancy software.
Training and assisting employees on use and continued development and installation of
software. Unix and Xenix system admin, hardware/software installation and configuration.
Development was done in C using Unix SysV on AT&T 3b2 computers, SCO Xenix and Microport
Unix on PC/AT computers, with Z80 assembly for third-party sync/async conversion
hardware used in bisync communication.
Apr 87 to Oct 87, Datamatic Inc., Richardson, Texas; Software Engineer
Software design, development and rework on PC based data switches, used for data
communications with handheld terminals. Data was manipulated (edit/delete/add/reformat)
for printing and sending to other computers or re-sending back to the handheld terminals.
Development on software for communications to the handheld terminals.
Development was done in Turbo Pascal and 80x86 assembly under MS-DOS on PC compatible
Sep 85 to Apr 87, Amdahl Communications, Richardson, Texas; System Design Engineer
Software design, development and maintenance for X.25 switching network configuration and
management products,. Involved real time multi-process 80x86/Z80 hardware/software on
operating systems designed in-house. Tools development for file transfer, source code
control and release, object code control and release, product development, VAX systems
administration, etc. Porting of development environment from VMS to UTS (Amdahl's
mainframe System V Unix).
Development was done using Pascal, 80x86/Z80 assembly, C, VMS/DCL, DEC/CMS, DEC/MMS,
Bourne shell, DEC/VMS and Unix. Hardware included in-house CP/M computers, DEC/VAX
11/780, AT&T 3b2 and Intel Micro Development Systems.
Dec 83 to Sep 85, Pinetree Computer Systems, Irving Texas; Software Engineer
Software design, development and support for handheld computers on application and
operating system levels. Telephone communications software between the handheld and
remote receiver computers. Formatting of data and applications download for handheld
from the receiver. Development environment utilities and porting under VMS. Telecom
product to do statistic and billing inquiries via telephone to infield receiver systems
under VMS. Program generator under MS-DOS and VMS to build Z80 source code, compile it
and download to the handheld computers as a user application. VT-102 terminal emulator
under PC/DOS using 80x86 assembly. EPROM programmer controller application under VMS.
Development was done in Z80/80x86 assembly, C, VMS/DCL, MS-BASIC and MACRO-11 assembly.
Oct 99 to Present
I run a small Linux based web hosting business from my house at http://www.nohost.net,
providing DNS, web site and email services. This involves general Linux (RedHat and SuSE) system
administration on a network of 7 systems), including administration and maintenance
of the following; DNS (bind 9), DHCP, qmail, courier IMAP server, Squirrelmail web email
client, Apache web server, Tomcat servlet/jsp engine, MySQL and PostgreSQL database
servers, Amanda backup server, Linux based router/firewall.