Experienced in all aspects of the software design, development, integration, release maintenance and support processes.Strong interest in application systems and operating system internals.
| C | - | 25 years | Bourne/Korn Shell | - | 23 years |
| Perl | - | 22 years | C++ | - | 10 years |
| Informix 4GL | - | 3 years | Oracle PL/SQL | - | 2 years |
| PHP | - | 6 years | Java | - | 2 years |
| Python | - | 2 year | C# | - | 1 year |
| 23 years experience with a wide variety of UNIXen. | |
|
|
|
|
Providing Internet web hosting and connectivity services. Maintaining connectivity via multiple T1's to tier 1 providers. Using OSPF on the internal networks, peering using BGP with connectivity providers.
Provide network connectivity consulting for numerous clients. Clients have set up connectivity ranging from dedicated dial service through ISDN to T1 speeds.
Provide development services for web enabled application suites. Provide general software development services on POSIX.1/POSIX.2 (UNIX-like) systems using C, C++, Perl, Python, Bourne/Korn shell and other languages/facilities as appropriate.
Provide anonymous CVS repository access for a number of Open Source/Free Software systems, including NetBSD and FreeBSD. Anonymous CVS repository is listed with the NetBSD project as anoncvs3.us.netbsd.org.
Note: this is my consulting company.
Work on a nationally distributed staff of developers on NTT America's Global Management Platform, developing, enhancing, and maintaining the code base and doing level one testing, as well as level 3 end user support.
The Global Management Platform is developed on UNIX platforms (specifically Red Hat Enterprise Linux), managing data in a PostgreSQL SQL database, and interfacing with the customer using a large set of Perl modules integrated into the Apache web server using mod_perl.
Projects included resolving memory leaks in the home grown Perl database access object; specialty reporting of assets allocated per customer; specialty reporting of customer assets in support of the sales organization.
Research DIACAP and Information Assurance processes and requirements for integration into the EF Johnson software development processes for the Netelligent IP25 systems.
Research and design implementations of multi-site interconnections of the Netelligent IP25 systems using the IP Security protocols.
Documenting the existing manufacturing process and the software it uses, as part of a process to stabilize the software, formalize the software delivery process, and transition the day to day support of the software from a small engineering organization to the IT/Support organization.
Project involved moving applications written in Java, C++, and Bourne Shell from Linux on the x86 platform to HP-UX running on both the PA-RISC and IA64 (Itanium) platforms; including adjusting the applications to the idioms of HP-UX.
The final component of the project was to package the result using HP's SD-UX, (an implementation of IEEE POSIX 1387.2 Software Administration) as a multi-architecture, multi-OS release product, for release on HP's quarterly Application Release DVDs.
The initial release became available on Hewlett-Packard's December 2006 Application Release.
Two subsequent releases occurred during the contract as well, integrating additional functionality for gathering data on storage systems, and changing the mechanisms used to gather Pay Per Use CPU utilization.
Follow-on work has revolved around the back end systems used by the Utility Computing Systems programs, including the Instant Capacity on Demand (iCAP) and Pay Per Use (PPU) programs. Work has included maintenance of the existing customer facing Pay Per Use portal, written in C++ and Java, using Oracle 10g (via OCCI) as the database tier; and redesign of both the customer facing Pay Per Use portal and the internal iCAP Administration portals as part of the Data Center consolidation projects within HP.
The Data Center Consolidation project architectures are multi-tier, using Java Enterprise Edition servers as the web and application tiers, and Oracle 10g (via JDBC) as the database tier.
Provided general software portability knowledge to the project.
Reviewed and updated the Workload Manager sources to conform to redefined system services interfaces expected to be released with a future version of HP-UX.
The Toolkit, using information from HP's Workload Manager product will enable and disable Instant Capacity on Demand processors in L, N, and V class systems.
Development support for HP's Workload Manager product. Tasks involved include software development and testing, product packaging development and testing, and product integration with other HP products, such as Service Control Manager
Designed and implemented: first generation automated trade preprocessing and entry into the FlexTrade trading system; first generation automated post trade reporting architecture; first generation end of day processing. Integrated preprocessors and reports written by other developers into the system (a task made easier by a well designed, generalized pre- and post-processing architecture.)
Assisted configuration of the network connections to NASD, Fidelity, and other data feeds, both sending and receiving.
Worked extensively from verbal requirements from the partners and the traders for the above designs.
Provided general UNIX and Internet networking knowledge and assistance.
Involved in the continuing development of the product, as well as deploying the system to several major customers. Deployment involved basic configuration of the target system (HP-UX), installation of required software bundles, configuration of the Oracle database instance for the NetServer software, and installation/testing of the actual NetServer product.
Additionally, provided design, implementation, and debugging assistance on other projects beyond the NetServer product. Projects were being developed in C++, C, UNIX shell, Perl, Java, and Delphi (Pascal) on Oracle and Sybase relational database systems. Several of the projects made extensive use of BLOBs and LOBs containing test result data from the outside plant test systems. Oracle and Sybase access were via Perl's DBI modules, and Oracles OCCI interface libraries.
Designed and implemented a program to convert data dumps from an Ericsson Cellular Home Location Registry system into input data for a Nortel Cellular Home Location Registry system.
The program was written in Perl, and can process a million customer records an hour on a AMD Athlon 2200+ based system.
The program was developed using documentation describing the ASN.1 format of the Ericsson dump file, and the command format for the Nortel system.
In the process of the redesign, the software moved from using a proprietary MS-Windows only viewer application to being viewable in any web browser supporting motion JPEG image streams.
Once the system was stable and using less resources, the hardware platform was respecified to provide much better remote management, from cold-start on up. Remote management capabilities were deemed extremely important as the systems were expected to be placed in locations with no local computer support of any kind.
Debugging and reimplementation of credit card processing server software. The software implemented First Data Merchant Services' Electronic Ticket Capture "Plus" (ETC+) processing protocols over modems. Software runs on a Solaris/x86 system. Client applications run on Solaris/x86 and Solaris/SPARC systems, and communicate via a proprietary network protocol.
Design and implementation of a telephone switch traffic monitoring system. The system logged trunk availability statistics to an Informix database using Perl's DBI module. Data was retrieved and visualized with CGI programs written in Perl, using the DBI module to retrieve the data, and the GD module to visualize for presentation via a web browser.
The hardware in use is based upon the Agere ASI/RSP/FPP chip-set, using Agere's PayloadPlus programming interfaces.
Recommended packaging methodology on the HP-UX platform, and produced example implementations of the packaging methodology.
Transitioned the source control from SCCS to PVCS on HP-UX, and outlined the transition from PVCS on HP-UX to CVS on HP-UX.
Provided network connectivity consulting for numerous clients. Clients have set up connectivity ranging from dedicated dial service through ISDN to T1 speeds.
Provide web service for friends and non-profit organizations (such as the National Model Railroad Association, and the North Texas Water Garden Society).
Provider of low cost domain registration and management services.
Completed implementation of a device driver for an ISA T1 channel bank card under Interactive UNIX 2.02.
General TCP/IP networking consultant for several clients, predominately on BSD based systems.
Implemented client and server portions of a client/server wireless telephony property management system, using C/C++ and Informix ESQL/C.
Implemented reporting programs using Perl's DBI modules querying Informix databases.
Ported PLATINUM's AutoAction system (written in C++) from Solaris/SPARC to Solaris/x86. The most notable changes were corrections in handling of data coming from the network.
Responsible for improving the quality of the support provided to customers of the Titan UniTree product.
Designed and implemented CVS source code management system within this division of Titan Information Systems.
Heavily involved in the design and implementation of a wide area network for the Client/Server division of Titan Information systems. This included configuring the name service and mail systems for the cst.titan.com domain, as well as providing name service delegations for each site within the division.
Installed and configured TCP/IP connection to customer network to aid development contract for the customer.
Modified above device driver to support IDRC compression on STK 4480 tape drives when controlled through a CNT 3100 Gateway SCSI to IBM Channel protocol adapter.
Designed and developed customer management and response system applications using a client/server architecture. The server components were implemented in C on UNIX hosts running Informix relational database engines. The server components embedded SQL into the C software using Informix's ESQL C preprocessor. (similar to Oracle's Pro*C.)
Designed and implemented the CVS source control system used by Titan for all software development, both commercial and contract.
Enhanced the CONVEX installation software suite to include an integrated, layered, device driver installation environment first released with ConvexOS 11.0.
Assumed maintenance and enhancement of GIP, CONVEX's software installation suite after the original author left the organization.
Reworked the product packaging and production scripts to ease final product manufacturing, as well interim product generation. Extended the existing product generation system provide for a completely hands off, automated test system of the kernel and utilities product set on a weekly basis.
Lead utilities engineer in the design and implementation of "large" files and file systems (greater than two gigabytes) under ConvexOS.
Responsible for adding inter-procedural optimizer support to the ConvexOS loader (ld) and assembler (as), as part of the development of CONVEX's pioneering Application Compiler suite. As part of this project, assumed responsibility for the loader and assembler, as well as the standard C library.
USENIX Association, since 1990.
Dallas/Ft Worth Unix Users Group
National Model Railroad Association, since 1994