![]() |
|
Many years ago, back in the First Dark Ages of computers, a former Univac salesman by the name of Stanley Kelly-Bootle took on the task of writing The Devil's DP Dictionary, now unfortunately out of print. The objective of that book, and this, like the Apple in the Garden of Eden is to provide you wisdom and judgement. This book will succeed because the real definitions of important computer related terms can not be gleaned from marketing blurbs that try to sell you something, technical white papers that try to snow you, or hypertext web pages that attempt to divert you to their own ends.
The First Dark Ages of computers suffered greatly from hype. And the original Devil's DP Dictionary, was a truly beautiful and elegant book that exposed the truth about many overhyped ideas. As an example see how Kelly-Bootle explained the original purpose of what we now know as the Internet:
ARPANet - A network designed by the Defense Department for the purposes of testing network security.
Almost magically, the book could present even highly technical programming techniques in simple ways anyone could understand. For instance:
Recursion - see recursion.
In earlier times, those linguistic obscurities we call "computer terms" were often innocent twists of tongue by an unwitting and inarticulate elite. But now, in the New Dark Ages these obfiscations have taken on a more sinister intentional quality. We now can see many terms that have been knowingly and cynically turned into their opposites.
For this book we have invented a special term "cynversion" to denote this process. The root "vert" means truth, so pervert and invert (also convert, revert and divert) literally mean to change the truth. To do so intentionally and cynically and with impuntity is to "cynvert."
Times have changed. With them, in following Gresham's Law and the Law of Murphy, so has the perversity of the inanimate objects multiplied greatly. Worse yet, the once inanimate things that drove computer technology are now animate.
No longer do their viral natures wait to be discovered in the dead of night by some poor systems programmer combing through log files, panic dumps, and life's bit bucket, for clues as to what went wrong. Now mere mortals can view the problems right in front of their face on their 21" monitor.
Abstract Class - A class that can't be instantiated -- sort of like Plato's ideal chair that can't actually be built. And, if you're a Visual Basic programmer (pre-VB7), you can't use the Abstract Class at all. You can only worship it. "All hail the conquering Abstract Class!"
Abstract Classes are Gods. To achieve the same level of uselessness in Java,. simply combine the word "abstract" with the word "final." An "abstract final class" can neither be instantiated nor extended and so exists only as an unreachable ideal.
Apple Mac G4 500 - A supercomputer made by Steve Jobs that was so powerful that the Army confiscated them all and kept them in the Pentagon basement. There, surrounded by tanks, armoured personnel carriers, and Humvee's they forced Steve to reduce their speed to 450 mhz. And even then, Apple had to put in a localization screen on the G4. The screen had two choices "U.S" and "other." If you select "other" the G4 vanishes in a cloud of tangerine (or your choice of flavor) smoke.
ASN.1 - stands for Abstract Syntax Notation One. ASN.1 is the out-dated, wordy, idiocynratic network description language which is what makes SNMP truly "simple." Instead, of ASN.1 they should have called it FSSN or "Final Static Syntax Notation" because ASN.1 is now stuck into every doggone network box in the whole world and there's no way to change it or get rid of it any more.
Access - (Microsoft Access) A program designed to prevent database programmers from using the Structured Query Language (SQL) anywhere close to correctly. The Access version of SQL is irrationally transmographied so that it can't be used with a Real Database (see Oracle).
Bill Gates - a Harvard dropout who built a BASIC interpreter for the Intel 8080 which latter became the lingua franca of Windows. He now gives money away to libraries so they can buy Windows.
Blue - In the New Dark Ages even simple primary colors like blue have been cynverted. We used to think that blue was a rather peaceful safe color. Now Blue means WAR! Blue is a gigantic omnipresent bohemoth capable of blowing away human chess champions. If you see a Blue Screen, it not only means you've been attacked -- you've already lost the war. Blue means death. (variants: Blue Screen of Death, Deep Blue). Outdated: "Big Blue" used to mean menacing emperor. But the vanguard of menace has passed on to four innocuous pastel shades arranged on a square flag pattern.
Constructor method - (In C++) a method you have to write. (in Java) a method you shouldn't write. In Java if you leave it alone, the constructor will automatically instantiate your object for you with no additional work on your part. But if you try to put code into the constructor, you'll probably screw it up (see super()).
C++ - The language with the 10,000 words that all mean zero. C++ is truly the Tao and Zen of software. Also poetically:
frost.h
#SOUND EQUATE 0;
#FURY EQUATE 0;
int sound = 0;
int fury = 0;
sound =null;
fury =null;
sound = (int) new CString("").sizeof();
fury = sound>0 $ 0,sound;
Data Dictionary - an excellent cynversion of the word "dictionary." A table that defines where data comes from but not where it's used, how to use it, or what it means - which is after all what a dictionary is supposed to do. That's why your reading this one instead (evil grin).
Desktop - a flat surface you can no longer see because it's now completely covered over by your 21" monitor.
Design Pattern - any development technique that when cataloged in a book by the Gang of Four will almost never be reused - at least not in the Real World. Patterns that are constantly reused in the Real World include:
Rearranging the Deck Chairs on the Titanic - nearly self explanatory - allocating resources to fix irrelevant details while the rest of the project sinks into a bottomless abyss.
The Kobiashi Maru - This is a most common real world design pattern - an impossible project that can't be completed successfully. Originating from from a Star Trek movie, it was much better exemplified in a later movie in which there a ficticious "Mr. Kobiashi" who was responsible for a lot of mayhem. Kobiashi disappeared and the blame was assigned instead to "the Usual Suspects" - you know who you are.
I'm going to DisneyLand - an unusual variant pattern of the doomed project in which management dresses up in mouse costumes and feeds candy and ice cream to the programmers in hopes of increasing productivity.
Looking at the future through Rose Colored Concrete Blocks. Assuring management of the outcomes of plans they have already committed to. Similar to the the Titanic pattern above, except that the entire project, in fact all the projects are doomed - but nobody's allowed to know that.
HTML - HyperText Mark-up Language - a laborious way of placing information into a web page that is so fixed and unchangeable that to do anything useful it forces web designers to put text information into graphic images.
Interface - (in Java) a kind of syntactical sugar introduced into the Java language to keep you from worrying why you don't get to use multiple inheritance.
Java - A low-level language like C/C++ but with none of the complexity nor the commeasurate performance of a low-level language.
JavaDoc - 1) A person to whom you take your spagetti code to have it refactored. 2) A bland HTML page that is supposed to explain how to use your program - but is generally meaningless except to a JavaDoc.
J++ - See: "abandonned step child."
Larry Ellison - a former Amdahl employee who decided to build up a small database business when Amdahl didn't want to build a database.
Microsoft - combining the qualities of small and soft, into a complete cynversion. Microsoft actually means big and hard.
Network Computer - not a real computer, the Network Computer was actually a proposed legal fiction created for the purposes of attacking Microsoft in an anti-trust case for "raising the entry barrier." In theory, the Network Computer would be very inexpensive because it would have no disk drives. In fact, it also would also need no keyboard and no mouse - just a bunch of infomercials streaming at you to buy products -- like the Home Shopping Network on steroids. Also In theory computer users are "consumers."
Network Manager - a system designed to report on the health of the Network Manager. If the Network Manager goes down it sends out an alarm: "Network Manager Not Responding." And when that doesn't even happen, you know you've gotta do something right away.
Obfiscation - A way of making your code unreadable by other programmers - as if it isn't already. See also JavaDoc.
Object-oriented programming - a kind of programming in which the programmer must constantly be re-oriented toward the object of his/her work.
ODBC - Open DataBase Connectivity - a way of connecting to a database. ODBC is actually not really open since it generally can only be used by a Windows program - as opposed to JDBC (Java DataBase Connectivity) - at least we know what that one is for.
Oracle - Derived from the Oracle of Delphi who could express two complete opposites in one saying. The leader and dictator of good taste in all things database. Also, the first to try and completely fail at any non-database project (see Network Computer).
Post PC Era - Sure Mr. McNealy. You wish.
RFC - an acronym meaning Reasons For Chaos. One of a series of 8,000 IETF documents (in no particular order). Each document can contain one of the following:
1) Absolute requirements you must deal with to make your system run,
2) Obsolete specifications that has been superceeded some other document 6,000 RFCs later, or
3) Someone's pie in the sky idea of just how well things would run if someone - or everyone - would simply pay attention and implement the previous 7,000 RFCs on which this one is based.
SNMP - Formerly thought to be a network control method known as "Simple Network Management Protocol", SNMP actually allows networks to manage people. Anyone who is given the task of "using" SNMP" must first read pass a rigorous test that involves purchasing at least 20 books on the subject, reading 50,000 web pages and downloading 3 dozen SNMP software packages that all have to work together. The fact that there are so many SNMP web documents is one of the reasons that SNMP can't manage it.
The only uncynverted word in SNMP is the word "network." The word "simple" has been cynverted to mean utterly dumfoundingly complicated. "Management" means "unmanageable" and "protocol" means "chaos." When taken, SNMP creates a dillusion that the network is under control when it's really controlling you. Thus SNMP is actually a halucenogenic drug which correctly translated means "Spagetti Network Mangling Potion."
SQL - Structured Query Language. A loosely defined language created to make it difficult for you to produce charts, crosstabs and summary reports from a database.
Security, SSL (Secured Socket Layer) - The illusion that unauthorized persons can not read your data - created by dedicating large quantities of computer time to the process of the factoring large numbers. The thought that this would work is derived from an ancient Chineese proverb "There is security in large numbers."
Sun Microsystems - the manufacturer of the term "Post PC era" (see Rose Colored Concrete Blocks under Design patterns).
Threshold - a known quanity of pain that can be endured by network operators before the IBM or HP engineer declares that the Node Management program finally works (or will never work).
super() - that which differentiates object orientation in Java vs. C++ In C++ there is no such thing as a super() method so you can't refer to the direct parent class. In Java, however not only does super() exist, but you better use it or instantiation may not happen! Isn't that super()?
UML - Unidentified Modeling Language - like art itself, a language without words. UML instead consists a set of vaguely defined boxes and lines that a bunch of modeling theorists have agreed on. UML can be used to create a diagram which your manager will agree is absolutely essential but non the less gives him/her no idea what you're doing.
Windows - 30 to 50 megabyte library of resident subroutines that exist so you can run the Excel spreadsheet program.
XML - Excessive Mark-up Language - an intermediate notation in which to store web data so that it can't be properly displayed by an Internet browser.