Email: [Send email using form at bottom]
Houston, TX 77082
Cell / Voice: 832-488-4834
Eric William Rutherford
Qualifications Summary
A results-driven professional with over ten years in the industry offering a
strong background in programming with Microsoft platform tools and open platform
tools. I have used various technologies such as C/C++, C#, Qt, Perl, PHP, XML,
Microsoft .Net Platform, SQL, Oracle, Access, Linux, ASP, VB, Lua, and
JavaScript.
Languages:
C/C++, C#, PHP, Perl, SQL, x86 ASM, ASP, VB, XML, HTML, JavaScript, Lua
Operation Systems:
Windows - Vista, XP, 2000, NT4, 98, 95
Linux - Ubuntu, Debian, Suse, Redhat, Fedora, Gentoo, Mandriva
MS-DOS, FreeDOS
Software:
MS Visual Studio .NET, MS Visual Studio 6, Eclipse, KDevelop, Anjuta, gcc/make,
MS Office, IIS, Open Office, Oracle, Adobe PhotoShop, Adobe Illustrator, Apache
HTTPd, Exim MTA, VNC, ClearCase, CVS, Subversion, Perforce, SSH, ProFTPd, mySQL,
Bind, Samba, Open Webmail, BackupPC
Libraries/APIs
Qt, Windows API, GDI, MFC, GTK+, GTKmm, COM/ActiveX, Winsock, WinInet, ADO,
ODBC, OLEDB, OpenGL, OpenAL, DirectX, SDL, Theora, Vorbis, Ogg
EXPERIENCE
April 08 – Sep 08
HP – Hewlett Packard
Automation Engineer
Created a multi-tiered test automation library in Perl and C++ allowing
automated testing of several mass storage architecture administration
interfaces.
The library provided access to an abstract set of common storage architecture
objects exposing features supported via other more specific/complex interfaces or
interfaces intended for human interaction (web based).
This approach would allow you to write test scripts for features one time, and
test it across an array of interfaces. (two command line interfaces, one http
based interface and 2 config/xml file flashing based interfaces to date)
Wrote around 30 test scripts for testing an assortment of storage architecture
related functionality (raid management/configuration, raid level migration,
volume expansion, spare drive configuration, even negative test casing to make
sure things that should fail do fail, all while under heavy I/O load also
facilitated by the library)
Scripted a web portal allowing user friendly access to success/failure reports,
system utilization statistics, test plan review/configuration (which tests to
run) and logs for debugging complete with pattern match searching and color coded
error/warning codes.
Configured an array of test systems of various Oses and versions (mostly Redhat
4 and 5 and Windows 2008) to run automated testing daily and generate reports and
logs (viewable over the aforementioned web portal.)
Added full HTML, manual, Latex, Doxygen and perldoc (pod) documentation complete
with UML diagrams and flow charting for how to use the library to create new test
scripts.
May 06 – March 08
INT - Interactive Network Technologies
C++ Programmer
Made extensive improvements to several parts of the INT visualization toolkit
including Plotting, Seismic, Contour mapping, Charting, Graphical well log
logging API and CGM exporting.
Ensured identical look and feel across all platforms using Qt as well as native
graphics APIs (MFC, Win32 GDI and X)
Improved performance and added new features to the toolkit by converting the
rendering layer to OpenGL thru Qt.
Completed off-site projects for clients involving our INT toolkit, including the
creation of a 3D 'salt body' mapping tool that allows users to identify and map
(“picking”) in real time 3d and/or 2d (both views had their own window and tools)
any salt bodies within a seismically charted field and then reinterpolate the
seismic data for greater precision.
Streamlined and improved the build processes for Linux and Solaris.
Responsible for maintaining the Linux/Solaris compatibility of our code base.
Debugged and fixed dozens of various bugs in the toolkit on Windows, Linux and
Solaris.
Aug 05 - May 06
ExxonMobil - Upstream Research Company
C++ Programmer
Wrote an application in C++ using MFC that is used to analyze and plan
optimizations to the operation of existing oil fields and equipment as well as to
design and manage simulated oil field operations.
Created several custom, fully owner-drawn controls using GDI (and MFC) for
displaying complex graphical tree like diagrams of well management code.
Created several smart editors that allow a user to quickly generate large
amounts of well management code by selecting and combining more abstract
operation keywords and parameters.
Developed a flexible and powerful parser engine to quickly generate intermediate
language code from well management language syntax meta data files (similar in
format to XML) and user input from my smart editors.
Feb 05 - Aug 05
Arch Image
Lead C++ Programmer
Organized tasks and guided other team members to improve coordination and
collaboration so that our two projects developed efficiently, optimally and
quickly.
Made extensive modifications and improvements to the Torque Game Engine’s
lighting, compression and AI capabilities using C++ and Visual Studio .net.
Added compressed real time video and audio movie support to Torque, using free
open source codecs. (Theora, Vorbis and Ogg)
Worked closely with 3d artists/animators to ensure all art resources were
optimized and well supported by the Torque Engine.
Helped maintain Perforce Source Control system.
Apr 04 - Feb 05
Lasershot Inc.
C++ Software Developer / System Administrator
Made extensive modifications and improvements to the Torque Game Engine’s
Lighting, Networking and Physics Capabilities using C++ and Visual Studio .net.
Rewrote portions of the mail server code in C++ to allow it to work with all of
our client software.
Prepared 3d Studio Max models and exported them to Torque supported format.
Installed and maintained all of our Linux server software including HTTP, SMTP,
POP3, IMAP, FTP, SSH, and more.
Set up project management software to improve coordination and collaboration
between members of the team.
Nov 03 - Apr 04
Timegate Studios
Lead Quality Assurance Engineer / Tools Developer
Coordinated the Quality Assurance process on two major game titles: “Kohan 2:
Kings of War” and “Axis & Allies” both published in 2004.
Was responsible for making sure milestone builds delivered all the features
requested by the publisher on time and without errors.
Programmed tools using C++ to aide in game design, including a trigger editor
for batch trigger creation and a tool to easily adjust all the color values in
game scripts with just a few keystrokes.
Set up Bugzilla Bug tracking software to make the Quality Assurance process more
organized and efficient.
Installed project management software to help coordinate feature improvements
and bug fixes with other departments and members of the team.
Trained other employees to properly document bugs. Taught them which files are
needed and exactly how to find the exact cause of crashes.
2002 - Nov 03
Remax
Computer Tech
Handled Software Installation (Windows XP, 2K, 98 and MS Office), upgrades
(hardware and software), reinstalls, networking, fixed software problems, and
generally kept the computer systems running smoothly at multiple locations. There
were around 100 machines including several servers and most of the machines were
running different hardware.
2000 - 2002
Universal Computer Systems (UCS)
C++ System Software Developer
Programmed tools in C++ using MFC to diagnose network problems and monitor TCP
and UDP and serial line traffic.
Developed a series of applications using C for inventory management with the
Dolphin hand held bar code scanner.
Created a Windows Runtime Environment which allowed Cobol Programmers to create
Windows based applications with ease allowing the company to easily migrate an
extremely large COBOL code base to a newer, faster, more modern, graphical user
environment.
Programmed several smaller web based utilities in Perl (disk/configuration
editors) for the Phoenix3 system (IBM Mainframe Emulator for PC)
1999 - 2000
Best Buy
Computer Sales Associate/Computer Tech
Became very familiar with a wide range of computer hardware and software.
1998 - 1999
Centra 2000
C++ Programmer
Wrote scripts and programmed utilities in C++ using MFC for creating, managing
and securing C2K databases and builds.
Created and maintained the Product Installers using Install Shield.
Ensured Centra 2000's Extensive API worked as designed on WinNT and Unix using C
and C++.
Side Projects
Houston Area Business Locater (2003)
I created a system in PHP to allow a user to enter an address which was then
geocoded to produce latitude and longitude coordinates. The coordinates were then
used to search against a database containing thousands of business locations. The
query could be configured to search a certain distance or for a certain type of
business.
LLL ACL Reporting system (2003)
I created related forms and scripts in PHP for a non-profit organization to
allow regional leaders to report relevant statistics to a database on their
server; and to allow them to view that information.
Remax Scheduling System (2003)
Developed a scheduling system using PHP that allowed the creation and
modification of monthly floor time schedules for Remax personnel.
Hobbyist Programming
"Intangir’s Plugin Engine" (1999)
The Plugin Engine is a plugin loader written in C++. It allows you to easily
load and use plugins that alter the process memory of Windows applications and
games. It also allows the user to load their plugin directly into the virtual
address space of the target process and edit the memory there directly on any
windows platform. This means you can reroute program flow into your own code from
the target process allowing you to inject any enhancements or extra features into
the original program seamlessly!
IPEngine Plugins (1999)
I wrote several powerful original modifications for games like Starcraft, Halo,
Diablo, Jedi Outcast, Jedi Academy, Dungeon Siege, Delta Force, and Homeworld
using my Plugin Engine system and low level process hacking techniques I
developed.
Decal Plugins (2001)
Decal is a similar to my plugin engine, but specific to the online game
Asheron's Call, and uses COM. I wrote two plugins, one is for reporting and
retrieving statistics to and from a server; the other completely automates the
actions of the user's character in game to serve as a "buff bot" which casts
enchantments on other players for in game currency.
Simple Search (1999)
A data offset locating utility written in C++ which allows easy editing of
running windows applications and games.
"Doom-Gaze's Diablo Trainer" (1998)
Allows the user to save, restore, and edit their character in the game (Diablo)
by manipulating Windows process memory. This program is also capable of loading
"hack data files (*.dat)", ASCII files containing process memory patching
information, which extends the trainers capabilities.
Hobbyist Web Development
http://www.delinquentminds.com (1999)
Delinquent Minds. My old game hacking/editing/programming site. This and other
sites are hosted on my own web server running Ubuntu Linux and Apache. My server
has had over 99% uptime over the last 8 years
Other
I have substituted at San Jacinto College South teaching C++ and Advanced C++
classes.
I am also on the San Jacinto College District advisory committee for computer
related curriculum. |