Gary Ormsby             (512) 990 2918

1201 Blue Fox Drive, Austin, TX 78753-2011


Java, JSP, Servlets, Tomcat, C++, C, Unix Shells, Awk, COM, tcl, VBScript, SOM/DSOM, PL/I, REXX, assembly



Windows NT, Solaris, AIX, Linux OS/2, IBM Microkernel, DOS, IBM VM



Tomcat, HTTP, SMTP, MySQL, SQLServer, DB2, Oracle, LDAP, Sybase, WebLogic, WebSphere, IIS/Apache/IPlanet Webserver Plugins, Vignette V/6




   Synchrotrac Project, Austin TX - Programmer


    September 2004 - Present


Synchrotrac is a guided vehicle control system for material transport.  I'm designing and implementing a simulator for capacity planning and demonstrations.  Payload introduction, transport, and delivery are modeled.  Using Java.



   Heart of Texas Lab Rescue, Austin TX - Programmer


   August 2004 - Present


Implemented web-based events calendar and volunteer signup functions.  Site visitors can view and volunteer for events.  Admins can add, delete, modify events and view registered volunteers.  Used Servlets, JSP, HTML, MySQL.


Converted web site from being html driven to database driven.  Automated the submission, resizing and deployment of images.  Images and accompanying text fields are displayed in tabular format.  Used MySQL, Servlets, JSP and HTML.



Vignette Corporation, Austin, TX - Associate Programmer


October 2001 to February 2004

Developed, maintained, and debugged white-box unit tests for code that deployed files and database records.  Positive and negative unit test drivers for end-to-end system tests were implemented within the JUnit framework.  They were constantly updated to support new product functionality and when specific problems were uncovered.  Failures in nightly test runs were diagnosed and fixed.  In Java.


Administered the nightly execution of unit tests.  Duties included maintaining korn shell script s, monitoring their nightly execution, ensuring the right O.S./database/application server/LDAP combinations were being tested, and debugging problematic scenarios.    Execution reports were sent out, and failures were diagnosed, assigned to the appropriate developers, and tracked.  Experience was gained preparing databases (MS SQL, Oracle, DB2) and LDAP servers (SunOne, NDS, Active Directory) for the automated unit test runs on different O.S.'s (Windows, AIX, Solaris, Linux).


November 1999 to October 2001


Implemented and maintained C++ shared libraries to bulk send to recipients on multiple channels, such as SMTP, SkyTel, LSMTP, Phone.Com, and HTTP. An XML document specifying header data, message text, and a list of recipients is used as input. Implemented tcl and VBScript APIs in C++ to construct these XML documents.  Designed/implemented enhancements and applied code fixes to this code base for 12+ months.


Enhanced command-line C++ program that verified cross-referenced database entries to fix incorrect entries. The program used the Vignette V/6 C++ APIs to manipulate the database.


Bug fixes to Vignette V/6 components, such as webserver plugins, configuration, and others.  In C++, COM, and Java.


IBM Corporation, Austin, TX - Senior Associate Programmer


January 1997 to October 1999


Ported the Group Services subsystem from IBM SP2 platform to Windows NT 4.  This subsystem provides a facility for coordinating and monitoring changes to the state of an application that is running on a set of nodes. Also made enhancements, such as adding multiple threads, and provided continuing support. This component consists of 45,000 lines of C and C++ code.


Implemented several MSCS APIs for a clustering product which provides MSCS API compatibility on an IBM 8 node Netfinity cluster. In C and C++.


Implemented Group Services interface for the above project, which provides barrier synchronized communication between the nodes in a cluster. It also provides notification of node death. In C.


Implemented partitioning logic which detects when a cluster partition has occurred and shuts down the appropriate nodes to prevent data corruption.  In C.


Made enhancements to an SQL component which provides cluster-aware database functionality. This included support for Unicode and binary data types. In C++.


Wrote Installshield 4.0 program to install IBM Clustering software.


February 1992 to December 1996


Designed and implemented the argument conversion code that allows CORBA methods (SOM) to be invoked by OLE and COM clients. The conversion code translated OLE/COM types to SOM types on method invocations and converted SOM types to OLE/COM types on the return. Used C++ and Visual Basic.


Designed and implemented multiprocessor-safe modules to emulate the OS/2 Pipe and Semaphore APIs for the OS/2 server to run on the IBM Microkernel.  The OS/2 server uses IBM Microkernel APIs to emulate OS/2 APIs. The project used C and the IBM Microkernel.


Ported an AIX floppy device driver from RS/6000 MCA bus to an IBM Microkernel in-kernel device driver running on a PowerPC 601 MCA bus machine. The project used C and some Intel and PowerPC assembler.


Designed and implemented functional verification and performance tests for the IBM Microkernel's Inter-Process Communication subsystem. In C.


Upgraded IBM Microkernel's performance component, which logs timestamps from macros embedded in code. Tools that converted these timestamp logs to reports were enhanced to remove the overhead incurred by the macros when generating a report. Also provided support for people in the area that wanted to use these tools for performance measurements. These tools were used to instrument and measure key parts of DSOM. In C.


Ported a RAM semaphore package from the PowerPC architecture to Intel.  Done in assembly and C.


Wrote stanzas for the IBM Microkernel's Hardware Resource Manager, a bus walking program that determined what devices are attached upon boot-up and automatically installed the necessary device drivers. Stanzas encode device specific information.


Supervised and programmed a port of DSOM 3.0 on OS/2 from the Intel 386 platform to the PowerPC 601 platform. This consisted of porting the necessary DLLs and machine-dependent code. Used C.

Investigated and documented the methodology and work effort required to increase the virtual memory space addressable by OS/2 APIs. This would increase the number of clients supportable by the Lotus Notes server on OS/2.


Participated on a team to design Object Oriented Personality Neutral Runtime (OOPNR) for the IBM Microkernel. The OOPNR is comprised of abstractions for use by server writers. Our design concentrated on providing OO interfaces to the IBM Microkernel while also borrowing abstractions from OS/2 and Taligent.  



R.P.I Graduate Project 


January 1991 to December 1991

Designed and implemented graphical and auditory tools for visually impaired computer users. The tools were developed for X11R4 running on Sun SparcStations using the X toolkit. They included a resizable window that magnified anything it passed over and a mechanism that allowed sounds to be attached to screen objects such as window borders and the screen's edges. In C.


IBM Corporation, Kingston, NY - College Co-op

   February 1990 to December 1990

Designed and implemented PL/I programs on VM to convert product data from a "flat-file" format to SQL and DB2 formats. The new programs supplanted older, out-of-date programs. Responsibilities also included coordinating the efforts of several organizations during the design of these programs.
  Design issues included: determination of the data items needed, conversion methods to be employed, and the representation formats in the database.  The project used PL/I and SQL.



    MS Computer Science, December 1991, Rensselaer Polytechnic Institute, Troy, NY

    BA - Computer and Information Science, December 1988, College of SUNY, Potsdam, NY


References available upon request.