home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2941 < prev    next >
Encoding:
Internet Message Format  |  1991-03-03  |  45.6 KB

  1. From: eric@snark.thyrsus.com (Eric S. Raymond)
  2. Newsgroups: alt.folklore.computers,alt.sources,misc.misc
  3. Subject: The Jargon File v, part 17 of 17
  4. Message-ID: <1ZdV5L#6p3zPZ749P2O7PRPVj6ZTbf7=eric@snark.thyrsus.com>
  5. Date: 2 Mar 91 18:25:31 GMT
  6.  
  7. Submitted-by: jargon@thyrsus.com
  8. Archive-name: jargon/part17
  9.  
  10. ---- Cut Here and feed the following to sh ----
  11. #!/bin/sh
  12. # this is jargon.17 (part 17 of jargon)
  13. # do not concatenate these parts, unpack them in order with /bin/sh
  14. # file jargon.ascii continued
  15. #
  16. if test ! -r _shar_seq_.tmp; then
  17.     echo 'Please unpack part 1 first!'
  18.     exit 1
  19. fi
  20. (read Scheck
  21.  if test "$Scheck" != 17; then
  22.     echo Please unpack part "$Scheck" next!
  23.     exit 1
  24.  else
  25.     exit 0
  26.  fi
  27. ) < _shar_seq_.tmp || exit 1
  28. if test -f _shar_wnt_.tmp; then
  29. sed 's/^X//' << 'SHAR_EOF' >> 'jargon.ascii' &&
  30. XXerox CP-V timesharing system.  Through a simple programming strategy,
  31. Xit was possible for a user program to trick the system into running a
  32. Xportion of the program in `master mode' (supervisor state), in which
  33. Xmemory protection does not apply.  The program could then poke a large
  34. Xvalue into its `privilege level' byte (normally write-protected) and
  35. Xcould then proceed to bypass all levels of security within the
  36. Xfile-management system, patch the system monitor, and do numerous
  37. Xother interesting things.  In short, the barn door was wide open.
  38. X
  39. XMotorola quite properly reported this problem to XEROX via an official
  40. X`level 1 SIDR' (a bug report with a perceived urgency of `needs to be
  41. Xfixed yesterday').  Because the text of each SIDR was entered into a
  42. Xdatabase that could be viewed by quite a number of people, Motorola
  43. Xfollowed the approved procedure: they simply reported the problem as
  44. X`Security SIDR', and attached all of the necessary documentation,
  45. Xways-to-reproduce, etc. separately.
  46. X
  47. XXerox sat on their thumbs...they either didn't realize the severity of
  48. Xthe problem, or didn't assign the necessary operating-system-staff
  49. Xresources to develop and distribute an official patch.
  50. X
  51. XMonths passed.  The Motorola guys pestered their Xerox field-support
  52. Xrep, to no avail.  Finally they decided to take Direct Action, to
  53. Xdemonstrate to Xerox management just how easily the system could be
  54. Xcracked and just how thoroughly the system security systems could be
  55. Xsubverted.
  56. X
  57. XThey dug around in the operating-system listings and devised a
  58. Xthoroughly devilish set of patches.  These patches were then
  59. Xincorporated into a pair of programs called Robin Hood and Friar Tuck.
  60. XRobin Hood and Friar Tuck were designed to run as `ghost jobs'
  61. X(daemons, in UNIX terminology); they would use the existing loophole
  62. Xto subvert system security, install the necessary patches, and then
  63. Xkeep an eye on one another's statuses in order to keep the system
  64. Xoperator (in effect, the superuser) from aborting them.
  65. X
  66. XSo... one day, the system operator on the main CP-V software
  67. Xdevelopment system in El Segundo was surprised by a number of unusual
  68. Xphenomena.  These included the following:
  69. X
  70. X   * Tape drives would rewind and dismount their tapes in the middle of a
  71. X     job.
  72. X   * Disk drives would seek back and forth so rapidly that they'd attempt
  73. X     to walk across the floor (see {walking drives}).
  74. X   * The card-punch output device would occasionally start up of itself
  75. X     and punch a {lace card} (every hole punched).  These would usually
  76. X     jam in the punch.
  77. X   * The console would print snide and insulting messages from Robin Hood
  78. X     to Friar Tuck, or vice versa.
  79. X   * The Xerox card reader had two output stackers;  it could be
  80. X     instructed to stack into A, stack into B, or stack into A unless a
  81. X     card was unreadable, in which case the bad card was placed into
  82. X     stacker B.  One of the patches installed by the ghosts added some
  83. X     code to the card-reader driver... after reading a card, it would flip
  84. X     over to the opposite stacker.  As a result, card decks would divide
  85. X     themselves in half when they were read, leaving the operator to
  86. X     recollate them manually.
  87. X
  88. XThere were some other effects produced, as well.
  89. X
  90. XNaturally, the operator called in the operating-system developers.  They
  91. Xfound the bandit ghost jobs running, and X'ed them... and were once
  92. Xagain surprised.  When Robin Hood was X'ed, the following sequence of
  93. Xevents took place:
  94. X
  95. X     !X id1
  96. X
  97. X     id1: Friar Tuck... I am under attack!  Pray save me!
  98. X     id1: Off (aborted)
  99. X
  100. X     id2: Fear not, friend Robin!  I shall rout the Sheriff of 
  101. X          Nottingham's men!
  102. X
  103. X     id1: Thank you, my good fellow!
  104. X
  105. XEach ghost-job would detect the fact that the other had been killed,
  106. Xand would start a new copy of the recently-slain program within a few
  107. Xmilliseconds.  The only way to kill both ghosts was to kill them
  108. Xsimultaneously (very difficult) or to deliberately crash the system.
  109. X
  110. XFinally, the system programmers did the latter... only to find that
  111. Xthe bandits appeared once again when the system rebooted!  It turned
  112. Xout that these two programs had patched the boot-time image (the
  113. X/vmunix file, in UNIX terms) and had added themselves to the list of
  114. Xprograms that were to be started at boot time...
  115. X
  116. XThe Robin Hood and Friar Tuck ghosts were finally eradicated when the
  117. Xsystem staff rebooted the system from a clean boot-tape and
  118. Xreinstalled the monitor.  Not long thereafter, Xerox released a patch
  119. Xfor this problem.
  120. X
  121. XIt is alleged that Xerox filed a complaint with Motorola's management about
  122. Xthe merry-prankster actions of the two employees in question.  It is
  123. Xnot recorded that any serious disciplinary action was taken against
  124. Xeither of them.
  125. X
  126. XThe Untimely Demise of Mabel the Monkey
  127. X=======================================
  128. X
  129. X   The following, modulo a couple of inserted commas and
  130. Xcapitalization changes for readability, is the exact text of a famous
  131. XUSENET message.  The reader may wish to review the definitions of
  132. X{PM} in the main text before continuing.
  133. X
  134. X     Date: Wed 3 Sep 86 16:46:31-EDT
  135. X     From: "Art Evans" <Evans@TL-20B.ARPA>
  136. X     Subject: Always Mount a Scratch Monkey
  137. X     To: Risks@CSL.SRI.COM
  138. X
  139. XMy friend Bud used to be the intercept man at a computer vendor for
  140. Xcalls when an irate customer called.  Seems one day Bud was sitting at
  141. Xhis desk when the phone rang.
  142. X    
  143. X     Bud:       Hello.                 Voice:      YOU KILLED MABEL!!
  144. X     B:         Excuse me?             V:          YOU KILLED MABEL!!
  145. X
  146. XThis went on for a couple of minutes and Bud was getting nowhere, so he
  147. Xdecided to alter his approach to the customer.
  148. X    
  149. X     B:         HOW DID I KILL MABEL?   V: YOU PM'ED MY MACHINE!!
  150. X
  151. XWell, to avoid making a long story even longer, I will abbreviate what had
  152. Xhappened.  The customer was a Biologist at the University of Blah-de-blah,
  153. Xand he had one of our computers that controlled gas mixtures that Mabel (the
  154. Xmonkey) breathed.  Now, Mabel was not your ordinary monkey.  The University
  155. Xhad spent years teaching Mabel to swim, and they were studying the effects
  156. Xthat different gas mixtures had on her physiology.  It turns out that the
  157. Xrepair folks had just gotten a new Calibrated Power Supply (used to
  158. Xcalibrate analog equipment), and at their first opportunity decided to
  159. Xcalibrate the D/A converters in that computer.  This changed some of the gas
  160. Xmixtures and poor Mabel was asphyxiated.  Well, Bud then called the branch
  161. Xmanager for the repair folks:
  162. X
  163. X     Manager:     Hello
  164. X     B:           This is Bud, I heard you did a PM at the University of
  165. X                  Blah-de-blah.
  166. X     M:           Yes, we really performed a complete PM.  What can I do
  167. X                  for you?
  168. X     B:           Can you swim?
  169. X
  170. XThe moral is, of course, that you should always mount a scratch monkey.
  171. X
  172. X              ~~~~~~~~~~~~~~~~~~~~~~
  173. X
  174. XThere are several morals here related to risks in use of computers.
  175. XExamples include, "If it ain't broken, don't fix it."  However, the
  176. Xcautious philosophical approach implied by "always mount a scratch
  177. Xmonkey" says a lot that we should keep in mind.
  178. X
  179. X     Art Evans
  180. X     Tartan Labs
  181. X
  182. XTV Typewriters: A Tale Of Hackish Ingenuity
  183. X===========================================
  184. X
  185. XHere is a true story about a glass tty.  One day an MIT hacker was in
  186. Xa motorcycle accident and broke his leg.  He had to stay in the
  187. Xhospital quite a while, and got restless because he couldn't HACK (use
  188. Xthe computer).  Two of his friends therefore took a display terminal
  189. Xand a telephone connection for it to the hospital, so that he could
  190. Xuse the computer by telephone from his hospital bed.
  191. X
  192. XNow this happened some years before the spread of home computers, and
  193. Xcomputer terminals were not a familiar sight to the average person.
  194. XWhen the two friends got to the hospital, a guard stopped them and
  195. Xasked what they were carrying.  They explained that they wanted to
  196. Xtake a computer terminal to their friend who was a patient.
  197. X
  198. XThe guard got out his list of things that patients were permitted to
  199. Xhave in their rooms: TV, radio, electric razor, typewriter, tape
  200. Xplayer...  no computer terminals.  Computer terminals weren't on the
  201. Xlist, so they couldn't take it in.  Rules are rules.
  202. X
  203. XFair enough, said the two friends, and they left again.  They were
  204. Xfrustrated, of course, because they knew that the terminal was as
  205. Xharmless as a TV or anything else on the list... which gave them an
  206. Xidea.
  207. X
  208. XThe next day they returned, and the same thing happened: a guard
  209. Xstopped them and asked what they were carrying.  They said, "This is
  210. Xa TV typewriter!"  The guard was skeptical, so they plugged it in and
  211. Xdemonstrated it.  "See?  You just type on the keyboard and what you
  212. Xtype shows up on the TV screen."  Now the guard didn't stop to think
  213. Xabout how utterly useless a typewriter would be that didn't produce
  214. Xany paper copies of what you typed; but this was clearly a TV
  215. Xtypewriter, no doubt about it.  So he checked his list: "A TV is all
  216. Xright, a typewriter is all right... okay, take it on in!"
  217. X
  218. XTwo Stories About `Magic' (by Guy Steele)
  219. X=========================================
  220. X
  221. XWhen Barbara Steele was in her fifth month of pregnancy in 1981, her
  222. Xdoctor sent her to a specialist to have a sonogram made to determine
  223. Xwhether there were twins.  She dragged her husband Guy along to the
  224. Xappointment.  It was quite fascinating; as the doctor moved an
  225. Xinstrument along the skin, a small TV screen showed cross-sectional
  226. Xpictures of the abdomen.
  227. X
  228. XNow Barbara and I had both studied computer science at MIT, and we
  229. Xboth saw that some complex computerized image-processing was involved.
  230. XOut of curiosity, we asked the doctor how it was done, hoping to learn
  231. Xsome details about the mathematics involved.  The doctor, not knowing
  232. Xour educational background, simply said, "The probe sends out sound
  233. Xwaves, which bounce off the internal organs.  A microphone picks up
  234. Xthe echoes, like radar, and send the signals to a computer---and the
  235. Xcomputer makes a picture."  Thanks a lot!  Now a hacker would have
  236. Xsaid, "... and the computer *magically* (or {automagically})
  237. Xmakes a picture", implicitly acknowledging that he has glossed over
  238. Xan extremely complicated process.
  239. X
  240. XSome years ago I was snooping around in the cabinets that housed the
  241. XMIT AI Lab's PDP-10, and noticed a little switch glued to the frame of
  242. Xone cabinet.  It was obviously a homebrew job, added by one of the
  243. Xlab's hardware hackers (no one knows who).
  244. X
  245. XYou don't touch an unknown switch on a computer without knowing what
  246. Xit does, because you might crash the computer.  The switch was labeled
  247. Xin a most unhelpful way.  It had two positions, and scrawled in pencil
  248. Xon the metal switch body were the words `magic' and `more magic'.
  249. XThe switch was in the `more magic' position.
  250. X
  251. XI called another hacker over to look at it.  He had never seen the
  252. Xswitch before either.  Closer examination revealed that the switch
  253. Xonly had one wire running to it!  The other end of the wire did
  254. Xdisappear into the maze of wires inside the computer, but it's a basic
  255. Xfact of electricity that a switch can't do anything unless there are
  256. Xtwo wires connected to it.  This switch had a wire connected on one
  257. Xside and no wire on its other side.
  258. X
  259. XIt was clear that this switch was someone's idea of a silly joke.
  260. XConvinced by our reasoning that the switch was inoperative, we flipped
  261. Xit.  The computer instantly crashed.
  262. X
  263. XImagine our utter astonishment.  We wrote it off as coincidence, but
  264. Xnevertheless restored the switch to the `more magic' position before
  265. Xreviving the computer.
  266. X
  267. XA year later, I told this story to yet another hacker, David Moon as I
  268. Xrecall.  He clearly doubted my sanity, or suspected me of a
  269. Xsupernatural belief in the power of this switch, or perhaps thought I
  270. Xwas fooling him with a bogus saga.  To prove it to him, I showed him
  271. Xthe very switch, still glued to the cabinet frame with only one wire
  272. Xconnected to it, still in the `more magic' position.  We scrutinized
  273. Xthe switch and its lone connection, and found that the other end of
  274. Xthe wire, though connected to the computer wiring, was connected to a
  275. Xground pin.  That clearly made the switch doubly useless: not only was
  276. Xit electrically nonoperative, but it was connected to a place that
  277. Xcouldn't affect anything anyway.  So we flipped the switch.
  278. X
  279. XThe computer promptly crashed.
  280. X
  281. XThis time we ran for Richard Greenblatt, a long-time MIT hacker, who
  282. Xwas close at hand.  He had never noticed the switch before, either.
  283. XHe inspected it, concluded it was useless, got some diagonal cutters
  284. Xand diked it out.  We then revived the computer and it ran fine ever
  285. Xsince.
  286. X
  287. XWe still don't know how the switch crashed the machine.  There is a
  288. Xtheory that some circuit near the ground pin was marginal, and
  289. Xflipping the switch changed the electrical capacitance enough to upset
  290. Xthe circuit as millionth-of-a-second pulses went through it.  But
  291. Xwe'll never know for sure; all we can really say is that the switch
  292. Xwas {magic}.
  293. X
  294. XI still have that switch in my basement.  Maybe I'm silly, but I
  295. Xusually keep it set on `more magic.'
  296. X
  297. XA Selection of AI Koans
  298. X=======================
  299. X
  300. X   These are perhaps the funniest examples of a genre of jokes told at
  301. Xthe MIT AI lab about various noted computer scientists and hackers.
  302. XThe original koans were composed by Danny Hillis.
  303. X
  304. X                                 * * *
  305. X
  306. X   A novice was trying to fix a broken Lisp machine by turning the power
  307. Xoff and on.
  308. X
  309. X   Knight, seeing what the student was doing spoke sternly: "You can not
  310. Xfix a machine by just power-cycling it with no understanding of what
  311. Xis going wrong."
  312. X
  313. X   Knight turned the machine off and on.
  314. X
  315. X   The machine worked.
  316. X
  317. X[Ed note: This is much funnier if you know that Tom Knight was one of the
  318. X   Lisp machine's principal designers]
  319. X
  320. X                                 * * *
  321. X
  322. XOne day a student came to Moon and said, "I understand how to
  323. Xmake a better garbage collector.  We must keep a reference count
  324. Xof the pointers to each cons."
  325. X
  326. XMoon patiently told the student the following story:
  327. X
  328. X      "One day a student came to Moon and said, `I understand how
  329. X      to make a better garbage collector...
  330. X
  331. X[Ed. note: The point here is technical.  Pure reference-count garbage
  332. X   collectors have problems with `pathological' structures that point
  333. X   to themselves.]
  334. X
  335. X                                 * * *
  336. X
  337. XIn the days when Sussman was a novice Minsky once came to him as
  338. Xhe sat hacking at the PDP-6.
  339. X
  340. X   "What are you doing?", asked Minsky.
  341. X
  342. X   "I am training a randomly wired neural net to play Tic-Tac-Toe",
  343. XSussman replied.
  344. X
  345. X   "Why is the net wired randomly?", asked Minsky.
  346. X
  347. X   "I do not want it to have any preconceptions of how to play",
  348. XSussman said.
  349. X
  350. X   Minsky then shut his eyes.
  351. X
  352. X   "Why do you close your eyes?", Sussman asked his teacher.
  353. X
  354. X   "So that the room will be empty."
  355. X
  356. X   At that moment, Sussman was enlightened.
  357. X
  358. X                                 * * *
  359. X
  360. X   A disciple of another sect once came to Drescher as he was
  361. Xeating his morning meal.
  362. X
  363. X   "I would like to give you this personality test", said the
  364. Xoutsider, "because I want you to be happy."
  365. X
  366. X   Drescher took the paper that was offered him and put it
  367. Xinto the toaster, saying:
  368. X
  369. X   "I wish the toaster to be happy, too."
  370. X
  371. XOS and JEDGAR
  372. X=============
  373. X
  374. XThis story says a lot about the style of the ITS culture. 
  375. X
  376. XOn the ITS system there was a program that allowed you to see what is
  377. Xbeing printed on someone else's terminal.  It worked by `spying' on
  378. Xthe other guy's output, by examining the insides of the monitor
  379. Xsystem.  The output spy program was called OS.  Throughout the rest of
  380. Xthe computer science (and also at IBM) OS means `operating system',
  381. Xbut among old-time ITS hackers it almost always meant `output spy'.
  382. X
  383. XOS could work because ITS purposely had very little in the way of
  384. X`protection' that prevented one user from interfering with another.
  385. XFair is fair, however.  There was another program that would
  386. Xautomatically notify you if anyone started to spy on your output.  It
  387. Xworked in exactly the same way, by looking at the insides of the
  388. Xoperating system to see if anyone else was looking at the insides that
  389. Xhad to do with your output.  This `counterspy' program was called
  390. XJEDGAR (pronounced as two syllables: /jed'gr/), in honor of the former
  391. Xhead of the FBI.
  392. X
  393. XBut there's more.  The rest of the story is that JEDGAR would ask the
  394. Xuser for `license to kill'.  If the user said yes, then JEDGAR would
  395. Xactually gun the job of the luser who was spying.  However, people
  396. Xfound this made life too violent, especially when tourists learned
  397. Xabout it.  One of the systems hackers solved the problem by replacing
  398. XJEDGAR with another program that only pretended to do its job.  It
  399. Xtook a long time to do this, because every copy of JEDGAR had to be
  400. Xpatched, and to this day no one knows how many people never figured
  401. Xout that JEDGAR had been defanged.
  402. X
  403. XThe Story of Mel, a Real Programmer
  404. X===================================
  405. X
  406. XThis was posted to USENET by Ed Nather (utastro!nather), May 21, 1983.
  407. X
  408. X     A recent article devoted to the *macho* side of programming
  409. X     made the bald and unvarnished statement:
  410. X
  411. X         Real Programmers write in Fortran.
  412. X
  413. X     Maybe they do now,
  414. X     in this decadent era of
  415. X     Lite beer, hand calculators and "user-friendly" software
  416. X     but back in the Good Old Days,
  417. X     when the term "software" sounded funny
  418. X     and Real Computers were made out of drums and vacuum tubes,
  419. X     Real Programmers wrote in machine code.
  420. X     Not Fortran. Not RATFOR. Not, even, assembly language.
  421. X     Machine Code.
  422. X     Raw, unadorned, inscrutable hexadecimal numbers.
  423. X     Directly.
  424. X
  425. X     Lest a whole new generation of programmers
  426. X     grow up in ignorance of this glorious past,
  427. X     I feel duty-bound to describe,
  428. X     as best I can through the generation gap,
  429. X     how a Real Programmer wrote code.
  430. X     I'll call him Mel,
  431. X     because that was his name.
  432. X
  433. X     I first met Mel when I went to work for Royal McBee Computer Corp.,
  434. X     a now-defunct subsidiary of the typewriter company.
  435. X     The firm manufactured the LGP-30,
  436. X     a small, cheap (by the standards of the day)
  437. X     drum-memory computer,
  438. X     and had just started to manufacture
  439. X     the RPC-4000, a much-improved,
  440. X     bigger, better, faster --- drum-memory computer.
  441. X     Cores cost too much,
  442. X     and weren't here to stay, anyway.
  443. X     (That's why you haven't heard of the company, or the computer.)
  444. X
  445. X     I had been hired to write a Fortran compiler
  446. X     for this new marvel and Mel was my guide to its wonders.
  447. X     Mel didn't approve of compilers.
  448. X
  449. X     "If a program can't rewrite its own code",
  450. X     he asked, "what good is it?"
  451. X
  452. X     Mel had written,
  453. X     in hexadecimal,
  454. X     the most popular computer program the company owned.
  455. X     It ran on the LGP-30
  456. X     and played blackjack with potential customers
  457. X     at computer shows.
  458. X     Its effect was always dramatic.
  459. X     The LGP-30 booth was packed at every show,
  460. X     and the IBM salesmen stood around
  461. X     talking to each other.
  462. X     Whether or not this actually sold computers
  463. X     was a question we never discussed.
  464. X
  465. X     Mel's job was to re-write
  466. X     the blackjack program for the RPC-4000.
  467. X     (Port?  What does that mean?)
  468. X     The new computer had a one-plus-one
  469. X     addressing scheme,
  470. X     in which each machine instruction,
  471. X     in addition to the operation code
  472. X     and the address of the needed operand,
  473. X     had a second address that indicated where, on the revolving drum,
  474. X     the next instruction was located.
  475. X     In modern parlance,
  476. X     every single instruction was followed by a GO TO!
  477. X     Put *that* in Pascal's pipe and smoke it.
  478. X
  479. X     Mel loved the RPC-4000
  480. X     because he could optimize his code:
  481. X     that is, locate instructions on the drum
  482. X     so that just as one finished its job,
  483. X     the next would be just arriving at the "read head"
  484. X     and available for immediate execution.
  485. X     There was a program to do that job,
  486. X     an "optimizing assembler",
  487. X     but Mel refused to use it.
  488. X
  489. X     "You never know where its going to put things",
  490. X     he explained, "so you'd have to use separate constants".
  491. X
  492. X     It was a long time before I understood that remark.
  493. X     Since Mel knew the numerical value
  494. X     of every operation code,
  495. X     and assigned his own drum addresses,
  496. X     every instruction he wrote could also be considered
  497. X     a numerical constant.
  498. X     He could pick up an earlier "add" instruction, say,
  499. X     and multiply by it,
  500. X     if it had the right numeric value.
  501. X     His code was not easy for someone else to modify.
  502. X
  503. X     I compared Mel's hand-optimized programs
  504. X     with the same code massaged by the optimizing assembler program,
  505. X     and Mel's always ran faster.
  506. X     That was because the "top-down" method of program design
  507. X     hadn't been invented yet,
  508. X     and Mel wouldn't have used it anyway.
  509. X     He wrote the innermost parts of his program loops first,
  510. X     so they would get first choice
  511. X     of the optimum address locations on the drum.
  512. X     The optimizing assembler wasn't smart enough to do it that way.
  513. X
  514. X     Mel never wrote time-delay loops, either,
  515. X     even when the balky Flexowriter
  516. X     required a delay between output characters to work right.
  517. X     He just located instructions on the drum
  518. X     so each successive one was just *past* the read head
  519. X     when it was needed;
  520. X     the drum had to execute another complete revolution
  521. X     to find the next instruction.
  522. X     He coined an unforgettable term for this procedure.
  523. X     Although "optimum" is an absolute term,
  524. X     like "unique", it became common verbal practice
  525. X     to make it relative:
  526. X     "not quite optimum" or "less optimum"
  527. X     or "not very optimum".
  528. X     Mel called the maximum time-delay locations
  529. X     the "most pessimum".
  530. X
  531. X     After he finished the blackjack program
  532. X     and got it to run,
  533. X     ("Even the initializer is optimized",
  534. X     he said proudly)
  535. X     he got a Change Request from the sales department.
  536. X     The program used an elegant (optimized)
  537. X     random number generator
  538. X     to shuffle the "cards" and deal from the "deck",
  539. X     and some of the salesmen felt it was too fair,
  540. X     since sometimes the customers lost.
  541. X     They wanted Mel to modify the program
  542. X     so, at the setting of a sense switch on the console,
  543. X     they could change the odds and let the customer win.
  544. X
  545. X     Mel balked.
  546. X     He felt this was patently dishonest,
  547. X     which it was,
  548. X     and that it impinged on his personal integrity as a programmer,
  549. X     which it did,
  550. X     so he refused to do it.
  551. X     The Head Salesman talked to Mel,
  552. X     as did the Big Boss and, at the boss's urging,
  553. X     a few Fellow Programmers.
  554. X     Mel finally gave in and wrote the code,
  555. X     but he got the test backwards,
  556. X     and, when the sense switch was turned on,
  557. X     the program would cheat, winning every time.
  558. X     Mel was delighted with this,
  559. X     claiming his subconscious was uncontrollably ethical,
  560. X     and adamantly refused to fix it.
  561. X
  562. X     After Mel had left the company for greener pa$ture$,
  563. X     the Big Boss asked me to look at the code
  564. X     and see if I could find the test and reverse it.
  565. X     Somewhat reluctantly, I agreed to look.
  566. X     Tracking Mel's code was a real adventure.
  567. X
  568. X     I have often felt that programming is an art form,
  569. X     whose real value can only be appreciated
  570. X     by another versed in the same arcane art;
  571. X     there are lovely gems and brilliant coups
  572. X     hidden from human view and admiration, sometimes forever,
  573. X     by the very nature of the process.
  574. X     You can learn a lot about an individual
  575. X     just by reading through his code,
  576. X     even in hexadecimal.
  577. X     Mel was, I think, an unsung genius.
  578. X
  579. X     Perhaps my greatest shock came
  580. X     when I found an innocent loop that had no test in it.
  581. X     No test. *None*.
  582. X     Common sense said it had to be a closed loop,
  583. X     where the program would circle, forever, endlessly.
  584. X     Program control passed right through it, however,
  585. X     and safely out the other side.
  586. X     It took me two weeks to figure it out.
  587. X
  588. X     The RPC-4000 computer had a really modern facility
  589. X     called an index register.
  590. X     It allowed the programmer to write a program loop
  591. X     that used an indexed instruction inside;
  592. X     each time through,
  593. X     the number in the index register
  594. X     was added to the address of that instruction,
  595. X     so it would refer
  596. X     to the next datum in a series.
  597. X     He had only to increment the index register
  598. X     each time through.
  599. X     Mel never used it.
  600. X
  601. X     Instead, he would pull the instruction into a machine register,
  602. X     add one to its address,
  603. X     and store it back.
  604. X     He would then execute the modified instruction
  605. X     right from the register.
  606. X     The loop was written so this additional execution time
  607. X     was taken into account ---
  608. X     just as this instruction finished,
  609. X     the next one was right under the drum's read head,
  610. X     ready to go.
  611. X     But the loop had no test in it.
  612. X
  613. X     The vital clue came when I noticed
  614. X     the index register bit,
  615. X     the bit that lay between the address
  616. X     and the operation code in the instruction word,
  617. X     was turned on---
  618. X     yet Mel never used the index register,
  619. X     leaving it zero all the time.
  620. X     When the light went on it nearly blinded me.
  621. X
  622. X     He had located the data he was working on
  623. X     near the top of memory ---
  624. X     the largest locations the instructions could address ---
  625. X     so, after the last datum was handled,
  626. X     incrementing the instruction address
  627. X     would make it overflow.
  628. X     The carry would add one to the
  629. X     operation code, changing it to the next one in the instruction set:
  630. X     a jump instruction.
  631. X     Sure enough, the next program instruction was
  632. X     in address location zero,
  633. X     and the program went happily on its way.
  634. X
  635. X     I haven't kept in touch with Mel,
  636. X     so I don't know if he ever gave in to the flood of
  637. X     change that has washed over programming techniques
  638. X     since those long-gone days.
  639. X     I like to think he didn't.
  640. X     In any event,
  641. X     I was impressed enough that I quit looking for the
  642. X     offending test,
  643. X     telling the Big Boss I couldn't find it.
  644. X     He didn't seem surprised.
  645. X
  646. X     When I left the company,
  647. X     the blackjack program would still cheat
  648. X     if you turned on the right sense switch,
  649. X     and I think that's how it should be.
  650. X     I didn't feel comfortable
  651. X     hacking up the code of a Real Programmer.
  652. X
  653. XThis is one of hackerdom's great heroic epics, free verse or no.  In a
  654. Xfew spare images it captures more about the esthetics and psychology
  655. Xof hacking than every scholarly volume on the subject put together.
  656. XFor an opposing point of view, see the entry for {real programmer}.
  657. X
  658. XA Portrait of J. Random Hacker
  659. X******************************
  660. X
  661. XThis profile reflects detailed comments on an earlier `trial balloon'
  662. Xversion from about a hundred USENET respondents.  Where comparatives
  663. Xare used, the implicit `other' is a randomly selected group from the
  664. Xnon-hacker population of the same size as hackerdom.
  665. X
  666. X
  667. XGeneral appearance:
  668. X===================
  669. X
  670. XIntelligent.  Scruffy.  Intense.  Abstracted.  Interestingly for a
  671. Xsedentary profession, more hackers run to skinny than fat; both
  672. Xextremes are more common than elsewhere.  Tans are rare.
  673. X
  674. X
  675. XDress:
  676. X======
  677. X
  678. XCasual, vaguely post-hippy; T-shirts, jeans, running shoes,
  679. XBirkenstocks (or bare feet).  Long hair, beards and moustaches are
  680. Xcommon.  High incidence of tie-dye and intellectual or humorous
  681. X`slogan' T-shirts (only rarely computer related, that's too obvious).
  682. X
  683. XA substantial minority runs to `outdoorsy' clothing --- hiking boots
  684. X("in case a mountain should suddenly spring up in the machine room",
  685. Xas one famous parody put it), khakis, lumberjack or chamois shirts and
  686. Xthe like.
  687. X
  688. XVery few actually fit the National-Lampoon-Nerd stereotype, though it
  689. Xlingers on at MIT and may have been more common before 1975.  These
  690. Xdays, backpacks are more common than briefcases, and the hacker `look'
  691. Xis more whole-earth than whole-polyester.
  692. X
  693. XHackers dress for comfort, function, and minimal maintenance hassles
  694. Xrather than for appearance (some, unfortunately, take this to extremes
  695. Xand neglect personal hygiene).  They have a very low tolerance of
  696. Xsuits or other `business' attire, in fact it is not uncommon for
  697. Xhackers to quit a job rather than conform to dress codes.
  698. X
  699. XFemale hackers never wear visible makeup and many use none at all.
  700. X
  701. X
  702. XReading habits:
  703. X===============
  704. X
  705. XOmnivorous, but usually includes lots of science and science fiction.
  706. XThe typical hacker household might subscribe to `Analog',
  707. X`Scientific American', `Co-Evolution Quarterly', and
  708. X`Smithsonian'.  Hackers often have a reading range that astonishes
  709. X`liberal arts' people but tend not to talk about it as much.  Many
  710. Xhackers spend as much of their spare time reading as the average
  711. XAmerican burns up watching TV, and often keep shelves and shelves of
  712. Xwell-thumbed books in their homes.
  713. X
  714. X
  715. XOther interests:
  716. X================
  717. X
  718. XSome hobbies are widely shared and recognized as going with the
  719. Xculture.  Science fiction.  Music.  Medievalism.  Chess, go,
  720. Xbackgammon, wargames and intellectual games of all kinds.
  721. XRole-playing games such as Dungeons and Dragons used to be extremely
  722. Xpopular among hackers but have lost a bit of their former luster as
  723. Xthey moved into the mainstream and became heavily commercialized.
  724. XLogic puzzles.  Ham radio.  Other interests that seem to correlate
  725. Xless strongly but positively with hackerdom include: linguistics and
  726. Xtheater teching.
  727. X
  728. X
  729. XPhysical Activity and Sports:
  730. X=============================
  731. X
  732. XMany (perhaps even most) hackers don't do sports at all and are
  733. Xdeterminedly anti-physical.
  734. X
  735. XAmong those that do, they are almost always self-competitive ones
  736. Xinvolving concentration, stamina, and micromotor skills: martial arts,
  737. Xbicycling, kite-flying, hiking, rock-climbing, sailing, caving,
  738. Xjuggling.
  739. X
  740. XHackers avoid most team sports like the plague (volleyball is a
  741. Xnotable and unexplained exception).
  742. X
  743. X
  744. XEducation:
  745. X==========
  746. X
  747. XNearly all hackers past their teens are either college-degreed or
  748. Xself-educated to an equivalent level.  The self-taught hacker is often
  749. Xconsidered (at least by other hackers) to be better-motivated and more
  750. Xrespected than his B.Sc. counterpart.  Academic areas from which
  751. Xpeople often gravitate into hackerdom include (besides the obvious
  752. Xcomputer science and electrical engineering) physics, mathematics,
  753. Xlinguistics, and philosophy.
  754. X
  755. X
  756. XThings hackers detest and avoid:
  757. X================================
  758. X
  759. XIBM mainframes.  Smurfs and other forms of offensive cuteness.
  760. XBureaucracies.  Stupid people.  Easy listening music.  Television
  761. X(except for cartoons, movies, the old `Star Trek', and the new
  762. X`Simpsons').  Business suits.  Dishonesty.  Incompetence.  Boredom.
  763. XBASIC.  Character-based menu interfaces.
  764. X
  765. X
  766. XFood:
  767. X=====
  768. X
  769. XEthnic.  Spicy.  Oriental, esp. Chinese and most especially Szechuan,
  770. XHunan and Mandarin (hackers consider Cantonese vaguely declasse).
  771. XThai food has experienced flurries of popularity.  Where available,
  772. Xhigh-quality Jewish delicatessen food is much esteemed.  A visible
  773. Xminority of Midwestern and Southwestern hackers prefers Mexican.
  774. X
  775. XFor those all-night hacks, pizza and microwaved burritos are big.
  776. XInterestingly, though the mainstream culture has tended to think of
  777. Xhackers as incorrigible junk-food junkies, many have at least mildly
  778. Xhealth-foodist attitudes and are fairly discriminating about what they
  779. Xeat.  This may be generational; anecdotal evidence suggests that the
  780. Xstereotype was more on the mark ten to fifteen years ago.
  781. X
  782. X
  783. XPolitics:
  784. X=========
  785. X
  786. XVaguely left of center, except for the strong libertarian contingent
  787. Xwhich rejects conventional left-right politics entirely.  The only
  788. Xsafe generalization is that almost all hackers are anti-authoritarian,
  789. Xthus both conventional conservatism and `hard' leftism are rare.
  790. XHackers are far more likely than most non-hackers to either a) be
  791. Xaggressively apolitical, or b) entertain peculiar or idiosyncratic
  792. Xpolitical ideas and actually try to live by them day-to-day.
  793. X
  794. X
  795. XGender & Ethnicity:
  796. X===================
  797. X
  798. XHackerdom is still predominantly male.  However, the percentage of
  799. Xwomen is clearly higher than the low-single-digit range typical for
  800. Xtechnical professions.
  801. X
  802. XHackerdom is predominantly Caucasian with a strong minority of Jews
  803. X(east coast) and Asians (west coast).  The Jewish contingent has
  804. Xexerted a particularly pervasive cultural influence (see Food, and
  805. Xnote that several common jargon terms are obviously mutated Yiddish).
  806. X
  807. XHackers as a group are about as color-blind as anyone could ask for,
  808. Xand ethnic prejudice of any kind tends to be met with extreme
  809. Xhostility; the ethnic distribution of hackers is understood by them to
  810. Xbe a function of who tends to seek and get higher education.
  811. X
  812. XIt has been speculated that hackish gender- and color-blindness is
  813. Xpartly a positive effect of ASCII-only network channels.
  814. X
  815. X
  816. XReligion:
  817. X=========
  818. X
  819. XAgnostic.  Atheist.  Non-observant Jewish.  Neo-pagan.  Very commonly,
  820. Xthree or more of these are combined in the same person.  Conventional
  821. Xfaith-holding Christianity is rare though not unknown (at least on the
  822. Xeast coast, more hackers wear yarmulkes than crucifixes).
  823. X
  824. XEven hackers who identify with a religious affiliation tend to be
  825. Xrelaxed about it, hostile to organized religion in general and all
  826. Xforms of religious bigotry in particular.  Many enjoy `parody'
  827. Xreligions such as Discordianism and the Church of the SubGenius.
  828. X
  829. XAlso, many hackers are influenced to varying degrees by Zen Buddhism
  830. Xor (less commonly) Taoism, and blend them easily with their `native'
  831. Xreligions.
  832. X
  833. XThere is a definite strain of mystical, almost Gnostic sensibility
  834. Xthat shows up even among those hackers not actively involved with
  835. Xneo-paganism, Discordianism, or Zen.  Hacker folklore that pays homage
  836. Xto `wizards' and speaks of incantations and demons has too much
  837. Xpsychological truthfulness about it to be entirely a joke.
  838. X
  839. X
  840. XCeremonial chemicals:
  841. X=====================
  842. X
  843. XMost hackers don't smoke tobacco and use alcohol in moderation if at
  844. Xall (though there is a visible contingent of exotic-beer fanciers, and
  845. Xa few hackers are serious oenophiles).  Limited use of `soft' drugs (esp.
  846. Xpsychedelics such as marijuana, LSD, psilocybin etc.) used to be
  847. Xrelatively common and is still regarded with more tolerance than in
  848. Xthe mainstream culture.  Use of `downers' and opiates, on the other
  849. Xhand, appears to be particularly rare; hackers seem in general to
  850. Xdislike drugs that `dumb them down'.  On the other hand, many hackers
  851. Xregularly wire up on caffeine and/or sugar for all-night hacking runs.
  852. X
  853. X
  854. XCommunication style:
  855. X====================
  856. X
  857. XSee the dictionary notes on `Hacker speech style'.  Though hackers
  858. Xoften have poor person-to-person communication skills, they are as a
  859. Xrule extremely sensitive to nuances of language and very precise in
  860. Xtheir use of it.  They are often better at written communication than
  861. Xspoken.
  862. X
  863. X
  864. XGeographical Distribution:
  865. X==========================
  866. X
  867. XIn the U.S., hackerdom revolves on a Bay Area/Boston axis; about half
  868. Xof the hard core seems to live within a hundred miles of Cambridge
  869. X(Massachusetts) or Berkeley (California).  Hackers tend to cluster
  870. Xaround large cities, especially `university towns' such as the
  871. XRaleigh/Durham area in North Carolina or Princeton, New Jersey (this
  872. Xmay simply reflect the fact that many are students or ex-students
  873. Xliving near their alma maters).
  874. X
  875. X
  876. XSexual habits:
  877. X==============
  878. X
  879. XHackerdom tolerates a much wider range of sexual and lifestyle
  880. Xvariation than the mainstream culture.  It includes a relatively large
  881. Xgay contingent.  Hackers are somewhat more likely to live in
  882. Xpolygynous or polyandrous relationships, practice open marriage, or
  883. Xlive in communes or group houses.  In this, as in some other respects,
  884. X(see `General Appearance') hackerdom semi-consciously maintains
  885. X`counterculture' values.
  886. X
  887. X
  888. XPersonality Characteristics:
  889. X============================
  890. X
  891. XThe most obvious common `personality' characteristics of hackers are
  892. Xhigh intelligence, consuming curiosity, and facility with intellectual
  893. Xabstractions.  Also, most hackers are `neophiles', stimulated by and
  894. Xappreciative of novelty (especially intellectual novelty).  Most are
  895. Xalso relatively individualistic and anti-conformist.
  896. X
  897. XContrary to stereotype, hackers are *not* usually intellectually
  898. Xnarrow; they tend to be interested in any subject that can provide
  899. Xmental stimulation, and can often discourse knowledgeably and even
  900. Xinterestingly on any number of obscure subjects --- assuming you can
  901. Xget them to talk at all as opposed to, say, going back to hacking.
  902. X
  903. XHackers are `control freaks' in a way that has nothing to do with the
  904. Xusual coercive or authoritarian connotations of the term.  In the same
  905. Xway that children delight in making model trains go forward and back
  906. Xby moving a switch, hackers love making complicated things like
  907. Xcomputers do nifty stuff for them.  But it has to be *their*
  908. Xnifty stuff; they don't like tedium or nondeterminism.  Accordingly,
  909. Xthey tend to be careful and orderly in their intellectual lives and
  910. Xchaotic elsewhere.  Their code will be beautiful, even if their desks
  911. Xare buried in three feet of crap.
  912. X
  913. XHackers are generally only very weakly motivated by conventional
  914. Xrewards such as social approval or money.  They tend to be attracted
  915. Xby challenges and excited by interesting toys, and to judge the
  916. Xinterest of work or other activities in terms of the challenges
  917. Xoffered and the toys they get to play with.
  918. X
  919. XIn terms of Myers-Briggs and equivalent psychometric systems,
  920. Xhackerdom appears to concentrate the relatively rare INTJ and INTP
  921. Xtypes; that is, introverted, intuitive, and thinker types (as opposed
  922. Xto the extroverted-sensate personalities that predominate in the
  923. Xmainstream culture).  ENT[JP] types are also concentrated among
  924. Xhackers but are in a minority.
  925. X
  926. X
  927. XWeaknesses of the hacker personality:
  928. X=====================================
  929. X
  930. XRelatively little ability to identify emotionally with other people.
  931. XThis may be because hackers generally aren't much like `other people'.
  932. XUnsurprisingly, there is also a tendency to self-absorption,
  933. Xintellectual arrogance, and impatience with people and tasks perceived
  934. Xto be wasting one's time.  As a result, many hackers have difficulty
  935. Xmaintaining stable relationships.
  936. X
  937. XAs cynical as hackers sometimes wax about the amount of idiocy in the
  938. Xworld, they tend at bottom to assume that everyone is as rational,
  939. X`cool', and imaginative as they consider themselves.  This bias often
  940. Xcontributes to weakness in communication skills.  Hackers tend to be
  941. Xespecially poor at confrontations and negotiation.
  942. X
  943. XHackers are often monumentally disorganized and sloppy about dealing
  944. Xwith the physical world.  Bills don't get paid on time, clutter piles
  945. Xup to incredible heights in homes and offices, and minor maintenance
  946. Xtasks get deferred indefinitely.
  947. X
  948. XThe sort of person who uses phrases like `incompletely socialized'
  949. Xusually thinks hackers are.  Hackers regard such people with contempt
  950. Xwhen they notice them at all.
  951. X
  952. X
  953. XMiscellaneous:
  954. X==============
  955. X
  956. XHackers are more likely to keep cats than dogs.  Many drive incredibly
  957. Xdecrepit heaps and forget to wash them; richer ones drive spiffy
  958. XPorsches and RX-7s and then forget to wash them.
  959. X
  960. XBibliography
  961. X************
  962. X
  963. XHere are some other books you can read to help you understand the
  964. Xhacker mindset.
  965. X
  966. X     Godel, Escher, Bach: An Eternal Golden Braid
  967. X     Hofstadter, Douglas
  968. X     Basic Books, 1979, New York
  969. X     ISBN 0-394-74502-7
  970. X
  971. XThis book reads like an intellectual Grand Tour of hacker
  972. Xpreoccupations.  Music, mathematical logic, programming, speculations
  973. Xon the nature of intelligence, biology, and Zen are woven into a
  974. Xbrilliant tapestry themed on the concept of encoded self-reference.
  975. XThe perfect left-brain companion to `Illuminatus'.
  976. X
  977. X     Illuminatus (three vols)
  978. X         1. The Golden Apple 
  979. X         2. The Eye in the Pyramid
  980. X         3. Leviathan
  981. X     Shea, Robert & Wilson, Robert Anton
  982. X     Dell Books, 1975, New York
  983. X     ISBN 0-440-{14688-7,34691-6,14742-5}
  984. X
  985. XThis work of alleged fiction is an incredible berserko-surrealist
  986. Xrollercoaster of world-girdling conspiracies, intelligent dolphins,
  987. Xthe fall of Atlantis, who really killed JFK, sex, drugs, rock and roll
  988. Xand the Cosmic Giggle Factor.  First published in 3 volumes, but
  989. Xthere's now a one-volume trade paperback carried by most chain
  990. Xbookstores under SF.  The perfect right-brain companion to Hofstadter's
  991. X`Godel, Escher, Bach: An Eternal Golden Braid'.  See {Eris},
  992. X{Discordianism}, {random numbers}, {Church Of The Sub-Genius}.
  993. X
  994. X     The Hitchhiker's Guide to the Galaxy
  995. X     Douglas Adams
  996. X     Pocket Books, 1981, New York
  997. X     ISBN 0-671-46149-4
  998. X
  999. XThis Monty-Python-in-Space spoof of SF genre traditions has been
  1000. Xpopular among hackers ever since the original British radio show.
  1001. XRead it if only to learn about Vogons (see {bogons}) and the
  1002. Xsignificance of the number 42 (see {random numbers}) --- also why the
  1003. Xwinningest chess program of 1990 was called `Deep Thought'.
  1004. X
  1005. X     The Tao of Programming
  1006. X     James Geoffrey
  1007. X     Infobooks, 1987, Santa Monica
  1008. X     ISBN 0-931137-07-1
  1009. X
  1010. XThis gentle, funny spoof of the `Tao Te Ching' contains much that is
  1011. Xilluminating about the hacker way of thought.  "When you have learned
  1012. Xto snatch the error code from the trap frame, it will be time for you
  1013. Xto leave."
  1014. X
  1015. X     Hackers
  1016. X     Steven Levy
  1017. X     Anchor/Doubleday 1984, New York
  1018. X     ISBN 0-385-19195-2
  1019. X
  1020. XLevy's book is at its best in describing the early MIT hackers at the
  1021. XModel Railroad Club and the early days of the microcomputer
  1022. Xrevolution.  He never understood UNIX or the networks, though, and his
  1023. Xenshrinement of Richard Stallman as "the last true hacker" turns out
  1024. X(thankfully) to have been quite misleading.  Numerous minor factual
  1025. Xerrors also mar the text; for example, Levy's claim that the original
  1026. XJargon File derived from a 1959 dictionary of Model Railroad Club
  1027. Xslang is incorrect (the File originated at Stanford and was brought to
  1028. XMIT in 1976; the First Edition co-authors had never seen the dictionary
  1029. Xin question).  Nevertheless this remains a useful and stimulating book
  1030. Xthat captures the feel of several important hackish subcultures.
  1031. X
  1032. X     The Cuckoo's Egg
  1033. X     Clifford Stoll
  1034. X     Doubleday 1989, New York
  1035. X     ISBN 0-385-24946-2
  1036. X
  1037. XClifford Stoll's absorbing tale of how he tracked Markus Hess and the
  1038. XChaos Club cracking-ring nicely illustrates the difference between
  1039. X`hacker' and `cracker'.  And Stoll's portrait of himself and his lady
  1040. XMartha and his friends at Berkeley and on the Internet paints a
  1041. Xmarvelously vivid picture of how hackers and the people around them
  1042. Xlike to live and what they think.
  1043. X
  1044. X     The Devil's DP Dictionary
  1045. X     by Stan Kelly-Bootle
  1046. X     McGraw-Hill Inc, 1981
  1047. X     ISBN 0-07-034022-6
  1048. X
  1049. XThis pastiche of Ambrose Bierce's famous work is similar in format to
  1050. Xthe Jargon File (and quotes several entries from jargon-1) but
  1051. Xsomewhat different in tone and intent.  It is more satirical and less
  1052. Xanthropological, and largely a product of the author's literate and
  1053. Xquirky imagination.  For example, it defines `computer science' as
  1054. X"A study akin to numerology and astrology, but lacking the precision
  1055. Xof the former and the success of the latter"; also as "The boring
  1056. Xart of coping with a large number of trivialities."
  1057. X
  1058. X     The Devouring Fungus: Tales from the Computer Age
  1059. X     by Karla Jennings
  1060. X     W. W. Norton 1990, New York
  1061. X     ISBN 0-393-30732-8
  1062. X
  1063. XThe author of this pioneering compendium knits together a great deal
  1064. Xof computer and hacker-related folklore with good writing and a few
  1065. Xwell-chosen cartoons.  She has a keen eye for the human aspects of the
  1066. Xlore and is very good at illuminating the psychology and evolution of
  1067. Xhackerdom.  Unfortunately, a number of small errors and awkwardnesses
  1068. Xsuggest that she didn't have the final manuscript vetted by a hackish
  1069. Xinsider; the glossary in the back is particularly embarrassing, and at
  1070. Xleast one classic tale (the Magic Switch story in this file's Appendix
  1071. XA) is given in incomplete and badly mangled form.  Nevertheless, this
  1072. Xbook is a win overall and can be enjoyed by hacker and non-hacker
  1073. Xalike.
  1074. X
  1075. X     True Names... and Other Dangers
  1076. X     by Vernor Vinge
  1077. X     Baen Books 1987, New York
  1078. X     ISBN 0-671-65363
  1079. X
  1080. XHacker demigod Richard Stallman believes the title story of this book
  1081. X"expresses the spirit of hacking best".  This may well be true; it's
  1082. Xcertainly difficult to recall anyone doing a better job.  The other
  1083. Xstories in this collection are also fine work by an author who is
  1084. Xperhaps one of today's very best practitioners of the hard-SF genre.
  1085. X
  1086. X
  1087. SHAR_EOF
  1088. chmod 0644 jargon.ascii ||
  1089. echo 'restore of jargon.ascii failed'
  1090. Wc_c="`wc -c < 'jargon.ascii'`"
  1091. test 831872 -eq "$Wc_c" ||
  1092.     echo 'jargon.ascii: original size 831872, current size' "$Wc_c"
  1093. rm -f _shar_wnt_.tmp
  1094. fi
  1095. rm -f _shar_seq_.tmp
  1096. echo You have unpacked the last part
  1097. exit 0
  1098.