KlingNum v1.1 Written in 1994 by Sean Martin Newton; placed in the Public Domain. KLINGNUM STARTED ON THE AMIGA. IF THIS ARCHIVE IS USED ON A PC, THAT'S COOL. BUT BE ADVISED THAT THIS DOCUMENT WILL REFER TO AMIGA TERMS; I'LL TRY TO CONSIDER PC USERS HERE AND THERE, BUT IT'LL BE PRIMARILY AMIGA. What does this program do? It converts decimal numbers that you give it into longhand Klingon. The English equivalent would be a program that, when you give it 531, returns "five hundred and thirty-one". The source I used for my numbering-system data only included the suffixes for numbers up into the millions range, so the highest number it can translate into Klingon is 9,999,999 - it also can't translate decimals, as those weren't covered in the Klingon Dictionary either. In everyday use (DOES this program have an everyday use???), it's not likely that you'll find this a problem. Please note that the Klingon language is probably copyrighted by Paramount or somebody like that, so I don't recommend that anyone improve this program to the max, then try to get ShareWare donations out of it - from what I've seen in the docs for other Star Trek related software, they don't take kindly to that. However, I haven't seen any problems for non-profit authors, so this program is thoroughly PD. Do what you want with it; I'd APPRECIATE it if you left this doc file in, left my original KlingNum message as intact as possible if you change it, and documented any and all changes that you make to KlingNum - but if you don't, I'm not going after you with a shotgun or anything. Anybody Klingon enough to want this program should have an equally Klingon sense of honor, and this is what I appeal to when I ask that you not file off my name and put your own in its place - ADDING, no prob. Removing any reference to the original author, that's a bit annoying. Anyway: Everybody and their brother, feel free to change the code or whatever. If you manage to kill your system or shred your hard drive with it, I'm not going to be held liable for it. You can read the code; it's 'C', and the original version was compiled on SAS/C 6.51 (I LOVE upgrade patches!!!) and doesn't use any I/O except for the standard input/output streams. So if you decide to re-direct your output stream from KlingNum and accidentally overwrite your $5 billion 80-gigabyte database of ice cream shops in the Timbuktu area, or do something especially nasty to a network, I'm not taking responsibility for it. If it's got weird file manipulations, then the source has been changed and you should go after the modifying people. But don't take this to mean I won't be unsympathetic - if you blow up your 80-gig database, I'm sorry. But since there's no way this program *alone* can do it, I'm not taking responsibility. Re-directing your output so it blows up the database is something that your operating system would actually be doing, and all KlingNum would be doing is sending data to the standard output stream - it doesn't know or care where the operating system is going to send it. Bottom line: EVEN IF, BY SOME ABSOLUTELY IMPROBABLE CHANCE, YOU FIND A WAY TO KILL YOUR COMPUTER OR DELETE ITS FILES BY USING THIS PROGRAM, I'M NOT TAKING THE BLAME FOR IT! It would take a LOT of effort to find a way to blow up a computer with this program, and if you can figure out a way to do it, more power to you, but don't think for a second that I'm responsible for it. Now that the obligatory legalistic rudeness is over, here's the stuff you're reading this file for. The way to call up KlingNum is with: KlingNum , where Number is the decimal value you'd like to have converted into longhand Klingon. Say, for instance, you wanted to find out what the Klingon number 56 is. "KlingNum 56" would result in "vaghmaH jav" being displayed right under the command. Sorry, but it can't translate decimals (6.5, etc.); they weren't covered in my reference material. It also doesn't handle numbers greater than 9,999,999, because the positional suffixes only went up to 1 million. Note that there is formatting attached to the Klingon output; that's because some people might want to do nifty things with output-redirection and script files (batch files, for IBMers). Check the bottom of this document for ways to do weird things like displaying your available memory in Klingon. IBM users, good luck... I use and program IBMs, but I don't enjoy 'em. They have such limitations built in at the hardware level that they act like bogus systems from the '60s and '70s! The operating systems they use do nothing but compound and magnify those limitations. If you've got InterNet access, feel free to drop me a piece of E-Mail; my address is SMN8714CSCI@LYNX.APSU.EDU. If you want to talk about improvements, discuss Star Trek in general, or dispute my vehement assaults on the cornerstones of IBM lunacy, feel free to drop me a line. If you know what the InterNet address of the Klingon newsgroup is, please let me know; I've been trying to find it without any success whatsoever. By the way, don't bother writing messages to me in Klingon; even though I've written a Klingon number translator, I can't read the language well enough (YET!) to understand complete messages in it. I know some people can, and I heartily commend them for it, but sending an all-Klingon message to me would just be a waste of your time. A phrase here and there is fine, though; I can look it up and get some practice reading Klingon. By the way, if you're an Amiga user looking for Star Trek files (programs, images, sound files, etcetera), I can tell you some file locations on FTP sites; I keep a record of what I run across, so if there's an Amiga Star Trek game out there, I probably know where to find it. I realize I haven't done a very good job of commenting KlingNum, but it would be nice to know what has been changed without digging through old source. If you make changes, please comment them so the next person can see what all's been done.. And hey, if you compile the source on a different platform, please send me a piece of E-Mail just so I can update my list of how many systems KlingNum has been spread to. Just let me know of any changes you had to make in order to get it working on those other platforms - I know VAX/VMS would probably need to dump the command-line processing so that it can prompt for a number, for instance. I'm not going to pretend KlingNum couldn't use improvement; for instance, enhanced error checking would be nice. I don't have any kind of ego problem about this program; if you make an improvement and toss half my code, that's fine. One final note: even if you make spectacular, ground-breaking changes to this, if you add Klingon ships flying around and zapping each other with phasers and making sound effects, I wouldn't recommend that you try to make ShareWare out of it. Paramount, which owns Star Trek (and probably the Klingon language as well, which is why I haven't said a word about how Klingon numbers are formed) seems to have this thing for prosecution, and a ShareWare authors have been pestered by them in the past. As long as it's free, though, you're probably in the clear. Matter of fact, with the way I've written this utility, it could really be thought of as a specialized utility for people who've already BOUGHT "The Klingon Dictionary", since you really should understand Klingon numbers before you go trying to read them. By the way, the book I referred to is "The Klingon Dictionary", by Marc Okrand. It's a great book, and Mr. Okrand should be highly commended for boldly pulling the Klingon language out of the Final Frontier and into a readable book. I just wish the section on Klingon numerals went into trillions, and had decimal notation (you know, 6.75, etc.) somewhere... although that will probably be solved with the Klingon Encyclopedia, which will cover a whole lot of stuff in great depth. About the Author: Whoopty do, my autobiography. Hey, everybody adds something like this at the end of the text file, so I might as well do the same. As you already know by reading the rest of the document, I'm an outspoken Amiga user who loves to give IBMers an earfull on why their systems are ridiculously inefficient and generally useless. Currently, I'm in college, working on a Computer Science degree, and my goal in life is to write Amiga productivity programs. I've had it with people complaining about the lack of business software, and since I feel that anyone who complains had better be prepared to do something about it, I'm going to try my best to quiet the complainers. If you either need or are using productivity software on Amigas, let me know what kind of things you use, and what you really wish you had, so that I will know what kind of things I need to look into. And hey, if you need a small CLI utility written, I might be able to oblige you on that mark. Another of my interests is writing SAS/C equivalents to the Borland (BLEAH!) include files, so that Amigites using REAL compilers with REAL editors on REAL computers can write BOGUS programs that are source-compatible with BOGUS systems and thus can do their work at home when their professors decide that it's such a FUN idea to write something that REQUIRES Borland to compile!!! It stinks! It needs to be stopped! If anybody has similar concerns, E-Mail me and maybe we can get a lot of this kind of IBM-specific nonsense eliminated. And now, as promised: AN ACTUAL USE FOR KLINGNUM!!! The following three lines are a script; I recommend you call this script "Kmem" (Klingon Mem) for consistency. AVAIL TOTAL >ENV:FREEMEM Echo "Memory: `KlingNum $FREEMEM` ($FREEMEM)" DELETE >NIL: ENV:FREEMEM Note that the "`"s are the "`"s located on the Tilde (~) key; if you use the other one that looks similar ("'"), the script won't display the Klingon number. Note that this script won't show your free memory if you've got 10M or more of free RAM, since it can't translate numbers >=10,000,000. Boy, it must be nice to run into THAT problem! :) By the way, Kmem is included in the original archive, so you might not have to type it in after all! Just copy it to S: and type Kmem whenever (under 1.3+). If you type it in, be sure to go "PROTECT Kmem +S" on the command line, to make sure that AmigaDOS knows it's a script file and will run it without the EXECUTE command. On 1.2 or below, I think you'll have to type "EXECUTE Kmem" or set up an alias to do so. Since I know of few people still using 1.2, this isn't a big deal. Version History: KlingNum v1.1 - 6 June 1994. Fixed an enforcer hit occurring when no arguments are given, pointed out by Michael Pins, in charge of Amiga PD on GRIND.ISCA.UIOWA.EDU. KlingNum v1.0 - 28 April 1994. yIntIQej'chep - Live Long & Prosper.