RESUME OF
|
ROBERT B. WOODSIDE
ONE QUEEN'S COURT
DANBURY, CT 06811
(203) 791-2315
|
E-mail:
rwoodside1@woodsway.com
Plain ASCII text version
MS Word version
Adobe Acrobat (PDF) version
EXECUTIVE SUMMARY
A consultant with over 20 years’ software engineering experience ranging
from mainframes to Unix servers/workstations to PC’s, seeking challenging
consulting engagements in which to apply that breadth of expertise.
CONSULTING CLIENTS:
My consulting clients have included:
- IBM
- New York Life
- Document Systems, Inc.
- Arthritis Foundation
- Pepsico
- Forest Investment Management
- American Diabetes Association
- Prevent Blindness Connecticut
- Dice Software and Services
- Focus Management Services, Inc.
- Joint Venture Systems, Inc.
PROFESSIONAL EXPERIENCE:
Position: Consultant/Partner/President
Projects:
-
I developed an AJAX-based Web front end for an investment firm’s trading and risk
management system, using JavaScript and XMLHttpRequest objects to provide a fluid
and responsive interface to the back end via an XML message protocol. I also worked
on the server side, using Smalltalk servlets under the Visual Wave application server
and an MS SQL Server 2000 data store. For the front end I developed a browser-agnostic
wrapper object and a queueing/dispatching and cross-page sharing infrastructure for
the XMLHttpRequest, and a fast, native JavaScript implementation of the DOM 2 Traversal
interfaces (i.e., the TreeWalker) for DOM-challenged browsers like IE6.
-
I developed a Web based savings analysis and reporting system for a software
start-up, targeted at healthcare providers and their participating physicians.
It was written in pure Tcl/Tk and including an embedded Web server, virtual
filesystem, and PDF generation functions, wrapped as a Tclkit/Starpack binary
executable. Though targeted at MS SQL Server users, it could support various
database servers via an ODBC layer.
-
I developed XML-based TCP/IP servers (C/C++) and remote client interfaces
(Java/Swing) for a software vendor, to interface to their legacy MVS batch
applications under OS/390. The primary general-purpose server was a portably
designed POSIX-style program, with compile options to allow it to be runnable
either on Unix systems or under OS/390 as a batch job or started task. Under
OS/390, non-POSIX extensions were used to handle tasks such as dynamic allocation
and manipulation of MVS datasets, submission of internal reader jobs, etc. I also
assisted the client with installation and configuration of OS/390 under FLEX-ES,
debugging of the FLEX-ES software, and general system administration of their
SCO Unix server.
-
I developed an XML-based interface for a software vendor’s external client
programs to access legacy 3270-based CICS BMS applications via the CICS Web
and 3270 Bridge facilities. This involved modeling the 3270 data stream, BMS
entities, and the application data in XML structures to allow the client
programs to concentrate on data manipulation and interaction, rather than
presenting them with an old-fashioned “screen-scraping” interface. The
project involved components written in C, C++, Assembler, and COBOL.
-
I developed a generic TCP/IP listener and transaction router running under CICS
for a major insurance company. This allowed the client to eliminate several
intermediate layers of routing between user applications and remote CICS
transactions, and greatly improved performance. Indeed, throughput was increased
so much that I had to implement a user-settable transaction rate throttle, because
some other system components could not handle the resulting speed.
-
I have developed MS Office-based applications for several clients, utilizing MS
Access, Excel, and Visual Basic, using both native Access databases and external
database sources accessed via ODBC.
-
I have developed numerous scripts in VBScript, Tcl/Tk, Perl, Unix shell
(Bourne and Korn), and PHP to automate or simplify various Unix system
administration functions, such as monitoring of critical services, firewall
configuration, intrusion detection, and reporting of Web server, mail server,
and other network activity.
-
I have been a Linux specialist since 1994, building numerous standard and custom
systems, either based on standard distributions (RedHat, SUSE, Debian, Slackware)
or custom-built from scratch. I am expert at configuring Linux systems as network
gateways, firewalls, and database servers in heterogeneous networks, and have done
occasional kernel and module hacking (for the vfat file system and Tulip Ethernet
drivers).
-
I worked on the development team for an e-mail based distributed expense-reporting
system under Windows and OS/2, written in C and interfacing with Exchange/MSMail,
Lotus Notes, and GroupWise; and subsequently worked on a cross-platform
re-implementation of that system, written in pure Java and independent of any 3rd
party communications mechanisms, to run on the PC, Macintosh, and Unix systems.
I also installed and administered the group’s Solaris and AIX servers, and served
as Unix consultant to the development group.
-
I served on the design team for an n-tier, client/server application
infrastructure to support a major new payroll system and to allow interoperability
between legacy code and new development; developed the low-level portable system
components and APIs, enforcing an object-oriented middleware approach within a
conventional C programming environment; and also developed an infrastructure for
developing “Y2K-safe” applications, and tools for testing Y2K-compliance - 10
years before it became fashionable.
-
I was responsible for a CICS emulator for a major software firm - a
standalone VTAM application that mimicked the CICS Command Level API to
support the company's online products.
-
I was one of the first to use mainframe C in RACF user exits (for an internal
security project for IBM). I was also one of the first to use C under CICS,
circa 1989 – before it was supported, which required some reverse engineering
and building an assembler framework to mock up the C runtime environment and
functions called by the compiler-generated function prologue and epilogue code.
-
I worked on a redesign of IBM’s Cryptographic Subsystem for MVS, and worked
with the RACF development group.
-
I have developed and conducted courses for clients in telecommunications
protocols and access methods (BTAM, TCAM, and VTAM-SNA).
General:
Principal in independent consulting business, specializing in
telecommunications, operating system internals, portable software
design, and networked client-server solutions.
I maintain a full Unix (Linux, Solaris, and FreeBSD) and Windows development
environment on the company’s intranet, including 2 Apache servers (Versions 1 & 2),
an AOLserver, 2 Visual Wave Smalltalk servers (Windows and Linux), and the
Macromedia Studio suite for Web development; SQL Server, PostgreSQL, MySQL,
Sybase, and Oracle; the standard suite of Linux/Unix development tools (gcc,
gdb, etc.), and Visual Studio 2005 for Windows development in C/C++, VB .NET,
and C#.
I am regularly involved in Web site development projects, using Apache & IIS,
Perl, PHP, and JavaScript, on Solaris, Linux, and Windows platforms, and
Access/VBA development.
Other Activities:
-
Author of
TkZip©,
a popular graphical archive/compression utility for Unix and Windows
systems, (http://woodsway.com/TkZip). Built in Tcl/Tk for ease of
maintenance and portability, it is arguably superior in many ways to
its better-known Windows-only counterpart,
WinZip®,
and has been included with various Linux distributions.
-
I have been a member since 1998 of the development team for
FVWM,
the most powerful and flexible window manager
available for the X Window System, yet less
resource-intensive than most.
I have been a member since 1998 of the development team for
FVWM,
the most powerful and flexible window manager available for
the X Window System, yet less resource-intensive than most.
-
I have contributed to many
open source software projects
since 1996.
Position: Senior Software Engineer
I was responsible for coordinating support of the company's OEM customers
during the rollout of CANAAN's second-generation 370-compatible processor;
and developed a strategy for implementing true PCM-style support
of native IBM operating systems, via a small hypervisor type OS kernel, to
eliminate the overhead of hosting CMS as a user-space process under a Unix-
derivative kernel with a CP-emulation layer in between.
I served as senior technical consultant and liaison between the Hardware
Engineering and Software Engineering departments during the design and
implementation of the company’s second and third generation processors;
assisted in optimization of the new processors’ microcode; developed
enhancements to the VM emulation capabilities (CP compatibility) of the
company's proprietary, UNIX-derivative operating system (MULTOS); and
identified and analyzed performance bottlenecks in the company’s other Unix-
derivative OS, which drove the system’s Motorola 68K-based I/O processor and
attached controllers.
I also developed a multitasking diagnostic monitor (a stand-alone mini OS
kernel, actually) for testing new CPU board designs. Developed standards for
new diagnostic programs, and wrote diagnostics for CANAAN's non-PCM PER and DAT
implementation. Developed automated testing programs for checkout of new
boards in the manufacturing plant to test proper functioning of all CPU
instructions and operation of the I/O subsystems.
Position: Manager of Product Integration
I took over responsibility for online integration of the company's disparate
software product line. Activities involved development of standalone versions
of the company's online products with an embedded TP monitor derived from
TASK/MASTER.
This group also had responsibility for support and development of
TASK/MASTER.
Position: Manager of Software Engineering
I was responsible for startup of a new department and for preliminary design
specification for new product offerings.
Position: Product Technical Manager
I was responsible for the support and development staffs of the Data Dictionary
product group: was also responsible for sales/marketing support; and developed
a long-term strategy for merging six discrete versions of the multi-mainframe,
DBMS-independent dictionary into one manageable set of portable source, and for
replacing its fixed entity/attribute set architecture with a table-driven,
generic architecture. This latter greatly reduced the size of the system, and
made the dictionary extensible and also suitable for driving non-data
dictionary oriented applications and spin-off products.
Position: Senior Product Specialist
In addition to the duties outlined below, I was responsible for integration of
the DATA CATALOGUE II product line following TSI's acquisition of Synergetics
Corporation.
Position: Product Specialist
I served as the ultimate technical authority for TASK/MASTER, TSI's general
purpose TP monitor (a competitor of CICS in the 1970's and early 1980’s), which
supported all standard IBM file and TP access methods, as well as nonstandard
EXCP-level device support and a proprietary disk access method; coordinated all
phases of product activity - support, development, release preparation,
marketing and sales support; trained field support staff; and provided last
recourse technical support for the field staff.
Position: Customer Support Representative
I served as senior member of the central support staff, which was the top level
of the customer support hierarchy and was responsible for all domestic
maintenance programming and about 25% of domestic RPQ work; and also provided
direct customer support, both onsite and via the central telephone Hotline, and
provided technical assistance for the field support staff.
Positions Held: Senior Programmer, Programmer, Senior
Computer Operator, Computer Operator
I did sysgens and software product installations, and did design development,
and maintenance on the full range of the company's applications, online and
batch.
The shop used an in-house TP monitor employing IBM System7s as front-end
processors with in-house TDM-emulation software, and an in-house database. All
programming was done in assembler, on various IBM 370 models under releases of
DOS ranging from Release 26 to Release 34.
EDUCATION:
BA, English, Lamar University;
Graduate study, Duke University
HARDWARE:
IBM 360/370/390/z-Series, RS/6000, Sun, PC's
Intel processors
Motorola processors
PLATFORMS:
Unix, Windows, Vmware, MVS, OS/390, z/OS, VM/CMS, FLEX-ES, CICS; TCP/IP, VTAM/SNA
LANGUAGES:
C/C++, VB .NET, C#, VBA, VBScript, Java, Perl, Smalltalk, HTML/CSS, XML, SQL, PL/SQL,
Unix Shell (Bourne, Korn, C), Tcl/Tk, REXX, PL/x f amily, COBOL, JavaScript,
PHP, CGI programming, X Window & Motif programming, IBM 370/390/z-Series Assembler,
Intel Assembler, Motorola 68000 Assembler
SOFTWARE
Apache, AOLserver, Visual Wave, IIS; ODBC, DB2, MS SQL Server, MS Access,
PostgreSQL, MySQL, Oracle, Sybase; Macromedia Studio