the commented hacker test languages: [english] [русский]
The Hacker Test is a famous old purity test-style questionnarie, filled with computer-related jokes, known well to the hackers (in the old sense of the word - people who know computers very well, but not because they are paid for it)
The Hacker Test is old, and many (if not all) jokes are not recognized by the new generation. So I am putting online the version of Hacker Test with comments and explanations for those jokes that I myself understand.

If you see something I wrote wrong or missed out - let me know!

THE HACKER TEST - Version 3.0

Herewith a compendium of fact and folklore about computer Hackerdom,
cunningly disguised as a test.
This test was conceived and written by Felix Lee, John Hayes and Angela
Thomas at the end of the spring semester, 1989.  It has gone through
many revisions prior to this initial release, and will undoubtedly go
through many more.


Scoring - Answer 'yes' for each item that you have done, or each
question that you can answer correctly.

If your score is between:   You are:
        0x000 and 0x010    Computer Illiterate
        0x011 and 0x040    a User
        0x041 and 0x080    an Operator
        0x081 and 0x0C0    a Nerd
        0x0C1 and 0x100    a Hacker
        0x101 and 0x180    a Guru
        0x181 and 0x200    a Wizard

Note: If you don't understand the scoring, stop here!
The point is, of course, that even hacker wannabies must know and understand hexadecimal numbers. This is the basic prerequisite.
And now for the questions...

Have you ever used a computer?
 for more than 4 hours continuously?
 for more than 8 hours?
 for more than 16 hours?
 for more than 32 hours?
It is not uncommon for a hacker to use a computer for over a day non-stop. I did that and I know many people who did that as well.
Have you ever patched paper tape?
In the 70's some computers used a teletype as an input device. The programs were punched on paper tape. If you made a mistake, you had to punch corrections on the patch paper tape.
While programming, have you ever missed a class?
 Missed an examination?
 Missed a wedding?
 Missed your own wedding?
Programming *is* that important to hackers :)
Have you ever programmed while intoxicated?
 Did it make sense the next day?
There are many jokes running around about awesome programs created when drunk, programs that work and produce legitimate results, but their source code cannot be comprehended by a sober person.
Have you ever written a flight simulator?
A common, but quite difficult and time-consuming test of programming ability. - thanks to Jason Antman
Have you ever voided the warranty on your equipment?
Many older machines and components had warranties that would be voided on modification. This is especially noteworthy if the system isn't *yours*. - thanks to Jason Antman
Ever change the value of 4?
 In a language other than Fortran?
This refers to a well-known pitfall in FORTRAN. Every parameter is passed to subroutines by reference. If you pass a constant (such as 4) into a subroutine, then inside the subroutine you are allowed by the compiler to modify the value of that parameter. Depending on the compiler and platform, you will either crash immediately or modify the value of 4, so that all following calls to subroutines with "4" as a parameter will use the new value! I don't know if other languages had a similar problem, but I heard there were cases.
Do you use DWIM to make life interesting?
DWIM stands for 'Do What I Mean'. It is a concept of guessing what the user wanted to type when they make typos. Read the Jargon File entry to learn what happens when this principle is applied to operating systems.
Have you named a computer?
We all name computers now, when they are being set up for Internet. Yes, this is going back to the old days, especially when there were few machines and they weren't really networked (central terminal servers). This is referring to, instead of saying "The VAX", instead saying "Alice" or "Jane". It could also refer to programmers who gave their machines female names, i.e. I spent my weekend with Jane, referring to my system. Thanks to Jason Antman for clarification.
Do you complain when a "feature" you use gets fixed?
This is about one of those undocumented features hackers use in their programs which seem to be able to do things no one else can. Until the new release of the OS.
Do you eat slime-molds?
Slime-mold is a type of food in Nethack, which is a wonderful computer game.
Do you know how many days old you are?
It is fascinating to know that.
Have you ever wanted to download pizza?
No idea if there's a reference here
Have you ever invented a computer joke?
 Did someone not 'get' it?
There were plenty of computer joke programs circulating the Fidonet and BBSes. They would cause all sort of harmless effects, like flipping the screen upside-down, sending animated waves through the lines of the pseudo-graphic characters on the screen, etc. Sometimes they would cause unsuspected victims to freak out.
Can you recite Jabberwocky?
This is, of course, a poem from Alice in Wonderland. At one time I'd learned to recite it backwards for the sake of this test, but I have no idea if this is noteworthy for some other reason.
Have you seen "Donald Duck in Mathemagic Land"?
This 1959 cartoon was the first Disney color cartoon to appear on television. IMDB entry. It prompted a great number of kids to learn more about number theory and algebraic geometry.. They were kids in 1959, they created the entire IT industry in the 80's.
Have you seen "Tron"?
And this 1982 movie, also from Disney, is, of course the first movie with computer graphics (IMDB entry) It is based on a popular arcade video game, and the main character is, in fact, a hacker, who enters the world of computer programs. Inspiration to countless movies and stories ever since - think The Matrix.
Have you seen "Wargames"?
A 1983 movie (IMDB entry). Many say it is the best movie about hackers made so far.
Do you know what ASCII stands for?
This is the 7-bit encoding of alphanumeric and control characters which managed to dominate the computer world, probably because of the cool way it handles the differences between lowercase and uppercase characters (one bit difference). It is ANSI X3.4 and it stands for American Standard Code for Information Interchange
This is the 8-bit encoding of alphanumeric and control characters which was ASCII's rival for the longest time, supported by IBM. EBCDIC is more suitable for punch cards than ASCII, but loses in everything else. Stands for Extended Binary Coded Decimal Interchange Code.
Can you read and write ASCII in hex or octal?
Few people need to, really. But if you can, you get the point.
Do you know the names of all the ASCII control codes?
Most of these are obsolete or rare (except for HT, CR, LF, and SPC of course), but it's cool to remember their names. From 00 to 32 (decimal): NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT, FF, CR, SO, SI, DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EM, SUB, ESC, FS, GS, RS, US, SPC
Can you read and write EBCDIC in hex?
Can you convert from EBCDIC to ASCII and vice versa?
Do you know what characters are the same in both ASCII and EBCDIC?
Only these: NUL, SOH, STX, ETX, VT, FF, CR, SO, SI, DLE, DC1, DC2, CAN, EM, FS, GS, RS, US
Do you know maxint on your system?
maxint is the largest integer number that the system can work with. Adding one to this number causes overflow. Of course now most compilers support more than one integer type (at the very least, signed int and unsigned int)
Ever define your own numerical type to get better precision?
Programmers used to do this a lot before decent bigint libraries appeared
Can you name powers of two up to 2**16 in arbitrary order?
 up to 2**32?
 up to 2**64?
