As a student of philosophy and logic, I wondered if the computer would help me find out what is truth. Now I know that the truth is much more than can ever be in the computer.
The computer can help determine certain kinds of truth. As an actuarial programmer in the 1950s I was always figuring out ways to make it run faster and easier to use.
By 1958 I had written a report generator program, which was able to read unordered input, extract the relevant data for table entries, and sort them in multiple ways for reports.
In the 1960s I spent a lot of time working on sorting at IBM, writing the first phase of a tape sort with tapes that could read backward. It was the first program I had ever written that was over 8,000 lines, and was so efficient that the next sort, written by a different group, required two improvement efforts to catch up with it.
It also was error free from the first release forever. This was due to a method of debugging using combinatorial testing combined with redundant logic consistency checking. It was so effective that I have been using combinatorial debugging ever since.
In the 1960s and 1970s, I worked on sorting, indexing, and memory allocation. I wrote the multidimensional array indexing for the APL interpreter, and also the sort (grade), that later became an official part of the language.
In 1968 I graduated from the IBM Systems Research Institute, where I studied statistics, queuing theory, simulation, and design of experiments. It was particularly enjoyable because with APL I was able to put the ideas to work in programs, sometimes having fun with the instructors by finishing the program before the class was over.
Over time I was able to apply the mathematics I learned, finite mathematics, graphs, and trees, tensor analysis, semimarkov stochastic processes (queueing theory), design and analysis of experiments, quantum mechanics, to the analysis of algorithms and performance .
As all things eventually end, so did my time at IBM, in 1987. From then on, as sole proprietor of the LJW co., and later Skyelogic, I created an entirely new package of programs in C and C++, for sorting, indexing, pattern matching, memory allocation, and data compression.
Since 1987, I have used them to solve customer's problems, and licensed the programs and associated patents.
In 1987 I began working as a contractor on AIX and UNIX. In 1995 I began building Linux boxes from parts. The machine hosting this web page was assembled from parts purchased at computer fairs. After that, it was much easier to develop applications, as opposed to DOS/Windows.
In 1998, I worked at a government installation on Y2K problems. I built two Linux machines from parts and connected them to the network of Windows machines via DHCP. Using pattern matching programs that by then were part of the program package, I used them to analyze hundreds of megabytes of listing files for date dependencies,
Now, in 2004, it is time to make these available to a much wider audience. This web page makes that possible in a way that never existed before the internet. This web site will present a growing number of application programs related to the above mentioned areas, as well as others.
March 2004, Luther Woodrum