Home

Software

      “The more widely used FOSS is, the sooner we obtain a cosmic win^win.
       – W. Stewart, 2013-11-07.

This page provides links to some of the software I've written, including some that create beautiful structures and moves them around with precision.  To the best of my testing and knowledge they are all bug free, however this is an opinion and not necessarily a fact ;-)  All are open source GPL3 licensed.


Traveling around a vertex in 3D and 4D
This software implements the algorithm described in my PhD thesis to return the convex hull of a set of points S from any dimension d, with optimal time and space complexity for spherical distributions, including for dynamic updates.  It includes unwrapped recursion using a self-initializing doubly-linked list for predictable storage and time performance, and a highly optimized quicksort module with expected O(n log n) performance but was found to have near linear performance in practice.  It was tested in up to 20 dimensions.

The operation is documented in my PhD thesis with LaTeX typesetting software that creates particularly beautiful mathematical formula, for example on pages 27 and 63.  (The graphs in Chapter 6 were produced with separate software and then manually glued in to the thesis, so are unfortunately are not included in the soft-copy.
)
  • Fuzzy Logic Linear Programming - FORTRAN 77 (1988)

    Solves the linear programming problem using the fuzzy logic algorithm described in Fuzzy Programming and Linear Programming with Several Objective Functions, Zimmermann, Fuzzy Sets and Systems, North-Holland Publishing Company, 1978, pp. 45-55. An early expert system implementation.
  • AVL Search Trees - IBM PL/1 (1988)

    Implements all the operations needed to use the self-balancing search data structures AVL trees, including make, insert, delete, traverse, balance, and rotate.
  • Election Proportional Representation - WATFOR (1990)

    Provides a proportional representation implementation for the voting results of an election, adding members with the "next highest support".  Includes the same very efficient quicksort implemented in Waterloo Fortran.  Part of a submission to the 1989 Canadian Royal Commission on Electoral Reform.
  • Software Debugging - LaTeX (1989)

    Basic advice on bug prevention and identification, prepared for a class I taught to first year computer science students a very long time ago.