Powers of 2 are used so much in programming that we tend to memorize them. Although 2**64 is a bit extreme.
Can you read a punched card, looking at the holes?
 feeling the holes?
Considering this is 2006 now... I guess I should say that punched cards were pieces of thin cardboard, rectangular in shape, with one corner cut off, and computer programs were written on them by punching holes. They were also everybody's bookmarks and post-it notes. No, nobody had to read them by hand (or eye), but I am sure some hackers could.
Have you ever patched binary code?
 While the program was running?
All sort of cheat tools do this for computer games even now.
Have you ever used program overlays?
When memory was limited, big programs were written using overlays, which was essentially user-managed memory swapping. Once your procedure is done and won't be needed anymore, you read from disk another piece of code and overwrite the finished procedure in memory.
Have you met any IBM vice-president?
Don't know how this is important
Do you know Dennis, Bill, or Ken?
I think the test meant Dennis Ritchie, Bill Joy (thanks to Allan Hessenflow for the correction!), Ken Thompson
Have you ever taken a picture of a CRT?
Yes, that is how we did screenshots in the old days
Have you ever played a videotape on your CRT?
And sometimes a CRT doubles as your TV.
Have you ever digitized a picture?
I thinks it may refer to actual scanners, which were rare, but I hear this may be referring to compiling, by hand, an ASCII replication of an actual image, usually a portrait. - thanks to Jason Antman for the ascii art version.
Did you ever forget to mount a scratch monkey?
See the Jargon File entry on this one
Have you ever optimized an idle loop?
This story resurfaces every once in a while, but I think it's an urban legend. The story would have a hacker or group of hackers fixing problems in the OS's idle loop which would improve its performance. This is the result of a flawed syllogism: A: The procedure where the program spends most time must be optimized. B: The OS spends most of the time in the idle loop. C: Idle loop must be optimized. The most recent one is OpenBSD idle loop fix from 2005 which actually may not be a joke.
Did you ever optimize a bubble sort?
Bubble sort is a well-known example of a sorting algorithm which is slow by design. Optimization generally will not make it run faster than quick sort or radix sort. However, there are special cases (usually, on small or specifically ordered data sets) where it is possible.
Does your terminal/computer talk to you?
Two theories on this one so far. One is that It is referring to the earliest text-to-speech synthesizers. The second, and more likely, is the idea of having a machine interface using english sentences and a real-world name instead of username. i.e. instead of logging in as root and displaying uptime, my machine says "Good [morning/afternoon/evening] Jason. I have been up for [uptime]". - thanks to Jason Antman for both theories!
Have you ever talked into an acoustic modem?
 Did it answer?
Acoustic modem is a type of modem which is not connected to a phone line. Instead, it has a speaker and a microphone, on which you can put your regular phone, and the modem will "talk" into it.
Can you whistle 300 baud?
 1200 baud?
Since modems used audible sounds, people joked about initiating connections using your own voice. I personally managed to whistle a carrier more than once, but of course I couldn't transmit any data. Not sure what baud rate it would be if I did.
Can you whistle a telephone number?
This would be an awesome skill to have - imagine picking up the phone and whistling a number into it, instead of touching the buttons. Too bad DTFM is not as simple as a regular whistle.
Have you witnessed a disk crash?
This refers to the crash of disk heads on a disk pack, resulting in a very bad smell as the friction between the rapidly rotating disk platters and the heads scrape the oxide off -- thanks to Comet, who witnessed one
Have you made a disk drive "walk"?
This is a truly awesome hack, described in this Jargon File entry. Writing programs that make your antique stand-alone hard drives race each other on the floor by causing them to vibrate in set patterns.
Can you build a puffer train?
 Do you know what it is?
A puffer train is a type of a construct in Conway's Game of Life and other cellular automation systems. It is moving like a spaceship, but leaves debris behind. This also makes it an infinitely growing construct.
Can you play music on your line printer?
 Your disk drive?
 Your tape drive?
Hackers were able to force all sorts of devices to play music by making them move their moving elements (printer or drive head) at different speeds and with different timing. A more modern version of this hacker fun is making your scanner play music.
Do you have a Snoopy calendar?
 Is it out-of-date?
This refers to famous series of ASCII art. Here's 1969 and 1988. Hackers would print it out on line printers and hang on the wall.
Do you have a line printer picture of;
More ASCII art images which could be printed on a line printer. Some of these were simple ASCII text files, some used overstriking, where carriage return would be issued without a line feed, and a new line of characters would be printed on paper over the previous line.
 Woody Allen?
