UCSYS - Used Computer Store System

This was my first semi-professional program, a Point of Sale system (never completed) for a computer store which I was working for. It was written in FoxPro 2.5 for MS-DOS, a system already quite obsolete at the time. This was chosen because the store had several old 386 machines which they were unable to sell, and wanted to put to use; also, the store owner, who had been a FORTRAN and BASIC programmer at one time, wanted to be able maintain it when I left, and was impressed by the screen generating tools.

The project began in January of 1996, and continued until mid-March, when the first prototype of the system was tested. After wasting the better part of a month, I concluded that the screen tools weren't helpful to me, and I ended up hand-coding the screens, adding to the time of the project. The project was also hampered by the fact that I for much of the time I worked on programming, I was also handling customer calls and doing intake for the service department.

Eventually I was able to code up a primitive but workable sales menu which would record each sale and print a receipt. However, the manager of the store (the owner's wife), who had been opposed to the project, was livid; she declared the entire effort to have been nothing more than an excuse for me to avoid 'real' work in the store, and in early April she ordered the sales staff not to help me test it any further.

Unable to test and debug the program, and told not to spend any more time finishing it, the project was put on hold. The final reckoning came when I went to review the code with the owner. He was completely unable to follow it, despite my best explanations; I realized that it was a lost cause when I found that I could not explain to him what a while loop was, and why I would use one instead of a goto. The whole issue was summarily dropped and I was given full ownership of the code.

The code, while well written and commented, is slightly embarassing to me today, as I was a little too whimsical with naming the variables and functions. One noteworthy peculiarity of it, which it shares with all of my code from that period, is the comment "This code is cursed", which appears in the header comments of every file. The phrase was one which I had read of in a listing of funny and unusual comments that had been found in people's code; the frustration of it struck a chord with me, and for several years I used it in all my projects as a sort of good-luck charm or personal signature.

Below are listed all of the existing program files; the database table and index files are now long gone. Many of these modules are nothing more than stubs for planned functions which were never implemented. Some of the intended functions were probably too ambitious, but most of them were fairly basic P.O.S. operations.