Howard Swope
Software and systems engineering is a service job. It’s about understanding the needs of the principles and the domain and providing technology services that meet those needs.
More than that it is about enlightening those principles and that domain on technological possibilities to feed into their creative process. This in turn helps said principles create new and exciting things,
which in turn they have engineers build (one of my favorite parts of the process). When one understands the needs of the principles and domain and creates technology systems to represent those needs,
the systems almost build themselves. It is almost as if the need brings the resultant solution to life. My part in this creation is the gratification I get from my craft. But also, as an engineer, I remind myself
to appreciate the rich interpersonal interactions that result from this process, which are ultimately the most important aspect.
Applications are listed in chronological order and are referenced in the experience
section under the organizations for which they were created.
NAVTEQ - CommuteVantage Traffic Reporting Software - C++, C++ / CLI, C#, XML, XSD,
XSLT, COM, ATL, DirectX, DirectShow, Gamebryo, WinForms, .Net Custom Serialization,
ADO.Net, TELNET, HTTP
CommuteVantage is an application for creating traffic reports primarily for the
television industry. It is employed by TV stations in most major metropolitan areas
in the United States. Live traffic data is consumed as XML and exposed to the application
through ADO.Net. A WinForms UI written in C# provides a designtime to the traffic
producer to create a traffic report. The traffic report is displayed through a presentation
/ animation layer written in C++ / CLI utilizing Gamebryo gaming middleware and
DirectX. On air presentation is in a full screen DirectX window. A video subsystem
brings in live traffic video as frames into the 3D rendering pipeline via DirectShow
with a custom Allocator / Presenter written in C++ with ATL. The application implements
full undo / redo through a comprehensive command pattern. It also has document serialization
implemented through custom .Net serialization. Documents are fully backward compatible
across versions.
Gigamoto Technology Partners - Pharmaceutical Insurance Coverage Campaign System
- SQL Server Database, Web Service, InfoPath Client, Reporting Services, ASP.Net
This system manages campaigns to gain acceptance by health insurance providers for
a given drug. The system uses SQL Server to house data, a web service written in
C# for client access to the data, and a client written as an InfoPath form. Administration
of the system is done through an administration web site created with ASP.Net. Reports
for system data are served by SQL Server Reporting Services.
Spitz Theater Server - Windows Service - C# - .Net Remoting - COM Interop - Sockets
Spitz Theater Server is a windows service, written in C#, that provides planetarium
and theater device control to various control devices. It has interfaces into system
services through .Net Remoting, DCOM, and Sockets.
SpitzPlayer - C# - .Net - .Net Remoting - Windows Forms - COM Interop - C++ - ATL
- COM - DirectShow - Direct 3D - Sockets
SpitzPlayer is a two part application. The server piece exposes services for playing
any type of media for which there is a codec installed. It also provides control
over sound devices on the local machine as well as control of a third party astronomical
program through sockets. The full screen video window will fade in and out of other
software that might be in the foreground to provide a seamless viewing experience.
The server piece is written in C++ with the ATL and uses DCOM as its primary interface
into the application. DirectShow using VMR9 with a custom allocator - presenter
is used for video playback.
The client piece was written in C# with windows forms and uses COM Interop to talk
to the server out of process or remotely. It provides access to all functionality
of the server and manages a play list of media. All settings are stored through
.Net binary serialization. The client uses .Net Remoting to talk to instances of
itself to handle external launching of media to the play list.
Spitz Nomaditor (Nomad Editor) - C# - .Net - .Net Remoting - Windows Forms - COM
Interop - .Net Design Time Environment
Nomaditor is an application for programming the Nomad Portable Control Console.
Nomaditor provides a graphical interface for creating Nomad documents. The application
is written in C# and uses COM interop to talk to Nomad. There application is comprised
of four modules, an .exe to coordinate application functionality, a data .dll which
houses the application's data object tree, an interface .dll which houses the application
interface object tree, and a controls .dll which houses controls designed for Nomaditor's
extensible controls architecture hosted in the .Net design time environment. The
.Net collections based object trees of each module are exposed through .Net binary
remoting.
Spitz Nomad Portable Control Console - Assembly Language - C - C++ - ATL - COM -
ActiveX - XML - WIndows CE Platform Builder
The Nomad portable control console is a Windows CE 4 based, embedded, real-time
device consisting of a series of tactile controls as well as a touch screen for
the display of virtual controls. The tactile and virtual controls can be user mapped
to control any device in a Spitz Theater. Together, an electrical engineer and I
designed and built Nomad.
The software system consists of three major parts, the operating system, the driver,
and the application. The operating system is a custom build of Windows CE 4 which
was built with Platform Builder. Along with creating the build, OS kernel modifications
were made to support interrupt processing of custom hardware. Kernel level code
was written in C and Assembly Language.
The driver is a windows CE stream device driver that contains a control loop for
all custom hardware, including custom motor control and A to D filtering algorithms,
as well as an interface into the hardware for software applications. The driver
was written in C++ and Assembly. The driver controls the following tactile controls:
- Motorized Faders
- Pushbutton Encoder Knobs
- 16 Button Array of Lcd Pushbutton with 24x36 pixel readout and 12 backlight variations
- 2 Axis Joystick with pushbutton
The application was written C++ utilizing ATL, DCOM, ActiveX controls, and uses
an XML based document type. The application facilitates the layout of software controls
and the mapping of the sofware and hardware controls to the hardware devices that
Nomad controls.
Spitz InterAct (Presentation Node) - C++ - ATL - COM - ActiveX - MS Office Add-in
- HTML Help
The InterAct system consists of a planetarium or theater populated with chairs with
attached user interaction buttons. Users press buttons on their chairs in response
to activities taking place in the theater. The presentation node allows show designers
to create interactive PowerPoint presentations that read and display audience input
in real time. The application consists of an Add-in for Microsoft PowerPoint that
was written in C++ and ATL implementing the IDTExtensibility2 interface and syncing
with the PowerPoint events. The add-in provides a custom menu in PowerPoint that
is the central point for application organization. A suite of ActiveX controls,
also written in C++ and ATL allow presentation designers to display audience input
in their presentations. Worker threads in the ActiveX controls are spawned to poll
user input chairs and then display their results on the active PowerPoint slide.
The application has context sensitive help written in HTML help.
Spitz Intranet and Extranet - C# - ASP.Net - XHTML - ADO.Net - SQL
The Intranet is a web site application that provides internal resources to employees.
The Extranet is an external site for collaboration with company partners. The sites
were written XHTML compliant. Style sheets were used to maintain a common look and
feel. ASP.Net and C# were used to generate XHML dynamically to form the sites' uniform
navigation system. ADO.Net was used to communicate back to SQL Server databases.
BBandT Web Banking Product – Windows DNA / FS – MIFST – OFX – SQL/ODBC/ADO – HTML/ASP
– VBScript / JavaScript – C++ / Java / Visual Basic – DCOM.
A web based product that provides services for Internet banking. The system uses
the Microsoft Financial System Toolkit, OFX financial specification, and our DCOM
based encapsulation of said technologies to provide for web based online banking.
The application is a browser independent application using some small Java applets
when standard HTML would not suffice. On the server side IIS along with ASP and
custom active server components provide for communication with OFX middle-ware partner
Intellidata as well as HTML rendering. Server side scripting was done in VBScript
and client side scripting was done in JavaScript. Active Server components were
written in C++ and Visual Basic.
ActiumX Project Profile - DHTML/ASP - VBScript / JScript - SQL/ODBC/RDS/ADO – C/C++/ODS
API/MAPI
A web based system serving data from Microsoft SQL Server. A combination of SQL,
OBDC, ADO, and RDS are used for data access. Active Server Pages (ASP), Dynamic
HTML, and ActiveX are used to create the interface with a combination of VBScript
and JScript. The system provides entry and viewing of past and ongoing projects
in a case study format. For importing pertinent data that’s primary location is
Microsoft Exchange, I wrote a SQL Server extended stored procedure with the ODS
API that utilizes MAPI to query all given information from the Exchange global address
list.
PNC Bank - Internet Server Log Filter - C/ Win32/ISAPI
An Internet Server API Filter Application which handles the logging features of
Microsoft Internet Server. The application extends existing logging by adding user
agent, referrer, and cookie information to the log file. The filter is written in
C using the Win32 and Internet Server API's.
Tokai Financial Services Application Inquiry Web System - HTML/ASP - VBScript/JScript
- SQL/ODBC/ADO
A web based system serving data from an IBM AS/400. A combination of SQL, ODBC,
and ADO are used for data access. Active Server Pages (ASP) are used to create the
interface with VBScript on the server side and JScript on the client side.
PECO / NRCG Web System - HTML/ASP - VBScript/JScript - SQL/ODBC/ADO – C/C++ - Win32/MFC
A web based system that does project, material, and inventory management. The system
uses a web-based interface accessing a SQL database. Active Server Pages (ASP) are
used for user interaction with VBScript on the server side and JScript on the client
side. A C/C++ program using WIN32, MFC, and ODBC migrates data from a DB2 mainframe
to the web based system.
HPOrders - C/C++ - Win32 / MFC - ISAPI
An Internet Server Extension application, HPOrders (heart product orders) takes
order information from a web page, tallies the information and returns a confirmation
request page. Upon confirmation, HPOrders emails the appropriate distributors with
the pertinent order information.
WebTools - C/C++ - Win32 / MFC
A Win32 / MFC application which institutes three tools for web site management,
Index Site creates an HTML file containing a tree of hyperlinks to all pages and
images in a given site. Fix Local Links fixes all broken hyperlinks in a given path
and outputs a text file listing links that couldn't be resolved. Change Reference
changes all references to a given link to another given link within a given path.
DBTools - C/C++ - Win32 / MFC
A Win32 / MFC application which checks the validity of an NDX file (dBaseIII index
file). DBTools validates the NDX header information and does a byte by byte comparison
against a control index created by dBaseIII. All output is sent to a CEditView based
class called CReport that provides a public, text stream member for use in the various
testing routines. All test routine dialogs use a CProgress control to indicate a
test's progress.
The Shaggy Dog - C/C++ - UNIX CGI
A CGI application written for the UNIX environment, the application uses an HTML
form to provide a forum for threaded dialog on a given subject. Shaggy Dog is ANSI
C compliant for portability.
Method and System for Adding Gadgets to a Traffic Report
- U.S. Patent Application Serial No. 12/399,763 - Filed 3/9/2009
Method and System for Transitioning Between Views in a Traffic Report
- U.S. Patent Application Serial No. 12/398,305 - Filed 3/5/2009
- European Patent 10250276.2 - 1232 - Filed 5/10/2010
Traffic Display Depicting View of Traffic from within a Vehicle
- U.S. Patent Application Serial No. 12/254,212 - Filed 10/20/2008
- European Patent 09252236.6 - 2215 - Filed 9/21/2009
Method and System for Providing a Realistic Environment for a Traffic Report
- U.S. Patent Application Serial No. 12/210,336 - Filed 9/15/2008
- European Patent 09252093.1 - 2215 - Filed 8/28/2009
1996 Windows NT 4 Workstation Unleashed
Sams Publishing
Contributing Author
1996 cc:Mail Insider The
Cobb Group
Contributing Author
October 2011 - Present Radiate Media Malvern, PA
Director, Broadcast Engineering
- Collaborated on software and technical infrastructure spinoff from NAVTEQ to
form Radiate Media
-
Collaborated on design and implementation of company technology infrastructure,
enterprise architecture and production services architecture
-
Collaborated on broadcast software architecture
- Directed management team of 2 and development team of 3
July 2006 - October 2011 Navteq
Malvern, PA
Manager of Engineering, Traffic Media Division
Navteq purchased Traffic.com November 2006
Promoted to Lead Engineer from Senior Software Engineer March 2008
Promoted to Manager of Engineer from Lead Engineer April 2011
- Architected and collaborated on CommuteVantage animated traffic reporting system
-
Collaborated on Jamcast animated traffic reporting system
- Collaborated on Nexgen
animated traffic reporting system
- Managed Broadcast Media - Team of 12
November 2005 - July 2006 Gigamoto Technology Partners, Inc.
Conshohocken, PA
Software Engineer
- Collaborated on the SQL Server database for pharmaceutical insurance coverage campaign
system
- Collaborated on Web Service for data access for pharmaceutical insurance
coverage campaign system
- Collaborated on MS InfoPath Web Service client for
pharmaceutical insurance coverage campaign system
- Wrote Reporting Service reports
for pharmaceutical insurance coverage campaign system
- Wrote stored procedures
and Reporting Service reports for iPledge system.
- Performed maintenance and
updates of ASP.Net applications
- Designed and implemented a Windows 2003 server
network consisting of a forest root, two domain trees, a child domain, ISA Server
2004, PIX firewall, Exchange Server 2003, SQL Server 2005, SharePoint Portal Server
2003, and performed the migration from the former network.
February 1999 - August 2005 Spitz, Inc. Chadds
Ford, PA
Software Engineer and Network Administrator
- Collaborated on building and administering the Windows NT / 2000 network consisting
of NT / 2000 Server, Proxy Server, Exchange Server, SQL Server, Oracle, Veritas
Backup Exec, and Network Associates Total Virus Solution.
- Collaborated on the upgrade to the network to Windows 2003 Server, ISA Server, Exchange
2003
- Wrote Company Intranet and Extranet
- Wrote various support applications
- Wrote Presentation Node of the Spitz InterAct System
- Wrote Nomad Portable Control Console
- Wrote Nomaditor Editor for Nomad Console
- Wrote SpitzPlayer
- Wrote TheaterServer
- Managed Network Operatons - Team of 2
August 1998 – November 1998 CoreTech Consulting Group
King of Prussia, PA
Senior Consultant / Developer for the Application Technologies Group
- Consulting duties
- Year 2000 Fixes for Citibank Corporation, NY, NY
- For BBandT I was the senior developer for their web banking program based on CoreTech’s
CoreDirect Product. Technologies employed were SQL, OFX, ADO, ASP, HTML, Java Script,
VB Script, C / C++, Visual Basic, Java, MIFST, DCOM, Windows DNA – FS.
February 1997 – June 1998 Actium Technologies
Conshohocken, PA
Senior Consultant / Developer for the Internet Team
- Consulting duties.
- Edited Microsoft Developer Journal
- Administered Microsoft Certified Solution Developers' Book Club
- For Actium Corporate wrote Project Profile software for the company's Intranet.
The system uses SQL, ODBC, ADO, RDS, ASP, Dynamic HTML, Active X, VBScript, JScript,
C/C++, ODS API, and MAPI.
- For PNC Bank wrote Internet Server Log Filter. This ISAPI DLL extended existing
Internet Server logging by including user agent, referrer, and cookie information
to the log files. The application was written in C using the Win32 and Internet
Server API's.
- For Tokai Financial Services, Inc. wrote Application Inquiry web system. The system
uses ODBC, SQL, HTML, ASP, VBScript, and Java Script. In order to facilitate data
access to the IBM AS/400. I became intimate with Microsoft SNA Server and general
AS/400 connectivity issues.
- For Tokai Financial Services, Inc. I co-authored a document outlining an applications
architecture for distributed component based applications specific to the existing
Tokai infrastructure. The document centered on my research into distributed computing,
DCOM, fault tolerance, load distribution, and transaction management.
- For PECO Energy - wrote PECO / NRCG Web based, project and material management system
using C/C++, MFC, WIN32, ODBC, HTML, ASP, VBScript, and Java Script.
March 1995 – January 1999 The WellnessWeb
Villanova, PA
CIO and Programmer
- Advise in all technical areas.
- Write CGI and C/C++, MFC, ISAPI, and web based applications.
- Built network domain utilizing NT Server, IIS, Exchange Server, SQL Server, Internet
Locator Server, Usage Analyst Server, Index Server, and Commerce Server.
August 1996 – December 1996 Component Software
Rocky Hill, NJ
Software Engineer
- Wrote Win32 / MFC applications.
- Laid the groundwork for bringing Internet connectivity in-house.
- Wrote technical articles for Component managed Cobb Group Journals.
- Performed web and phone based technical support duties.
- Wired new offices for phone and network.
September 1994 - October 1994 Professional Training Services
King of Prussia, PA
Consultant
- Performed technical support, via phone, for PTS clientele.
November 1993 - June 1994 The Partnership Group, Inc.
Lansdale, PA
Network Operations Coordinator
- Administered Novel NetWare LAN.
- Maintained and upgraded the hardware and software of the 100+ PC network.
- Performed in-house help desk and training duties.
August 1993 - October 1993 Elf Atochem.
King of Prussia, PA
Consultant
- Inventoried, backed up, and upgraded the workstations at the King of Prussia site.
December 1990 - March 1993 Specialized Training Program
Eugene, OR
User Support Specialist
- Wrote DOS applications in PASCAL.
- Maintained and upgraded 100+ PC network.
- Acted on the committee for new equipment purchases.
- Gave continued training seminars on DOS, Windows, and assorted applications.
- Performed in-house help desk duties.
- Designed and implemented the company BBS.
March 1989 - July 1989 US Healthcare
Blue Bell, PA
Network Technician
- Maintained and upgraded 1000+ terminal network attached to IBM mainframe.
- Ran, connected, and repaired network cabling (twisted pair, coax, twinax).
- Repaired and replaced defective equipment
Operating
Environments
|
Development
Technologies
|
Development
Tools
|
Server
Technologies
|
|
Primary:
Windows 7
Windows 2003 Server
Secondary:
Windows 2000 Server
Windows 2000 Professional
NT Server
NT Workstation
Windows CE
Windows ME
Windows 98
Windows 95
QNX
WFW
Windows 3.1
DOS
Novel NetWare
Banyan Vines
UNIX
VMS
AS400
Mac OS
Max OSX
|
C / C++
C++/CLI
C#
x86 Assembly
Agile / SCRUM
UML
RUP
Win32
.Net
MFC
ATL
SQL
Java
ASP
ASP.Net
VBScript
JavaScript
HTML
DHTML
XHTML
HTML Help
Windows Help
Windows Installer
PASCAL
Visual Basic
Lingo
|
Visual C++
Visual C#
Platform Builder
Bounds Checker
Visio
Rational Rose
Visual Interdev
Visual J++
Visual Basic
Visual Source Safe
Installshield
Subversion
RoboHelp
MS Project
NUnit
XML Spy
UModel
Jira
GreenHopper
|
MS Sharepoint
MS ISA Server
MS IIS
MS Index Server
MS SQL Server
MS Exchange Server
MS Proxy Server
MS Site Server
Sybase SQL Server
MS SNA Server
Oracle
CISCO PIX
Administrative Tools:
NA Total Virus Solution
Veritas BackupExec
|
June 2008 - Present, Villanova University, Villanova, PA
- Focus in Computer Science and Mathematics
January 2011, NAVTEQ, Malvern, PA
- Certified Scrum Master - Scrum Alliance Member
000118438
November 2010, NAVTEQ, Malvern, PA
September 2010, NAVTEQ, Wayne, PA
November 2009, NAVTEQ, Wayne, PA
- Facilitating Successful Meetings
November 2009, NAVTEQ, Wayne, PA
- Effective Presentation Skills
May
2008, NAVTEQ, Wayne, PA
- Behavior Based Interviewing
April 2000, Pro-IV Consultants, Washington DC
- ProIV Technical Environment
January 2000, Oracle Education Center, Berwyn, PA
- Oracle Enterprise DBA Part 1A: Architecture and Administration
December 1999, Pro-IV Consultants, Washington, DC
- Pro-IV Introduction to SuperLayer
February 1997, Actium Corporation, Conshohocken, PA
- Sybase’s Fast Track to SQL Server
September 1990 - June 1992, University of Oregon, Eugene, OR
- Focus in English Literature and Music.
September 1987 - June 1988, Drew University, Madison, NJ
- Focus in Computer Science and Philosophy.
July 1988 - August 1988, Montgomery County Community College, Blue Bell, PA
- Classes in Computer Science and History.
September 1981 - June 1987, Germantown Academy, Fort Washington, PA
Available upon request.