Woody Allen (1935-) the american film director. (I don't have an old picture for this one)
 the Mona Lisa?
Mona Lisa by Leonardo da Vinci. This and the following three ASCII files were copied from DECUS Poster Collection gathered by Comet
 the Enterprise?
U.S.S. Enterprise from Star Trek
Albert Einstein (1879-1955)
Oliver Wendell Jones from the comic strip Bloom County, a young computer hacker and gifted scientist, having invented a miracle hair-growth formula, among other things. He once tried to bring an end to the Cold War by introducing onto the front page of Pravda the headline, "Gorbachev Urges Disarmament: Total! Unilateral!", but faulty translation caused the headline to read, "Gorbachev Sings Tractors: Turnip! Buttocks!" He has a fairly extensive criminal record as a result of his numerous computer pranks. -- thanks to Comet, I had no idea
Have you ever made a line printer picture?
Have you ever had your face on a line printer picture?
It takes some effort to convert a raster image into characters for the line printer, especially if overstriking is used (unless you have a program that does it for you)
Do you know what this stands for?
Direct Access Storage Device (hard drive on mainframes)
Editor MACroS. (or Escape-Meta-Alt-Control-Shift :) The (in)famous editor program
Incompatible Timesharing System (an OS for PDP-10)
Resource Sharing Time Sharing Extended (an OS for PDP-11)
Systems Network Architecture (IBM's network protocol stack)
Simultaneous Peripheral Operations Off Line (technique for sending unit record I/O to tape or (later) disk, instead of card or print devices, so that it would be printed on a cheaper I/O machine, not wasting the time of the number cruncher. It appeared on DOS POWER (Disk Operating System Priority Output Writers Executors and Readers) on IBM 360(thanks for James C Field who used that!)
Transmission Control Protocol / Internet Protocol (duh)
Have you ever used;
(editor, not turbo pascal unit)
 Xedit (in VM/CMS)?
All these things are text editors. TPU was on VMS, TECO was absolutely everywhere starting with PDP-1 and until the rise of vi, Emacs is still widespread and famous, ed is the original standard Unix system editor, vi is the new standard Unix system editor, Xedit was, as the test said, on VM/CMS, SOS was on PDP-10, EDT was on PDP-11 and VAX, WordStar was on CP/M and DOS.
Have you ever written a CLIST?
CLIST was a programming language (similar to batch files or shell scripts) for IBM mainframes running MVS/TSO
Have you ever programmed in;
 the X windowing system?
X is very much alive on any Unix dialect even now. CICS is IBM Mainframe's "Customer Information Control System" It is also alive.
Have you ever received a Fax or a photocopy of a floppy?
I remember hearing stories of computer illiterate people sending floppies by fax.
Have you ever shown a novice the "any" key?
 Was it the power switch?
And this is another famous computer dummy question and the famous response
Have you ever attended;
These are computer-related conferences. See or for example.
Have you ever participated in a standards group?
It's cool to be in one, it's one place where it's good to be argumentative and stubborn. And then you can have a bragging right of having been a part of computer history.
Have you ever debugged machine code over the telephone?
I've done it and it can be frustrating
Have you ever seen voice mail?
 Can you read it?
This refers to debugging computer-based PABX/voicemail systems. In essence, looking at the code of the recorded messages. - thanks to Jason Antman, I had no idea.
Do you solve word puzzles with an on-line dictionary?
These days we google the puzzles.
Have you ever taken a Turing test?
 Did you fail?
Turing test is when a machine and a human communicate to the judge and the judge is trying to tell which one is human. If the machine can be more human than a human can, it wins. The prize is 100 thousand dollars, by the way.
Ever drop a card deck?
 Did you successfully put it back together?
 Without looking?
A program punched on punch cards can take up hundreds or even thousands of individual cards. If you dropped the deck, putting it back together will take forever, unless you have a card sorting machine and your cards have card numbers punched in positions 73-80. And to sort without looking at the cards' numbers, you have to be able to read the holes with your fingers! (unless you have the sorter, you don't have to look at the sorter as it works)
Have you ever used IPCS?
I suspected Intel Parallel Computer Systems (for no good reason, just because it fits the abbreviation), but Comet wrote to me suggesting that it stood for Inter-process communication system used back then for programs like TALK and PHONE, such as for having multiple people online on the same multiuser system be able to interactively chat. Although the ACM reference abbreviates it as the more familiar IPC.
Have you ever received a case of beer with your computer?
Cray Supercomputers used to ship with a case of Leinenkugel's beer. Cray is located in Chippewa Falls, Wisconsin -- where Leinenkugel's Brewery is located. The Cray-2s had a box that was refrigerated as part of the cooling structure and it fit a case of beer perfectly. Apparently people used to put their bag lunches in there too when they would come into work. -- thanks to nyxgeek whose buddy used to work there
Does your computer come in 'designer' colors?
This, like the previous question, may be referring to Cray as well
Ever interrupted a UPS?
*uninterruptable* power source
Ever mask an NMI?
*non-maskable* interrupt (and yes, it can be masked on some systems)
Have you ever set off a Halon system?
 Do you still work there?
Have you seen the movie Terminator 2? Halon fire extinguishing system is set off when they blow up a wall in Cyberdine systems. Basically, it releases a gas which interrupts the chemical reactions which take place while things burn. Halon is no longer used, because it is extremely corrosive.
Have you ever hit the emergency power switch?
Another nightmare of system administrators. This happened to LiveJournal in 2003 I think, when a guest turned down the entire building's power thinking it was a light switch.
Do you have any defunct documentation?
 Do you still read it?
Naturally we all accumulate documentation, and docs on some of the outdated programs can be interesting or even useful.
Ever reverse-engineer or decompile a program?
 Did you find bugs in it?
Reverse-engineering is a basic skill all hackers posess.
Ever help the person behind the counter with their terminal/computer?
It happens.. although it's not always good to show the person behind the counter that his clients are more computer-literate.
Ever tried rack mounting your telephone?
19-inch rack is where most server rooms keep their computers. Adding a phone there seems only natural, although normal phones do not come rack-mountable and would have to be modified. There are mountable telephone systems for ETSI (23-inch) racks, but the question says "tried". In my server room, the phone just sits loose on top of some rack-mounted module. -- thanks to Comet for reminding me that it takes effort to mount a phone!
Ever thrown a computer from more than two stories high?
Especially satisfying if it runs software you hate...
Ever patched a bug the vendor does not acknowledge?
This happens once in a while, especially now with all the free software where the authors have no time or desire to fix bugs.
Ever fix a hardware problem in software?
 Vice versa?
Yes, it is possible both ways.
Ever belong to a user/support group?
They mean groups such as USSG (unix systems support group) and LUG (linux user group)
Ever been mentioned in Computer Recreations?
This was a part of Scientific American in the 80s
Ever had your activities mentioned in the newspaper?
 Did you get away with it?
This refers to hacker activities that cause problems worthy of newspaper mention. They will never mention any good things you know.
Ever engage a drum brake while the drum was spinning?
Drum memory predates me by a lot - it's from the 1950s. Apparently it would lead to large scale physical damage. Thanks to Duncan Smith for confirming this.
Ever write comments in a non-native language?
Foreign programmers like me do it all the time.
Ever physically destroy equipment from software?
There are urban legends of viruses that burn out computer monitors (by focusing the beam in one pixel), that break the hard drive's heads (by moving them back and forth in resonance), that raise voltages on the motherboard... I don't think any of those were true, but there are many specific situations where software can destroy hardware: if you are controlling a robot, you will have no problem destroying equipment, or other robots. If your CPU has no overheating protection (I am talking about you, AMD), you may be able to turn off the fans through BIOS and overload it. Certain old line printers could be broken by sending reverse form-feeds. A walking hard drive could be programmed to walk off a cliff... Also, see HCF. Thanks to Duncan Smith for the robots and HCF reminder and to Comet for overheating, printers, and walking drives.
Ever tried to improve your score on the Hacker Test?
A common question on all Purity Tests.
Do you take listings with you to lunch?
 To bed?
Actually, to bed is more common with me, it's a lot more comfortable to read.
Ever patch a microcode bug?
 around a microcode bug?
Microcode is a low-level program that runs inside hardware, such as a hard drive. To patch a bug there, you have to be able to rewrite microcode, which is often impossible, so people normally do patch around the bug, for example in the device driver. Older meaning of "microcode", such as used on PDP and VAX, referred to the code executed on the early stages of system startup, what is now called "bootstrap code". Patching that microcode is like rewriting BIOS on a modern day PC. -- thanks to Comet who remembers what "microcode" used to mean.
Can you program a Turing machine?
Turing machine is a basic symbol manipulating device which plays an important role in computer science because it is just complex enough to simulate any computer ever to be produced. If you studied computers seriously, you have to know this.
Can you convert postfix to prefix in your head?
Postfix notation is arguments before the operator (2 3 +), also known as RPN and used in Forth. Prefix is arguments after the operator (+ 2 3), as used in lisp. Converting it back and forth is a trivial programming excersize, but it's hard to do in your head for a complex example.
Can you convert hex to octal in your head?
These are the two common bases for representation of the numbers, although now hex is used almost exclusively. It's not hard to convert in your head: imagine your number in binary and regroup the binary digits: four digits make one hex digit, three make one octal.
Do you know how to use a Kleene star?
It is an operator used in mathematical logic. It is applied to a set of characters or a set of strings and produces an infinite set of all strings that can be composed by concatenating zero or more strings (or characters) from the original set.
Have you ever starved while dining with philosophers?
The Dining Philosophers problem is a classic problem on multi-process synchronization. Five philosophers sit on the table ready to eat spaghetti and there's one chopstick (or fork) between each. To eat, a philosopher needs two chopsticks. If all of them at the same time grab the chopstick on the right, they will all deadlock and starve. It was first presented by Dijkstra in 1971.
Have you solved the halting problem?
The Halting Problem is a problem from computation theory and is proven to be unsolvable in general case (for a Turing Machine with infinite memory or input). In case you don't know, it says: "Given a description of a program and its initial input, determine whether the program, when executed on this input, ever halts (completes)." It was proven to be undecidable in 1936 by Alan Turing. However it is solvable for machines with less than four states. -- thanks to Comet who knows when it can be solved
Ever deadlock trying eating spaghetti?
Another reference to the Dining Philosophers problem.
Ever written a self-reproducing program?
This could refer either to viruses, which reproduce executable copies of themselves, or to quines, the programs that produce the source code of themselves as their output. -- Comet reminded me of quines
Ever swapped out the swapper?
Swapper is the program (and OS component) responsible for writing to disk the currently sleeping processes that are taking up memory, and bringing them back up when needed. Making it possible for the swapper to swap itself out is a classic mistake.
Can you read a state diagram?
 Do you need one?
There are so many types of state diagrams used in programming now that I am not sure what is the Test referring to.
Ever create an unkillable program?
Unkillable program is, obviously, a program that cannot be stopped by the OS without rebooting. Different OSes at different times allowed for different approaches to this task.
Ever been asked for a cookie?
These days every other web server asks your computer for a cookie. It used to be any sort of a transaction ID. This originates from the program "cookie" written in 1970 for Multics operating system by Christopher Tavares, and which was sometimes considered to be the first computer virus, even though it did not self-reproduce and would be better classified as a computer prank today. Read the story in the creator's own words. Thanks to Mark Cooper for pointing out the 1970 story and to Comet for linking me to the explanation.
Ever speed up a system by removing a jumper?
This is still done by a lot of gamers who change the jumper settings on the motherboard to speed up the CPU. It is called overclocking.
Do you know;
 who wrote Rogue?
 who wrote Rogomatic?
Rogue is a cornerstone classic computer game and Rogomatic is a program written to play it. Rogue was written in 1980 by Michael Toy, Glenn Wichman, and Ken Arnold. Rogomatic paper was published in 1984 by Michael L. Mauldin, Guy Jacobson, Andrew Appel and Leonard Hamey
Do you know Gray code?
Gray code (patented in 1953) is a sequence of binary numbers where every two successive numbers differ in only one bit. Imagine a device where numbers are stored as mechanical switches, changing from 011 to 100 requires flipping three of them at exactly same time. in Gray code after 011 we get 010.
Do you know what HCF means?
 Ever use it?
I thought this refers to Halon again, but this really is a reference to the assembly language mnemonic Halt and Catch Fire, thanks to Allan Hessenflow for the correction! This was an urban legend until Motorola 6800 actually included this mnemonic for a manufacturer testing mode.
Do you know what a lace card is?
 Ever make one?
This is a punch card with all holes punched. These were used as practical jokes because they jammed the card readers, driving the operators crazy. Also, card punchers wouldn't let you make one.
Do you know the end of the epoch?
 Have you celebrated the end of an epoch?
 Did you have to rewrite code?
End of an epoch is when the OS internal clock overflows. For example, most current Unix-style systems maintain a 32-bit unsigned integer couting the number of seconds since midnight, January 1st, 1970. All these systems' time will overflow at 03:14:08 GMT on January 19th, 2038, thus the end of the epoch in Unix is 19-Jan-2038 03:14:07 GMT (the last valid timestamp). Rewriting code refers to having to modify the programs to work around the overflow or to update the OS itself.
Do you know the difference between DTE and DCE?
They are the two types of devices in the terminology of serial communications. For example, your modem is a DCE (Data Circuit-terminating Equipment), and your computer is a DTE (Data Terminal Equipment).
Do you know the RS-232C pinout?
 Can you wire a connector without looking?
RS-232 is, of course, the serial communication standard from middle ages, still very much alive and well. Those 9-pin and 25-pin connectors in the back of your computer are RS-232, and their pinouts is something most hardware engineers know by heart.
Do you have;
 a copy of Dec Wars?
A classic 1983 usenet post - see the Hacker's Jargon entry. "A long time ago, on a node far, far away (from ucbvax), a great Adventure (game?) took place..."
 the Canonical Collection of Lightbulb Jokes?
The canonical list was gathered by Kurt Guntheroth and published in 1988 in rec.humor.funny -- thanks to Comet, again!
 a copy of the Hacker's dictionary?
  Did you contribute to it?
Now alive on, this is a must have!
 a flowchart template?
  Is it unused?
These are plastic stencils with flowchart symbols on them, common in Computer Science classes in the 80's. Thanks to Duncan Smith and Mark Cooper for this explanation.
 your own fortune-cookie file?
Fortune-cookie files come with unix-like operating systems and some interactive communications. Whenever a user logs on or (in older systems) logs off, a funny saying is chosen from that file at random. Cool admins would compile their own files. A similar practice existed in messaging (Usenet, E-mail, BBS Netmail) where a random one-liner known as "tagline" would be automatically selected from a file and appended to the message you wrote. -- thanks to Comet for the link to taglinesgalore
 the Anarchist's Cookbook?
  Ever make anything from it?
It's a book that teaches you how to pick locks, turn bleach into bombs, etc
Do you own;
 a modem?
 a terminal?
 a toy computer?
 a personal computer?
 a minicomputer?
 a mainframe?
 a supercomputer?
 a hypercube?
 a printer?
 a laser printer?
 a tape drive?
 an outmoded peripheral device?
All sort of things hackers could own. Note that hypercube is not a geometric object, it is a type of a supercomputer.
Do you have a programmable calculator?
 Is it RPN?
Older programmable calculators used a Reverse Polish Notation (RPN). As in, to add 2 and 3 you would press 2, up, 3, up, plus, execute. Some HP calculators use this even today. - thanks to Hallvor Engen who knows his HP calculators.
Have you ever owned more than 1 computer?
 4 computers?
 16 computers?
Classic image of a hacker in a basement, surrounded by computers :)
Do you have a SLIP line?
 a T1 line?
SLIP is a way of establishing IP (internet) connections over serial lines, mostly forgotten because of more versatile PPP. T1 is a type of a dedicated internet connection. This refers to hackers, wiring their basements as if they were computer companies.
Do you have a separate phone line for your terminal/computer?
 Is it illegal?
Naturally, if you're connecting over the phone, others in the household will nag on you for not being able to call, untill you get a second line. No matter how.
Do you have core memory?
 drum storage?
 bubble memory?
Core memory was small magnetized ferrite rings (the RAM of the 50's), drum storage were fixed-head disks (the HDD of the 50's). Bubble memory was a peculiar short-lived design from 1981, where data, written in form of magnetic domains, would move on a stationary disk, as opposed to disks moving with stationary data on them, as on regular hard disks.
Do you use more than;
 16 megabytes of disk space?
 256 megabytes?
 1 gigabyte?
 16 gigabytes?
 256 gigabytes?
 1 terabyte?
Nowadays even regular users use terabytes easily.. Back then 16 megabytes was huge.
Do you have an optical disk/disk drive?
I guess they mean the magneto-optical disks, which look roughly like your diskette, but hold from 100M to several gigabytes of data, or it could also refer to the early CD-ROMS. - thanks to Jason Antman for CD-ROM suggestion.
Do you have a personal magnetic tape library?
 Is it unlabelled?
Magnetic tapes were used for data storage since the 70's. They used to be both expensive and have a very large amount of storage for the average user. The beginning of the tape contained a data structure called the label, describing block sizes etc. Unlabeled tapes were used primarly (exclusively?) for system bootstrapping -- thanks to Jerry Coffin for clarification
Do you own more than 16 floppy disks?
 64 floppy disks?
 256 floppy disks?
 1024 floppy disks?
Now this can use that to measure your obsession with retrocomputing.
Do you have any 8-inch disks?
They were not used on regular PCs, but they are great for wall decorating. I still own a dozen or so.
Do you have an internal stack?
Some CPUs had internal stacks, for example the 8008
Do you have a clock interrupt?
And most systems have a clock interrupt.
Do you own volumes 1 to 3 of _The Art of Computer Programming_?
This is the absolute unquestionable must-read for any computer programmer!
 Have you done all the exercises?
Some of the excersises in Knuth's books are intentionally unsolvable.
 Do you have a MIX simulator?
MIX is the fictitious assembly language used by Knuth. There exist many simulators for it, and gcc can compile C programs into MIX.
 Can you name the unwritten volumes?
What is funny, the unwritten volumes remain unwritten now, 30 years later. And Knuth still promises to write them any time now.
Can you quote from _The Mythical Man-month_?
Another beautiful book you all should read one day. Pick up the new 20th anniversary edition.
 Did you participate in the OS/360 project?
Brooks was running that project.
Do you have a TTL handbook?
TTL (transistor-transistor logic) is the standard on digital integrated circuits, started in 1962.
Do you have printouts more than three years old?


Do you have a job?
 Have you ever had a job?
 Was it computer-related?
Do you work irregular hours?
Have you ever been a system administrator?
Do you have more megabytes than megabucks?
Just your stereotypical hacker portait
Have you ever downgraded your job to upgrade your processing power?
Is your job secure?
 Do you have code to prove it?
Have you ever had a security clearance?
The code to prove your job secure may be one of the two things: A) malicious code that allows the company to operate only while your name is on the payroll register, thus "securing" it perfectly and B) You're the only person that can maintain the mission-critical code. - thanks to Jason Antman and Duncan Smith.
Have you ever played Pong?
Pong was the first video game, from 1972, where each player moves a paddle up and down, protecting their score zones from a bouncing rectangular ball. You all know what it looks like.
Have you ever won Pong?
I've never played the original, but all the later clones I've seen were quite winnable.
Have you ever played;
This is the first computer game - it was designed in 1962 and played on PDP-1. It was a multiplayer space combat simulation based on Lensman novels.
 Star Trek?
