Please Note - Your Browser is not a recent Version of Microsoft's Internet Explorer
This site may not display correctly in your Browser.
To download a free copy of Internet Explorer please visit
http://www.microsoft.com/windows/ie/downloads/critical/ie6sp1/default.asp

Click your Browser's Refresh/Reload button to eliminate this message.

 

RAFAEL E

   Software Structures, Inc.
            A Texas, USA Corporation
            Member of the Houston, Texas Better Business Bureau.

Home
Up
CurrentNetResume
current_resume
current_long_resume
current_skills
CoverLetters
academic_resume

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: January 29, 2003)

 

 

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 XP, 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) and Windows XP, 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

 

 

A FACILITY THAT USES INTERNET SOCKETS TO MONITOR AND CONTROL SOFTWARE PIRACY.

Programmer, for Software Structures, Inc. Houston, Texas.  January 2003.

Keywords: ASP.NET, ADO.NET, CSharp (C#), C++, Microsoft Visual Studio .NET, Visual C++ 6.0, MFC (Microsoft Foundation Classes), Windows Sockets (Winsock), .NET Socket classes: Socket, TcpListener, TcpClient.

 

 

MSN-CHAT WHISPER ADVERTISEMENTS BLOCKER: AN ONLINE PRODUCT OF WWW.FEWDOLLARSOFTWARE.COM.

Programmer, for Software Structures, Inc. Houston, Texas.

September, December 2002.

Keywords: C++, Visual C++ 6.0, COM (Component Object Model), ATL (ActiveX Template Library), MFC (Microsoft Foundation Classes), ASP.NET, ADO.NET, CSharp (C#), Paypal Instant Payment Notification (IPN), Visual SourceSafe, Windows XP / 2000 / NT.

 

 

PIANO PLAYER TEACHER: A MIDI DRIVEN PIANO INSTRUCTION SOFTWARE FACILITY.

Programmer, for Info-Tek Associates, Inc. Costa Mesa, California.

October - November 2002.

Keywords: C++, Visual C++ 6.0, MIDI (Musical Instrument Digital Interface) Sequencing and MIDI File I/O, COM (Component Object Model), ATL (ActiveX Template Library), MFC (Microsoft Foundation Classes), MFC Document-View Architecture, Visual SourceSafe, Windows 2000 Professional.


 

SOFTWARE DEVELOPMENT AND PROJECTS  (continued)

 

 

TABLETOUCH: A HTTP-BASED DATA TABLE VIEWER AND EDITOR.  AN ONLINE PRODUCT OF WWW.FEWDOLLARSOFTWARE.COM.

Programmer, for Software Structures, Inc. Houston, Texas.  June - July 2002.

Keywords: ASP.NET, ADO.NET, CSharp (C#), JavaScript, Microsoft Visual Studio .NET, ODBC .NET Data Provider, Paypal Instant Payment Notification (IPN).

 

 

AN E-COMMERCE WEB SITE (WWW.FEWDOLLARSOFTWARE.COM) THAT USES WWW.PAYPAL.COM FOR INTERNET ONLINE PAYMENTS

Programmer, 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

Programmer, 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.

Programmer, 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.

 

 

TONAL MUSIC WRITER - THE TONAL GRID. A MIDI SEQUENCER AND SOFTWARE TOOLS TO WRITE AND ANALYZE MUSIC BY THE RULES OF TONAL MUSIC COMPOSITION. 

Programmer, 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.


 

SOFTWARE DEVELOPMENT AND PROJECTS  (continued)

 

 

A FACILITY THAT GENERATES POCKET PC DATA ENTRY SCREENS FOR ANY SQL SERVER 2000 TABLE. SQL SERVER CE - SQL SERVER 2000 MERGE REPLICATION. 

Programmer, 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.

Programmer, 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.

 

 

A VISUAL BASIC ACTIVEX CONTROL AND SUPPORTING OUT-OF-PROCESS ATL OBJECTS WHICH

SERVE ADO RECORDSETS ASYNCHRONOUSLY USING MSMQ UNDER MTS TRANSACTIONS

Programmer, 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)

Senior Software Architect and Programmer, 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.


 

SOFTWARE DEVELOPMENT AND PROJECTS  (continued)

 

 

A C++ CLASS LIBRARY FOR DEVELOPMENT OF WINDOWS NT 4.0/3.51 KERNEL-MODE DEVICE DRIVERS AND A KERNEL-MODE TRACING DEBUGGER

Programmer, 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

Programmer, 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

Programmer, 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

Programmer, 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

Lead Programmer and Designer, 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 .

 

 

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.

Programmer, 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.

Programmer, for Software Structures, Inc.  March - February 1993; November 1993 – February 1994.

Keywords: C++ / C Language (TSR’d : Terminate-Stay-Resident), 80x86 Assembler.


 

SOFTWARE DEVELOPMENT AND PROJECTS  (continued)

 

 

A C++ MACRO FACILITY WHICH AUTOMATICALLY GENERATES CODE FOR DEBUG-TRACING OF C++ CLASS, DATA AND FUNCTION MEMBERS.

Programmer, 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.

Programmer, 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.

Programmer, 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.

Programmer, 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.

Programmer, 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.

Programmer, for Exxon Production Research Company.  August 1990 - September 1990.

Keywords: C Language.

 

 

A LIBRARY OF C FUNCTIONS WHICH IMPLEMENT LOTUS-123 STYLE MENU TREES FOR DOS,

TSR (TERMINATE-STAY-RESIDENT) ENABLED.

Programmer, for Software Structures, Inc.  January 1990 - February 1990 and intermittent through March 1993.

Keywords: C Language.

 

 

A CONSTRUCTION COMPANY JOB MANAGEMENT SYSTEM

Programmer, for Debmar Construction Company.  November 1988 - January 1990 and intermittent through January 1991.

Keywords: dBASE III PLUS, C Language, 8086 Assembler.


 

SOFTWARE DEVELOPMENT AND PROJECTS  (continued)

 

 

A WIZARD TO AUTOMATE THE CODING OF INVENTORY CONTROL SYSTEMS

Programmer, 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

Programmer, for Gulf Publishing Company.  November 1987 - September 1988.

Keywords: dBASE III PLUS, C Language, 8086 Assembler.

 

 

A RASTER/VECTOR CAD SYSTEM (INITIAL PHASE)

Programmer, 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

Programmer, 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

Programmer, 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

Programmer, 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

Programmer, for Software Structures, Inc.  June 1985 - August 1985.  (Unfinished.)

Keywords: C Language.

 

 

A MULTIVARIATE OPTIMIZING PROGRAM

Programmer, 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.


 

TRAINING / TEACHING EXPERIENCE  (continued)

 

 

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: January 29, 2003