Software Projects
The most up-to-date copy of this can be found at http://www.ultranet.com/~kujawa/softres.html.
My full resume can be had at http://www.ultranet.com/~kujawa/resume.html.

Professional Projects

Keyagent filewatcher
Platform: C++/Linux/Win32

Wrote a file watchdog program for Akamai's keyagent software. Program randomly polls a file on disk, comparing it against a securely cached copy, and replaces it if the file becomes corrupted. The program was written on Linux and immediately ported to Win32, for deployment on both platforms.

LoadKDC
Platform: C++/Python/Linux

An automated loader in support of the KDC program. Loads the KDC's databases with keys, checksums, and access control lists.

KDC
Platform: C++/Linux

A key distribution center written for Akamai’s ESSL network. Also wrote transport layers for the rest of the ESSL key management infrastructure, including the security audit server, and the key agent.

Normandy
Platform: C++/Linux

A secure, authenticated, light-weight web server with a modular plug-in architecture, used for monitoring a network of 10,000 machines worldwide. It includes a two-tier authentication structure and fine-grained access control. Written for Akamai.

DTools
Platform: C++/Linux/Win32

A cross-platform class library for general and network programming. Completely thread-safe. Has thread-safe strings, a regular expression class similar to Python's, and various classes for high-level network programming. The foundation of Dominion, Normandy, KDC, and several other projects.

Dominion
Platform: C++/Linux/GTK+

A web server health monitoring facility written for the Akamai Network Operations Center. GUI-configurable, it ran GETs on multiple web servers, graphing the results in real-time.

Iconomy Data Abstractor
Platform: Java/Solaris/Oracle

A data translation layer between Oracle/JDBC and Iconomy’s JSP-based store solution.

ck_CompCare for Windows
Platform: Win32/Delphi
Port of ck_CompCare to Win32 environment. Written in Delphi, this project was to be a complete rewrite of CK Software's ck_CompCare application, a clinic management program. I designed the overall user interface, wrote many of the UI components from scratch, and also wrote much of the code to interface with the existing Clipper-based databases. Every effort was made to maintain backwards-compatibility, and the port was moving along nicely before the project was canceled due to lack of funding.

CK Web Glue
Platform: Win32/Delphi
A web interface for CK Software's DOS-based solutions. Webglue is a small utility that allows CK Software's DOS-based clinic management solutions to talk to Freemail's RFDK web forms tool. It is basically a daemon that sits on a spool directory, waiting for files to be written. When a file appears, Webglue parses it, and then contacts a web server which has the RFDK server utilities running on it. Webglue initiates a dialog with the server, uploading the data if possible, or launching a web browser for user interaction if there was a problem with the transaction.

Promo Internal Book Inventory Database
Platform: Java/Unix/SQL
This was a custom application written for an architect who had a lot of books. The front-end was written in Java, to be as portable as possible. The back-end was an SQL database running on a Linux server.

USC Application for Admission Processing Tool
Platform: Win16/C++
Application processing tool. The University of Southern California has for several years accepted applications for admission on floppy disk. When I got there, there was an existing application that read the data, parsed it, and uploaded it to a mainframe for further processing. The existing program was written in Visual Basic. I rewrote it in C++, speeding it up by a factor of 20, making it more reliable and more easily changeable, as the data format changed every year.

PolyPhase/ChemPhase/Stress
Platform: DOS/C++
Data acquisition programs. A series of programs which interfaced with a custom data acquisition using a C++ library which I developed for Montana Tech of the University of Montana. All three used a Borland Turbo Vision interface to set parameters, then switched to a graphical mode for display. Data could be collected and dumped as comma-delimited text for import to a spreadsheet. PolyPhase was the general purpose and demonstration version. ChemPhase was modified for the Chemistry department. Stress was extensively modified for monitoring a materials testing system for the Mining Geology department.

Private/Free Projects

Biodistance
Platform: Java/MacOS

“A program to calculate the mean measure of divergence between two populations for any number of frequency-based variables. The Freeman-Tukey Transformation is used to control for small sample sizes” -- original BASIC text
I completely rewrote this program, which was originally a text-based BASIC program, to be a full GUI-based Java application. I corrected several errors in the original program, and considerably extended the functionality.

Eschwa/Atrium BBS
Platform: Solaris/C/C++

Programmer for the eschwa BBS (telnet://bbs.eschwa.com). My major contribution has involved securing the BBS client-server protocol using SSL. I have also implemented numerous bug and security fixes. The codebase is Dave’s Own Citadel, originally developed for ISCABBS (telnet://bbs.isca.uiowa.edu).
CPUMon
Platform: Linux/C++
CPU usage meter. This is a CPU usage meter for Linux. It runs under the X window system, and, unlike xload, reports the immediate percent usage rather than load average. The program is currently being rewritten to be portable to multiple Unix platforms, and will be merged with MemMon, below, to make a general-purpose lightweight status program.

MemMon
Platform: Linux/C++
Memory usage meter. A memory meter for Linux, which runs under the X window system. It displays two graphs, one for swap and one for real memory, and is configurable as to what colors it uses, and how frequently to update.

AudioMon
Platform: Linux/C++/Motif
Sound monitor. This is basically an oscilloscope for the sound card. I wrote it to teach myself how to use Motif. It graphs left and right level verses time.

PinePGP
Platform: Unix/shell/Pine
PGP interface for Pine. A set of shell scripts and configuration files I wrote to interface the Pine email program with the Pretty Good Privacy encryption program. I abandoned this project when I stopped using Pine, but I still make it available for others.