Contract Software Design and Programming
- Design and Implementation of Complex Distributed Systems.
- Unix Programming in C and Perl.
- Secure Web Authentication Systems.
- SQL Databases.
- Java and J2EE Server Applications.
- Templating Systems.
- Custom Internet Client and Server Software.
- Computer Conferencing Systems and other Communications Tools.
- Custom Unix System Administration Tools.
- Unix Software Portability.
- Customization of Third-Party Software.
- Pickup of Partially Completed Projects.
- Artificial Intelligence Systems.
- Writing Technical Documentation.
- Technical Team Leadership.
And most of all, not forgetting what the business is about:
listening to the customer, finding sensible solutions that fit their needs
and budget, looking for ways to make things better,
communicating what I am doing and why I am doing it,
and getting the job done well and quickly.
I have a Ph.D. in Computer Engineers, and have been programming for almost
years, for fun and profit, working in a wide variety of languages and
environments and a wide variety of applications areas. I have the
depth of experience to handle most any kind of programming task.
- Professional Graphics Design.
- Professional Copy Writing.
- Permanent, Full-time Employment.
- Porn Sites.
I often work independently, but am also associated with a couple
larger web development companies.
The Factotem Constellation is an
affliation of freelance developers.
Working with this organization,
I can assemble complete, top quality,
multinational development teams, including
professional project managers, graphics designers, technical writers,
and even Windows programmers.
Significant Software Projects
- Politaire - 2013-present -
that plays any of hundreds of different solitaire environments. This was
an experiment in building a dynamic site that runs entirely on the client
side, loading only static files from the server. The site is far more complex
than it at first appears. It dynamnically reformats to screen size, and all
game rules can be modified by the player so that all 500+ games are really the
same game with different settings. Documentation is automatically
generated from current rules settings, so new manual pages do not need to be
written for new games. As a
I built fast solvers for various solitaire games, to generate statistics on
the solvability of games and study the impact of shuffling styles on game
- EMPA Data Collection and Report Generation - 2005-present -
Developed database-based system for collecting results from large
on-line surveys and reporting results. Includes web-based query
etc. This is a Factotem Project.
- ANX Tunnelz - 2003-2004 -
Working for Logic Solutions on
supporting and enhancing a tool to manage a virtual private network
for the auto industry. Project involved Java in a J2EE server environment,
JSP, Perl, and various open source packages including
JBoss, Big Brother, Cricket, NetSNMP, MySQL and RDDTool.
- Web Paint-by-Number - 2002-present -
A just-for-fun website that allows users
with some fairly ordinary Perl and MySQL code generating it. Heavy use
of AJAX techniques. Includes discussion forums, a simple chat function,
and a sophisticated AI puzzle
solver written in C.
SVG rendering is an option.
- MaintenanceLogs.com - 2002-2003 -
originally implemented by another programmer, who left the job when it
was partially complete. I finished the job, making substantial
improvements to the design and security. Have done lots of fancy
- Horizon Telemetry - 2002-2003 -
A derivative of the Eberwhite software system (described below) targetted
toward remotely collecting usage and fault data from leased fork lift
- RISEE - 2000-2003 -
A database of environmental educational resources and events.
Heavily templated system provides different look-and-feel interfaces
for several dozen different organizations including the
for Environmental Education,
for Environmental Education,
Allows calendar events to be shared between organizations, and provides
a rich set of administrative tools at all levels.
- EMPA Surveys - 2001 -
Developed a set of CGI scripts that were integrated with a front end
written in Flash by Mark Lebay to collect results from
This is a Factotem Project.
Occasionally Mark and I create new versions for different surveys,
so this has been a low-level ungoing project through 2005.
- Eberwhite - 2000-2001 -
Implemented a system for collecting, storing, and reporting data on
levels of various chemicals in remote storage tanks.
- Designed and implemented network interface to
Cellemetry cellular data
network, with custom protocol, for programming and data retrieval
from remote units. This work lead to a patent.
- Implemented templated web site with authentication and
real-time data graph generation on top of an Oracle database.
- Booktalk - 2000-2001 -
Booktalk is a
kid-friendly conferencing system developed on top of my
conferencing system. It was developed for the Canton Public
Library for use by students and teachers of the Canton Public schools.
- I-Gift - 1999 -
Lead engineer with Factotem
designing a fulfillment system for a
custom gift certificate printing operation.
- Designed a flexible, rapidly-scalable fulfillment operation based
on distributed printing cells assigned jobs by a central fulfillment
- Developed http protocols for communication between fulfillment
server and web store, and between Java-driven
cells and fulfillment server.
- Implemented fulfillment server in Perl on top of a Sybase database
including polling web store as http client, job scheduling for
cells, and advanced system administration and monitoring screens.
- Implemented interfaces to UPS on-line
tools for rate computation and shipping manifest generation.
- SimpleRate - 1998 -
Programmer with Factotem for a site reselling long distance
services on-line. (Now defunct.)
- Developed a sophisticated Perl templating system allowing affinity
groups to rebrand and customize the look of the site.
- Tools to import rate tables and suggest most appropriate service to
- Customer E-mail address confirmation using procmail.
- Various http client interfaces to pass orders to long distance
- Document editing system to allow copy writers to put information on
site without writing HTML.
- Session-based authentication system.
- Ford Virtual Tool Set - 1997 -
Programmer for Logic Solutions
on a project to do sheet metal stamping simulation in a web
environment for Ford Motor Company. My responsibility was developing
software to distribute simulation jobs (which could run for days) from
the central server to execution machines, and to retrieve final and
intermediate data for viewing on the web. Communications protocols
were based on E-mail and ftp. Database was initially WAIS (bad idea)
and later Oracle.
- Backtalk - 1996-2007 -
an excessively sophisticated free web conferencing package written in C.
Generates web pages using on a PostScript-like script interpreter.
- Mod_auth_extern and Pwauth - 1996-present -
Mod_auth_extern is a freeware Apache module for authentication originally
written by Nathan Neulinger modified and supported by me. Pwauth is
a program I developed that, with mod_auth_extern, allows secure web
authentication from a Unix shadow password database or any PAM server.
- Grex Administration Tools - 1995-2007 -
Grex is a non-profit, public access
computer conferencing system with 25,000 users on a Sun 4/670 that
I do volunteer work for.
Software developed for use there consists
mainly of tools to help a small volunteer staff to administer a system
where over 200 new accounts are created every day.
I've also developed web interfaces for resetting Unix shadow passwords
for other public access systems.
a web-interface for instant creation of new Unix accounts.
- Robocop, a daemon that monitors the system for orphaned processes,
fork bombs, and memory bombs and agressively kills them.
- Repass, a web-based system allowing users who have
forgotten their passwords to pass certain security checks and request
that the password on the account be automatically reset to a random
value and mailed to an off-site email address.
- Reap, a program that identifies unused accounts and schedules them
- Zapuser, a program that actually deletes accounts, handling various
nasty conditions including arbitrarily deeply nested subdirectories,
race conditions with symbolic links, etc. Logs and optionally backs
up all data.
- Orville Write - 1983-2004 -
Orville Write is
a freeware reimplementation of the Unix write command with many advanced
- Party - 1985-1999 -
a freeware command-line chat system dating back to before such things were
- Artificial Intelligence Systems - 1985-1995 -
In the context of academic research, I've built a number of AI planning
systems with a strong geometrical reasoning emphasis for solving problems
in Robotics, Oil Spill Clean-Up, Computer-Aided Design, and Computer-Aided
Manufacture. Published many academic papers based on this work.
- Geometric Modelling Systems - 1983-1995 -
Lots of experience designing and implementing geometric modeling systems
and doing computational geometry. Published several academic papers
based on this work.
- Data Acquisition Libraries - 1980 -
As a programmer for Hewlett Packard, wrote data acquisition library code
for controlling various electronic instruments over an IEEE-488 interface.
Code was written in HPL for the
Software Package Experience
- Operating Systems: Most common versions of Unix, including
OS X, Linux, FreeBSD, OpenBSD, Solaris, SunOS, AIX, IRIX, Mac OS X, Mach.
- Programming Languages: Extremely experienced with C, Perl and
languages (including 370 assembler, Ada, APL, Basic, Fortran, Forth,
HPL, Lisp, Pascal, Prolog, PL/I, and Z-80 Assembler) and can pick new
ones up readily.
- Database Packages: Oracle, PostgreSQL, MySQL, Sybase, Msql.
Most Unix DB packages. WAIS. Perl, Java and C interfaces to most of
- Apache HTTP Server: configuration and custom module development.
- Miscellaneous: CVS, subversion, Gnu autoconf,
various regular expression libraries, procmail, PAM, lots more.
Jan D. Wolter
2907 Logan Ct.
Ann Arbor, MI 48108
As of May 2014:
Available only for projects with limited scope.
Personal Home Page