TITLE: THE HACKER TEST - Version 1.0  (LONG)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Preface:  06.16.89

 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.

 (Herewith a compendium of fact and folklore about computer hackerdom,
  cunningly disguised as a test.)

 Scoring - Count 1 for each item that you have done, or each
           question that you can answer correctly.

 If you 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.

 And now for the questions...

 0001 Have you ever used a computer?
 0002 ... for more than 4 hours continuously?
 0003 ... more than 8 hours?
 0004 ... more than 16 hours?
 0005 ... more than 32 hours?

 0006 Have you ever patched paper tape?

 0007 Have you ever missed a class while programming?
 0008 ... Missed an examination?
 0009 ... Missed a wedding?
 0010 ... Missed your own wedding?

 0011 Have you ever programmed while intoxicated?
 0012 ... Did it make sense the next day?

 0013 Have you ever written a flight simulator?

 0014 Have you ever voided the warranty on your equipment?

 0015 Ever change the value of 4?
 0016 ... Unintentionally?
 0017 ... In a language other than Fortran?

 0018 Do you use DWIM to make life interesting?

 0019 Have you named a computer?

 0020 Do you complain when a "feature" you use gets fixed?

 0021 Do you eat slime-molds?

 0022 Do you know how many days old you are?

 0023 Have you ever wanted to download pizza?

 0024 Have you ever invented a computer joke?
 0025 ... Did someone not 'get' it?

 0026 Can you recite Jabberwocky?
 0027 ... Backwards?

 0028 Have you seen "Donald Duck in Mathemagic Land"?

 0029 Have you seen "Tron"?

 0030 Have you seen "Wargames"?

 0031 Do you know what ASCII stands for?
 0032 ... EBCDIC?

 0033 Can you read and write ASCII in hex or octal?
 0034 Do you know the names of all the ASCII control codes?

 0035 Can you read and write EBCDIC in hex?

 0036 Can you convert from EBCDIC to ASCII and vice versa?

 0037 Do you know what characters are the same in both ASCII and EBCDIC?

 0038 Do you know maxint on your system?

 0039 Ever define your own numerical type to get better precision?

 0040 Can you name powers of two up to 2**16 in arbitrary order?
 0041 ... up to 2**32?
 0042 ... up to 2**64?

 0043 Can you read a punched card, looking at the holes?
 0044 ... feeling the holes?

 0045 Have you ever patched binary code?
 0046 ... While the program was running?

 0047 Have you ever used program overlays?

 0048 Have you met any IBM vice-president?
 0049 Do you know Dennis, Bill, or Ken?

 0050 Have you ever taken a picture of a CRT?
 0051 Have you ever played a videotape on your CRT?

 0052 Have you ever digitized a picture?

 0053 Did you ever forget to mount a scratch monkey?

 0054 Have you ever optimized an idle loop?

 0055 Did you ever optimize a bubble sort?

 0056 Does your terminal/computer talk to you?

 0057 Have you ever talked into an acoustic modem?
 0058 ... Did it answer?

 0059 Can you whistle 300 baud?
 0060 ... 1200 baud?

 0061 Can you whistle a telephone number?

 0062 Have you witnessed a disk crash?
 0063 Have you made a disk drive "walk"?

 0064 Can you build a puffer train?
 0065 ... Do you know what it is?

 0066 Can you play music on your line printer?
 0067 ... Your disk drive?
 0068 ... Your tape drive?

 0069 Do you have a Snoopy calendar?
 0070 ... Is it out-of-date?

 0071 Do you have a line printer picture of...
 0072 ... the Mona Lisa?
 0073 ... the Enterprise?
 0074 ... Einstein?
 0075 ... Oliver?
 0076 Have you ever made a line printer picture?

 0077 Do you know what the following stand for?
 0078 ... DASD
 0079 ... Emacs
 0080 ... ITS
 0081 ... RSTS/E
 0082 ... SNA
 0083 ... Spool
 0084 ... TCP/IP

      Have you ever used
 0085 ... TPU?
 0086 ... TECO?
 0087 ... Emacs?
 0088 ... ed?
 0089 ... vi?
 0090 ... Xedit (in VM/CMS)?
 0091 ... SOS?
 0092 ... EDT?
 0093 ... Wordstar?

 0094 Have you ever written a CLIST?

      Have you ever programmed in
 0095 ... the X windowing system?
 0096 ... CICS?

 0097 Have you ever received a Fax or a photocopy of a floppy?

 0098 Have you ever shown a novice the "any" key?
 0099 ... Was it the power switch?

      Have you ever attended
 0100 ... Usenix?
 0101 ... DECUS?
 0102 ... SHARE?
 0103 ... SIGGRAPH?
 0104 ... NetCon?

 0105 Have you ever participated in a standards group?

 0106 Have you ever debugged machine code over the telephone?

 0107 Have you ever seen voice mail?
 0108 ... Can you read it?

 0109 Do you solve word puzzles with an on-line dictionary?

 0110 Have you ever taken a Turing test?
 0111 ... Did you fail?

 0112 Ever drop a card deck?
 0113 ... Did you successfully put it back together?
 0114 ... Without looking?

 0115 Have you ever used IPCS?

 0116 Have you ever received a case of beer with your computer?

 0117 Does your computer come in 'designer' colors?

 0118 Ever interrupted a UPS?

 0119 Ever mask an NMI?

 0120 Have you ever set off a Halon system?
 0121 ... Intentionally?
 0122 ... Do you still work there?

 0123 Have you ever hit the emergency power switch?
 0124 ... Intentionally?

 0125 Do you have any defunct documentation?
 0126 ... Do you still read it?

 0127 Ever reverse-engineer or decompile a program?
 0128 ... Did you find bugs in it?

 0129 Ever help the person behind the counter with their terminal/computer?

 0130 Ever tried rack mounting your telephone?

 0131 Ever thrown a computer from more than two stories high?

 0132 Ever patched a bug the vendor does not acknowledge?

 0133 Ever fix a hardware problem in software?
 0134 ... Vice versa?

 0135 Ever belong to a user/support group?

 0136 Ever been mentioned in Computer Recreations?

 0137 Ever had your activities mentioned in the newspaper?
 0138 ... Did you get away with it?

 0139 Ever engage a drum brake while the drum was spinning?

 0140 Ever write comments in a non-native language?

 0141 Ever physically destroy equipment from software?

 0142 Ever tried to improve your score on the Hacker Test?

 0143 Do you take listings with you to lunch?
 0144 ... To bed?

 0145 Ever patch a microcode bug?
 0146 ... around a microcode bug?

 0147 Can you program a Turing machine?

 0148 Can you convert postfix to prefix in your head?

 0149 Can you convert hex to octal in your head?

 0150 Do you know how to use a Kleene star?

 0151 Have you ever starved while dining with philosophers?

 0152 Have you solved the halting problem?
 0153 ... Correctly?

 0154 Ever deadlock trying eating spaghetti?

 0155 Ever written a self-reproducing program?

 0156 Ever swapped out the swapper?

 0157 Can you read a state diagram?
 0158 ... Do you need one?

 0159 Ever create an unkillable program?
 0160 ... Intentionally?

 0161 Ever been asked for a cookie?

 0162 Ever speed up a system by removing a jumper?

      * Do you know...

 0163 Do you know who wrote Rogue?
 0164 ... Rogomatic?

 0165 Do you know Gray code?

 0166 Do you know what HCF means?
 0167 ... Ever use it?
 0168 ... Intentionally?

 0169 Do you know what a lace card is?
 0170 ... Ever make one?

 0171 Do you know the end of the epoch?
 0172 ... Have you celebrated the end of an epoch?
 0173 ... Did you have to rewrite code?

 0174 Do you know the difference between DTE and DCE?

 0175 Do you know the RS-232C pinout?
 0176 ... Can you wire a connector without looking?

      * Do you have...

 0177 Do you have a copy of Dec Wars?
 0178 Do you have the Canonical Collection of Lightbulb Jokes?
 0179 Do you have a copy of the Hacker's dictionary?
 0180 ... Did you contribute to it?

 0181 Do you have a flowchart template?
 0182 ... Is it unused?

 0183 Do you have your own fortune-cookie file?

 0184 Do you have the Anarchist's Cookbook?
 0185 ... Ever make anything from it?

 0186 Do you own a modem?
 0187 ... a terminal?
 0188 ... a toy computer?
 0189 ... a personal computer?
 0190 ... a minicomputer?
 0191 ... a mainframe?
 0192 ... a supercomputer?
 0193 ... a hypercube?
 0194 ... a printer?
 0195 ... a laser printer?
 0196 ... a tape drive?
 0197 ... an outmoded peripheral device?

 0198 Do you have a programmable calculator?
 0199 ... Is it RPN?

 0200 Have you ever owned more than 1 computer?
 0201 ... 4 computers?
 0202 ... 16 computers?

 0203 Do you have a SLIP line?
 0204 ... a T1 line?

 0205 Do you have a separate phone line for your terminal/computer?
 0206 ... Is it legal?

 0207 Do you have core memory?
 0208 ... drum storage?
 0209 ... bubble memory?

 0210 Do you use more than 16 megabytes of disk space?
 0211 ... 256 megabytes?
 0212 ... 1 gigabyte?
 0213 ... 16 gigabytes?
 0214 ... 256 gigabytes?
 0215 ... 1 terabyte?

 0216 Do you have an optical disk/disk drive?

 0217 Do you have a personal magnetic tape library?
 0218 ... Is it unlabelled?

 0219 Do you own more than 16 floppy disks?
 0220 ... 64 floppy disks?
 0221 ... 256 floppy disks?
 0222 ... 1024 floppy disks?

 0223 Do you have any 8-inch disks?

 0224 Do you have an internal stack?

 0225 Do you have a clock interrupt?

 0226 Do you own volumes 1 to 3 of _The Art of Computer Programming_?
 0227 ... Have you done all the exercises?
 0228 ... Do you have a MIX simulator?
 0229 ... Can you name the unwritten volumes?

 0230 Can you quote from _The Mythical Man-month_?
 0231 ... Did you participate in the OS/360 project?

 0232 Do you have a TTL handbook?

 0233 Do you have printouts more than three years old?

      * Career

 0234 Do you have a job?
 0235 ... Have you ever had a job?
 0236 ... Was it computer-related?

 0237 Do you work irregular hours?

 0238 Have you ever been a system administrator?

 0239 Do you have more megabytes than megabucks?

 0240 Have you ever downgraded your job to upgrade your processing power?

 0241 Is your job secure?
 0242 ... Do you have code to prove it?

 0243 Have you ever had a security clearance?

      * Games

 0244 Have you ever played Pong?

      Have you ever played
 0246 ... Spacewar?
 0247 ... Star Trek?
 0248 ... Wumpus?
 0249 ... Lunar Lander?
 0250 ... Empire?

      Have you ever beaten
 0251 ... Moria 4.8?
 0252 ... Rogue 3.6?
 0253 ... Rogue 5.3?
 0254 ... Larn?
 0255 ... Hack 1.0.3?
 0256 ... Nethack 2.4?

 0257 Can you get a better score on Rogue than Rogomatic?

 0258 Have you ever solved Adventure?
 0259 ... Zork?

 0260 Have you ever written any redcode?

 0261 Have you ever written an adventure program?
 0262 ... a real-time game?
 0263 ... a multi-player game?
 0264 ... a networked game?

 0265 Can you out-doctor Eliza?

      * Hardware

 0266 Have you ever used a light pen?
 0267 ... did you build it?

      Have you ever used
 0268 ... a teletype?
 0269 ... a paper tape?
 0270 ... a decwriter?
 0271 ... a card reader/punch?
 0272 ... a SOL?

      Have you ever built
 0273 ... an Altair?
 0274 ... a Heath/Zenith computer?

      Do you know how to use
 0275 ... an oscilliscope?
 0276 ... a voltmeter?
 0277 ... a frequency counter?
 0278 ... a logic probe?
 0279 ... a wirewrap tool?
 0280 ... a soldering iron?
 0281 ... a logic analyzer?

 0282 Have you ever designed an LSI chip?
 0283 ... has it been fabricated?

 0284 Have you ever etched a printed circuit board?

      * Historical

 0285 Have you ever toggled in boot code on the front panel?
 0286 ... from memory?

 0287 Can you program an Eniac?

 0288 Ever seen a 90 column card?

      * IBM

 0289 Do you recite IBM part numbers in your sleep?
 0290 Do you know what IBM part number 7320154 is?

 0291 Do you understand 3270 data streams?

 0292 Do you know what the VM privilege classes are?

 0293 Have you IPLed an IBM off the tape drive?
 0294 ... off a card reader?

 0295 Can you sing something from the IBM Songbook?

      * Languages

 0296 Do you know more than 4 programming languages?
 0297 ... 8 languages?
 0298 ... 16 languages?
 0299 ... 32 languages?

 0300 Have you ever designed a programming language?

 0301 Do you know what Basic stands for?
 0302 ... Pascal?

 0303 Can you program in Basic?
 0304 ... Do you admit it?

 0305 Can you program in Cobol?
 0306 ... Do you deny it?

 0307 Do you know Pascal?
 0308 ... Modula-2?
 0309 ... Oberon?
 0310 ... More that two Wirth languages?
 0311 ... Can you recite a Nicklaus Wirth joke?

 0312 Do you know Algol-60?
 0313 ... Algol-W?
 0314 ... Algol-68?
 0315 ... Do you understand the Algol-68 report?
 0316 ... Do you like two-level grammars?

 0317 Can you program in assembler on 2 different machines?
 0318 ... on 4 different machines?
 0319 ... on 8 different machines?

      Do you know
 0320 ... APL?
 0321 ... Ada?
 0322 ... BCPL?
 0323 ... C++?
 0324 ... C?
 0325 ... Comal?
 0326 ... Eiffel?
 0327 ... Forth?
 0328 ... Fortran?
 0329 ... Hypertalk?
 0330 ... Icon?
 0331 ... Lisp?
 0332 ... Logo?
 0333 ... MIIS?
 0334 ... MUMPS?
 0335 ... PL/I?
 0336 ... Pilot?
 0337 ... Plato?
 0338 ... Prolog?
 0339 ... RPG?
 0340 ... Rexx (or ARexx)?
 0341 ... SETL?
 0342 ... Smalltalk?
 0343 ... Snobol?
 0344 ... VHDL?
 0345 ... any assembly language?

 0346 Can you talk VT-100?
 0347 ... Postscript?
 0348 ... SMTP?
 0349 ... UUCP?
 0350 ... English?

      * Micros

 0351 Ever copy a copy-protected disk?
 0352 Ever create a copy-protection scheme?

 0353 Have you ever made a "flippy" disk?

 0354 Have you ever recovered data from a damaged disk?

 0355 Ever boot a naked floppy?

      * Networking

 0356 Have you ever been logged in to two different timezones at once?

 0357 Have you memorized the UUCP map for your country?
 0358 ... For any country?

 0359 Have you ever found a sendmail bug?
 0360 ... Was it a security hole?

 0361 Have you memorized the HOSTS.TXT table?
 0362 ... Are you up to date?

 0363 Can you name all the top-level nameservers and their addresses?

 0364 Do you know RFC-822 by heart?
 0365 ... Can you recite all the errors in it?

 0366 Have you written a Sendmail configuration file?
 0367 ... Does it work?
 0368 ... Do you mumble "defocus" in your sleep?

 0369 Do you know the max packet lifetime?

      * Operating systems

      Can you use
 0370 ... BSD Unix?
 0371 ... non-BSD Unix?
 0372 ... AIX
 0373 ... VM/CMS?
 0374 ... VMS?
 0375 ... MVS?
 0376 ... VSE?
 0377 ... RSTS/E?
 0378 ... CP/M?
 0379 ... COS?
 0380 ... NOS?
 0381 ... CP-67?
 0382 ... RT-11?
 0383 ... MS-DOS?
 0384 ... Finder?
 0385 ... PRODOS?
 0386 ... more than one OS for the TRS-80?
 0387 ... Tops-10?
 0388 ... Tops-20?
 0389 ... OS-9?
 0390 ... OS/2?
 0391 ... AOS/VS?
 0392 ... Multics?
 0393 ... ITS?
 0394 ... Vulcan?

 0395 Have you ever paged or swapped off a tape drive?
 0396 ... Off a card reader/punch?
 0397 ... Off a teletype?
 0398 ... Off a networked (non-local) disk?

 0399 Have you ever found an operating system bug?
 0400 ... Did you exploit it?
 0401 ... Did you report it?
 0402 ... Was your report ignored?

 0403 Have you ever crashed a machine?
 0404 ... Intentionally?

      * People

 0405 Do you know any people?
 0406 ... more than one?
 0407 ... more than two?

      * Personal

 0408 Are your shoelaces untied?

 0409 Do you interface well with strangers?

 0410 Are you able to recite phone numbers for half-a-dozen computer systems
         but unable to recite your own?

 0411 Do you log in before breakfast?

 0412 Do you consume more than LD-50 caffeine a day?

 0413 Do you answer either-or questions with "yes"?

 0414 Do you own an up-to-date copy of any operating system manual?
 0415 ... *every* operating system manual?

 0416 Do other people have difficulty using your customized environment?

 0417 Do you dream in any programming languages?

 0418 Do you have difficulty focusing on three-dimensional objects?

 0419 Do you ignore mice?

 0420 Do you despise the CAPS LOCK key?

 0421 Do you believe menus belong in restaurants?

 0422 Do you have a Mandelbrot hanging on your wall?

 0423 Have you ever decorated with magnetic tape or punched cards?
 0424 Do you have a disk platter or a naked floppy hanging in your home?

 0425 Have you ever seen the dawn?
 0426 ... Twice in a row?

 0427 Do you use "foobar" in daily conversation?
 0428 ... "bletch"?

 0429 Do you use the "P convention"?

 0430 Do you automatically respond to any user question with RTFM?
 0431 ... Do you know what it means?

 0432 Do you think garbage collection means memory management?

 0433 Do you have problems allocating horizontal space in your room/office?

 0434 Do you read Scientific American in bars to pick up women?

 0435 Is your license plate computer-related?

 0436 Have you ever taken the Purity test?

 0437 Ever have an out-of-CPU experience?

 0438 Have you ever set up a blind date over the computer?

 0439 Do you talk to the person next to you via computer?

      * Programming

 0440 Can you write a Fortran compiler?
 0441 ... In TECO?

 0442 Can you read a machine dump?
 0443 Can you disassemble code in your head?

      Have you ever written
 0444 ... a compiler?
 0445 ... an operating system?
 0446 ... a device driver?
 0447 ... a text processor?
 0448 ... a display hack?
 0449 ... a database system?
 0450 ... an expert system?
 0451 ... an edge detector?
 0452 ... a real-time control system?
 0453 ... an accounting package?
 0454 ... a virus?
 0455 ... a prophylactic?

 0456 Have you ever written a biorhythm program?
 0457 ... Did you sell the output?
 0458 ... Was the output arbitrarily invented?

 0459 Have you ever computed pi to more than a thousand decimal places?
 0460 ... the number e?

 0461 Ever find a prime number of more than a hundred digits?

 0462 Have you ever written self-modifying code?
 0463 ... Are you proud of it?

 0464 Did you ever write a program that ran correctly the first time?
 0465 ... Was it longer than 20 lines?
 0466 ... 100 lines?
 0467 ... Was it in assembly language?
 0468 ... Did it work the second time?

 0469 Can you solve the Towers of Hanoi recursively?
 0470 ... Non-recursively?
 0471 ... Using the Troff text formatter?

 0472 Ever submit an entry to the Obfuscated C code contest?
 0473 ... Did it win?
 0474 ... Did your entry inspire a new rule?

 0475 Do you know Duff's device?

 0476 Do you know Jensen's device?

 0477 Ever spend ten minutes trying to find a single-character error?
 0478 ... More than an hour?
 0479 ... More than a day?
 0480 ... More than a week?
 0481 ... Did the first person you show it to find it immediately?

      * Unix

 0482 Can you use Berkeley Unix?
 0483 .. Non-Berkeley Unix?

 0484 Can you distinguish between sections 4 and 5 of the Unix manual?

 0485 Can you find TERMIO in the System V release 2 documentation?

 0486 Have you ever mounted a tape as a Unix file system?

 0487 Have you ever built Minix?

 0488 Can you answer "quiz function ed-command" correctly?
 0489 ... How about "quiz ed-command function"?

      * Usenet

 0490 Do you read news?
 0491 ... More than 32 newsgroups?
 0492 ... More than 256 newsgroups?
 0493 ... All the newsgroups?

 0494 Have you ever posted an article?
 0495 ... Do you post regularly?

 0496 Have you ever posted a flame?
 0497 ... Ever flame a cross-posting?
 0498 ... Ever flame a flame?
 0499 ... Do you flame regularly?

 0500 Ever have your program posted to a source newsgroup?

 0501 Ever forge a posting?
 0502 Ever form a new newsgroup?
 0503 ... Does it still exist?

 0504 Do you remember
 0505 ... mod.ber?
 0506 ... the Stupid People's Court?
 0507 ... Bandy-grams?

      * Phreaking

 0508 Have you ever built a black box?

 0509 Can you name all of the 'colors' of boxes?
 0510 ... and their associated functions?

 0511 Does your touch tone phone have 16 DTMF buttons on it?

 0512 Did the breakup of MaBell create more opportunities for you?


 If you have any comments of suggestions regarding the HACKER TEST,
 Please send then to: hayes@psunuce.bitnet
                   or jwh100@psuvm.bitnet / jwh100@psuvmxa.bitnet
                   or jwh100@psuvm.psu.edu / jwh100@psuvmxa.psu.edu
                   or ...!psuvax1!psuvm.bitnet!jwh100
