Jim Brooks
Palm Beach, Florida USA
e-mail    LinkedIn profile   brief resume

TECHNICAL EXPERTISE:

PROGRAMMING LANGUAGES & TOOLS:

Programming languages:     C, C++, STL, Lua, Python, Java, design patterns
Programming tools:     GNU tools (gcc,gdb,etc), Subversion
Computer graphics:     OpenGL, OpenSceneGraph, scene graphs, 3D engine design
Game console programming:     Microsoft Xbox 360 devkit

OPEN-SOURCE PROJECTS:


Developed a flight simulator based on OpenSceneGraph 2.x.
Has the ability to fetch and render satellite imagery using OSSIM.
Previous version rendered using a 3D engine I designed and implemented.

GRAPHICS PROGRAMMING:

3D engines:     design, implementation
scene graphs:     OpenSceneGraph, SGI Performer
graphics API:     OpenGL, shaders: GLSL
modeling:     Blender

ENGINEERING EMPLOYMENT HISTORY:

Simulation Software Engineer - Perry Slingsby - Palm Beach, Florida - 2008...present
Summary: Simulator programmer
o Programmer for a simulator of underwater remotely-operated-vehicle (ROV).
o Simulator is based on OpenSceneGraph and CMLabs physics engine.
o Wrote OpenGL GLSL shaders to improve visual realism.
o Lua scripting.

(Sabbatical) - 2007...2008
o Devoting time to my flight simulator project.

Software Engineer - Compro Computer - Melbourne, Florida - 2006...2007
Summary: OpenSceneGraph programmer
o Graphics programmer for a flight simulator.
o Wrote C++ code on Linux for OpenGL and OpenSceneGraph (OSG).
o Developed real-time rendering of weather, sky, and cloud models.

Software Engineer II - Electronic Arts (Tiburon) - Orlando, FL - 2005...2006
Summary: Game programmer
o Software engineer for Madden 07 football video game (Xbox 360).
o Used Microsoft Xenon SDK and EA's game tools and libraries.
o Wrote C++ code for graphics, animations, online gaming, and networking with servers.
o Improved camera system. Fixed bugs in replay.
o Attended EA internal training classes (game AI, shaders, Maya, etc).
o Wrote network code to report player usage of game features for product improvement.

Software Engineer (Contractor) - et al - Tampa, Florida - 2003...2005
Summary: Several contracts involving C++, Java, Linux system programming
o Verizon: Developed fault-tolerant middleware for sending messages across WAN network.
o Verizon: Designed load-balancer of UNIX processes.
o Verizon: Developed a Java client that communicated with C++ middleware.
o CommerceQuest: Debugged C++ code on UNIX.
o [2003]: Linux system programming for 802.11 wireless device.

Sr. Software Engineer - Ravisent, LynuxWorks, Stonefly Networks - California - 2000...2002
Summary: Linux system programming.
o Linux system programming for 3 companies.
o Ported device drivers to other platforms.
o Debugged failures of Linux kernel to boot on new custom hardware boards.
o Wrote network code at the low-levels of Linux TCP/IP stack.

Sr. Software Engineer - Chromatic Research - Santa Clara, California - 1997...2000
Summary: CPU microcode
o Implemented microcode of a dual-core x86-compatible microprocessor.
o Developed microcode from prototype to completion (full life cycle).
o Microcode successfully booted popular operating systems.
o Defined RISC instructions to optimize microcode.
o Participated in design of CPU.

Validation Engineer - Transmeta - Santa Clara, California - 1997...1997
Summary: Verification of x86 microprocessor
o Wrote CPU tests in x86 assembly language (again).

Verification Engineer - Texas Instruments - Tampa, Florida & Dallas, Texas - 1994...1997
Summary: Verification of x86 microprocessor
o Wrote CPU tests in x86 assembly language.
o Tests were written according to test plans and coverage measurement data.
o Reverse-engineered Pentium's undocumented "Appendix H" CPU virtualization features
   and co-published the results in EE Times.

PATENTS:

Co-inventor of U.S. patent #5,826,084 [HTML, PDF] in microprocessor architecture (Texas Instruments).

PUBLICATIONS:

Co-authored "Pentium's Virtual Mode Extensions Revealed"
Electronic Engineering Times, November 13, 1995 issue.