Rafael Pena
RAFAEL E. PENA, Ph.D.
SENIOR PROGRAMMER, GROUP LEADER AND TRAINER / INSTRUCTOR
3200 South Gessner, Houston, Texas 77063
rpenaphd@SoftwareStructures.com
www.SoftwareStructures.com
(713)781-6633
(Last Updated: May 22, 2002)
Principal Keywords: C++, CSharp (C#), ATL, COM / COM+ / DCOM, MFC, Visual Basic,
Visual Studio .NET, ASP.NET, ASP, ADO.NET, ADO, .NET XML (Extensible Markup
Language) Classes, .NET XML Web Services, SQL Server 2000, SQL Server CE, MSMQ,
COM+ Queued Components, MTS, Windows 2000 DDK, Windows NT DDK, OLEDB, ADO, Windows
2000, Windows NT, Windows CE, CE.NET (CE .NET), Pocket PC.
I specialize in WIN32 Microsoft operating systems, especially Windows 2000 Server
(Professional) and Windows NT (Server), both User-Mode (Win32) and Kernel-Mode
(DDK). My recent work involves ASP and ASP.NET, Microsoft .NET technologies,
their interoperability with COM+, .NET XML Web Services and ADO.NET XML-aware
classes. I also have significant work with Microsoft COM+/DCOM based technologies
for distributed processing in (wireless) intra-nets and over the Internet. This
includes Transient COM+ Event Subscriptions, COM+ Queued Components, MSMQ
(Microsoft Message Queue Server) and MTS (Microsoft Transaction Server).
SOFTWARE DEVELOPMENT AND PROJECTS
AN E-COMMERCE WEB SITE (WWW.FEWDOLLARSOFTWARE.COM) THAT USES WWW.PAYPAL.COM FOR
INTERNET ONLINE PAYMENTS
For Software Structures, Inc. Houston, Texas. April - May 2002.
Keywords: ASP, ASP.NET, CSharp (C#), VBScript, JScript, ADO, Microsoft Visual
InterDev 6.0, Microsoft Visual Studio .NET, Microsoft Access 2000, ODBC,
Paypal Instant Payment Notification (IPN).
A SERIAL COMMUNICATION API AND TROUBLESHOOTING A CE.NET EMULATED DEVICE
INTERACTING WITH A SECOND COMPUTER CONNECTED TO THE CE DEVICE HOST
For Heron Solutions Ltd. United Kingdom. February - March 2002.
Keywords: CE.NET (CE .NET), Platform Builder 4.0, Visual Studio .NET, .NET
Smart Device Extensions.
TRANSDBG. A MTS / COM+, MSDTC TRANSACTIONS TRACE VIEWER-DEBUGGER. AN ONLINE
PRODUCT DOWNLOADABLE FROM WWW.FEWDOLLARSOFTWARE.COM.
For Software Structures, Inc. Houston, Texas. February 2002.
Keywords: C++, Visual Basic 6.0 (VB), Visual C++ 6.0, COM/COM+ (Component
Object Model), ATL (ActiveX Template Library), MFC (Microsoft Foundation
Classes), MTS (Microsoft Transaction Server), MSDTC (Microsoft Distributed
Transaction Coordinator), Windows Installer SDK, ORCA *.msi Editor.
SOFTWARE DEVELOPMENT AND PROJECTS (continued)
TONAL MUSIC WRITER - THE TONAL GRID. A MIDI SEQUENCER AND SOFTWARE TOOLS TO WRITE
AND ANALYZE MUSIC BY THE RULES OF TONAL MUSIC COMPOSITION.
For Software Structures, Inc. Houston, Texas. October 2001 - February 2002 (in
progress), September 2000 - August 2001, December 1998 - February 1999,
February - March 1997.
Keywords: C++, CSharp (C#), Visual Basic 6.0 (VB), Visual Studio .NET, Visual
C++ 6.0, .NET XML Web Services, SQL Server 2000, ADO.NET, MIDI (Musical
Instrument Digital Interface) Sequencing and MIDI File I/O, COM/COM+
(Component Object Model), COM+ LCE (Loosely Coupled Events), ATL (ActiveX
Template Library), MFC (Microsoft Foundation Classes), SAX2 (Simple API for
XML), Visual C++ 1.52 (16 bit), ActiveX Automation into 16 bit Windows under
NTVDM (NT Virtual Dos Machine), PowerTracks Pro Audio DLL API, Cakewalk MIDI
FX (MIDI Effects Filters, Mfx Sdk), Shared Memory Mapped Files, Visual
SourceSafe, Windows 2000 Server.
A FACILITY THAT GENERATES POCKET PC DATA ENTRY SCREENS FOR ANY SQL SERVER 2000
TABLE. SQL SERVER CE - SQL SERVER 2000 MERGE REPLICATION.
For Software Structures, Inc. Houston, Texas. September 2001.
Keywords: SQL Server CE, ADOCE 3.1, Pocket PC, Handheld PC, Windows CE, SQL
Server 2000 Replication, Embedded Visual Basic 3.0, Embedded Visual C++ 3.0,
Microsoft Embedded Visual Tools, Windows CE Platform SDK, Platform SDK for
Pocket PC, Visual Studio .NET, CSharp (C#), ADO.NET.
A GENERIC COM SERVER OBJECT HIERARCHY AND C++ CLASSES FOR PROCESS-SHARED ACCESS TO
MEMORY MAPPED FILES WITH COM+ EVENT NOTIFICATIONS TO TRANSIENT AND PERSISTENT
SUBSCRIBERS. XML SHARED MEMORY MAPPED FILES AND VISUAL BASIC CLIENTS ARE ALSO
SUPPORTED.
For Software Structures, Inc. Houston, Texas. September, December 2000.
Keywords: File Mapping, ::CreateFileMapping(), COM/COM+ (Component Object
Model), Visual Studio .NET, SQL Server 2000, ADO.NET, .NET XML Web Service,
VB (Visual Basic 6.0), ATL (ActiveX Template Library), MFC (Microsoft
Foundation Classes), C++, Visual C++ 6.0, Visual SourceSafe, Windows 2000
Server.
SYSTEM SOFTWARE FOR A WIRELESS NETWORK OF PALM-SIZE WINDOWS 2000 AND WINDOWS CE
COMPUTERS. LAND WARRIOR. SENIOR PROGRAMMER AND ARCHITECT
For Pacific Consultants, LLC. Mountain View, California.
January 2000 through July 2000.
Keywords: COM/COM+, ATL, MFC (Microsoft Foundation Classes), OLE DB, SQL Server
7, Oracle8 Lite, SQL (Structured Query Language), COM Aggregation, Pipes,
Multithreading, Error Logging, Memory Leaks, Windows Hooks, C, C++,
Templates, Visual C++ 6.0, Windows 2000 DDK (Device Driver Kit), NuMega
SoftIce Debugger for Windows 2000, Windows CE Toolkit for Visual C++ 6.0, USB
(Universal Serial Bus), CAN (COTS Controller Area Network), Windows Sockets,
Visual SourceSafe, Windows 2000 Professional, Windows CE.
SOFTWARE DEVELOPMENT AND PROJECTS (continued)
A VISUAL BASIC ACTIVEX CONTROL AND SUPPORTING OUT-OF-PROCESS ATL OBJECTS WHICH
SERVE ADO RECORDSETS ASYNCHRONOUSLY USING MSMQ UNDER MTS TRANSACTIONS
For Software Structures, Inc. June 1999 through December 1999.
Keywords: VB, ATL, ATL Service, NT Service, ADO (ActiveX Data Objects), OLE DB,
MFC, MSMQ (Microsoft Message Queue Server), MTS (Microsoft Transaction
Server), DCOM (Distributed Component Object Model), C++, Visual C++ 6.0,
Visual Basic 6.0, Visual SourceSafe, IIS 4.0 (Internet Information Server
4.0), Windows NT Server 4.0.
A OS/2 WARP 4 EMULATOR (PARTIAL SUBSET) FOR WINDOWS NT / WIN32 (STARTRAX, EWAVE)
For ADC Labs, Inc. July 1997 - April 1999.
Keywords: MFC (Microsoft Foundation Classes), WIN32 SDK, MultiThreading, Drag-
Drop, DirectSound, MMSystem, Btrieve DBMS, C++ / C Language, Visual C++ 6.0,
Visual SourceSafe, Windows NT Workstation 4.0.
A C++ CLASS LIBRARY FOR DEVELOPMENT OF WINDOWS NT 4.0/3.51 KERNEL-MODE DEVICE
DRIVERS AND A KERNEL-MODE TRACING DEBUGGER
For Software Structures, Inc. June - October 1996 and intermittent through June
1997.
Keywords: Windows NT 4.0 DDK (Device Driver Kit), MFC, OLE Automation, Visual
C++.
A FACILITY TO DYNAMICALLY (FORCE AT RUN-TIME) MFC-SUBCLASS ANY WINDOW ACROSS
WINDOWS NT PROCESS BOUNDARIES
For Software Structures, Inc. December 1996.
Keywords: MFC (Microsoft Foundation Classes), Microsoft Visual C++.
PORTED A UNIX SYSTEM TO WINDOWS NT 3.51, WIN32 SUBSYSTEM
For Bailey Network Management Systems, Inc. October - November 1996.
Keywords: Microsoft Visual C++, Sockets, Pipes, Shared Memory, X-Windows
events.
AN EXTENSION CLASS LIBRARY TO THE MICROSOFT FOUNDATION CLASSES (MFC).
MORE THAN 70 NEW OR MFC DERIVED CLASSES
For Software Structures, Inc. January 1996 - June 1996 and intermittent through
June 1997.
Keywords: Microsoft Visual C++ for WIN32.
AN OIL FIELD ACCOUNTING SYSTEM (TOW) UNDER COBOL AND VISUAL BASIC GUIs FOR
WINDOWS 3.1, WINDOWS NT 3.51 AND OS/2 WARP 3
For VertiComp, Inc. June 1994 - October 1994, March 1995 - January 1996.
Keywords: C++ / C Language, Visual Basic, MKS Kornshell, VBX (Visual Basic
Control), Oracle 7 OCI (Oracle C Interface), ODBC 2.1 SDK, Watcom Embedded
SQL 4.0, Microsoft Visual C++, PWB, Watcom C/C++ 10.5 .
SOFTWARE DEVELOPMENT AND PROJECTS (continued)
A GENERIC LIBRARY AND FACILITY FOR DEVELOPING VISUAL BASIC (or WINDOWS)
USER INTERFACES FOR DOS PROGRAMS RUNNING IN A VIRTUAL 86 DOS-BOX UNDER
386 ENHANCED MODE WINDOWS 3.1.
For Software Structures, Inc. Feb. - May 1994; Feb. - March 1995.
Keywords: C++ / C Language, 80x86 16- & 32- bit Assembler Language, VXD (.386
Virtual Device Driver), VBX (Visual Basic Control), Visual Basic.
A REAL-TIME TSR MONITORING SYSTEM, WHICH DISPLAYS AND REPORTS ALL 8086
INTERRUPT-VECTOR ACTIVITY IN A DOS MACHINE.
For Software Structures, Inc. March - February 1993; November 1993 – February
1994.
Keywords: C++ / C Language (TSR'd : Terminate-Stay-Resident), 80x86 Assembler.
A C++ MACRO FACILITY WHICH AUTOMATICALLY GENERATES CODE FOR DEBUG-TRACING OF
C++ CLASS, DATA AND FUNCTION MEMBERS.
For Software Structures, Inc. September 1993 - October 1993.
Keywords: C++ / C Language, MKS Kornshell, 80x86 Assembler.
A PC/WINDOWS 3.1 BASED SYSTEM FOR REMOTE CONTROL OF LOGIN ATTRIBUTES FOR NEW USERS
IN A MULTI-PLATFORM CLIENT/ (UNIX, NETWARE, NET-GATEWAY, SYBASE, ORACLE) SERVER
ENVIRONMENT.
For Tenneco Gas, Inc. March 1993 - August 1993.
Keywords: Microsoft C Language, ANSI C Language (on UNIX), MKS / UNIX
Kornshell, Visual Basic, Netmanage's Newt/Chameleon TCP/IP socket library,
Netware 4.0 SDK and Client API for C.
A GENERIC TSR DYNAMIC GRAPHING UTILITY WHICH GENERATES REAL-TIME ON-SCREEN PLOTS
OF NUMERICAL RESULTS AS THEY ARE BEING WRITTEN TO A DISK FILE.
For Software Structures, Inc. January 1992. (Unfinished.)
Keywords: C Language, 8086 Assembler.
AN EXPERT SYSTEM FOR CRITICAL ASSESSMENT AND ANALYSIS OF HYDROGEN-INDUCED
CORROSION DEFECTS IN HYDROCARBON PRESSURE VESSELS.
For Exxon Production Research Company. October 1990 - May 1991 and intermittent
through July 1992.
Keywords: C Language.
A LIBRARY OF C FUNCTIONS WHICH IMPLEMENT DATA-ENTRY SCREENS UNDER DOS,
TSR (TERMINATE-STAY-RESIDENT) ENABLED.
For Software Structures, Inc. August 1990 - October 1990 and intermittent
through March 1993.
Keywords: C Language.
A USER-INTERFACE FOR A FORTRAN PROGRAM WHICH ANALYZES OIL-RIG PUMPOUT DATA.
For Exxon Production Research Company. August 1990 - September 1990.
Keywords: C Language.
SOFTWARE DEVELOPMENT AND PROJECTS (continued)
A LIBRARY OF C FUNCTIONS WHICH IMPLEMENT LOTUS-123 STYLE MENU TREES FOR DOS,
TSR (TERMINATE-STAY-RESIDENT) ENABLED.
For Software Structures, Inc. January 1990 - February 1990 and intermittent
through March 1993.
Keywords: C Language.
A CONSTRUCTION COMPANY JOB MANAGEMENT SYSTEM
For Debmar Construction Company. November 1988 - January 1990 and intermittent
through January 1991.
Keywords: dBASE III PLUS, C Language, 8086 Assembler.
A WIZARD TO AUTOMATE THE CODING OF INVENTORY CONTROL SYSTEMS
For Software Structures, Inc. October 1988 - January 1990.
Keywords: dBASE III PLUS, C Language, 8086 Assembler.
A WORLD-WIDE OIL REFINERY CONSTRUCTION ACTIVITY TRACKING SYSTEM
For Gulf Publishing Company. November 1987 - September 1988.
Keywords: dBASE III PLUS, C Language, 8086 Assembler.
A RASTER/VECTOR CAD SYSTEM (INITIAL PHASE)
For Mohr Engineering. August 1987 - September 1987.
Keywords: C Language, Texas Instruments TMS34010 Graphics Processor, KOFAX
8400/8200 cards, PC/AT.
A RASTER DOCUMENT RETRIEVAL AND EDITING SYSTEM ON A PC/AT
For Mohr Engineering. April 1987 - July 1987.
Keywords: C Language, 8086 Assembler, Texas Instruments TMS34010 graphics,
KOFAX 8400/8200 cards, PC/AT.
TWO MORTGAGE LOAN INVENTORY AND TRACKING SYSTEMS
For Champion Savings Association. January 1986 - October 1986.
Keywords: dBASE III PLUS, C Language, 8086 Assembler.
A CINEMATIC GRAPHICS WINDOWING SYSTEM FOR IMAGING IN A PC/AT -
NUMBER NINE'S PEPPER SGT HARDWARE/SOFTWARE ENVIRONMENT
For Baylor College of Medicine. August 1985 - November 1985.
Keywords: C Language, Texas Instruments TMS34010, INTEL 82786 graphics co-
Processor.
A MAPS GRAPHIC DATABASE SYSTEM FOR VISUAL DISPLAY AND QUERY OF DATABASE
INFORMATION
For Software Structures, Inc. June 1985 - August 1985. (Unfinished.)
Keywords: C Language.
SOFTWARE DEVELOPMENT AND PROJECTS (continued)
A MULTIVARIATE OPTIMIZING PROGRAM
For Software Structures, Inc. April 1985 - May 1985.
Keywords: FORTRAN-77.
GROUP LEADER EXPERIENCE
SYSTEM SOFTWARE FOR A WIRELESS NETWORK OF PALM-SIZE WINDOWS 2000 AND WINDOWS CE
COMPUTERS. LAND WARRIOR. SENIOR PROGRAMMER AND ARCHITECT
For Pacific Consultants, LLC. Mountain View, California.
January 2000 through July 2000.
I inherited an architecture that left much to be desired. Given only 6 months
to prototype due date much of my writing was aimed at the development of
system-level software constructs (C++ classes, C++ templates and COM Objects)
that would hide underlying flaws and complexities and would allow junior
programmers to write easily modifiable code. We succeeded.
SENIOR SOFTWARE ARCHITECT / PROGRAMMER
For ADC Labs, Inc. July 1997 - April 1999.
I selected, hired, trained programmers, and rebuilt the Software Development
Group of ADC Labs, Inc. I also designed, directed and trained programmers
working on the port from OS/2 to Windows NT, of ADC Labs's EWAVE (formerly
STARTRAX) product.
LEAD PROGRAMMER AND DESIGNER
For VertiComp, Inc. June 1994 - October 1994, March 1995 - January 1996.
I designed the Visual Basic User-Interface and middle-ware architecture of a
large accounting and management system (TOW) for oil field production being
ported from Cobol/mainframe to a Windows 3.1 / Windows NT Client-Server
environment. I also trained VertiComp programmers on coding techniques under
Visual Basic / Windows.
TRAINING COURSE-MATERIAL DEVELOPMENT
"WRITING WINDOWS NT 4.0 AND WINDOWS 2000 KERNEL-MODE DEVICE DRIVERS. A PRACTICAL
HANDS-ON APPROACH."
For Software Structures, Inc. Produced by Peak, Inc. Copyright 1998 - 2001.
Currently 13 Chapters. The material is deliverable over the Internet or suited
to a 5 or 6 -day intense course. Additional information is available at
www.SoftwareStructures.com.
Keywords: Windows NT 4.0 DDK (Device Driver Kit), Windows 2000 DDK.
TRAINING / TEACHING EXPERIENCE
INTRODUCTION TO WINDOWS NT 4.0 KERNEL-MODE DEVICE DRIVERS.
For Intel Corporation, Folsom, California. August 1998.
A 5-day course.
INTRODUCTION TO PROTEL (A NORTEL PROPRIETARY "C"-LIKE LANGUAGE)
For Nortel Networks, Richardson, Texas. July 1997 - June 1998.
Approximately 20, 2 or 3 day course sessions.
INTRODUCTION TO VISUAL BASIC 5.0
For Hands On Technology Transfer, Inc. (HOTT) of Chelmsford, Mass. Spring 1997.
A 3 day course.
INTRODUCTION TO C++
For Hands On Technology Transfer, Inc. (HOTT) of Chelmsford, Mass. January 1997.
A 4 day course.
INTRODUCTION TO THE C LANGUAGE
For CompuLearn, Inc. November 1996.
Two 3 day courses.
CORPORATE TRAINING IN PC BUSINESS SOFTWARE
For the Houston Community College, Professional and Corporate Training and
Development, Seminar Series. 1993 - 1995. (Approximate dates).
Very Many 3 and 6 hour seminars in: PC Hardware Introduction, MS-DOS, Lotus 123
(various versions/releases), dBase III+/IV-1.0, WordPerfect 5.1, WordStar
2000 Plus, Symphony and the C Language.
VARIOUS TRAINING IN PC BUSINESS SOFTWARE
For the local business community and Compushop Bell Atlantic.
1991 - 1994. (Approximate dates).
A number of training sessions in Lotus 123, dBase III+, WordStar 2000 Plus.
SEMESTER COURSES IN PC SOFTWARE
For the Houston Community College, Data Processing Division.
1988 - 1990. (Approximate dates).
9 semester courses in MS/PC-DOS, dBase II/III, Lotus 123, C Language, and
Basic.
EDUCATION
DOCTOR OF PHILOSOPHY. SOLID STATE PHYSICS
Yeshiva University, New York, New York, June 1976.
Dissertation Topic: "Many-Body Theory of a Localized Phonon in an Electron
Gas."
Last Updated: May 22, 2002
Rafael Pena, Ph.D.
Member number:4977
Additional Contact information is available on the Information Page.
Software Contractors' Guild (www.scguild.com)
Copyright(c) 1995 - 1999 Software Contractors' Guild,
Post Office Box 257,Nottingham, NH USA 03290-0257