Developed web enabled server application in C++
to simulate interaction with the front panel of a frozen beverage dispensing
machine. The server relies upon platform independent (unix,
win32)
socket and process control routines I designed and implemented for this
project.
Wrote flexible custom search engine in php
to allow customers to readily search a company website.
Implemented fully-featured web-based pop3 email management software in
php.
Registered internet domains, set up local dns (using bind),
configured apache for secure web site
access and to support virtual hosting for a number of client web sites.
Wrote data collection and remote device control software in C
utilizing terminal I/O. The client machines periodically dial into the
FreeBSD
server (via modem) and communicate with the data collector using the binary
or ascii modbus
protocol.
Created FreeBSD-based SCSI tape and
library management switch using apache,
php,
PostGres
and C. This project relies extensively
on a number of interprocess communication mechanisms including sockets,
shared memory, fifos and semaphores.
Developed license management software (cross platform user interface created
using Qt) to control access to
to web based tape and library backup application.
Developed C++ plugin for Netscape
and Internet Explorer to enable
clients to quickly and reliably upload large data files to a central server.
Developed 100% pure JavaCGM
reading/rendering library including CGM+
seismic support.
Developed cross platform C++ software
internationalization library based upon xml
and including unicode support.
Wrote C++ cross platform, end-user application
utilizing Qt for image file viewing,
manipulation and printing/plotting. This program allows the user to view
CGM
and raster files (jpeg,
gif,
png,
tiff, etc.) and submit them
locally or to a remote server via a platform independent ftp class library
developed to support this application. The software also utilizes xml
for saving/restoring user preferences and application state.
Developed web based framework (unix,
win32)
using PHP/pdflib
for dynamic generation of custom pdf
documents. The data underlying the document creation comes from a MySQL
or MsSQL database
with odbc and jdbc
providing the connection to the back end database.
Added support for CGM*PIP
seismic extensions into existing (C/fortran)
CGM
interpreter engine (unix, win32).
Also performed extensive work upon the interpreter in order to bring it
into full ATA
compliance.
Responsible for porting a great number of existing 32-bit unix
applications to Tru64 Unix
and win32.
Substantial contributor to the design and implementation of a generalized
C
language rasterizing engine (unix,
win32).
This program reads a generic vector-based file format and creates raster
output targeted for a wide variety of printing/plotting devices. Additionally,
though the target device resolution can sometimes exceed 2000 dots per
inch, because the program uses a very sophisticated approach to handling
large files it can readily process files that exceed 100 feet in length.
Designed and implemented generalized vector file format translation tool
in C (unix,
win32).
This program can be used to convert any CGM,
DGN
or HPGL2 file to CGM,
DGN
or PostScript format.
Created commercial C programming library
to allow clients to create binary CGM
files including support for CGM+
and CGM*PIP
(unix, win32).
Wrote CGM
scanning and editing engine in C which
formed the basis of a commercial, industrial-strength CGM
viewer/editor (unix, win32).
Created Java class library wrapper around
libtiff
using JNI
to allow Java programs to directly access/manipulate
tiff
files.
Developed software security and licensing/locking libraries in C
using the blowfish
symmetric encryption algorithm (unix,
win32).
Lead Developer on a large Java development
project. This tool allows a user to select an image file (CGM,
DGN,
PostScript,
HPGL2,
gif,
tiff,
jpeg,
etc.), specify printing/plotting options and submit the file to a remote
server for processing. The interface is JFC-based
and the program makes use of JDBC
to talk to a MySQL database and Sun
RPC to initiate/configure the print request and transfer the file to the
server machine.
Wrote C software on Windows
to interface with a scantron machine (via the serial port) for scanning/scoring
Birkman
questionnaires.
Wrote fax-processing C software application
for Windows. Customers would fax
their scantron forms to a central server that would convert the fax images
to tiff then pass them off to the
user interface which would display and score the questionnaire. The program
included sophisticated functionality to allow skewed or incomplete forms
to be processed with minimal human intervention.
Developed C language PostScript
output generation routines which formed the basis of a suite of applications
whose purpose was to generate custom, high-quality reports from respondents'
Birkman
questionnaires.
Created C language end-user Windows
application for retrieving Birkman
results from a central server (by modem) and allowing the user to select
from and print any of approximately 25 custom-generated reports.
Open Source Development, projects include:
Developed Java class library for rapid
application dialog layout. The library achieves its flexibility via a custom
scripting language (created using JavaCC)
that is used to describe the geometry of the dialog components. This software
has been utilized in a number of commercial development projects and is
included on the CD delivered with Peter Van Der Linden's best selling book:
Just
Java. Documentation and source code are available here: http://jfd.cc/jfd/java/ale/ale.html.
Wrote a C++ class library (analagous
to the Java library above) to facilitate dialog layout for the cross platform
user interface toolkit Qt. This
library also uses a custom scripting language which was created using flex
and bison.
This package has been featured in the developer's resources section on
the Troll Tech (makers of Qt)
homepage. Documentation and source code are available here: http://jfd.cc/c++/qale.html.
Created pure Java implementation of
the unix password encryption algorithm. This software has been incorporated
into several encryption and security toolkits (commercial and otherwise).
Documentation and source code are available here: http://jfd.cc/crypt.html.
Developed C++ fractal generation program
with cross platform user interface using the Qt
toolkit. A custom fractal scripting language (created using flex
and bison)
is used to define the formula from which the image is generated. Documentation
and source code are available here: http://jfd.cc/fractal/index.html.
Wrote multithreaded Java port redirector
software (primarily useful for internet protocol analysis). Documentation
and source code are available here: http://jfd.cc/java/tcp/tcp.html.
Created mathematical formula visualization package in Java
that allows a user to plot, view and rotate an arbitrary multi-variable
mathematical formula in real time. The user interface was built using the
Java
Foundation Classes (JFC),
JavaCC
was used to create the formula parser. Documentation and source code are
available here: http://jfd.cc/java/exp/exp.html.