Tom Armistead
1102 Havencrest Court
Garland, Texas 75040

(972)530-9022 Home(972)495-1465 Office
tom@Armisteads.comhttp://tom.armisteads.com/

LanguagesJava, C, C++, 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).
DatabasesOracle, DB2, Sybase, Informix, Postgres (PostgreSQL), mySql, mSql, Ingres, RAIMA Data Manager (dbVista), RAIMA Object Manager
Operating SystemsLinux, Solaris, Unix, Xenix, Sun OS (Berkley), MS-Windows (3.1,9x,NT,XP), VMS, PC/DOS, CP/M
EnvironmentsJ2EE 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
NetworksTCP/IP, Berkeley Sockets, RPC (ONC an DCE), Client/Server
Hardwarex86 (PC's), AT&T, NCR, SUN/SPARC, RS/6000, PowerPC, DEC/VAX
MiscellaneousWWW (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 and Inventory systems, using all of the following;
Linux, Shell, DOS, MS-Windows, XWindows/Motif, Perl, C, C++, Java, Oracle PL/SQL, Pro*C, DB2, WebSphere/MQ, ...
Architected, developed and delivered Linux middleware solution for high availability server pairs, initial server and client installation and configuration, using modified versions of Linux HA and SystemImager open source packages. Automated delivery of client images via network boot (DHCP / tftp).

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.

Tom's page counter