Text game created in 1971 and written in BASIC. Clones of this game have been written for virtually everything (I played it on PC). If you see an 8x8 grid with stars, Romulans, and Klingons - that's it.
Properly called Hunt the Wumpus, this 1972 text game was also originally written in BASIC by Gregory Yob. It is an adventure-type game where the player moves through a dangerous maze, trying to shoot Wumpus without getting caught by it and avoiding bottomless pits.
 Lunar Lander?
The first Lunar Lander game appeared in 1973 on PDP-11. There you are trying to make a safe landing, using the game's telemetry data and running on a limited amount of fuel.
A 1977 strategic wargame for PDP-10, later ported to VAX and DOS (as "Empire: Wargame of the Century"), with the 90's sequel "Empire Deluxe"
Have you ever beaten;
 Moria 4.8?
 Rogue 3.6?
 Rogue 5.3?
 Hack 1.0.3?
 Nethack 2.4?
All these are rogue-like computer games. Any rogue-like is very hard to beat without cheating (restoring from a saved game is cheating).
Can you get a better score on Rogue than Rogomatic?
Rogomatic is a program that plays Rogue. It is not unbeatable, but you do have to be an expert.
Have you ever solved Adventure?
Adventure (1975) and Zork (1977) are very famous text adventure games, still enjoyed and played today.
Have you ever written any redcode?
Redcode is an assembly-like programming language in which the bots for Core Wars are programmed. Core Wars is a simulated environment in which user-written computer programs fight to the death.
Have you ever written an adventure program?
 a real-time game?
 a multi-player game?
 a networked game?
