Robert D. Keeney
Education
1991-1995
Purdue University, West Lafayette, IN
Bachelor of Science, Computer Science
Languages & Tools
C/C++, Perl, XML, SQL, PHP, HTML/CGI, PostScript, STL and Boost C++ libraries, ODBC, Javascript, Java, Lua, MS-Developer Studio, Perforce, CVS, Windows, UNIX, InnoSetup, InstallShield, MS-Word, MS-Excel, MS-Access, Eclipse
Experience
January 2007 – October 2008
Arxan Technologies, Inc. West Lafayette, IN
Software Development Engineer
Worked on a team maintaining the GuardIT and EnforcIT products, which insert protection code into Windows, and Linux programs to detect and prevent tampering and reverse engineering.
Designed and implemented an internal software licensing library to encapsulate third party software licensing libraries (Reprise and Macrovision/Acresso) in C++.
Designed and implemented a database and web portal for creating and managing software licenses using Perl and PostgreSQL.
Implemented a custom host identifier call-back for use with the Reprise licensing library.
Implemented software licensing in GuardIT and EnforcIT products.
Implemented software guard actions to ping a web server on software tampering detection
Implemented Gnu ld map file format parsing in GuardIT and EnforcIT products to support analysis and protection of GCC and GNAT compiled Windows and Linux programs.
Created XSDs for additions to Guardscript, an XML based configuration file format for specifying software protections
Implemented a module to compile and link dynamically generated static libraries for white box cryptography for the TransformIT product.
2005 – 2007
C-SPAN Archives, Lafayette, IN
Software Specialist
Maintained PHP/MySQL based web store (ZenCart).
Maintained software for extracting images from MPEGs and inserting information about those images into an MDBS Titanium database.
Maintained software for controlling a Leightronix video router and an SVHS tape drive array.
Developed a program for controlling the archiving of MPEG2 files from a SAN to tape archive robot.
Developed a Perl script to control automated capture of video into real and wmv formats on ViewCast Niagara video capture PCs via an XML based web service.
Maintained PHP scripts for serving video files via an Apache web server.
Developed a C++ program to clip and paste together segments of GVG MPEG2 files into files containing a single program.
Developed a Perl program to clip and paste together segments of Real video files to create single video files containing complete programs based on rules stored in a MySQL database.
1997 – 2005
MailCode, Inc., Lafayette, IN
Senior Software Engineer
Developed and maintained a C++ library of flexible interface objects for serially controlled devices including a serial device base class which enabled rapid development of interface classes for high speed barcode printers, label printers, motors, and barcode readers.
Developed a C++ interface class for I/O boards.
Developed C++ interface objects for high-speed line-scan cameras.
Developed and maintained libraries of C++ objects to represent and manipulate barcode information, easily interface to Microsoft's cryptography API, manage images, use shared memory, simplify registry access, manage exception handling, and extend the C++ STL string manipulation routines
Developed address keying software in C++ which required minimal keystrokes to uniquely match addresses, allowing keyists to significantly increase mail piece coding through-put while maintaining accurate assignments.
Used voice recognition libraries to enable recognition of spoken addresses with address assignment software allowing keyists to achieve high mail piece coding through-put more quickly.
Developed utilities in Perl to perform monthly USPS address database file updates on customer PCs for three separate vendors' databases making database updates much simpler and reliable
Participated in yearly USPS MASS certification of mail sorting equipment
Developed a system in Perl for daily automated retrieval and formatting of customer certification error reports from a USPS web site allowing easy tracking of certification efforts
Developed a mail piece assignment test deck and grading software to help mailers maintain the accuracy of their encoding systems.
Developed customer information management tool in C++ for controlling customer specific options for encoding jobs on mail sorting equipment, ensuring the proper configuration is used for encoding customer mail and reducing the opportunity for processing mistakes
Maintained USPS Postal documentation form generation software written in VB6 which created USPS forms required for submission of mailings to the post office and sort schemes necessary for sorting the mail to achieve the rate discount qualifications
Developed an application in C++ to generate PostScript/PDF reports of POSTNET barcode errors enabling mailers to maintain the quality of their barcodes and quickly diagnose barcode printing problems, reducing the incurrance of fines for poor barcode quality
Developed an application in C to acquire images of Brazilian postage meter indicia using a hand held Dolphin unit and upload those images to a base station PC for evaluation and fraud detection
Developed the base station application in C++ to grade, display and manage the images allowing the Brazilian postal authorities to detect fraudulent postage markings
Developed a customer billing report application in Perl which created HTML reports of amounts owed by each customer for mail processed to allow mail service bureaus to easily bill their customers based on volume and discount qualification level.
Developed software in C++ for an incoming mail keying station to apply routing information retrieved from a MS Access database on newly arrived mail to better track delivery of mail to the proper mail stops.
Developed a utility in Perl for performing reverse look-ups of zip codes from a web based service as part of the industry leading USPS mail delivery tracking system enabling mailers to verify that pieces were correctly assigned.
Developed an application in C++ to allow mailers to print USPS mail tray tags using a serially controlled Eltron label printer from mail sort scheme information or from manual entry using information stored in a MS Access database, allowing them greater ease and convenience in tray tag generation.
1995 – 1997
Logikos Systems and Software, Fort Wayne, IN
Software Engineer
Developed user interface prototypes for RCA DVD players and DSS systems
Developed a web based time card system in HTML, Java, Javascript to support other employees working in remote locations
Developed interfaces for controlling satellite communication hardware for over-the-road trucks in C++ allowing drivers to communicate routing information more easily and reliably with their company
Maintained company web site, including regular site updates
January 1994 - May 1995
PURDUE UNIVERSITY COMPUTING CENTER
Lab Consultant
Monitored university personal computer labs
Provided information and help to end-users
May 1992 - August 1992
INDIANA DEPARTMENT OF NATURAL RESOURCES,
DIVISION OF WATER.
Engineering Assistant II, Intermittent (Summer)
Developed a state-wide water use registration and tracking system for public and private large capacity wells
Developed two mail tracking systems to accurately track arrival and speed disposition of incoming mail
Developed a building permit application tracking system to track permits for construction in Indiana waterways
Developed a data importation utility in C
Instructed other employees in the use of each of these applications
