John F. Dumas Vulcan Ware

Greetings, I'm John Dumas and I've been a professional software developer since 1991 and an independent contractor since 1999.

I've done a great deal of cross platform work, primarily involving windows and unix. I'm fluent in C++, Java, Php and JavaScript and passable in many other languages. In recent years, I've done primarily web work with various database backends.

Below, you'll find my resume in html and pdf format as well as links to some of my open source efforts. They're fairly representative of my skills and give me an opportunity to somewhat repay the many nice people who made their code available to me when I first got into programming.

Resume (html)   Resume (pdf)

  • runner Cross platform c++ program for executing commands with long or complex command lines.

  • zproxy A logging http proxy server for windows.

  • zcopy A simple but powerful windows backup program.

  • n queens What are all the ways a set of queens be placed on a chess board such that none of them can capture any of the others?

  • knight traversal Starting from a given chess board location, find a path whereby a knight visits each square exactly once.

  • maze generator Generate random mazes of any desired size (PostScript output).

  • guitar scales. A cross platform (Qt) gui program that can display any scale in any key.

  • dialog design/layout engine A flex/bison based, platform independent dialog layout language for Qt.

  • player A windows console application that plays midi music based upon an input text file. The text file can be created with any text editor (notepad, for example).

  • markov A cross platform c++ program for generating word or sentence output using markov chains.

  • more c++ code

  • util.js Dump an arbitrary javascript array/object, max depth can be set, handles self-referential data structures.

  • cal.js A calendar application that's simple to incorporate into another page.

  • form.js A library for form element validation.

  • math expression parser A JavaCC based library for parsing/evaluating mathematical expressions.

  • tcp reflector Listen on a given host/port and act as a conduit between this and another host/port.

  • jcrypt Pure java version of unix password hashing algorithm (des).

  • ale JavaCC based java dialog layout language.

  • guitar scales/chords Online application to display scales/chords in any key.

  • slock a socket based alternative to flock, facilitates concurrent access to shared resources