Writing games is the next logical step after playing them!
Can you out-doctor Eliza?
Eliza is a psychotherapist simulator program from 1966.
Have you ever used a light pen?
 did you build it?
Light pen was a pointing device which could be used to directly touch the monitor, to draw on the screen, point to objects, etc, just like with a stylus or a finger on modern touch-screens. It was easy to make, it was only a photo-sensor which reacted to the CRT refresh and sent an interrupt to the computer. The driver would calculate the position of the pen based on refresh timing.
Have you ever used;
 a teletype?
 a paper tape?
 a decwriter?
 a card reader/punch?
 a SOL?
I don't know what SOL is, but the rest are old input/output devices.
Have you ever built;
 an Altair?
 a Heath/Zenith computer?
Altair was a do-it-yourself computer kit sold in 1975, based on Intel 8080 CPU. Heathkit H-8 was a 1977 do-it-yourself computer kit from Heath/Zenith.
Do you know how to use;
 an oscilliscope?
 a voltmeter?
 a frequency counter?
 a logic probe?
 a wirewrap tool?
 a soldering iron?
 a logic analyzer?
Lots of hackers made or modified their own hardware.
Have you ever designed an LSI chip?
 has it been fabricated?
Stands for Large Scale Integration, the type of microchips produced in the 70's (between MSI and VLSI)
Have you ever etched a printed circuit board?
You don't even have to be a hacker to have this experience, lots of people made their own radios for fun.
Have you ever toggled in boot code on the front panel?
 from memory?
