DetailedResume

Curriculum Vitae for Scott T Jones


    Scott T Jones
    13027 Scofield Farms Drive
    Austin, TX 78727-4599

    512-832-1411 (Home)
    512-689-4184 (Mobile)
    stjones@gmail.com


    Software Developer/Performance Analyst

    • Advisory Software Engineer: 35 years experience at IBM
    • Specialty: Programming Efficiency and Application Performance
    • IBM Master Inventor: 30 patents issued
    • Hobbies: Games and Computer Game Development
    • Interests: Artificial Intelligence and Random Scenario Generation


    Education

    • Baccalaureate Level Curriculum, MAR 1990
      • IBM University Level Computer Science Program
      • IBM Corporation, Boca Raton, FL

    • Master of Science, MAY 1974
      • Major: Applied Statistics
      • New Mexico State University, Las Cruces, NM

    • Bachelor of Science with Honors, AUG 1972
      • Major: Mathematics, Minor: Computer Science
      • Florida Atlantic University, Boca Raton, FL

    • Valedictorian, JUN 1970
      • Fort Myers High School, Fort Myers, FL


    Operating Systems by Years of Experience

    OS/2 1985 - 2002, OS Developer
    MS Windows 1995 - 2002, Game Developer, Home User
    2003 - 2010, Application Developer, Home User
    2010 - 2013, Application Developer, Game Developer, Home User
    IBM DOS 1981 - 1995, Game Developer, Home User
    Series/1 RPS 1976 - 1983, OS Developer
    Linux 1999, Application Developer
    2002, Performance Tester
    2003 - 2010, Application Developer
    AIX 2001, Application Developer
    2003 - 2010, Application Developer
    z/OS 2003 - 2010, Application Developer
    Apple DOS 1979 - 1981, Game Developer, Home User


    Programming Languages by Years of Experience

    C 1984 - 2002: OS and Game Development
    2003 - 2010: Application Development
    Intel Assembler 1981 - 1999: OS Development
    Java 1999 - 2013: Test and Application Development
    Sun Certified Programmer for the Java 2 Platform, 12 OCT 2000
    Series/1 Assembler 1976 - 1983: OS Development
    Structured BASIC 1979 - 1986: Game and Application Development
    APL 1971 - 1974: Game and Application Development
    1977 - 1979, Game Development
    C# 2010 - 2012: Game Development
    6502 Assembler 1979 - 1981: Game and Application Development
    PL/S 1974 - 1975: Application Development


    IBM Employment History

    IBM Performance Inspector
    MAR 2005 thru MAR 2010, Austin, TX

    Development of cross-platform performance tools for AIX, Linux, Windows, and z/OS, including IBM Internal and Open-Source External versions of our tools. My work concentrated on the redesign and enhancement of our Java profiling agent and heap dump post-processor. I also developed a GUI client for viewing heap dumps and a Java program to automatically apply performance settings to WebSphere configurations. Direct support of our tools customers is an integral part of the job.

    The external version of Performance Inspector is available as an Open Source project from SourceForge.

    Porting Performance Tools to New Platforms
    JAN 2003 thru FEB 2005, Austin, TX

    I ported existing performance tools and features from Windows to AIX, Linux, z/OS, and the PERCS simulator.

    Performance Test for Linux Projects
    AUG 2002 thru DEC 2002, Austin, TX

    Test and evaluate the performance of unannounced products on Linux.

    Java Development for OS/2
    JUL 2001 thru JUL 2002, Austin, TX

    Develop Java 1.3.1 for OS/2.

    Java Development for AIX
    JAN 2001 thru JUN 2001, Austin, TX

    Develop Java 1.3 for AIX 5.1.

    JIT Development for OS/2
    JAN 2000 thru DEC 2000, Austin, TX

    Develop Java Just-In-Time Compiler for OS/2 Java 1.2.

    JIT Development
    AUG 1999 thru DEC 1999, Yamato, Japan

    Develop Java Just-In-Time Compiler for OS/2 and Linux.

    Java Development
    MAY 1999 to AUG 1999, Austin, TX

    Develop Java for multiple platforms.

    Graphics Engine Extended Development for OS/2 Warp 4.0+
    JAN 1999 to APR 1999, Austin, TX

    Primary interface for off-shore OS/2 Video Development being done in Riga, Latvia.

    Graphics Engine Performance for OS/2 Warp 4.0+
    MAR 1996 to DEC 1998, Austin, TX

    Performance enhancements for the OS/2 Graphics Engine and GRADDs. This included writing two new GRADDs for the S3-Trio and Chips and Technologies 6555x families of video cards and the new SBFilter which chains to the generic video GRADD for improved performance.

    Graphics Engine for OS/2 Warp 4.0
    DEC 1995 to FEB 1996, Boca Raton, FL

    Development and maintenance of Graphics Engine routines. This also included the design and development of a GRADD (GRaphics Adapter Device Driver) for the VGA.

    Graphics Engine for OS/2 for PowerPC
    MAY 1995 to NOV 1995, Boca Raton, FL

    Development of common Graphics Engine routines for both the Intel and PowerPC versions of OS/2.

    Game Development Support for OS/2 Warp 3.0+
    JAN 1995 to MAY 1995, Boca Raton, FL

    My job was to support the development of OS/2 games. This included the development of GameSrvr, an OS/2 extension I designed to enhance the performance of games. It allows Presentation Manager applications to run as full-screen applications with their own unique video mode. This translates to a 12 times performance increase for full-screen 320x200x256 graphics over an identical application maximized on a 1024x768x256 desktop. This was shipped as part of Volume 8 of The Developer Connection for OS/2.

    Window Manager for OS/2 Warp 3.0
    MAR 1993 to DEC 1994, Boca Raton, FL

    I was a key member of the team which converted the Window Manager from 16-bit Assembler to 32-bit C, drawing on my experience gained in the conversion of the Graphics Engine. My specialty was performance, particulary in the areas of message dispatching and thunking, the transition layer between 16 and 32-bit routines, which resulted in a 10% reduction in the size of the Window Manager and a more than 2% increase in total system performance.

    Graphics Engine for OS/2 versions 2.0 thru 2.1
    SEP 1990 to MAR 1993, Boca Raton, FL

    I was part of the team which converted the Graphics Engine from 16-bit Assembler to 32-bit C, working with MicroGrafx. I was responsible for memory management, transformations, and function dispatching and journalling. My work on performance resulted in a 10% reduction in the size of the Graphics Engine.

    Help Manager for OS/2 version 1.3
    FEB 1990 to SEP 1990, Boca Raton, FL

    I was responsible for redesigning the compression schemes used by the Help Manager. My work resulted in a 70% reduction in the size of the OS/2 Tutorial.

    Base Video Subsystem for OS/2 versions 1.0 thru 1.2
    OCT 1985 to FEB 1990, Boca Raton, FL

    I designed and implemented the entire text portion of the Base Video Subsystem, based on the work I did for my game, ISC. I was the team leader for version 1.1. During this time, I also created INSPECT, an automatic code inspector that identified coding inefficiencies in Assembler code by examination of listing files.

    DOS and TopView interface for PC Related Products
    JUL 1983 to OCT 1985, Boca Raton, FL

    I was the technical interface to all DOS operating system extensions for all internal products related to the Personal Computer. During this time, I also developed an automated test tool, with record and playback features, for use with the TopView messaging system.

    Series/1 Realtime Programming System versions 1.0 thru 5.2
    JAN 1976 to JUL 1983, Boca Raton, FL

    During version 1.0, I helped design and implement the job control language. For version 2.0, I was responsible for performance enhancement in the symbol table processing of the Macro Assembler. For version 3.0, I was responsible for the find/change portion of the full-screen editor. For version 4.0, I was a developer and team leader for the Command Language Facility, a predecessor of REXX. For version 5.0, I was responsible for all asynchronous communications drivers, especially the drivers for the IBM 3101 display terminals.

    LACIE (Large Area Crop Inventory Experiment) for NASA Earth Observation Division
    JUN 1974 thru DEC 1975, Johnson Space Center, Houston, TX

    I was responsible for the implementation of the statistical distance computations for the main classifier task, then I designed and implemented the report processor for the classification component. During my last six months, I worked on the conversion routines necessary to support the attachment of high-speed array processor.


    IBM Invention Achievement Awards

    • OCT 1998, "First Patent Filing"
    • APR 1999, "First Invention Plateau"
    • SEP 2001, "Second Invention Plateau"
    • SEP 2001, "Third Invention Plateau"
    • JUN 2002, "Fourth Invention Plateau"
    • JAN 2003, "Fifth Invention Plateau"
    • OCT 2003, "Sixth Invention Plateau"
    • APR 2005, "Seventh Invention Plateau"
    • APR 2005, "Eighth Invention Plateau"
    • AUG 2006, "IBM Master Inventor"
    • OCT 2006, "Ninth Invention Plateau"
    • SEP 2007, "Tenth Invention Plateau"
    • OCT 2008, "Eleventh Invention Plateau"
    • OCT 2009, "IBM Master Inventor"

    Patents

    "Apparatus for Hardware Support of Software Color Cursors and Method Therefor"
    US Patent #6,337,701 issued 08 JAN 2002

    "Method and Apparatus for System Enhancement to Device Backup Font Support"
    US Patent #6,421,055 issued 16 JUL 2002

    "Method and apparatus for reducing image data storage and processing based on device supported compression techniques"
    US Patent #6,707,945 issued 16 MAR 2004

    "Method and apparatus for reducing image data storage and processing based on device supported compression techniques"
    US Patent #6,711,294 issued 23 MAR 2004

    "Apparatus and Method for Providing Access Rights Information in a Portion of a File"
    US Patent #6,892,201 issued 10 MAY 2005

    "Method, Apparatus and Computer Program Product for Efficient Per Thread Performance Information"
    US Patent #6,925,424 issued 02 AUG 2005

    "Method, Apparatus and Computer Program Product for Efficient, Large Counts of Per Thread Performance Events"
    US Patent #6,931,354 issued 16 AUG 2005

    "Method and Apparatus for Performing Raster Operations in a Data Processing System"
    US Patent #6,972,770 issued 06 DEC 2005

    "Portable Electronic Device with Adaptive Sizing"
    US Patent #7,012,806 issued 14 MAY 2006

    "Omitting Forwarder Pages in a History List in a Browser"
    US Patent #7,013,423 issued 14 MAR 2006

    "Method for enabling a client to specify the characteristics of an image to be downloaded from a server"
    US Patent #7,099,040 issued 29 AUG 2006

    "Limiting unsolicited browser windows"
    US Patent #7,100,122 issued 29 AUG 2006

    "Apparatus and method for providing a user interface based on access rights information"
    US Patent #7,171,562 issued 30 JAN 2007

    "Enhanced readability with 'flowed bitmaps'"
    Taiwan Patent #TW 291139 issued 11 DEC 2007

    "Method, apparatus and program to prevent computer recognition of data"
    US Patent #7,400,422 issued 15 JUL 2008

    "Selectively de-scrambling media signals"
    US Patent #7,490,340 issued 10 FEB 2009

    "Operating system-wide sandboxing via switchable user skins"
    US Patent #7,519,809 issued 14 APR 2009

    "Method/system to speed up antivirus scans using a journal file system"
    US Patent #7,540,027 issued 26 MAY 2009

    "Removable storage media with improved data integrity"
    US Patent #7,599,261 issued 06 OCT 2009

    "Instruction profiling using multiple metrics"
    US Patent #7,640,539 issued 29 DEC 2009

    "System and method for collecting a plurality of metrics in a single profiling run of computer code"
    US Patent #7,657,875 issued 02 FEB 2010

    "Adaptive prevention of data loss during continuous event tracing with limited buffer size"
    US Patent #7,865,776 issued 04 JAN 2011

    "Method and apparatus for providing backup font support for missing device glyphs"
    US Patent #7,999,950 issued 16 AUG 2011

    "Displaying memory statistics for a keydrive"
    US Patent #8,037,248 issued 11 OCT 2011

    "Method, apparatus, and program to prevent computer recognition of data"
    US Patent #8,102,547 issued 24 JAN 2012

    "Displaying memory statistics for a keydrive"
    US Patent #8,244,977 issued 14 AUG 2012

    "Compensating for instrumentation overhead using execution environment overhead"
    US Patent #8,271,999 issued 18 SEP 2012

    "Call stack sampling for a multi-processor system"
    US Patent #8,286,134 issued 09 OCT 2012

    "Call stack sampling for threads having latencies exceeding a threshold"
    US Patent #8,286,139 issued 09 OCT 2012

    "Compensating for instrumentation overhead using sequences of events patents"
    US Patent #8,307,375 issued 06 NOV 2012


    Publications

    "Solving Problems Involving Variable Terrain"
    Two part article in Byte Magazine, FEB and MAR 1980

    "High Speed Display of Graphics Images Using Successively Greater Refinement"
    IBM Technical Disclosure Bulletin, Vol. 34, No. 2, JUL 1991

    "System Stack for System Code"
    IBM Technical Disclosure Bulletin, Vol. 38, No. 7, JUL 1995

    "Random Floorplan Generation"
    Research Disclosure, 11 OCT 2002


    Published Products

    Structured Basic Facility, versions 1.0 and 2.0

    Part of the Basic Programming Development System, published by IBM Corp, 1982. Version 2.0 was published as a separate product by IBM Personally Developed Software in 1985.

    This product was a full-screen editor and language pre-processor that enhanced the BASIC language through the addition of control structures and local variables.

    Structured Assembly Language Utility, versions 1.0 and 2.0

    part of the IBM Macro Assembler and IBM MASM/2, published by IBM Corp, 1984 and 1986

    This product was a pre-processor that implemented control structures in Assembler language code without the overhead of macros.

    Imperial Space Command

    published by IBM Personally Developed Software, 1986

    This product is described later.

    CTFORMAT

    C/C++ and Text Formatter, part of the Developer Connection for OS/2, published by IBM Corp, 1993 to present

    This is a 32-bit OS/2 filter which formats C/C++, Assembler, and Text. It dynamically selects the kind of formatting to be done by examining the contents of the data. The text formatting uses hidden characters that allow output of one invocation to be the input of the next. Thus, it can be hooked into a variety of text editors.

    THK2ASM

    Thunk Compiler for OS/2 Warp, part of the Developer Connection for OS/2, published by IBM Corp, 1995 to present

    This product provides an easy way to produce efficient interface code to enable the use of old 16-bit applications within the 32-bit OS/2 system.



    Game Related History

    Player of historical conflict simulations since MAR 1965. I have a personal library of nearly 150 board games.

    Player of role playing games since Fall 1976 with experience during at least 6 years of that time as a game master, first for Dungeons and Dragons, then GURPS.

    Player of Go since Summer 1986 and member of American Go Assocation, #3297, ranked 8 kyu. I have a personal library of more than 40 books on Go in both English and Japanese.

    Founder of IBM Simulation Games Club, Houston, TX, JUN 1974.

    Founder of IBM Simulation Games Club, Boca Raton, FL, JAN 1976.

    Founder of Boca Raton Go Club, Boca Raton, FL, Summer 1987.

    Owner of the Game Design Forum on the IBM internal networks since Fall 1992.

    Charter member of the Computer Game Developers' Association, Fall 1994, #1994-0446.

    Attendee of the Computer Game Developers' Conference, Santa Clara, CA, APR 1994.

    Attendee of the GamePC Consortium, Santa Clara, CA, OCT 1994.

    Attendee of the Computer Game Developers' Conference, Santa Clara, CA, APR 1995.


    Game Development Experience

    UBoat, 1972

    Single submarine and destroyer implementation of U-Boat by Avalon-Hill Company. This game was originally written in APL for the IBM System/360 and was later ported to BASIC on the Apple II, then the IBM PC.

    Pinochle, 1972

    Two-handed Pinochle with a computer opponent. This game was written in APL for the IBM System/360.

    Cruiser, 1974

    Full implementation of CA by SPI, with a computer opponent. It was a simulation of World War II surface naval combat with multiple scenarios. This game was written in APL for the IBM System/360.

    TimeTrap, 1976

    An implementation of the multi-player time travel game by Flying Buffalo. This game was written in APL for the IBM 5100.

    Dungeons, 1977

    A role playing game based on Tunnels and Trolls. This game used a natural English parser and supported up to 4 characters in a randomly generated dungeon. It was originally written in APL for the IBM 5100 and was later ported to Structured BASIC on the IBM PC. It was considered for release with the first IBM PC, but was dropped because there was no way to treat IBM employees as ISVs.

    EnGarde, 1979

    Implementation of the Fencing simulation from the game En Garde by Game Designers' Workshop. This was written in Structured BASIC for the Apple II and later ported to the IBM PC.

    Imperial Space Command (ISC), 1983 to 1986

    A multi-player game of space exploration, colonization, and conquest based on my own design of a paper and pencil game that was frequently played by the IBM Simulation Games Club in Boca Raton, FL. A crude version of the program was developed in BASIC on the IBM 5100 and ported to BASIC on the TRS-80 by Ed Kiser of Coral Springs, FL. He later redesigned it and wrote it in Structured BASIC for the IBM PC.

    My contribution was the design and implementation of the full-screen user interface and the computer player, which can replace any or all of the eight players. The game was published by IBM Personally Developed Software in 1986, and is still played today on a number of computer bulletin boards around the country.

    GoBoard, 1986 and 1994

    An automated Go board that was written in C for the IBM PC. It validates moves and captures, but does not play. It was rewritten as a 32-bit OS/2 PM application using C-Set++ for OS/2.

    ISC2, 1992 to 1994

    This is a totally redesigned version of ISC written in C-Set++ for OS/2. It features a game definition language that allows the game to be configured as ISC or any other game of that genre. I completed the game engine and the ISC personality in late 1993. A game definition editor and user interface was being developed by others in Boca Raton. That work and my own work on a computer opponent were halted due to the development of OS/2 Warp. This work was used as a Beta test of C-Set++ for OS/2.

    XComUtil, 1995 to 2005

    A combat enhancer for XCOM: UFO Defense and XCOM: Terror from the Deep, by MicroProse, and UFO: Enemy Unknown by Mythos. It consists of a collection of patches and utilities for the entire line of XCOM games. All features are the result of data patches, not the modification of code, except for a one-byte patch to fix the Difficulty Bug in XCOM that MicroProse refused to fix.

    XCOMUTIL allows you to view, modify, or add opponents and their equipment, dynamically set the difficulty level, redesign the ships, and even switch sides with the aliens, allowing XCOM to be played in two-player hot-seat mode. Version 7.0 added the ability to randomly redesign each alien ship after each combat.

    This program was developed using C-Set++ for OS/2 and recompiled with Borland C++ for distribution to DOS users. The latest version is available from my XcomUtil Homepage.

    ApocUtil, 1997

    A combat enhancer for XCOM: Apocalypse by Mythos, distributed in the U.S. by MicroProse. It performs some of the same types of functions for XCOM3 that XCOMUTIL did for XCOM1 and XCOM2. All features are the result of data patches, not the modification of code.

    APOCUTIL allows you modify the number of aliens on ships and the availability of equipment, and It can also be used to randomly modify weapon effectiveness to make the start of the game more challenging as you struggle to find which weapons work against which aliens.

    This program was developed using Borland C++ for distribution to DOS users only, since this game does not run under OS/2. This program is available from my XcomUtil Homepage.

    Star Wars: The Old Republic (SWTOR), 2010 to 2012

    An MMORPG based on the Star Wars universe with activity occurring 3000 years before the movies. SWTOR was developed by BioWare, a division of Electronic Arts.

    I was responsible for development of the Automaton, an automated player capable of testing the game and substituting for testers in group content.


    This page was last updated on 18 JAN 2013.

    Author

    Scott T Jones<stjones@gmail.com>
Comments