Summary and Qualifications
Developer proficient in Perl, Shell, SQL, C, ESQL/C, Awk ad-hoc Unix/Linux System Administrator, Database Administrator Informix, some Oracle , Application and Infrastructure Support Specialist. With additional, widely varying technical experience in the software industry as Developer, System Auditor, Trainer, Manual Author, Experienced Public Speaker/Presenter, Consultant, Customer Service Engineer. Experience with Financial/Securities Industry, Data Analysis for consistency and integrity checking, Performance Analysis and Report Generation.
| || |
| || |
| || |
| || |
| || |
Independent IT and Business Consultant:
- Application Development/Support, Perl, Shell scripting, C, SQL, Linux System Admin advisory , Informix DBA, Windows Administration
- Random House, ESQL/C Analyst. Generated space data needed for a database migration from Solaris to Linux as well as 32-bit IDS 11.1. to 64-bit 11.7. Wrote Shell and Perl scripts to help the team track function calls and space usage within the database as well as in the regular file systems. Developed new modules in company nomenclature , added testing code to some others, integrated into several daemon processes, to provide directory services to a data warehousing application. Documented a complicated procedure that had been performed by rote for the past 12 years.
- Telcordia/Ericsson, Perl, Shell Migrated Shell scripts to Perl with an eye to speeding throughput. Consolidated over 280 shell functions into one file of JSON structures to be used by a single-call Perl interface, resulting in 40-53 faster throughput. Wrote the benchmark script that obtained these results. Rewrote Shell scripts in order to bring them in line with coding standards, noticing repairing bugs along the way.
- AT T Shannon Research Lab, C Added a filter/correction to an application that tracks cell activity per call designed new administration tables and wrote 40 back-end applications to associate users with their assigned features.
- Bank of America, NYC Perl, Shell Rewrote non-performing sections of a Perl application that communicates with an Autosys server. Wrote another Perl utility to purge aged log files on many hosts by spawning itself ssh on each host. Added pages to the internal Wiki to describe the data flow for a set of trading application, using diagrams generated with Visio.
- Timken Ball Bearings, Canton OH Audited and redesigned the entire disk-level layout and adjusted the Informix server's tuning parameters to reduce disk contention. The first pass reduced a load job from an all-night procedure to a one-hour job.
- ProfitPoint, Clifton Heights, PA Retail Store Support: Converted and upgraded an application from IDS 7.2 on Solaris 32-bit to IDS 11.5 on Linux 64-bit. Sifted C and ESQL/C code for compatibility issues related to the new 64-bit environment. At the same time, converted the source control subsystem from SCCS to RCS.
- Conducted private research in Perl and Ubuntu Linux. Published a Perl module to CPAN UNLreport, a column-oriented report generator and to the IIUG Software Library, with documented plans for many enhancements. The system work entailed:
- Installing and configuring Ubuntu Linux and the GRUB for dual Boot on multiple computers, implementation of the Logical Volume Manager LVM and tuning of kernel parameters. Also installed Informix IDS 11.70 database server.
- Repair, restoration and configuration of Windows and Linux partitions, including repair of a damaged boot partition. Tools included the Windows Installation disk, Linux Rescue CD, Gparted Live CD, and the Ubuntu Live CD.
- Hatzlacha West, Spring Valley NY Created a PowerPoint presentation, targeting investors, for the business case and business model for the expansion of a small chain of retail markets in Rockland County.
Senior Informix Database Administrator
- Environment consisting of over two-hundred Informix servers distributed across dozens of host machines in North America, Europe, and Asia, running 24x7 applications on Solaris and Linux. Performed routine administrative tasks such as creation of new servers, space allocation, server upgrades, duplication of servers on other hosts by manipulating backup sets.
- Performed frequent troubleshooting on these systems e.g. orphaned shared-memory segments, frozen servers, tweaking of server parameters for performance issues, data extract of server status data and error messages.
- Wrote many scripts to perform administrative function e.g. report on success/failure of backup jobs, diagnose improperly configured database spaces, identify invalid BLOB values, monitor temp space during the run of a backup, display the space occupied by a table. Scripts were written in Korn shell and PERL.
- Debugged and enhanced legacy administrative scripts e.g. periodic check for a blocked server, scripts to perform unattended backup/recovery.
- Provided occasional support for database issues closer to the applications: Developed SQL to determine the identity of a locked stored procedure blocking the server, noted when a different locking behavior might be more prudent for the users.
Senior Database Administrator
- Routine and not so routine administrative tasks e.g. Installation and configuration of Informix and Oracle software, space allocation, user permissions in database environments, database/server backup and recovery. Additionally:
- Application Support: Although primarily a DBA, rewrote some portions of applications with extreme results: Rewrote a stored procedure in a high-level language, cutting the duration by 90 . Similarly, rewrote a Java application into another language, cutting run time from 3 days to 3 hours. When I was permitted to physically rearrange the spaces across disks, the run time dropped to under one hour from the original 3 days .
- Wrote scripts to alert the DBA of potential problems e.g. tablespace/file-system capacity, fragmentation, resource usage on six HP-UX/Informix systems and six Oracle databases on four RS-6000/AIX systems. Scripts were written in various combinations of PL/SQL, PERL, AWK and Korn Shell. Wrote additional scripts to defragment tables and reallocate space when the monitoring jobs did detect potential problems.
- Developed a method to back up the Informix database to and recover from a single file system. The backup now completes reliably in under four hours, replacing a defective OmniBack scheme that previously ran over six hours.
- Implemented a simulated lock-quota monitor, providing a feature not yet provided by the Informix software.
- Published several Informix utility scripts to the IIUG software library, written in Korn Shell, AWK, and C.
Database Administrator, Sales Engineer, Programmer, Unix System Administrator
- DBA as well as Unix system administrator for office and several clients, including setup of file systems and raw logical volumes. Client systems varied among HP-UX, AIX, Solaris, and SCO.
- Performed complete system installation at client sites: Physically assembled and installed the hardware, installed and configured the operating system, then the database software and finally, the application.
- Wrote a label-printing subsystem with a termcap-like database for various label printers.
- Wrote shell and AWK scripts to perform data conversions, helping clients convert their existing databases to Informix database formats.
Consultant, Sales Engineer, Customer Support Engineer, Unix System Administrator, Database Administrator, Programmer, Trainer
- A member of the Advanced Support Engineers team, requiring extensive Informix internals knowledge.
- HP-UX System administrator for the HP-9000/827 and G30 training machines.
- System Auditor: Performed a short-term audit on the database application of an Ireland-based drug-manufacturing operation.
- Taught several courses, including Relational Database Design and Architecture, 4GL, SQL, Stored Procedures and Triggers, Embedded SQL for C, Database and System Administration for Informix Dynamic Server.
- Contributed several articles and scripts to the internal TechInfo database accessible via a Web home page and published several articles in the Informix quarterly, Tech Notes.
- High-level support liaison to developers of Informix applications at AT T-IMS in Piscataway, NJ.
- Served Informix's New York and New Jersey offices in the capacity of client services engineer, traveling consultant and trainer.
- Coordinator of the customer training program in the New York Office.
- Prior Experience Consulting Assignments prior to 1990
Wrote more than twenty interactive applications to maintain and report the data in various database tables. Programs were developed using the INFORMIX-Rapid Development System, then recompiled under INFORMIX-4GL.
Tested more than seventy vendor-written intrinsic functions against the vendor's sparse documentation. Analyzed the vendor's mostly uncommented source code to determine its functionality and logic. Used this knowledge to rewrite the vendor's User Guide to the Intrinsic Functions, adding examples and guidelines as well as describing known bugs. This allowed the programming staff to write new applications using these functions.
- NAIB was a division of Citicorp : Wrote the following applications to support a trading-floor information service:
- Multi-page display of information on mortgage-backed security pools. This coded using the FIST framework for multi-threading and forms display.
- Yield-history of more general types of financial instruments.
- Designed and coded the structures, macros, and functions to support several programming tools, replacing tedious, error-prone coding with a consistent, table-driven mechanism. These included field-by-field conversion of unlike structures, a low-level report generator and a multi-screen record navigator.
- Wrote the largest component of a real-time data capture application, designed specifications for that and two other components. The application's purpose is to calculate and store the latest prices and other measures of value on various financial instruments over forty types as current values as well as time-series data. The data flow required interprocess communication, which was performed using PAMS Process Activation Message Switch, an IP communication product from DEC .
- Made significant contributions to the design of the library underlying the data capture application. This included record layouts and the need/usage of specific fields, as well as defining the relationships among the various files. Most important was the preservation of data despite the loss of the process handling it. This was accomplished by use of a process-auditing trace and shared memory
- Was instrumental in getting DEC to add the feature of queues with multiple readers to their PAMS product.
- Provided the means for a master process to monitor the lengths of message queues, spawning more queue-servers when necessary.
- Prepared preliminary designs for phase-II optimizations on the more volatile instruments.
- Designed and prototyped a utility to allow a user to examine rejected data and modify it for resubmission. The tool's user interface screens, which were developed under JAM, simulate specialized spreadsheets.
- Query Tool: Integrated several components JYACC FORMAKER, Oracle, SmartCom-III, Lotus Symphony into the design of a forms-driven application and data dictionary. The package allowed a PC user to retrieve data from a database with no specific knowledge of the underlying database structure. Rather, the user specifies English names for database fields. The package translated field data on a simulated spreadsheet into SQL, retrieved data from a relational database ORACLE on the host HP-9000 and imported it into a LOTUS spreadsheet on the PC. Forms were developed under JYACC FORMAKER.
- Installed a very early version of Xenix a MicroSoft Unix distribution on an early model PC.
- Architected the database and application for a collection agency.
- Wrote a programmer's utility to cross-reference symbols and display nesting levels in C source code.
- Enhanced an INFORMIX-based law office application by integrating it with a word processor. Made a similar enhancement to an INFORMIX-based personnel application to track applicants' resumes.
- At Brown, Harris, Stevens: Real Estate Management: Designed the company's first apartments database and coded the application for sales and rentals
- Designed and coded a small screen-processing subsystem, providing an operator interface to a CAT-scan laser recorder.
- Wrote a process control module to direct the movement of film through the laser recorder.
- Wrote a graphics utility that allows an EPSON FX-286 printer to emulate the laser recorder, producing images similar to what would have appeared on the far more expensive X-ray film.