I believe this needed to be done on some of the older PDPs, if there is nowhere to boot the system from, operator would have to manually enter the machine code of the system loader. Comet personally toggled in the bootstrap code on an old Honeywell machine.
Can you program an Eniac?
ENIAC was the first turing-complete computer, turned on in 1946.
Ever seen a 90 column card?
These progressive cards were invented by UNIVAC to dodge IBM's patent on the standard 80-column cards, but later they traded licenses and IBM eventually won the market.
Do you recite IBM part numbers in your sleep?
Do you know what IBM part number 7320154 is?
Do you understand 3270 data streams?
Do you know what the VM privilege classes are?
Have you IPLed an IBM off the tape drive?
 off a card reader?
Can you sing something from the IBM Songbook?
I am glad I don't know any of this.
Do you know more than 4 programming languages?
 8 languages?
 16 languages?
 32 languages?
I think knowing 32 is pretty reasonable, really.
Have you ever designed a programming language?
Many people do it. This is a really good excersize even if nobody will be using your language.
Do you know what Basic stands for?
Beginner's All-purpose Symbolic Instruction Code
It is simply named after Blaise Pascal
Can you program in Basic?
 Do you admit it?
This is embarassing to admit for many people, because BASIC is regarded as primitive language with many short-comings.
Can you program in Cobol?
 Do you deny it?
If you know it, better deny it, or you will be asked to maintain ancient gigantic COBOL programs running on outdated mainframes.
Do you know;
 More than two Wirth languages?
These three languages were invented by Nicklaus Wirth. Omitted in this list are Modula and his earliest work, Algol-W
 a Nicklaus Wirth joke?
Europeans refer to him by reference, as Nicklaus Wirth, and Americans - by value, as Nickel's Worth
Algol was probably the most well-known programming language from the 50s untill the rise of C in the 70s.
The first Wirth language, his proposal to modify Algol-60.
This language was chosen to be the new Algol rather than Wirth's oversimplified Algol-W.
Do you understand the Algol-68 report?
Algol-68 is well-known for its extreme complexity.
Do you like two-level grammars?
That is the formalism used to describe Algol-68, also known as Van Wijngaarden grammar or W-grammar.
Can you program in assembler on 2 different machines?
 on 4 different machines?
 on 8 different machines?
Most of them are really somewhat similar, unless you're digging deep into the nuances of optimization.
Do you know;
A Programming Language. It was designed in 1957 and is used right now by a large number of financial institutions. It offers unmatched abilities to work math on large arrays of data and even more unmatched unreadability. It requires a special font and keyboard layout to use.
Ada is a structured imperative programming language, designed over 1977-1983 and endorsed by the US department of defense. It emphasizes strong static typing.
A 1966 language now known only as the ancestor of C
Everyone heard of this one.
..and of this one.
1973 educational language which was a mixture of Pascal and BASIC. Forgotten.
1985 well-designed object-oriented language. It is alive now, although its use is limited.
1977 stack-oriented programming language, which influenced thinking of generations. Forth is used actively by a tightly-knit community of programmers.
A programming language from early 1950s, oriented at numerical computations, which refuses to die despite its many shortcomings. Its latest incarnation, Fortran 2003, is even object-oriented.
1987 educational programming language used to script Apple's drawing program HyperCard.
Late 1980's goal-oriented high level programming language, related to Pascal and Snobol
The famous 1958 functional programming language which was endorsed by the AI researchers and Emacs users, and turns up every so often even now.
1966 educational programming language which was essentially Lisp without the parentheses.
1970 MUMPS-like programming language which refused to standardize under MUMPS umbrella.
Late 1960s database-oriented programming language for health industry.
Early 1960s programming language designed by IBM for engineering and business applications.
This was an educational language, similar to Logo.
This is the computer-assisted teaching system that ran in University of Illinois from 1960 to 1990. The actual programming language was called TUTOR, PLATO was the system where it ran.
The famous logic programming language from 1972, in active use today in areas from AI to linguistics.
Report Program Generator, a 1960s language for IBM mainframes, still in use as RPG IV on OS/400. - thanks to Duncan Smith
 Rexx (or ARexx)?
1982 scripting programming language, developed by IBM and open source community.
A high level language based on the mathematical theory of sets, which is only known as a pre-predecessor of Python.
Classic object-oriented language from 1971, which heavily influenced C++ and Java.
1967 programming language designed to work with text strings, since outdated in leu of less powerful regular expressions found in sed, awk, and perl.
The design language of integrated circuits.
 any assembly language?
