Daniel X. Pape
dpape@dpape.com
http://www.dpape.com/
OBJECTIVE
Senior software developer
SKILLS
- Languages: Ten years of C++. Additional experience with Perl, C, Java, bash.
- Internet Technology: Multi-threaded client/server programming with ACE; HTML;
shell scripts; rdist/rsync; XML and DTD development
- Systems: Linux, Solaris, FreeBSD, Windows NT
- Databases: Interfacing to Oracle with PRO*C
- Research: familiar with neural network and machine learning
algorithms for data mining applications; text and image analysis
for search and retrieval;
- Proven ability to investigate new areas of research,
create new programs and algorithms, and improve design and
performance of older ones.
WORK EXPERIENCE
August 2000-present
Senior Software Developer, MongoNet, Inc.
I am one half of the engineering team responsible for
creating Mongonet's Fax-to-Email conversion service. This
service is comprised of ten distinct subsystems, mainly written
in C++. I was involved in all aspects of our service.
- Design
- Created initial design of multiple job servers coordinated
by central job manager servers.
- Wrote initial specs for all the services and helped define
multiple milestone goals for release.
- Researched available technologies to base our services
on.
- Designed flexible messaging interface for server
communication (XML).
- Development
- Made prototypes in perl of all separate services.
- Created generic server code on which all concrete servers
were based. This code ran on linux, Solaris and Windows NT.
- Established and became maintainer of repository for all
third party libraries our services depended on.
- Defined standard error and status logging practices for
tracking and measurement of servers.
- As concrete servers became more mature, took ownership of
image cleaning and conversion servers, optical character
recognition server, central job manager and message router,
central logging server.
- Testing
- Created generic unit testing code. Made initial unit testing
programs for most existing classes.
- Designed and implemented the automated unit testing
scripts.
- Became the company enforcer of all future unit testing.
- Wrote scripts for service and load testing of entire
system.
- Made several log parsing programs for analysis of server
correctness, performance, and concurrency.
- Distribution
- Wrote perl and rdist/rsync scripts for automatic pushing to
linux, solaris and Window NT machines.
- Created startup scripts for all services on all OSes.
- Maintenance
- Made web page for reporting current server status. All
servers could be started, stopped, installed and deleted from
this page.
March 2000 - August 2000
Senior Software Architect, Tank Hill, Inc.
- Responsible for managing a small group of five software
engineers and a UI designer.
- Involved with design and initial implementation of Tank Hill's
peer-to-peer file sharing application, Ohaha. Ohaha was meant to
be an interface to both the napster and gnutella networks.
- Researched file sharing protocols of napster and gnutella, and
began design of meta-protocol that would let our application query
and talk to both networks.
1996-2000
Research Programmer, Community Architectures for Network
Information Systems (CANIS) Laboratory.
University of
Illinois at Urbana-Champaign
- Designed and implemented a self-organizing
neural network for the categorization of collections of
text documents and image databases. Designed the
computational core of the neural network and the 3D
visualization of the network's output. The network was
parallelized to operate on an eight-node Beowulf Linux
cluster, and the OpenGL visualization runs on either a
Linux or SGI workstation.
- Conducted research on measuring the
ability of self-organizing neural networks to recover
cluster structure within a data set. Implemented one
program to generate artificial data sets, and another to
compare different clustering solutions of a data set and
measure the correspondence of the clusterings with each
other.
- Created an application
which allows the user to interactively browse through a
number of images by specifying "texture samples." The
program searches through a pre-computed thesaurus to find
images that contain textures which are related to the
specified samples.
1995-1996
Research Programmer, National Center for Supercomputing
Applications, Mosaic for X Window System team.
University
of Illinois at Urbana-Champaign
- Participated in the early development of NCSA Mosaic
for the X Window system. Most of my C programming work centered
around Motif GUI design for the application's front end, and
some cryptography work for the application's meager security
options. Gained experience developing under many UNIX
environments, as Mosaic supported nine UNIX variants.
1993-1994
Software Consultant, Equilibrium Technologies,
Inc.
- Developed graphics plug-ins for Equilibrium's flagship
program, DeBabelizer. These
plug-ins dealt with game platform (Sega and Nintendo) graphic
sprite utilities and file format handling, specifically, TIFF
v5.0, CCITT Group 3 and 4 compression standards. All work was
done remotely.
1992-1993
Research Programmer, Imaging Systems
Laboratory, SmartForest Project.
University of Illinois at
Urbana-Champaign
- Created interactive 3-D forest ecosystem
modeling environment with OpenGL. The visualization
displayed three-dimensional tree symbols scaled and colored to
represent numerous aspects and dimensions of tree stand
data. The trees could be queried directly using the mouse to
display data from the underlying database. Various dynamic
models were incorporated, such as indices of crowding,
tree-to-tree competition, and pest and fire hazards. These
models could be used to evolve the forest through time to
investigate the effects that changes in the environment would
have on the forest ecosystem.
EDUCATION
1998-2000
Master of Science, Library and Information
Science.
University of Illinois at Urbana-Champaign
1991-1997
Bachelor of Science, Computer Science.
University of
Illinois at Urbana-Champaign
PUBLICATIONS
Refereed Journals
K. Powell, C. Chang, Y. Chung, D. Pape, Q. He, L. Tyrrell,
N. Bennett, and B. Schatz (1999) The Interspace Prototype:
An Analysis Environment Based on Scalable Semantics,
Science, submitted.
Technical Reports
C. Chang, K. Powell, Y. Chung, Q. He, D. Pape, L. Tyrrell,
N. Bennett and B. Schatz (1999) The Interspace
Prototype Overview: Semantic Indexing and Retrieval in a
Persistent Environment, Technical Report
UIUCDCS-R-99-2094 (UILU-ENG-99-1715), Department of Computer
Science, University of Illinois at Urbana-Champaign.
D. Pape, (1999) Useful 3D
Virtual Environments, Videogames, and the CANIS
Interspace CANIS Tech Report 0009, Community
Architectures for Network Information Systems, University of
Illinois at Urbana-Champaign.
Refereed Conferences
D. Dubin and D. Pape (2000) Clustering
Applications and Validation: A case study with the Kohonen
SOM, Classification Society of North America 2000
Conference, Montréal, Québec. June.
D. Dubin and D. Pape (1999) Validation
Strategies for Large-Scale Clustering Applications,
Classification Society of North America 1999
Conference, Pittsburgh, PA. June.
D. Pape (1998) Visualization
and Navigation of Document Sets: Information Spaces Using a
Self-Organizing Map, 1998 Joint Annual Meeting of The
Psychometric Society and The Classification Society of North
America, Urbana, IL. June.
Other
B. Orland, D. Pape, J. Obermark (1992) SmartTrees: Forest
modeling and visualization. Imaging Systems Lab., Dept of
Landscape Architecture, Univ. of Illinois, Urbana, IL.
INVITED TALKS
D. Pape (1998) New Term Pruning Algorithms, CANIS
Brown-Bag Lunch Series, CANIS, University of Illinois.
Urbana, IL. August.
D. Pape (1997) Categorization and Visualization of
Information Spaces with a Self-Organizing Map, Seminar on
Information Retrieval in Digital Libraries: The Technologies
of Scalable Semantics, University of Illinois. Urbana,
IL. October.
PROFESSIONAL SOCIETIES
Member of:
Classification Society
of North America.
Mathematical Association of
America.
Association for Computing
Machinery.
American Society for
Information Science.