Open information exchange
Active forum topics
There are currently 0 users and 3 guests online.
Telly - turn telephone numbers into words
Telly is a computer program that finds real words for telephone numbers that can be typed into a phone instead of the number and that may be easier to remember. It currently covers two languages—English and German. Try it, you may like it.
Instructions for use
A long number can take an inordinate time, so you may have to break off. You can do that by clicking on your web browser's reload button.
The progress bar is only shown in phase 2 (see above), while the program is searching for words. It shows two figures, the number of complete conversions and the total number currently being held, which also includes partial conversions waiting for further conversion attempts.
The width of the bar is a hyperbolic function of the second figure.
When the total number shrinks or stays the same, the bar changes its color from violet to yellow.
The final number of results may be smaller than the figures shown in the progress bar, because the results are filtered before they are ultimately put on the screen.
First I searched for suitable dictionaries. Since I have no inflection engine, I needed large dictionaries that contained the most important inflected versions of the words. I also wanted upper and lower case, so the user can notice names and all-upper-case abbreviations. There are not many suitable dictionaries around, but I found one for English and one for German and reformatted and preprocessed these for my purposes.
Then I wrote the program. The first fully functional version was written in one day.
Finally I polished and rewrote parts of it several times to improve their output quality and performance and added nice display elements, which took a few days.
Over the course of my work I compared the behavior of a few web browsers under the heavy load of Telly.
To defeat the browsers, I had to cut the work into time-sliced chunks and give the browser short intervals of free time. The grotesque consequence is that my program could be perfectly multi-threaded, yet the browsers cannot make use of this and force it back into a single thread.
My impression was that I was not working with and using the browser, but fighting them and defending against their undesirable behavior, because they refused, by design, to do what I think they should do.
In short, today's browsers are still a rather poor platform for general cross-platform computing, but they seem to be getting better.
Telly is a client-server program system, where most of the actual work is done on the client and only a few key functions on the server. This makes it possible to avoid performance degradation due to many simultaneous users. In fact, Telly scales to thousands of simultaneous users.
The current version of Telly is moderately optimized for speed. It can still take a long time for long numbers though, which is probably unavoidable, because the program lists each combination of partial results, yielding large numbers of results for longer telephone numbers.
The telephone number length is currently arbitrarily limited to 20 characters, the first of which can be a plus sign (+). All other characters beside the plus and digits are automatically removed.
The program now limits itself to as few words as possible in each solution, plus one or two. If, for example, the best result has three words, the program will ignore solutions with more than five words, and if there are enough solutions with three or four words, it will output only these and no five-word solutions.
The limit is currently set as follows. If the best and second-best solutions, judged by the number of words needed, yield more than 256 solutions, only these will be given, otherwise all third-best solutions are also given.
A problem is the long loading time when a language is used for the first time. There is also no progress display on the first loading page, because it is just one command (JSON.parse) that takes a long time, like minutes, on slow browsers, while taking only seconds on Firefox. While this one command is being executed, the browser cannot do anything else, like displaying a progress bar.
This means that you currently may have to wait a minute or more until the program has loaded a language on Internet Explorer or other browsers. Only in Firefox can you currently experience Telly as it should be.
During one session without reload Telly keeps the English and one other dictionary in the browser's memory at the same time. That is why the second use and subsequent uses of the same language can be a lot faster, and you can always switch to and from English quickly, once the dictionaries are loaded.
In fact, Telly is a good stress test of the browser. A good browser will pass muster, while a bad one can be many times slower and even give error messages.
Keywords: Programm Telefonnummer Telefonnummern Nummer Nummern Zahl Zahlen Ziffern deutsch deutsches Wort deutsche Wörter Buchstaben übersetzen umsetzen konvertieren umwandeln phonetisch Handy English figures digit digits letters convert transform phonetic
Please participate by adding a new comment or replying to existing comments.
Vote for Telly:
New user registration
To get your own account on this web site, please send me an email, explaining in correct English who you are and what you intend to do, your username, your full name, and whether your are male or female.
Recent blog posts
Windows news ticker