And the assembly languages are, of course, the human-readable transliterations of machine codes, where every code is given an easy to remember name.
Can you talk VT-100?
VT-100 is a set of control codes for alphanumeric terminals (meaning, a code to move cursor up, a code to delete a character, etc.
PostScript is a programming language based on Forth, which is used to control the output of printers. Programs written in that language are commonly treated like image files.
The mail transfer protocol spoken by every mail program on the Internet. It's pretty simple.
Unix-to-Unix Copy Protocol, used to exchange files and mail over dial-up connections, without internet.
English is a database retreival and reporting language from 1973, derived from SQL

Ever copy a copy-protected disk?
Ever create a copy-protection scheme?
Numerous copy protection schemes have been applied to floppies. Most relied on unusual formatting and information hidden in "technological" sectors or even in the inter-sector gaps. All such schemes were broken and many programs existed to copy such protected disks.
Have you ever made a "flippy" disk?
Normally you can't put a floppy in upside-down, but if you poke a hole in the right place of the floppy's envelope - you can.
Have you ever recovered data from a damaged disk?
I haven't done more than just reading the damaged sector over and over with diskedit, but there are companies that make money on data recovery, and they use specialized tools.
Ever boot a naked floppy?
A naked floppy is a floppy without the envelope. To boot from one, you would have to open the floppy disk drive and make sure its sensor thinks there is a disk present, since the sensor looks for the edge of the envelope..

Have you ever been logged in to two different timezones at once?
Not a problem with the modern-day Internet.
Have you memorized the UUCP map for your country?
 For any country?
UUCP map was a volunteering effort of creating a common namespace for UUCP-connected nodes.
Have you ever found a sendmail bug?
 Was it a security hole?
sendmail is such a complex program which also happened to be a key open point on any Unix system, that many hackers were studying it and security issues appeared quite often.
Have you memorized the HOSTS.TXT table?
 Are you up to date?
HOSTS.TXT was a file distributed by NIC which contained names and IP addressses of all systems in the net. You had to keep downloading the file once in a while, as systems were added to the net, and you had to e-mail the maintainer when you wanted to add a new system. This was later replaced by DNS. (thanks to Hemanth for correcting this one)
Can you name all the top-level nameservers and their addresses?
These are the nameservers returned by Unix command dig. From A.ROOT-SERVERS.NET to M.ROOT-SERVERS.NET, right now
Do you know RFC-822 by heart?
 Can you recite all the errors in it?
The E-Mail standard.
Have you written a Sendmail configuration file?
 Does it work?
 Do you mumble "defocus" in your sleep?
The Sendmail configuration file is written in a peculiar patter-matching programming language. Many people find it mind-boggling to understand and go crazy. Most modern-day admins use m4 macros to automatically generate their I've written my own. A defocusing rule is simply R$*<$*>$* $1$2$3 (i.e. remove all angle brackets)
Do you know the max packet lifetime?
Also known as the TCP/IP Time-To-Live.

Operating Systems
Can you use BSD Unix?
OpenBSD, FreeBSD, NetBSD, BSDi, etc
 non-BSD Unix?
SunOS, Unixware, SCO, etc
IBM's Unix-like operating system, 1986-now
IBM's operating system for mainframes
DEC's (now HP's) operating system for VAXen and Alphas
IBM's other operating system for S/370 and S/290 mainframes
IBM's yet another operating system for mainframes.
DEC's operating system for PDP-11
Operating system for Zilog Z80 and Intel 8080 by Digital Research. MS-DOS inherited a lot from CP/M.
Cray's early operating system (1976-1984) for Cray-1 and Cray X-MP
NOS was also the name of a proprietary operating system on the CDC Cyber mainframe; in the early 1980s it was replaced by NOS/VE. Also, NOS was another name for KA9Q, the implementation of TCP/IP for MS-DOS. (thanks for Hemanth for this comment)
IBM's operating system for S/360 model 67
DEC's operating system for PDP-11
Microsoft's operating system for Intel x86
I don't know, could it be Apple's file manager tool?
Apple's operating system for Apple II (1983)
 more than one OS for the TRS-80?
TRS-80 was a Z-80 based computer by Tandy. Its version III could run CP/M and model 16 ran Xenix.
DEC's operating system for PDP-10 (1964)
second DEC's operating system for PDP-10 (1969)
Unix-like operating system for embedded systems by Microware Systems, now RadiSys. Originally for 68k, ported to ppc, x86, and others.
IBM's operating system for Intel x86.
Operating system by Data General for their Eclipse and MV series.
Operating system designed by Bell and MIT for GE in late 60's, and used by Honeywell.
MIT's revolutionary operating system for PDP-10
Operating system for Harris computers. Early 80s
Have you ever paged or swapped off a tape drive?
 Off a card reader/punch?
 Off a teletype?
 Off a networked (non-local) disk?
Not sure if there is a specific story behind these, but obviously each of these devices is a really bad place to swap to.
Have you ever found an operating system bug?
 Did you exploit it?
 Did you report it?
 Was your report ignored?
What else can you do with an operating system bug?
Have you ever crashed a machine?
Probably refers to so common scenario when you're working on a huge multiuser system, like a VAX, and your actions cause it to crash, intentionally or not. Thanks to Duncan Smith for this idea.

Do you know any people?
 more than one?
 more than two?
No idea... Probably refers to hackers being anti-social (thanks Nekonaru).

Are your shoelaces untied?
This part is about stereotypical hacker image and lifestyle.
Do you interface poorly with strangers?
Are you able to recite phone numbers for half-a-dozen computer systems
 but unable to recite your own?
Do you log in before breakfast?
Do you consume more than LD-50 caffeine a day?
LD-50 caffeine is 75mg/kg.
Do you answer either-or questions with "yes"?
I love doing that. It frustrates people unfamiliar with logic.
Do you own an up-to-date copy of any operating system manual?
 *every* operating system manual?
Do other people have difficulty using your customized environment?
Do you dream in any programming languages?
Do you have difficulty focusing on three-dimensional objects?
Do you ignore mice?
Typical hackers prefer command-line interfaces, due to greater flexibility
Do you despise the CAPS LOCK key?
It's very rare that one needs to type ANYTHING in all caps, and some extremely computer-illiterate users use them a lot - so the key causes more trouble than good. I use it as the input language switch :)
Do you believe menus belong in restaurants?
Referring to the same preference of command-line interfaces.
Do you have a Mandelbrot hanging on your wall?
Have you ever decorated with magnetic tape or punched cards?
Do you have a disk platter or a naked floppy hanging in your home?
I own about a few dozen old 8-inch floppies just for that!
Have you ever seen the dawn?
 Twice in a row?
Happens to me and everyone else who spends night after night working on their computers
Do you use "foobar" in daily conversation?
foobar is of course the ubiquitious variable name which sounds like the abbreviation FUBAR, and bletch is Yiddish for barf.
Do you use the "P convention"?
Refers to adding -p in the end of functions in LISP to turn them into predicates. - Thanks to Duncan Smith for telling me this before I found it in the jargon file.
Do you automatically respond to any user question with RTFM?
 Do you know what it means?
Do I really have to spell that out?
Do you think garbage collection means memory management?
Garbage collection *is* memory management. In computer systems.
Do you have problems allocating horizontal space in your room/office?
Stuff tends to pile up on the desk and on the floor, but shelves remain empty. - thanks to Duncan Smith who must have had that problem
Do you read Scientific American in bars to pick up women?
Is your license plate computer-related?
The late John G. Kemeny, co-inventor of the BASIC programming language, drove a Ford Thunderbird with New Hampshire license tag "BASIC". (thanks to Tony Dwyer for this bit of info)
Have you ever taken the Purity test?
The original Purity Test, upon which this and many other similarly styled tests are based, deals with all things sexual.
Ever have an out-of-CPU experience?
Have you ever set up a blind date over the computer?
A common thing these days, with internet dating, but before the Internet it was rather rare.
Do you talk to the person next to you via computer?
Sometimes it's easier than talking, especially at work.

