I am proud to present a stack which is the very epitome of ponarvian stack design: the Telephone Name Finder. It's cute as the Dickens and is of no apparent redeeming value whatsoever.
WHAT IT DOES
This stack is designed to help you find out if your phone number can be dialed as a word. For example, our old phone number in Huntington Beach can be dialed as "YoChick"! If your number has a 1 or a 0 in it, you're out of luck, although you still may be able to find a number/word combination, like "401-Yack".
The stack is very simple. Just enter all or part of your number by clicking on the screen buttons or using your ten key pad. As you push the numbers you will hear the standard phone tones and the total number of possible letter combinations will appear to the right of the number buttons. When you are ready, just push in the little start/stop button next to the progress meter.
The name finder is slow but sure. It will methodically generate every possible letter combination and form a list in alphabetical order. You can interrupt the calculations at any time by pushing the start/stop button. When this happens the partial list will appear in the scrollable field. Simply scroll down the list until you find something interesting. To resume calculations (even if you've turned off your Mac and come back the next day), just push the start/stop button.
HOW IT WORKS
The telephone name finder consists of three (tiny) cards. The main screen occupies the first card; cards two and three are used to present the help and shareware notices.
The only button of any real complexity is the start/stop button, and even it is fairly simple. In writing the script for this button I faced two challenges. First I wanted to design the calculation process so that you could start and stop it at any time. This means that the button has to figure out if it has already done some of the calculations already and then pick up where it left off.
The second challenge was simply to generate all possible combinations for an n-digit number, given three possible letters for each digit. This is a classic programming problem. My solution invovles base three arithmetic. I'll leave it to you to examine the script.
I hope you enjoy this odd little gadget. Feel free to copy it and pass it out to your friends. And if any of you find and cute telephone names please share them with the rest of us. Enjoy!