Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5170"]
Waiting for machine "ibm5170" to load....
What do Lewis Carroll, Vladimir Nabokov, Jim Morrison, and Roman Polanski have in common? They all played with anagrams. Lewis Carroll rearranged politician William Ewart Gladstone's name to spell "wild agitator! means well". Nabokov named a character in Lolita "Vivian Drakbloom", an anagram of his own name. Jim Morrison of "The Doors" was "Mr. Mojo Risen'". And in the movie Rosemary's Baby, an anagram is an important clue. Picture these creative artists hunched over a desk with a big dictionary arranging Scrabble titles to form words. If only they had NAMEGRAM! With NAMEGRAM, creating anagrams is a breeze. NAMEGRAM takes a name or phrase, of up to 40 characters, and, using each letter only once, creates anagrams. The output, 1 to 16 letters each, are real English words. A curious, but fascinating exercise.
┌──────────────┐ ╔══════════════════════════════╡ BREAK DOWN ╞══════════════════════════════╗ ║ ┌───────────┴──────────────┴───────────┐ ║ ║ │ copyright 1985 by Neil J. Rubenking │ ║ ║ └──────────────────────────────────────┘ ║ ║ ║ ║ BreakDown -- a text analysis program by Neil J. Rubenking, inspired by ║ ║ the article on the "TRAVESTY" program in the November 1984 BYTE, by ║ ║ Kenner and O'Rourke, which was itself inspired by Brian Hayes' article ║ ║ in the November 1983 Scientific American. ║ ║ This program, written in TURBO Pascal, uses BORLAND's TURBO ║ ║ TOOLBOX to manage its data. Note that the DATA files it produces will ║ ║ be B I G. In the unlikely case of NO repetition of text patterns, the ║ ║ .DAT file will be S*C bytes, where S is the # of bytes in the source, ║ ║ and C is the number of characters being tracked (currently 34). You ║ ║ will have the chance to distribute the files to various disks. ║ ║ You can read several texts into the same BreakDown, or Merge two ║ ║ BreakDowns. In this way, you can build up a "style table" for one ║ ║ author, or create bizarre hybrids. ║ ║ ┌────────────────────────┐ ║ ╚═════════════════════════╡ PRESS A KEY TO BEGIN ╞═════════════════════════╝ └────────────────────────┘
BREAK DOWN A text analysis and generation program written in TURBO Pascal copyright 1985 by Neil J. Rubenking requires DOS 2.0, 96K I.AN ANALOGY There is a fairly commonly believed "fact" that if you set millions of monkeys typing at random on millions of typewriters for millions of years, they would eventually crank out all the world's great literature. Deep down inside, BREAK DOWN is just one of those monkeys, but this monkey is educated. BREAK DOWN "reads" a text and creates a frequency table that gives it some method in its madness. The output can be surpri- singly similar to the input. II. WHAT DOES IT DO? To analyze a text, BREAK DOWN looks at it in chunks of a particular size (one less than the "order") and keeps a record of what characters occur immediately after that pattern. If the chunk is new to the frequency table, it is added to the table. Its frequency array is initially all zeros, except for the current next character. If the chunk already exists in the table, its frequency array is incremented by one for the current next character. Then the "chunk" is shifted one charac- ter to the right and the process goes on -- that is, the chunk's first character is dropped and the current next character is tacked onto the end. III. WHAT MAKES IT SPECIAL? Checking to see if the chunk is present would be quite a task if the frequency table were stored sequentially. Fortuna- tely, BORLAND International sells a product called TURBO TOOLBOX that implements fast indexed storage, using the B-Tree system. (For a discussion of B-Tress and TURBO TOOLBOX, see the February 1985 PC Tech Journal). The chunks of text are stored in the B-Tree index file -- they are the KEYS. The data file contains only the frequency arrays. Ordinarily, the KEYS would also be stored in the data file, but this redundancy is not strictly necessary. Since the data file can conceivably contain one record for every BYTE in the source, we want to keep the record size to a minimum. (This "worst case" would occur if NO pattern in the text occurred more than once.) IV. WHAT ARE THE INPUT LIMITS? At present, BREAK DOWN tracks 34 characters. These are the 26 lower-case alphabetic characters, the space, period, comma, dash, question mark, number symbol and single quote, and ASCII character 20, the paragraph symbol. If a line is shorter than the constant "LineWidth" (currently set to 55), it is considered to have ended "early" with a hard Carriage Return, and is marked with the paragraph symbol at the end. In the pre- processing phase (procedure "CleanUp"), all letters are converted to lower-case, all numbers are reduced to a single # symbol, double quotes become single quotes, and all unused punctuation is removed. It would, of course, be possible to track more charac- ters, but each character adds a byte to every record. V. HOW DOES IT WORK? To generate a new text, BREAK DOWN selects at random a KEY that begins with a space (i.e., one that doesn't start in the middle of a word.) It then looks up the frequency array for that KEY and selects the next character at random from the characters with non-zero frequency, weighted by the frequencies. This character is added to the current output line, and to the current KEY chunk. If the paragraph symbol is encountered, the line is automatically ended. Also, the current line ends at the first space encountered after its length surpasses the LineWidth constant. The first alphabetic character after a period,question mark, or line end is capitalized. VI. HOW SHOULD I SET IT UP? BREAK DOWN is a prime candidate for RAMDisk operation. The B-Tree file access limits the number of disk accesses quite a bit, but there are still several accesses for each BYTE in the source file. The data file of a text under 10K in length will definitely fit on one floppy, but an 11K file could conceivably run over that length. You are expected to be sure you have enough space. You may distribute your files to various disk drives -- a likely arrangement is .DAT file on drive B and source, .INX file, and BREAK DOWN program on drive A. VII. TIPS FOR USE The higher the order, the more intelligible the output will be. However, a high order and a short text will mostly just regenerate the original. Experiment with various texts and various orders. You can use the [L]ist option to see just what sort of records are being generated. BREAK DOWN has been tried on a 100K text file, with the Order set to the maximum of 8. It took over 6 hours and generated a 1.8 megabyte data file, but it worked. VIII. DEFAULT OPTIONS BREAK DOWN will prompt you for the Order each time you make a selection from the menu. After you have entered an Order, you can just hit <return> for the previous value. The MAIN file name works the same way -- after the first time you enter it, hitting <return> will recall the same name. The default for the .DAT and .INX drives, and the output file, if any, is the same as the source file. Thus, if you have [A]nalyzed a text with all its files on one drive, you can fill in the blanks for [G]enerating a travesty by repeatedly hitting <return>. IX. ADVANCED (?) USE The [M]erge option lets you combine two data files, possibly from wildly different sources. The data and index files of the"source" will be permanently changed, so you may want to keep a copy. You can also "read in" another text into an existing data file. Use this option to build up a frequency table "model" of a particular author, or to make bizarre hybrids. X. WHAT'S IT GOOD FOR? BREAK DOWN is a moderately sophisticated database program with almost no "serious" uses. However, there are all kinds of non-serious uses for it. Read in three or four "letters from camp" and then let the PC generate more. Generate new speeches based on Our President's proclamations. Find out what Lewis Carroll would have written had he been a Zen Master. Or examine the program itself to see how the TURBO TOOLBOX can be used to manage other sorts of data. XI. CREDITS This program was inspired by the TRAVESTY program in the November 1984 BYTE magazine, by Kenner and O'Rourke. They in turn were inspired by an article in the Scientific American of November 1983 by Brian Hayes. Both these articles make good reading. TURBO TOOLBOX and TURBO Pascal are available from BORLAND International, 4113 Scotts Valley Road, Scotts Valley, CA 95066. BREAK DOWN itself was written by Neil J. Rubenking. This program may be freely used and copied, but I retain the sole right to SELL it. Users Groups and Software Clubs may charge a reasonable price for the disk and copying/handling charges.
--------------------------------------------------------------------------- Disk No 477 Name Gram / Break Down / Fone Word v2.2 DS2 ---------------------------------------------------------------------------- Namegram is a program that takes an input word, usually a name, and compares it to a set of compressed word files. In doing this, it can generate a set of anagrams of the word or name. Break Down is a strange, but interesting program. It has almost no practical uses, except perhaps for entertainment, but this does not limit its value. This algorithym takes an input text file (I tried about two paragraphs of an old English paper) and transforms the source text into a bunch of sentences that make little to no sense, but somehow they do!? ------------ Name Gram NAMESMAL COM Main program MASHED 02 Compressed word files used by Namegram MASHED 03 Compressed word files used by Namegram MASHED 04 Compressed word files used by Namegram MASHED 05 Compressed word files used by Namegram MASHED 06 Compressed word files used by Namegram READNAME COM Screen driven DOCumentation program for Namegram (33k) ------------ Break Down BREKDOWN COM Main Program BREKDOWN PAS Pascal source code for Brekdown program BREKDOWN DOC Short documentation for Brekdown (3 pages) BREKDOWN XMP Some examples of text generated by Brekdown (3 pages) BREK2 TXT Associated text file used by Brekdown ROMEO O5T Order-5 Breakdown of the "window scene" from Romeo & Juliet ROMEO O8T Order-8 Breakdown of same, cleaned up and puntuated. REAGAN OUT Order-8 Breakdown of the '85 State Of The Union address ------------ Phone Word FONEWORD COM Main Program FONEWORD DOC Documentation of Foneword program WORDFONE COM Reverses Foneword program ------------ BONUS files: Created using my PIANOMAN program WILDWEST COM "The Wild West Is Where I Wanna Be" by Tom Lehrer WILLTELL COM "The William Tell Overture" by G.A. Rossini INVENTN4 COM Two-part Invention #4 in D-Minor, by J.S. Bach CIRCUS COM Theme from Monty Python's Flying Circus, by J.P. Sousa PC-SIG (Software Interest Group) 1030 East Duane Avenue, Suite D Sunnyvale, CA 94086 (408) 730-9291
| FONEWORD and WORDFONE | Written by Neil J. Rubenking | | | 300 Page St. | | inspired by Patrick Cox of PC-SIG | San Francisco, CA 94102 | =========================================================================== Would people remember your phone number better if they heard it in the form of a word? Can you remember that IBM's PC User Group support line has the phone number IBM-PCUG? Pretty easy, isn't it. FONEWORD will take your phone number and return all 2,187 possible equivalent words. The "0" and "1" buttons don't have any letters on them, so they pass without change. You can view the result as 11 screenfuls on your monitor, or have it printed out as 4 pages. If, like me, you have trouble DIALING word-type phone numbers, WORDFONE is the program for you. Enter "WORDFONE" and the word, and it quickly returns the number to dial. E.g., "WORDFONE ENGLAND" returns 364-5263. Patrick felt that a program like this would be useful in business. If it is indeed of use to you, a contribution of $5 or $10 will encourage me to continue writing software on this basis. I could write a version of FONEWORD that would actually check for REAL words, or combinations of words. However, I probably won't unless a lot of interest is shown. NEW: If you have trouble reading the FONEWORD screens on a B&W composite monitor, just add the parameter /BW -- e.g., "FONEWORD /BW".
Volume in drive A has no label Directory of A:\ BREK2 TXT 1724 8-02-85 3:30p BREKDOWN COM 34066 5-19-86 9:01a BREKDOWN DOC 8525 2-06-85 5:24p BREKDOWN PAS 31991 12-18-85 6:27p BREKDOWN XMP 5859 2-06-85 5:29p CIRCUS COM 45056 7-21-86 6:13p FILES477 TXT 2257 9-29-86 1:23p FONEWORD COM 19442 5-28-86 3:30p FONEWORD DOC 1541 5-28-86 3:31p GO BAT 1565 9-29-86 10:42a INVENTN4 COM 3955 11-29-84 6:35p MASHED 02 128 12-22-85 6:14p MASHED 03 1152 11-23-85 7:42a MASHED 04 5248 4-23-85 6:24a MASHED 05 13952 4-24-85 7:45p MASHED 06 27008 4-28-85 8:18a NAMESMAL COM 28290 5-28-86 2:28p READNAME COM 45199 5-28-86 3:13p READTHIS 1ST 1200 7-23-86 10:58a REAGAN OUT 17920 8-03-85 8:21a ROMEO O5T 4031 5-14-86 1:24p ROMEO O8T 3584 5-14-86 12:28p WILDWEST COM 24320 5-06-86 9:13p WORDFONE COM 12408 5-25-86 11:39a 24 file(s) 340421 bytes 9216 bytes free