Can you write a Fortran compiler?
A Fortran compiler is not a trivial thing as one may think. For one, it cannot be realized using easy tools like yacc/bison. TECO is a text editor which included a full-fledged and extremely unreadable programming language
Can you read a machine dump?
Now more commonly called core dump, a file containing entire machine's memory at the time of crash
Can you disassemble code in your head?
Disassembling is not taking apart, it is turning machine code into readable assembly language code.
Have you ever written;
 a compiler?
 an operating system?
 a device driver?
 a text processor?
 a display hack?
 a database system?
 an expert system?
 an edge detector?
 a real-time control system?
 an accounting package?
 a helpful virus?
 a prophylactic?
Note that although helpful viruses (self-replicating programs that introduce a beneficial patch to some other program) were written, any self-reproducing program left unchecked sooner or later will end up in an unfamiliar environment and will break things. A prophylactic is an old word for antivirus. - thanks to auric who remembers what prophylactics were.
Have you ever written a biorhythm program?
 Did you sell the output?
 Was the output arbitrarily invented?
Aren't all of them randomly generated? :) It appears that many of us wrote a program that would calculate 23-day (physical), 28-day (emotional), and 33-day (intellectual) cycles, starting from day of birth. I've done that myself, but I didn't realize it was an international phenomenon until a comment from Mark Cooper - thanks again
Have you ever computed pi to more than a thousand decimal places?
 the number e?
Ever find a prime number of more than a hundred digits?
Common student excercises
Have you ever written self-modifying code?
 Are you proud of it?
Self-modifying code is considered to be bad practice, although it is widely used by both viruses and copy protection schemes.
Did you ever write a program that ran correctly the first time?
 Was it longer than 20 lines?
 100 lines?
 Was it in assembly language?
 Did it work the second time?
This is, of course, a play on the fact that every program has bugs
Can you solve the Towers of Hanoi recursively?
 Using the Troff text formatter?
Towers of Hanoi is a textbook problem which can be solved recursively very easily. Non-recursively with a little bit of an effort. Solution in troff is easily googled, for example, here.
Ever submit an entry to the Obfuscated C code contest?
 Did it win?
 Did your entry inspire a new rule?
Obfuscated C code is a contest of incredibly unreadable programs that work and do surprisingly serious things for blobs of line noise, such as play chess. New rule refers to entries that manage to stay within the current rules and yet cheat.
Do you know Duff's device?
Tom Duff invented this perfectly legal valid C code in 1983, which may look shocking.
     register n = (count + 7) / 8; /* count > 0 assumed */
     switch (count % 8) {
      case 0: do {  *to = *from++;
      case 7:       *to = *from++;
      case 6:       *to = *from++;
      case 5:       *to = *from++;
      case 4:       *to = *from++;
      case 3:       *to = *from++;
      case 2:       *to = *from++;
      case 1:       *to = *from++;
                 } while (--n > 0);

Do you know Jensen's device?
Jensen's device is a simple Algol code which uses Algol's call-by-name feature. This piece of code allows you to sum the values of an expression x which depends on the variable i.
     real procedure SIGMA(x, i, n);
       value n;
       real x; integer i, n;
       real s;
       s := 0;
       for i := 1 step 1 until n do
         s := s + x;
       SIGMA := s;

Ever spend ten minutes trying to find a single-character error?
 More than an hour?
 More than a day?
 More than a week?
 Did the first person you show it to find it immediately?
This is exactly how it happens!

Can you use Berkeley Unix?
 Non-Berkeley Unix?
Meaning BSD and non-BSD
Can you distinguish between sections 4 and 5 of the Unix manual?
In BSD (and Linux) 4 is special files and 5 is file formats. In SysV, 4 is file formats and 5 is miscellaneous pages.
Can you find TERMIO in the System V release 2 documentation?
I don't know what is tricky about it, and no access to a SysVr2 system
Have you ever mounted a tape as a Unix file system?
This wouldn't work on a modern Unix (tapes are treated as character devices, while swapping requires a block device), but there is nothing technically impossible in doing this, if one writes a block device driver for the tape. Except that it would be incredibly slow. - thanks for Hallvor Engen for pointing it out for me.
Have you ever built Minix?
Minix was Linux's predecessor, an open source unix-like system written by a single person - professor Andrew Tannenbaum.
Can you answer "quiz function ed-command" correctly?
 How about "quiz ed-command function"?
Try running both on a Unix-like system (Slackware Linux ok). "quiz function ed-command" is a tough test on the knowledge of ed commands (all of which work in vi, too). "quiz ed-command function" shows you a random answer to the test and expects you to type in the entire question it corresponds to.

Do you read news?
 More than 32 newsgroups?
 More than 256 newsgroups?
 All the newsgroups?
Usenet newsgroups are the oldest and greatest forum for public discussions of all sorts that have been around since early 80's and are still going strong, albeit almost the entire traffic there is claimed by alt.binaries.* (file sharing groups).
Have you ever posted an article?
 Do you post regularly?
Have you ever posted a flame?
 Ever flame a cross-posting?
 Ever flame a flame?
 Do you flame regularly?
Flame is a very heated discussion, probably with insults. Cross-posting is sending a message to many newsgroups at once (which some people find annoying and flame the poster)
Ever have your program posted to a source newsgroup?
Ever forge a posting?
Ever form a new newsgroup?
 Does it still exist?
Do you remember;
 the Stupid People's Court?
CSNEWS is a Usenet News sofware bundle by Celestial Systems, containing inn, rtin, rn, and trn. mod.ber was a moderated group with weekly summaries of Usenet traffic, created when Usenet became too large for a single person to read in its entirety. Stupid People's Court was a newsgroup properly called REC.HUMOR.SPC, And even the mighty google can't help me learn what Bandy-grams were.

Phreaking is, basically, hacking in the telecommunication world.
Have you ever built a black box?
Can you name all of the 'colors' of boxes?
 and their associated functions?
Black box fooled the system into thinking that nobody answered on the receiving end of a long distance call and thus it didn't start billing (you had to speak between the continuing rings). Blue box generated 2600 Hz and helped you call long distance for free. Red box sent internal signals indicating that the user dropped more money into the pay phone. There were dozens of other, less commonly known, color boxes.
Does your touch tone phone have 16 DTMF buttons on it?
They are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, #, A, B, C, D. The ABCD buttons are very rare, but they are valid DTMF tones.
Did the breakup of MaBell create more opportunities for you?
In 1974, AT&T lost anti-trust lawsuit and was broken up into smaller pieces (until then, it was the largest company in the world)