Tom Armistead
Garland, Texas 75040
972-***-**** Home 972-***-**** Office
***@**********.*** http://tom.armisteads.com/
Languages C, C++, Java, JavaScript, XML, HTML, Pascal (Borland/ISO),
BASIC, PL/SQL, SQL, VMS/DCL, Korn Shell, Tcl, Perl, Awk, Sed, Lex, Yacc, Assembly
(Z80/80x86/6502/68000).
Databases Oracle, DB2, Sybase, Informix, Postgres (PostgreSQL), mySql, mSql, Ingres,
RAIMA Data Manager (dbVista), RAIMA Object Manager
Operating Systems Linux, Solaris, Unix, Xenix, Sun OS (Berkley), MS-Windows
(3.1,9x,NT,XP), VMS, PC/DOS, CP/M
Environments J2EE API (EJB, JMS, JNDI, JSP, Servlets), SOAP, 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),
Client/Server
Hardware x86 (PC's), AT&T, NCR, SUN/SPARC, RS/6000,
PowerPC, DEC/VAX
Miscellaneous WWW (Web/internet, CGI), HL7, SWIFT, CVS, RCS,
PVCS, Linux/Unix System Admin, qmail, Courier IMAP, SystemImager, Linux HA
Work Experience
Feb 06 to Current; Dallas, Texas; Consultant
Working on C/C++ Retail and Gas Point of Sale application and associated systems
infrastructure (architecture, development, deployment, maintenance and production support), using all of the following;
Linux, Unix, Shell, DOS, MS-Windows, XWindows/Motif, Perl, C, C++, Java, Oracle PL/SQL, Pro*C
Ported large client/server Retail and Gas Point of Sale applications written in C/C++, from DOS,
Unix and WindowsNT, to Linux (OpenSUSE / SLES) and created the initial infrastructure for
production deployment.
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 network boot
(DHCP / tftp).
Worked on Oracle applications for moving/merging large sets of data data between facilities (Java and Perl)
along with other general Linux administration projects.
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
administration.
July 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. Am
currently providing ongoing support for this environment (on as needed
basis).
Work was done on RedHat Linux, Java, Oracle, Tomcat, Jakarta Cocoon (XSL)
and JBoss.
Jan 99 to Nov 99, Bank of America/Decision Consultants, Inc.; Dallas, Texas
Consultant
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 Caf (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
RDBMS.
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).
July 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).
February 98 to July 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
Perl.
March 97 to February 98, GTE Telephone Operations (Decision Consultants, Inc); Irving,
Texas, Consultant
Informix/AIX related design, coding on telephone switch diagnostic software. Creating web
environments for manipulation of Informix databases using HTML, Java, JavaScript and
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
JavaScript.
April 96 to March 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
issues.
Work was done under Solaris 2.4 on SPARC hardware using Oracle 7.1.6, PRO*C 2.0, C, Perl
and Awk?
March 94 to April 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.
October 93 to March 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.
June 92 to October 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
used.
September 89 to June 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.
April 89 to September 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.
October 87 to March 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.
April 87 to October 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
hardware.
September 85 to April 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.
December 82 to September 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.
Miscellaneous
October 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.