My resume in WORD format If you have Microsoft WORD on your computer and your running NETSCAPE or Microsoft Internet Explorer a WORD window will be opened and my resume will be downloaded into the WORD window. Once the file is downloaded you can use WORD to either modify or save my resume. If you don't have WORD it will download a copy of my resume to the file name j10word.doc, which can be viewed with WORD.
Here are a few JavaScript programs I have written. Most are simple programs that show I understand JavaScript and can make your webpages do what you want.
Wrote a few PERL scripts using LWP that verify that web sites are up and running and if not notify people to fix them. Also wrote some PERL scripts using LWP to search the web and collect information.
I wrote a number of PERL CGI scripts that query or update our SQL databases and Generate HTML code for web pages, which are used by our fraud analysts to find and prevent credit card fraud, because on an on going basis there are internet robots generating fraudulent transactions trying to steal money from us. The goal if for my software to detect and stop fraud a few days after it starts instead of waiting several months for the fraud to be discovered by MASTERCARD/VISA when people call in and complain "I didn't buy this on my VISA card".
I wrote a number of PERL CGI scripts, which are used by our systems Administrators to monitor and optionally kill runaway UNIX processes. The scripts execute UNIX commands and display the reformatted output as HTML in a web page. The systems administrators can click on any process displayed on the web page to kill the process or cause other UNIX tools to be run.
We have over 6,000 web sites that use our credit card processing services. To allow these sites to install some of our software that is used to prevent password trading I wrote a PERL script that the customer ftp's to his site. Since a large number of our customers don't have the ability to telnet to their web sites they can install and configure the password trading software over the web by executing my PERL script over the web with http://their.customer.web.site.com/install.cgi and using it to install all the software and parameters after they ftp the code to their site.
Wrote a lot of PERL and UNIX scripts that used SENDMAIL to send junk e-mail to thousands of our customers. Of course all of the email even though sent by me had the sender as CUSTOMER_SUPPORT@OUR_COMPANY.COM and the reply to as CUSTOMER_SUPPORT@OUR_COMPANY.COM.
Used GIMP, Adobe Photoshop and Adobe Illustrator to design ICONS and background images for my web pages. Also used GIMP to make a few animated gif's. (I don't claim to be an artist, I'm a programmer. But hey this if fun!)
Most of the code I was wrote was also self documenting so the user could click on a URL to get a help page to explain how to use the software.
DWR INC Computer Programmer, Software Engineer, Systems Analyst (1983-1998)
On UNIX SOLARIS and SUN machines I wrote utility programs and GUI's in KORN Shell scripts, TCL, TK, AWK, C, PERL, and SED. On an IBM MVS machine using TSO, ISPF, MVS JCL, and I wrote code in the ISPF DIALOG MANAGER language, REXX and CLIST'S and C. Programmers and system administrators who write software used to control telephone switches use my software. It's used to move code between the IBM mainframe, UNIX boxes, and telephone switches. It does compiles, links, compares, check outs/ins and other utility functions. I wrote the user documentation in HTML to provide online documentation on how the software is used. I wrote a few CGI routines in AWK that dynamically build web pages. Initially I maintained an in house PASCAL compiler, which was written in PASCAL.
Wrote C code on UNIX based SOLARIS, SUNOS, and IBM AIX RS/6000 UNIX based machines. The software is real time multi-tasking. The software runs on a series of UNIX boxes in Phoenix and talks to AOL (AMERICA ON LINE) in Reston Virginia through a T1 line. The software also talks to AMERICAN EXPRESS's IBM mainframes to get customer information.
Converted a set of embedded C++ programs used to control a group of 680 Terminal Card readers set up in a client/server relation to instead run in a set of newer Jigsaw Card Terminal Card readers set up in the same client/server relation.
Both the 680 Terminal Card reader and Jigsaw Card Terminal Card reader are point of sale terminals with an Intel processor, a one or two line LCD display for the operator, a key pad, a credit card or magnetic stripe reader, a Bar Code reader, several RS-232 ports, and a printer port.
The C++ source was stored and compiled on a NT based PC, downloaded to the Jigsaw Card Terminals via a RS-232 line and debugged using a Paradigm debugger on the PC side.
When the server boots it dials a remote host and downloads the software it needs to run. When a client boots it ask the server over Rs-232 lines to download the software it needs to run. After booting both the client and server terminals are used as point of sale terminals.
I modified FORTRAN code on an UNIX AIX computer that reads CADAM files and generate a post processor to allow a laser machine to cut sheet metal. (I'm not a CADAM designer! My software just reads CADAM files)
The FORTRAN code makes calls to CADAM software, which extracts information about a CADAM part. The code takes this information and generates a file with X11 information which is a standard format to display graphic information on x-windows terminal. Later on this X11 data is fed to a post processor which generates the NC commands to drive the laser cutter.
My code takes the line information and optimizes it so the laser cutter makes all the cuts in one pass instead of having a lot of head movement where no cuts are made.
I used CADAM to create test files. (Again I'm not a CADAM designer. I'm a software engineer)
Modified a number of C programs running on SUN Solaris UNIX boxes which use ORACLE SQL version 7 to add a new column. Also converted some C code from ORACLE version 6 to version 7. Wrote some code using ORACLE SQL*FORMS to allows SQL tables to be updated and viewed.
I wrote a set of C programs which run on MVS & VM/CMS mainframes, MS/DOS PC's, and UNIX SUN SUNOS and SOLARIS machines. The software creates binary TIFF font files from a formatted font listing. The software also reads a binary TIFF file and produces a text listing of the font file. It was software to convert printer fonts from one format to another under UNIX, MVS, VM/CMS and MS/DOS. I also wrote some software in REXX and the ISPF DIALOG MANAGER language. We used SAS C on MVS, MICROSOFT C in DOS, and C on UNIX.
On a MOTOROLA SYSTEM V UNIX computer I wrote in C a device driver to control a GRANVILLE PHILLIPS VACUUM GAUGE CONTROLLER through RS-232 communications. I a device driver in C to control a series of OPTO22 devices through RS-485 communications. I used a HP4951C protocol analyzer to debug all communications software. The communications is like SECS data.
I wrote software in C for a 68HC11 microprocessor. The software is burned into a 28256 EPROM chip. The software runs a 3-phase heater to control the temperature in a reaction chamber. I wrote software for the 68HC11 to control the speed and position of a chuck jaw that holds a semiconductor wafer. The software was written on a MICRO VAX in INTROL C. To test the software I had to use oscilloscopes, multi-meters. Wrote a little 68HC11 assembler but not much.
I ported the system used to write software for the 68HC11 from a DEC MICRO VAX to a PC that uses the MKS UNIX tools.
I wrote programs in IBM Assembler to get information from the OS. I wrote programs in COBOL II, SQL and DB2 to process checks from banks, which CITIBANK bought as though they were CITIBANK branches. I designed programs in the ISPF Dialog Manager programming languages using REXX, COBOL II and the ISPF panel and table languages to allow people to run our software. My software displayed ISPF panels and allowed them to scroll & edit production data.
I wrote device drivers in C to control a GILBARCO gasoline pump control computer. The system is real time and interrupt driven. It controls RS-232 communications using CRC's, NAK'ing and ACK'ing. It catches data errors on the line, time-outs, and power failures. The software is used by a point of sale computer to control gas pumps at places like CIRCLE K and AM/PM markets.
I wrote the system requirements and program specs for the factory interface project.
On a VM/CMS IBM mainframe I wrote programs in SQL, C, REXX and ISPF DIALOG MANAGER. On a MVS IBM mainframe I wrote, programs in COBOL II, REXX, ASSEMBLER and ISPF DIALOG MANAGER under TSO. On DOS and UNIX systems I wrote programs in C, and PASCAL. The software I wrote was compilers used to generate NC (numeric control) programs to control robots in our factory, which were used to manufacture electronic equipment. The robots were ZEVATECH, FUJI, SEIKO, Contact Systems CS-400, CS-301, CS-302 robots, a HP3065 Automatic Test Machine, and Universal Axial & Dip machines. I was the DBA and created the SQL tables, and indexes. I wrote software to do RS-232 communications. I wrote compilers, which would read engineering data from our CAD systems which was stored in SQL tables and produce NC programs to allow robots to build whatever the engineer designed. Manufacturing engineers call these compilers "post processors".
I wrote software in C, FORTRAN and UNIVAC 1100 assembler on UNIVAC 1100's, IBM PC's, and DEC VAX'es. The software was used to help the electrical and mechanical engineers design the wire wrap systems used in flight computers. I wrote software used to control wire wrap machines and automatic test equipment. I wrote software to do RS-232 communications between PC's and robots used to build flight computers.
I wrote C code to convert ASCII data into either INTEL or MOTOROLA format data or vice versa, it's used to burn EPROM chips.
I wrote PASCAL code to produce CALCOMP plots of wire wrap boards and electrical drawings.
Wrote a proposal to computerize the hydraulic pickup arm of a garbage truck. This was a fun project. A small Phoenix Company that makes garbage trucks wanted to put a computer on every garbage truck and computerize the whole thing. I got to play in a garbage truck for a couple of days and analyze how it worked. Lots of fun but the project was killed because the company didn't have enough money to fund it.
I wrote RS-232 software to move data between a DATA GENERAL computer and a PC. This was because the yearly maintenance costs on the DATA GENERAL computers were $10,000 a year and it was cheaper to move the application to an IBM PC clone, which could be bought out right for $2,000 at the time.
The company ported their software to run on an IBM PC. I wrote the software to move the data from the DATA GENERAL to the PC for each site.
I programmed a credit card system in COBOL, and the ISPF DIALOG MANAGER. Originally they wanted to write the system in IMS but when their IMS guys said it would be 3 years before they had time to write the code. They decided to have a temporary system which would run under TSO in ISPF. The code was written in COBOL but made calls to the ISPF programming language to display all the screens and validate all the data entered.
I designed a real time process control system for a restaurant. I wrote this embedded systems software in LATTICE C. It controlled cooking devices and terminals. It also did accounting of sales and inventory usage by each workstation and person. The software did RS-232 communications. I used PLINK86 to make the overlays. I did this on an original IBM PC that had 128K of memory which was later expanded to 256K. The PC had a 10 Meg hard disk and a color monitor. The PC cost $10,000.
I managed a team that was converting 13 separate IMS databases into one single IMS database. (I'm not an IMS programmer. I just managed a bunch of IMS programmers)
I wrote many utility programs in IBM assembler, the ISPF Dialog Manager programming language, and TSO CLIST's. Designed in assembler, ISPF Dialog Manager and CLISTS a word processing system.
I converted a set of FORTRAN programs designed on a CDC computer to solve Response Surface Contour Plots for Mixture problems to run on a MVS computer.
FORAD was written on a DEC 10 Computer in FORTRAN and Assembler. It consists of five main programs and 120 subroutines, which have 200,000 lines of code. I converted the programs to run on a PRIME computer.
CAPEX and COMPUTER ASSOCIATES (1981-1983)
Systems Engineer I answered technical questions on our 800 number about the CA-Optimizer and CA-SORT.
Systems Programmer On the CA-OPTIMIZER and CA-DETECTOR I wrote IBM assembler programs and maintained old programs. I wrote assembler macros. Analyzed memory dumps to determine the cause of customer abends and wrote superzap's to fix the abends.
GREYHOUND BUS LINES Project Leader (1980-1981) Wrote the System Design Objectives for an inventory control system. Wrote programs in CLISTS, COBOL and IBM Assembler for an inventory control system that used VSAM and ISAM files. I designed a COBOL screen generator in assembler to allow COBOL programs to do full screen I/O to 3270 type terminals under TSO. Wrote many TSO Command processors in assembler. I also designed many IBM Assembler utilities subroutines so COBOL programmers could get information about the operating system.
STATE OF ARIZONA (1974-1980)
Systems Programmer Arizona Department of Revenue
Created system generations (SYSGENS) for the UNIVAC VS/9 Operating System, tested & tuned the operating and communications systems. Applied vendor patches to the OS.
Wrote numerous utility programs in Assembler. One was a utility that listed members in an object module library, along with entry points, external references, and CSECTS. Other utilities I wrote were a text editor command to number all the paragraph names in a COBOL program and another command to check point the current editor session so it can be restarted in the event of a user mistake or system failure.
Wrote many subroutines so the applications programmers could request operating system services with out knowing Assembler. One was a subroutine that enables a programmer to set a time limit on the execution of one paragraph or section in a COBOL program. Another subroutine that allows a COBOL program to be interrupted by the break or attention key. After the COBOL program is interrupted control is passed to a user specified paragraph name in the program. I wrote a utility to edit data on tape files.
I found several bugs in the COBOL Compiler and wrote patches to fix them.
Database Programmer AnalystDepartment of Revenue
Designed database schema and subschemas. Designed data dictionaries. Wrote COBOL and Assembler programs for online query and update of the database.
Programmer Analyst Arizona House of Representatives
I designed a financial modeling tool. The tool I wrote was much like a modern day spreadsheet except it was on a minicomputer and users had to enter values and formulas on a line oriented terminal rather then in cells.
Database Programmer Analyst
Arizona House Task Force on Organized Crime I designed a database to keep track of public information. I programmed it in UNIVAC Assembler, FORTRAN and COBOL. I wrote programs to translate tapes from EBCDIC, ASCII and BCD to FIELDATA, a program to convert Honeywell ISAM files to ASCII files. Some of the programming involved real time multi tasking work done in UNIVAC 1100 Assembler. This included handling of interrupts and programming multi-tasking events. The House Task Force on Organized Crime was formed when Arizona was the land fraud capital of the United States.
I have medium to extensive experience with
This includes
I have medium to extensive experience with are:
I have written computer programs to run under these databases and performed DBA functions
I wrote database programs embedded in these languages