Tonkin's First Computer Dictionary Page 1 Acknowledgements to Bruce Tonkin, T.N.T. Software Inc., 34069 Hainesville Road, Round Lake, IL, 60073 (312)-223-8595, for his article in Dec '87 COMPUTER PEOPLE Monthly, from which this is copied. This file may be freely distributed, but not for profit, etc. Advanced: (adj.) doesn't work yet, but it's pretty close. See: bug, glitch. Analyst: (n.) one who writes programs and doesn't trust them. A cynic. Assembler: (n.) a minor program of interest only to obsessed programmers. BASIC: (n.) a computer one-word oxymoron. BBS: (n.) a system fo connecting computers and exchanging gossip, facts, and uninformed speculation under false names. Benchmark: (n.) a test written ostensibly to compare hardware or software, but actually used by manufacturers to misinterpret or quote out of context in advertisements. Binary: (n.) a two-valued logic especially susceptible to glitches and bugs. It originated as a way of counting on the thumbs, since programming managers usually find fingers far too confusing. See: Hexadecimal, Octal. Bug: (n.) any program feature not yet described to the marketing department. Bus: (n.) a connector you plug money into, something like a slot machine. Byte: (n.) eight bits, or one dollar (in 1950 terms). Presently worth about two-tenths of a cent and falling fast. C: (n.) the language following A & B. The world still awaits D and E. By Z, it may be acceptable for general use. Chip: (n.) a stylized picture of a logic diagram on refined and alloyed sand. See: glitch, bug. COBOL: (n.) an old computer language, designed to be read and not run. Unfortunately, it is often run anyway. Code: (n.) a means of concealing bugs favored by programmers. (v.) the process of concealing bugs by programming. Cookie: (n.) any recondite message displayed by a time-shared system. The message is not often seen, because it only appears when the system is operating properly. Common cookies include the timeless "Murphy was an optimist" and "When in danger or in doubt, run in circles, scream and shout." Copy Protection: (n.) a means of circumventing various rights granted by the Constitution so as to artificially inflate profits. CPU: (n.) acronym for Central Purging Unit. A device which discards or distorts data sent to it, sometimes returning more data and sometimes merely over-heating. Crash: (v.) to terminate a program in the usual fashion, i.e. by locking up the computer or setting a fire at the printer. (n.) the process of such termination. Data: (n.) raw information, esp. that supplied to the central purging unit for transformation and disposal. Data Base Manager: (n.) any fast filing system which gives misleading answers. Also see: menu, bug. Diagnostic: (n.) a test foolishly but often believed to determine the reason for a particular failure. Competent professionals prefer the I Ching or phrenology. Digital: (adj.) of or pertaining to the fingers, esp. to counting on them. See: Binary, Hexadecimal, Octal. Documentation: (n.) a novel sold with software, designed to entertain the operator during episodes of bugs or glitches. DOS: (n.) Acronym. a program which outputs questions given answers, putting users in jeopardy. Emulate: (v.) to simulate hardware glitches with software bugs. Emulator: (n.) a program which emulates. See: Virtual. Engineer: (v.) to build something with bugs (software) or glitches (hard- ware). (n.) One who engineers. Format: (v.) to erase irrevocably and unintentionally. (n.) The process of such erasure. Forth: (n.) a stack-oriented programming language written right to left and read from bottom to top. It runs efficently on no common computers and is written effectively by no common programmers. FORTRAN: (n.) an ancient programming language which changed IF's to GOTO's by using a strange three-valued logic on binary computers. Glitch: (n.) an undocumented design feature, esp. of hardware. GOTO: (n.) an efficient and general way of controlling a program, much despised by academics and others whose brains have been ruined by overexposure to Pascal. See: Pascal. Hard Disk: (n.) a rapidly spinning platter divided into sectors. See: Sector, Glitch, Bug. Hardware: (n.) anything prone to physical failure. Head: (n.) the part of a disk drive which detects sectors and decides which of the two possible values to return: 'lose a turn' or 'bankrupt.' Hexadecimal: (adj.) of or refering to base-16 numbers - binary numbers grouped four digits at a time so as to quadruple the opportunity for glitches and bugs. Originated as a means of counting on the fingers of one hand, using the thumb for the 'carry.' Purists who don't like to use the thumb at all prefer 'octal.' See: Octal, Binary. Icon: (n.) a complex, blurry, and easily misinterpreted pictorial representation of a single unambigious word. Preferred by illiterates and semiliterates for these reasons, and by others because it slows most computers down so even a cretin with an IQ of 53 may justly feel superior. Increment: (v.) to increase by one, except when segments are used; then, the increase may be by sixteen unless word mode addressing is used in which case the increase is by one or two, depending on the processor and whether the address is on an even boundary or such increase causes an overflow exception processor fault, which may either cause the program to crash or decrease by a large number instead of increase, depending the register used and the operation being attempted. Iterate: (v.) to repeat an action for a potentially and often actually infinite number of times. Joystick: (n.) a device essential for performing business tasks and training exercises esp. favored by pilots, tank commanders, riverboat gamblers, and medieval warlords. K: (n., adj.) a binary thousand, which isn't a decimal thousand or even really a binary thousand (which is eight), but is the binary number closest to a decimal thousand. This has proven so completely confusing that is has become a standard. Kernal: (n.) a misspelling of 'kernel' used by beginning (funtionally illiterate) programmers, especially those with some knowledge of C. Kernel: (n.) the core of a program, i.e. the source of all errors. Thus the common misspelling, 'kernal.' Keyboard: (n.) a device used by programmers to write software for a mouse or joystick and by operators for playing games such as 'word processing.' Kludge: (v., adj., or n.) to fix a program in the usual way. Leading Edge: (n., adj.) anything which uses advanced technology. See: Advanced. License: (n.) a covenant which tells the buyer that nothing has been pur- chased and that no refund, support, advice, or instruction may be anticipated and that no resale is permitted. A modern way of saying "Thanks for all your money and goodbye," far less crude than "Stick 'em up" but even more effective since the purchaser will often borrow the funds requested. Logic: (n.) a system of determining truth or falsity, implication or exclusion, by means of a sort of binary Oneiromancy. Loop: (n., v.) 1. a series of instructions to be iterated. 2. the process of iterating them. Most loops are unintentional and can be quite droll. Macro: (n.) a series of keystrokes used to simulate a missing but essential command. Megabyte: (n.) more than you can comprehend and less than you'll need. See: UNIX. Megaherz: (n.) a way of measuring how well your computer matches the frequency of your local television channels. Most computers perform exceptionally well on this test, especially the higher-quality foreign-made ones. Menu: (n.) any list of choices, each of which is either unsatisfactory or in some fashion contradictory. Micro-: (prefix) anything both very small and very expensive. Mode: (n.) a way of forcing glitch or bug. Modem: (n., v.) a device used to connect computers (see: BBS) or the process of transmitting data between or among computers, esp. for those unable or unwilling to speak. Monitor: (n.) a sort of television with exceptionally poor picture quality and limited to a single very local station. Motherboard: (n.) the hardware version of the software 'kernel.' Mouse: (n.) an input device used by management to force computer users to keep at least a part of their desks clean. Nano-: (prefix) a thousandth of a thousandth, but not a binary thousandth in either case. Decimal is used for all very small measurements since no further confusion is necessary. Octal: (n.) a base-8 counting system designed so that one hand may count upon the fingers of the other. Thumbs are not used, and the index finger is reserved for the 'carry.' Offset: (n.) a method which permits access to any memory location in thousands of ways, each of which appears different but is not. Used with segments. See: Segment. Operator: (n.) 1. One who has no experience with computers. 2. Any beginner, esp. one part of whose salary is paid in soft drinks and processed salted food treated with dangerous and illegal drugs or preservatives. Differs from a programmer in that a programmer will often take the dangerous and illegal drugs or preservatatives directly. Pascal: (n.) a classroom project which was released before it could be graded - probably a good idea, considering. One wishes the University had used a better system of academic controls. Patch: (v.) to fix a program by changing bytes according to the rules of logic. (n.) Any repair of this form. Pirate: (v., n.) to steal software, or one who is such a thief. True pirates see nothing wrong with thievery, having successfully forgotten or repressed all moral values. Pop: (v.) to remove from an area of memory naively thought to be the stack in a futile attempt to keep a program running. Portable: (adj.) that which can be physically moved more than a hundred yards by an unaided olympic athlete without permanent damage to that individual more than 50% of the time. Printer: (n.) a small box attached to a computer and used to start fires in cold weather. Procedure: (n.) a method of performing a program sub-task in an inefficient way by extensively using the stack instead of a GOTO. See: Pascal and C. Processor: (n.) a device for converting sense to nonsense at the speed of electricity, or (rarely) the reverse. Program: (n.) that which manipulates symbols rapidly with unforseen results. Also: a bug's way of perpetuating bugs. Programmer: (n.) 1. one who writes programs and trusts them. An optimist. 2. Any employee who needs neither food nor sleep but exists on large quantities of caffeine, nicotine, sucrose, and machine-vended preservatives thinly disguised as foodstuffs. Programming Language: (n.) a shorthand way of describing a series of bugs to a computer or a programmer. Prompt: (n.) a computer request for a random operator error. Also a game where the computer plays the part of Vanna White and the operator, a contestant. There are no prizes for winning. Push: (v.) to put into an area of memory believed to be the stack for the ostensible purpose of later retrieval. Tonkin's rule: In any program there are always more 'pushes' than 'pops.' See: Recursion. Quantum leap: (adj.) literally, to move by the smallest amount theoretically possible. In advertising, to move by the largest leap imaginable (in the mind of the advertiser). There is no contradiction. Recursion: (n.) a programming method which tests the limits of available memory in an iterative way by using the stack. When the program fails, all memory has been used. Memorize this definition, then see: Recursion. Register: (n.) a part of the central purging unit used to distort or destroy incoming data by arbitrary rules. See: Increment. Relational: (adj.) purchased from, or sold to, blood kin. See: True relational. Sector: (n.) a disk arc on which is inscribed 'lose a turn' or 'bankrupt.' See: Hard disk, Head, Glitch. Segment: (n.) a way of restricting or complicating access to memory in an attempt to break a programmer's will to live. Outlawed by both the A.S.P.C.A and the U.N. but still practiced in some backward areas of the world. See: Offset. Software: (n.) anything other than hardware. That which hardware manufacturers can blame for physical failures. Sort: (v.) to order a list of data in such a way as to destroy all relationships between the items. (n.) The process which accomplishes this, esp. if it takes a very long time. Source Code: (n.) a record of a programmer's thought for a period of time. A stream-of-consciousness novel or short story. Spreadsheet: (n.) a way of forcing repeatable answers from insufficient data for superficial purposes. Also, a game played during office hours by bored or restless yuppies. Stack: (n.) any area of memory which grows and eventually destroys both code and data. (v.) To place in such an area. Standard: (n., adj.) a design target which manufacturers may embellish, improve upon, or ignore as they wish, so long as it can be used profitably in their advertising. Transportable: (adj.) said of software - that which can be put on a new machine in less time than it took to write in the first place. Said of hardware - that which can theoretically be moved more than ten feet in one minute by some combination of machinery or explosives. The meanings are equivalent. Truly relational: (adj.) relational, but where the paternity is indubitable. TSR: (n.) acronym for Terminate and Stay Resident. A way of turning a useless computer with plenty of memory into a computer with no memory at all. Turbo-: (prefix) computer software which uses air under pressure (supplied by a special fan) to achieve high performance. User-friendly: (adj.) trivialized, slow, incapable, and boring. See: Icon, Mouse. UNIX: (n., v.) a DOS which needs more memory than you have and run more slowly than you can bear. To UNIX: to grossly enlarge and slow down out of all proportion, esp. by using C. User: (n.) one who knows from experience that programs cannot be trusted. A realist. Vendor: (n.) a manufacturer's lackey. Virtual: (adj.) emulated. See: Emulate. Warranty: (n.) a list of vendor's promises with carefully-worded exceptions which cancel each of the promises in turn. See: License. Windowing: (n., adj.) a way of making a large and easily-read display into many small, cluttered, and confusing ones. Word Processor: (n.) A program which makes a $5,000 computer into a $250 typewriter. A computer game for beginning operators. WORM: (n.) acronym for Write Once, Read Mangled. Used to describe a normally functioning computer disk of the very latest design. XYZZY: (n.) a common user prompt. Yarrow: (n.) kind of stalks used by computer diagnosticians when performing the ritual of the I Ching. See: Diagnostics. Zaxxon: (n.) a sophisticated simulation and design program used by the brightest programmers to test the consistency of internal logic and memory. Management prefers to use games such as 'spreadsheet' for the same purpose.